Instructors :

Prof. Marc Pollefeys, Dr. Viktor Larsson

Teaching assistants :

Mihai Dusmanu, Marcel Geppert, Taein Kwon, Zuoyue Li, Peidong Liu, Sandro Lombardi

Lectures :

Mondays from 09:00-12:00

Prerequisite :

Computer Vision lecture from last semester, particularly the camera model, geometric aspects and structure-from-motion. If you have not attended that class, there will be a very short repetition, but you will have to study necessary basics yourself in order to work on your project and understand papers.

Quick Access :

Course content and lecture slides
List of projects suggestions

Course Description :

The course covers camera models and calibration, feature tracking and matching, camera motion estimation via simultaneous localization and mapping (SLAM) and visual inertial odometry (VIO), epipolar and mult-view geometry, structure-from-motion, (multi-view) stereo, augmented reality, and image-based (re-)localization.

After attending this course, students will:

  1. understand the core concepts for recovering 3D shape of objects and scenes from images and video.
  2. be able to implement basic systems for vision-based robotics and simple virtual/augmented reality applications.
  3. have a good overview over the current state-of-the art in 3D vision.
  4. be able to critically analyze and asses current research in this area.

The goal of this course is to teach the core techniques required for robotic and augmented reality applications: How to determine the motion of a camera and how to estimate the absolute position and orientation of a camera in the real world. This course will introduce the basic concepts of 3D Vision in the form of short lectures, followed by student presentations discussing the current state-of-the-art. The main focus of this course are student projects on 3D Vision topics, with an emphasis on robotic vision and virtual and augmented reality applications.

Grading Scheme :
  1. 25%: Paper presentation (incl. discussion moderation)
  2. 75%: Final project which includes a report and presentation/demo
Course Schedule :

Please refer to the subpage for the course content and lecture slides.

Deadlines :

March 05: Group formation and project selection - Students select from a list of project proposals and we assign them to the topics.

March 12: Project proposal documents - Students submit their project proposal documents after discussing with their assigned supervisors.

March 15: Proposal presentations - Students present their project proposals during lecture.

April 19: Midterm presentations - Students present their progress on their projects during lecture.

May 31: Final project presentations - Students present their projects in a joint session.

June 14: Final project reports - Students submit their final reports for the projects.

  • All the submission deadlines are due by 23:59 on the specified date.
Student Projects :

Over the semester, students will work on a project related to a topic in 3D computer vision in collaboration with a team member of our computer vision group (CVG). Students are required to form groups of 3 and submit their preferred project topics first. For this purpose, we will provide a list of project suggestions, but you are free to propose your own project.

Each student group is then required to hand in and present a project proposal by the announced deadline. Make sure to talk to your assigned supervisor and discuss the project with him/her while planning your proposal. Each team will present their project proposal during a designated lecture. The template for the project proposal report can be found here.

The proposal should be 1-2 pages describing what you want to do in the project, and how you plan to achieve your envisioned results. A good idea is to identify the algorithmic and technical challenges within the project. Try to address each of them individually and explain your considered solutions; also make an attempt to think about alternatives if you believe a particular approach is unstable or likely to fail.

Midterm presentations have the purpose that you present what you did so far and that you get feedback. So you are encouraged to raise open questions. This is a possibility for us to steer the project and help you, if you got stuck.

Final presentations will be held either as a poster presentation session or as a regular presentation session. The form of the final presentations will be announced during the semester. In addition, you are required to hand in a technical report for your project. The report format should be in parallel with 3DV paper format. Latex and Word templates can be found here.

Student Paper Presentations :

In each class, an introductory lecture on a selected topic will be given first. After several selected classes, the students, together with their project group members, will give presentations of selected papers relevant to the topic of the week.

Other students are encouraged to engage in the paper presentations through active discussions. To organize the discussion in a more lively way, each project group will be assigned to lead the discussion of an other project group's presentation; i.e. this project group acts as an "opponent" or moderator and actively supports the discussion by asking relevant questions wrt. the presented paper and motivates other students to contribute.

We will assign each group a paper and a presentation date after the projects are assigned. Please see the list of papers to be presented by students for more details.

Discussion Forum :

There exists a discussion forum page in MOODLE for this course. Students should sign in using their ETHZ accounts and participate in the discussion forums. Please put all your discussions related to the lectures, paper presentations and projects there.

Available hardware for projects :

Students are encouraged to use their own SLR/digital cameras, phones, open source datasets (e.g. examples from flickr), etc. for their projects. However, students who do not own any of the equipment could also make arrangements with our lab for any of the listed equipment.

Following hardware is available:

  • Depth sensors like: Kinect, RealSense
  • Project Tango tablets
  • GoPro cameras
  • Microsoft HoloLens Students with project idea that require any other special equipment, please talk to us!
Some useful links :

Tutorial Notes "Visual 3D Modeling from Images"
Open Source Computer Vision (OpenCV) - lots of computer vision algorithms
Point Cloud Library (PCL) - provides interface to Kinect sensor and 3D modeling algorithms
Camera calibration toolbox for Matlab