This course introduces methods and algorithms for 3D geometric scene reconstruction from images. The student will understand these methods and their essence well enough to be able to build variants of simple systems for reconstruction of 3D objects from a set of images or video, for inserting virtual objects to video-signal source, or for computing ego-motion trajectory from a sequence of images. The labs will be hands-on, the student will be gradually building a small functional 3D scene reconstruction system.
Lecturer: Radim Šára
Lecture slides are ready for download before the lecture. They get annotated during the lecture and appear here after the lecture.
|Week||Date||Updated Slides||Annotated Slides||Lecture Content|
|1||3.10.||Introduction (large!) Course Overview||3D computer vision, its goals and applications, course overview|
|Lecture 1||L1 annotated||basic geometry of points and lines|
|2||10.10.||Lecture 2||L2 annotated||homography, perspective camera|
|3||17.10.||Lecture 3||L3 annotated||projection matrix decomposition, optical center, ray, axis, plane; vanishing point, cross-ratio|
|4||24.10.||Lecture 4||L4 annotated||camera calibration from vanishing points, camera resection from 6 points|
|5||31.10.||Lecture 5||L5 annotated||critical configurations for resection, the exterior orientation problem, epipolar geometry, epipolar constraint|
|6||7.11.||Lecture 6||L6 annotated||essential matrix decomposition, 7-point algorithm for fundamental matrix estimation, 5-point algorithm for essential matrix estimation, triangulation by algebraic error minimization|
|7||14.11.||Lecture 7||L7 annotated||reprojection error, Sampson error correction, the golden standard triangulation method|
|8||21.11.||Lecture 8||L8 annotated||local optimization, robust error function|
|9||28.11.||Lecture 9||L9 annotated||optimization by random sampling, MH sampler, RANSAC|
|10||5.12.||Lecture 10||L10 annotated||camera system reconstruction, bundle adjustment|
|11||12.12.||Lecture 11||L11 annotated||gauge freedom in bundle adjustment, introduction to stereovision|
|12||19.12.||Lecture 12||L12 annotated||epipolar rectification, occlusion constraint|
|13||2.1.||Lecture 13||L13 annotated||matching table, Marroquin's WTA matching algorithm, maximum-likelihood matching algorithm, ordering constraint, stereo matching algorithm comparison|
Teacher: Martin Matoušek
Details about exercises (technical content and assessment) are in the separate section Exercises.
Notice: according to the study and examination code of CTU1), attendance at lectures is not mandatory (but recommended). However, students attending exercises are required to be theoretically prepared. The necessary theory is explained at the preceding lectures and can be also found in the recommended literature.
Student assessment is based on scoring in the nominal range 0−100 points. There is also possibility to obtain some additional bonus points. The points are allocated to lectures, labs, homework problems and exam as follows:
|Nominal points||Minimal points||Bonus points|
|Homework assignments given at lectures||9||14|
|Exam – Test 1||10||3|
|Exam – Test 2||24||6|
|Exam – oral||12|
Assessment of Exercises is described in detail in the section of exercises.
The total of all points, including the bonuses is arithmetically rounded up and clipped at 100.
The grade is then given by the standard table (100−90⇒A, 89−80⇒B, 79−70⇒C, 69−60⇒D, 59−50⇒E, ≤ 49 ⇒ F).
The 1st exam test is done during the semester. The 2nd test is part of the exam at the end. The exam has two parts, usually, one day we do the test and the other day we have the oral part. The oral part is mandatory to achieve the A–B grades; it tests the ability to solve small problems; at least 5 points must be achieved, otherwise the final grade is C.
There is also a discussion forum (see link in the page head). Questions, feedback and comments on lectures or exercises are welcome.