[[https://intranet.fel.cvut.cz/cz/education/bk/predmety/46/84/p4684306.html|Annotation]] [[https://cw.felk.cvut.cz/upload/|BRUTE]] [[https://cw.felk.cvut.cz/forum/forum-1919.html|Forum]] [[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B242/public/html/predmety/46/84/p4684406.html|Schedule]] Students: [[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B242/public/html/paralelky/P46/84/par4684406.1.html|CZ]] [[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B242/public/html/paralelky/P46/84/par4684306.1.html|EN]] ===== Geometry of Computer Vision and Graphics 2025 ===== {{:courses:gvg:daliborka-2-top-h-191.png}} {{:courses:gvg:labs:11_projection.gif|A reconstruction}} //He who loves practice without theory is like the sailor who boards a ship without a rudder and compass and never knows where he may cast.// — Leonardo Da Vinci (1452-1519) //And since geometry is the right foundation of all painting, I have decided to teach its rudiments and principles to all youngsters eager for art.// — Albrecht Durer (1471-1528) //As for everything else, so for a mathematical theory: beauty can be perceived but not explained.// — Arthur Cayley (1821–1895) We will explain Euclidean, Affine, and Projective geometry basics, introduce a model of the perspective camera, and explain how images change when moving a camera. We will show how to compute camera poses and the 3D scene geometry from images. We will demonstrate the theory in practical panorama construction tasks, finding the camera pose, adding a virtual object to a real scene, and reconstructing a 3D model of a scene from its images. We will build on our previous knowledge of linear algebra and provide fundamentals of geometry for computer vision, computer graphics, augmented reality, image processing, and object recognition. ==== Lectures [Monday 11:00-12:30 KN:A-313] ==== [[courses:gvg:start#Contacts|Tomas Pajdla]], [[courses:gvg:start#Contacts|Torsten Sattler]], [[courses:gvg:start#Contacts|Viktor Korotynskiy]] ^#^Date^Lecture {{courses:gvg:pajdla-gvg-lecture-2025.pdf|T Pajdla. Elements of Geometry for Computer Vision and Computer Grahics}}^ | 01 | 17.2. | TP: Geometry of CV & CG {{courses:gvg:GVG-01-2023-02-20-I.pdf|S}} {{courses:gvg:gvg-01-2021-02-15-L-0.mp4?linkonly|V}}, LA [Sec. 2.1] {{courses:gvg:gvg-01-2021-02-15-1.pdf|S}} {{courses:gvg:gvg-01-2021-02-15-L-1.mp4?linkonly|V}}, Image coordinate system [Sec. 5] {{courses:gvg:gvg-01-2021-02-15-L-2.mp4?linkonly|V}} | | 02 | 24.2. | TP: Mathematical model of the perspective camera [Sec. 6], Kronecker product [Sec. 2.5] {{courses:gvg:gvg-02-2021-02-22-1.pdf|S}} {{courses:gvg:gvg-02-2021-02-22-L-1.mp4?linkonly|V1}} {{courses:gvg:gvg-02-2021-02-22-L-2.mp4?linkonly|V2}} {{courses:gvg:gvg-02-2021-02-22-L-3.mp4?linkonly|V3}} | | 03 | 03.3. | TP: Camera calibration and pose [Sec. 7.1] {{courses:gvg:gvg-03-2021-03-01-1.pdf|S}} {{courses:gvg:gvg-03-2021-03-01-L-1.mp4?linkonly|V1}} {{courses:gvg:gvg-03-2021-03-01-L-2.mp4?linkonly|V2}} | | 04 | 10.3. | TP: Calibrated camera pose computation [Sec. 7.2, 7.3], Vector product [Sec. 2.2, 2.3] {{courses:gvg:gvg-04-2021-03-08-1.pdf|S}} {{courses:gvg:gvg-04-2021-03-08-L.mp4?linkonly|V}} | | 05 | 17.3. | TS: Image based camera localization {{courses:gvg:GVG-06-2022-03-21-image_based_localization.pdf|S}} {{courses:gvg:gvg-06-2021-03-22-L-1.mp4?linkonly|V1}} {{courses:gvg:gvg-06-2021-03-22-L-2.mp4?linkonly|V2}} {{courses:gvg:gvg-06-2021-03-22-L-3.mp4?linkonly|V3}} | | 06 | 24.3. | VK: Homography [Sec. 8.1-8.5] {{courses:gvg:gvg-05-2021-03-15-1.pdf|S}} {{courses:gvg:gvg-05-2021-03-15-L-1.mp4?linkonly|V1}} {{courses:gvg:gvg-05-2021-03-15-L-2.mp4?linkonly|V2}} | | 07 | 31.3. | TP: Projective plane [Sec. 9.1-9.2] {{courses:gvg:gvg-07-2022-03-28-projective_plane.pdf|S}} {{courses:gvg:gvg-07-2021-03-29-L.mp4?linkonly|V}} | | 08 | 07.4. | TP: Dual space [Sec. 2.4] lines under homography [Sec. 9.3] {{courses:gvg:gvg-09-2021-04-19-0.pdf|S0}} {{courses:gvg:gvg-09-2021-04-19-1.pdf|S1}} {{https://cw.fel.cvut.cz/wiki/_media/courses/gvg/gvg-09-2021-04-19-L.mp4?linkonly|V}} | | 09 | 14.4. | TS: Vanishing points & line [Sec. 9.4, 9.5] projective space [Sec. 10] camera autocalibration [Sec. 11] {{courses:gvg:gvg-08-2021-04-12-1.pdf|S}} {{courses:gvg:gvg-08-2021-04-12-L.mp4?linkonly|V}} | | --- | 21.4. | // Easter Monday // | | 10 | 28.4. | TS: Epipolar geometry [Sec. 12.1-12.2] {{courses:gvg:gvg-10-2022-04-25-epipolar_geometry.pdf|Slides}} {{courses:gvg:gvg-10-2021-04-26-0.pdf|S0}} {{courses:gvg:gvg-09-2020-05-04-1_annotated.pdf|S1}} {{courses:gvg:gvg-10-2021-04-26-L.mp4?linkonly|V}} | | 11 | 05.5. | TP: 3D reconstruction with a calibrated camera [Sec. 12.3, 12.4] {{courses:gvg:gvg-11-2021-05-03-0.pdf|S0}}, {{courses:gvg:gvg-11-2021-05-03-1.pdf|S1}}, {{https://cw.fel.cvut.cz/wiki/_media/courses/gvg/gvg-11-2021-05-03-L.mp4?linkonly|V}} | | 12 | 12.5. | TP: Calibrated camera motion computation [Sec. 12.5] {{courses:gvg:gvg-12-2021-05-10-1.pdf|S0}}, {{courses:gvg:gvg-12-2021-05-10-2.pdf|S1}}, {{https://cw.fel.cvut.cz/wiki/_media/courses/gvg/gvg-12-2021-05-10-L.mp4?linkonly|V}} | | 13 | 19.5. | TS: 3D Reconstruction pipelines {{courses:gvg:gvg-13-2022-05-16-3d_reconstruction.pdf|S}}{{https://cw.fel.cvut.cz/wiki/_media/courses/gvg/gvg-13-2021-05-17-L.mp4?linkonly|V}} | ==== Labs [Monday 12:45-14:15 KN:E-230] ==== [[courses:gvg:start#Contacts|Viktor Korotynskiy]] , [[courses:gvg:start#Contacts|Pavel Trutman]] See [[courses:gvg:labs:start|Labs]] for more details. ===== Assessment ===== - All homework must be submitted via [[https://cw.felk.cvut.cz/upload/|BRUTE]] and accepted. "Accepted" means that you passed the minimum score set in BRUTE (so that you don't see the red cross near the appropriate HW in BRUTE). - At least 50% of points in total for the homework, i.e. $$p_{\mathrm{homework}} = \frac{1}{H} \sum_{j=1}^H \frac{h_j}{H_j} \geq 0.5$$ where $h_j$ (resp. $H_j$) is the student's (resp. maximum) number of points for the $j$-th homework assignment and $H$ is the number of homework assignments. - At least 50% of points in total from the tests, i.e. $$p_{\mathrm{tests}} = \frac{1}{T} \sum_{j=1}^T \frac{t_j}{T_j} \geq 0.5$$ where $t_j$ (resp. $T_j$) is the student's (resp. maximum) number of points for the $j$-th test and $T$ is the number of tests. - Regular submission of homework **ends on June 1, 2025**. Later submissions are possible only by an agreement with the assistants. ===== Exam ===== The exam consists of a written and an oral exam. To be admitted to the oral exam, one must achieve at least 50% of the points from the written exam. **An assessment is not required to sit the written exam but is required to finalize the course.** You may skip the oral part if you are satisfied with the result after the written exam. After the written exam, you must [[pajdla@cvut.cz|email]] Tomas Pajdla with a request to either fill the grade into KOS or participate in the oral part. Oral exam content: {{courses:gvg:pajdla-gvg-lecture-2025.pdf|GVG-Lecture-2025.pdf}} /* Written ONLINE exam organization: - The written exam is done online via MS Teams. - You MUST have your CAMERAS ON, and we need to be able to SEE and HEAR you all the time during the exam. - You may use your MOUSE while solving your assignment, but you MUST NOT USE your KEYBOARD. - You may use any off-line material, but you MUST NOT COMMUNICATE with anyone during the exam. */ Written In-Person exam organization: - The written exam is sat in a classroom. - You may NOT use any prepared material. Oral exam organization: - You may skip the oral exam if you are satisfied with the result after the written exam. - The face-to-face oral exam will be done online and will take about 60 mins. ===== Grade ===== The grade depends on the exam (40%), tests (30%), and homework (30%). This means that we compute the relative points for the exam, tests and homework as $$ p_{\mathrm{exam}} = \frac{e}{E} \in [0,1], \quad p_{\mathrm{tests}} = \frac{1}{T}\sum_{j=1}^T\frac{t_j}{T_j} \in [0,1], \quad p_{\mathrm{homework}} = \frac{1}{H}\sum_{j=1}^H\frac{h_j}{H_j} \in [0,1] $$ where $e$ (resp. $E$) is the student's (resp. maximum) number of points for the exam and $p_{\mathrm{tests}}, p_{\mathrm{homework}}$ are as described in the "assessment" part above. The total relative points that define the grade are computed as $$ p_{\mathrm{total}} = 0.4\cdot p_{\mathrm{exam}} + 0.3\cdot p_{\mathrm{tests}} + 0.3\cdot p_{\mathrm{homework}} \in [0,1]. $$ ^ $p_{\mathrm{total}}$ | $[0,0.5)$ | $[0.5,0.6)$ | $[0.6,0.7)$ | $[0.7,0.8)$ | $[0.8,0.9)$ | $[0.9,1]$ | ^ Grade ^ F ^ E ^ D ^ C ^ B ^ A ^ ==== Rules ==== - **Lecture:** It is very **difficult** to pass the course without attending the lectures. - **Labs:** It is **impossible** to pass the course without attending the labs. - **Homework:** Homework is assigned at a lab where it can be discussed with teaching assistants. Students work out homework **individually** ({{http://cw.felk.cvut.cz/doku.php/help/common/plagiarism_cheating|rules}}{{http://cw.felk.cvut.cz/doku.php/help/common/plagiaty_opisovani|in Czech}}). The deadline for submitting homework via [[https://cw.felk.cvut.cz/upload/|BRUTE]] is on Monday at 6:00 in the morning two weeks after the assignment. Late submissions are penalized (10% for each commenced **day** of delay but not more than 50% of points). - **Assessment:** see above. - **Tests:** Students take tests **individually**. ==== Literature ==== - T Pajdla {{courses:gvg:pajdla-gvg-lecture-2025.pdf|Elements of Geometry for Computer Vision}} - R Hartley, A Zisserman {{http://www.robots.ox.ac.uk/~vgg/hzbook/index.html|Multiple View Geometry in Computer Vision}} Cambridge University Press, 2003 - K Daniilidis, J Shi. {{https://www.coursera.org/lecture/robotics-perception/introduction-3lIVo|Robotics: Perception - Coursera Online Course}} - G Sanderson {{https://youtu.be/fNk_zzaMoSs|Essence of Linear Algebra}} from 3Blue1Brown - J Strom, K Astrom, T Akenine-Moller {{http://immersivemath.com/ila/index.html|Interactive Linear Algebra Course}} - P Olšák {{http://petr.olsak.net/linal.html|Úvod do algebry, zejména lineární}} ČVUT 2007 - P Pták {{http://ucebnice.heureka.cz/introduction-to-linear-algebra-pavel-ptak|Introduction to Linear Algebra}} ČVUT 2007 - Maple {{http://math.feld.cvut.cz/nemecek/matvmap.html|A0B01MVM Matematika v Maple}} {{http://math.feld.cvut.cz/nemecek/pas.html|Installation}} ==== Contacts ==== |[[https://people.ciirc.cvut.cz/~pajdla/|Tomas Pajdla]]|[[https://scholar.google.com/citations?user=jzx6_ZIAAAAJ|Torsten Sattler]]|[[https://people.ciirc.cvut.cz/~korotvik|Viktor Korotynskiy]]|[[https://people.ciirc.cvut.cz/~trutmpav/|Pavel Trutman]]| | [[pajdla@cvut.cz|email]] | [[torsten.sattler@cvut.cz|email]] | [[viktor.korotynskiy@cvut.cz|email]] | [[pavel.trutman@fel.cvut.cz|email]] | | [[http://aag.ciirc.cvut.cz/contact|CIIRC B-638]] | [[http://aag.ciirc.cvut.cz/contact|CIIRC B-609]] | [[http://aag.ciirc.cvut.cz/contact|CIIRC B-640A]] | [[http://aag.ciirc.cvut.cz/contact|CIIRC B-640B]] | | [[https://people.ciirc.cvut.cz/~pajdla|{{:courses:pro:pajdla.png?130}}]] | [[https://scholar.google.com/citations?user=jzx6_ZIAAAAJ|{{:courses:gvg:torstensattler.png?130}}]] | [[https://people.ciirc.cvut.cz/~korotvik|{{:courses:gvg:korotynskiy.jpg?142}}]] | [[https://people.ciirc.cvut.cz/~trutmpav/|{{:courses:gvg:pavel_trutman.jpg?135}}]] |