Site Navigation:
Photogrammetry and 3D Computer Vision - Course year 2024
|
-
Jun. 7. On Fri, June 14 (13:45 – 15:45), we will (1) review the important concepts learned in this course and build the connections between them; (2) discuss the major and common issues identified in the assignments; (3) introduce how the final exam looks like and show some example questions.
-
Jun. 7. Slides for today's lectures on surface reconstruction have been uploaded here.
-
All news ...
|
About
Photogrammetry and 3D Computer Vision (3DV) aim at recovering the structure of real-world objects/scenes from images. This course is about the theories, methodologies, and techniques of 3D computer vision for the built environment. In the term of this course, you will learn the basic knowledge and algorithms in 3D computer vision through a series of lectures, reading materials, lab exercises, and group assignments.
Contents
The topics of this course cover the whole pipeline of reconstructing 3D models from images:
-
Cameras models and camera calibration: how a point from the real world gets projected onto the image plane and how to recover the camera parameters from a set of observations;
-
Epipolar geometry: the geometric relations between 3D points and their image points; the constraints between the image points;
-
Image matching: define and match image features (SIFT) to establish correspondences between images;
-
Structure from motion: recover/refine geometry and camera parameters from a set of images;
-
Multi-view stereo and learning-based approaches for recovering dense geometry (e.g., point clouds) from images;
-
Surface reconstruction: obtain 3D surface models of real-world objects from point clouds.
Goals
After finishing this course, you will have gained knowledge of 3D computer vision techniques and the skills to apply them for recovering 3D geometry of real-world objects from images. Specifically, you will be able to:
-
apply linear algebra knowledge to implement basic 3D computer vision algorithms;
-
explain the main concepts in 3D computer vision (i.e., camera models, camera calibration, epipolar constraints, fundamental matrix, image matching, triangulation, structure from motion, bundle adjustment, multi-view stereo, and surface reconstruction);
-
explain the principles of the state-of-the-art 3D computer vision pipelines for 3D dense reconstruction from images;
-
evaluate methods for reconstructing smooth surfaces and piecewise planar objects, and choose applicable methods to solve specific reconstruction problems;
-
propose and implement solutions for reconstructing real-world buildings from images.
Assessment
The assessment of this course consists of three group assignments and the final written exam. The final grade is based on the evaluation of both the assignments and the final exam, breaking down into:
-
group assignments (40%). All assignments have equal weight in the final grade. It is possible to resubmit your work after incorporating the feedback/suggestions received from the teachers. However, the evaluation of an assignment is mainly based on the first submission. Students who have improved their work may receive a slightly higher grade depending on the significance of the improvement (but no more than 5%). Assignments submitted after the deadline: the grade will be deducted with 10% per day late, and not accepted after 3 days late.
-
final exam (60%). The final exam consists of multiple-choice questions and open questions. Example questions will be given two weeks before the exam.
Pass or fail? Grading is done on a 10-point scale, and the final marks are rounded off to the nearest full and half figures. To pass the course, all assignments and the final exam must be graded greater or equal to 5.5, and a total of 5.75 or above is required to pass the course.
Repair and retake options. Any component of the assessment graded 5.5 or lower is eligible for one more opportunity to retake (for the exam) or repair (for assignments). A repair is a revision or addition to an existing assignment, and a successful repair will only be assessed with a 6.0. A retake is an entirely new examination.
Prerequisites
-
Basic linear algebra and calculus.
You should be comfortable with matrix-vector operations and understanding concepts such as gradient.
- Proficiency in C++ programming.
All assignments will be in C++ (because of its good performance). If you have a lot of programming experience but in a different language (e.g., Python/Matlab/Javascript) you will probably be fine. For those who are not familiar with C++, please check Programming resources and tools.
Course logistics
-
Lectures: on campus. Check here for an overview and the schedule of all the lectures.
-
Slides and lecture notes: will be posted here shortly after each lecture.
-
Contact: we will also use this course webpage for announcements and the Discord channel for all course-related questions. We highly recommend raising questions on the Discord text channel, so others can also benefit from the Q&A. For external inquiries, emergencies, or personal matters that you don't wish to put in a private post, you can email
Liangliang | .
Lecturers and teaching assistant
Copyright @Liangliang Nan. 2021