Lectures: on *Tuesdays, 14.15-15.45 *

Practices: On *Thursdays, 14.15-15.45* or * 16.00-17.30*

## Timetable for oral exam at 28th January

**Daniel Barath’s channel:**

- 10.00. I7E7QI gets his/her topic.
- 10.20-10.40 I7E7QI does the exam, DYUQFJ listens it, K9PGL0 gets his/her topic.
- 10.40-11.00 K9PGL0 does the exam, I7E7QI listens it, BV66FP gets his/her topic.
- 11.00-11.20 BV66FP does the exam, K9PGL0 listens it. E6T1DT gets his/her topic.
- 11.20-11.40 E6T1DT does the exam, BV66FP listens it. E7A8YK gets his/her topic.
- 11.40-12.00 E7A8YK does the exam, E6T1DT listens it. DYUQFJ gets his/her topic.
- 12.00-12.20 DYUQFJ does the exam, E7A8YK listens it.

**Levente Hajder’s channel:**

- 10.00. RBPM7A gets his/her topic.
- 10.20-10.40 RBPM7A does the exam, COI6I3 listens it, YB5LOO gets his/her topic.
- 10.40-11.00 YB5LOO does the exam, RBPM7A listens it, LUM2CE gets his/her topic.
- 11.00-11.20 LUM2CE does the exam, YB5LOO listens it. D7EU3Y gets his/her topic.
- 11.20-11.40 D7EU3Y does the exam, LUM2CE listens it. SLNJ33 gets his/her topic.
- 11.40-12.00 SLNJ33 does the exam, D7EU3Y listens it. COI6I3 gets his/her topic.
- 12.00-12.20 COI6I3 does the exam, SLNJ33 listens it. PAUJDF gets his/her topic.

Schedule for oral exams

- Each student should join the meeting at the beginning for getting the instructions.
- Then a timetable is published here with the NEPTUN ID of the examinees.
- Each student has 20 minutes for the oral exam,
- and another 20 minutes to get ready.
- The question, selected by a random number generator, is announced in the chatbox, 20 minutes before the personal time-slot.
- The final mark is given at the end of the oral exam. It is immediately written into NEPTUN.
- Due to the university rules, another students must listen the exam. The NEPTUN ID of the listeners are also announced in the timetable.

# Dates for Oral Exams

- 2020.12.17. 10.00 (MS Teams)
- 2021.01.07. 14.00 (MS Teams)
- 2021.01.14. 10.00 (MS Teams)
- 2021.01.19. 10.00 (MS Teams)
- 2021.01.28. 10.00 (MS Teams)

# Dates for Assignment Presentations

- 2020.12.15. 10.00-12.00 (MS Teams)
- 2021.01.05. 14.00-16.00 (MS Teams)
- 2021.01.12. 10.00-12.00 (MS Teams)
- 2021.01.18. 14.00-16.00 (MS Teams)
- 2021.01.26. 10.00-12.00 (MS Teams)

Course materials:

- Derivatives with respect to vectors
- Lagrange multiplier
- Robust model fitting: RANSAC
- RANCAC in 2020 (CVPR2020 tutorial)
- Multi-model fitting
- Camera models
- RQ-factorization
- Numerical optimization
- Point Registration

Presentations:

Materials for practices:

- GUI by OpenCV
- Affine transformations
- Random Sampling Consensus (RANSAC)
- Multi-model fitting
- Point Visualization
- Homography Estimation
- Camera Calibration
- Tomasi-Kanade factorization
- Point Registration
- Chessboard-based calibration
- Important note for 3D Reconstruction practice

Questions for the oral exam:

- Basic estimation theory: solution for homogeneous and inhomogeneous linear system of equations.
- Robust fitting methods: RANSAC, LO-RANSAC.
- Multi-model fitting.
- Camera models: perspective camera, orthogonal projection, weak-perspective camera.
- Calibration of perspective camera using a spatial calibration object: Estimation and decomposition of projection matrix.
- Chessboard-based calibration of perspective cameras. Radial and tangential distortion.
- Plane-plane homography. Panoramic images by homographies.
- Estimation of homography. Data normalization.
- Basics of epipolar geometry. Essential and fundamental matrices. Rectification.
- Estimation of essential and fundamental matrices. Data normalization. Decomposition of essential matrix.
- Triangulation for both standard and general stereo vision.
- Stereo vision for planar motion.
- Tomasi-Kanade factorization: multi-view reconstruction by orthogonal and weak-perspective camera models.
- Reconstruction by merging stereo reconstructions. Registration of two point sets by a similarity transformation.
- Numerical multi-view reconstruction: bundle adjustment.
~~Tomasi-Kanade factorization with missing data.~~- Reconstruction by special devices: laser scanning, depth camera, LiDAR

Assignments:

- Line detection (
**25%**). Take an image and apply an arbitrary edge detector method. For example, you can use the implementation of Canny edge detector of OpenCV, or image processing tools like ImageJ, Gimp, … etc. The output should be a binary image: the value of a pixel is one (true) if it is an edge, zero (false) otherwise. The edge points are considered as 2D points for line fitting. Take the points and fit many lines robustly using the standard RANSAC method. In each RANSAC iteration, draw the lines if at least 20 points support the candidate line. Iteration number should be a parameter of your application. Images can be downloaded from here. You should run your code on each image. Draw the fitted lines to the original image by red. Upload the code and the a few resulting images into Canvas.**Deadline: 13th November.****Update:**The results for 20 supporting points are not very informative, please increase it to 200 points. - Plane detection
**(25%)**. Download the point clouds from here. They are obtained by LiDAR-scans. The task is to find the most dominant plane on the point cloud. For this purpose, implement the LO-RANSAC method for plane fitting. The local optimization step can be (i) LSQ fitting for inliers, OR (ii) iterated LSQ fitting, OR (iii) inner RANSAC. Only one solution should be implemented, if you include more than one, 5% extra score is given for each implemented additional local step. Visualize the results in Meshlab. For example, use coloured points to distinguish the fitted plane. Upload the code and the resulting point clouds into Canvas.**Deadline: (extended!) 20th November.** - Homography Estimation (
**25%**) Take two images from our webpage. Do feature matching by OpenCV or other tools like ASIFT . Implement the normalized linear homography estimation. (The original, unnormalized implementation is allowed to be modified.) The method should be robustified by standard RANSAC method. Apply the robust estimation for at least three image pairs. Panoramic images or images of planar surfaces can be arbitrary selected. Transform the second image to fit the first one. Images of planar surfaces can be downloaded from here . Input images for panoramic stitching are uploaded as well . Upload the source codes and results to CANVAS. (Hint: Source code in camera calibration can be easily modified for data normalization)**Deadline: 3 days before oral exam.** - Download the images, the camera parameters and the matched feature points from the website. Data are available at our webpage. In the root directory, K.txt contains the intrinsic camera parameters. Feature files are given in measurement matrix format (See third presentation for details): each column is a matched point pair, its coordinates are u1,v1,u2,v2. Estimate the fundamental matrix, then calculate the essential matrix. Decompose it, implement a triangulation method. Select the correct extrinsic camera parameters. Finally, save the correct triangulated 3D coordinates. Save the points in XYZ format, and upload those to Canvas. Results for both stereo image pairs should be uploaded. Upload the source code as well.
**Deadline: 3 days before oral exam.**

Final mark: oral exam (0-100%) + homework (0-100%) + extra scores (optional, given by the teachers)

Marks:

- Excellent (5): 170%-
- Good (4): 140-169%
- Satisfactory (3): 110-139%
- Pass (2): 80-109%
- Fail (1): 0-79%