DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

UNIVERSITY OF CALIFORNIA, SAN DIEGO

Instructor: Ben Ochoa

Email: bochoa at ucsd.edu

Office hours: M 8:00 PM-9:00 PM (primary) and W 8:00 PM-9:00 PM (secondary), EBU3B 3234, and at other times by appointment

TA: Silver De Guzman

Email: j5deguzm at eng.ucsd.edu

Office hours: Tu 4:00 PM-5:00 PM and F 8:30 AM-9:30 AM, EBU3B B270A

Note: when emailing the instructor or TA with questions about the class, please put "CSE 252B" in the subject line.

Class section ID: 961579

Lecture: MW 6:30 PM-7:50 PM, MANDE B-210

Class discussion: Piazza

This course covers topics in imaging geometry using techniques from computer vision, photogrammetry, and projective geometry. These topics include methods for projecting a 3D scene to a 2D image, reconstructing a 3D scene from 2D images, and camera parameter estimation. Upon completion of this course, students will have an understanding of single and multiple view geometry, and the algorithms used in practice.

Prerequisites: Linear algebra, calculus, and probability and statistics. Python or other programming experience.

Assignments will be prepared using LaTeX or Markdown. Programming aspects of the assignments will be completed using Python.

Late Policy: Assignments will have a submission procedure described with the assignment. Assignments submitted late will receive a 15% grade reduction for each 12 hours late (i.e., 30% per day). Assignments will not be accepted 72 hours after the due date. If you require an extension (for personal reasons only) to a due date, you must request one as far in advance as possible. Extensions requested close to or after the due date will only be granted for clear emergencies or clearly unforeseeable circumstances. You are advised to begin working on assignments as soon as they are assigned.

Academic Integrity Policy: Integrity of scholarship is essential for an academic community. The University expects that both faculty and students will honor this principle and in so doing protect the validity of University intellectual work. For students, this means that all academic work will be done by the individual to whom it is assigned, without unauthorized aid of any kind.

Collaboration Policy: It is expected that you complete your academic assignments on your own and in your own words and code. The assignments have been developed by the instructor to facilitate your learning and to provide a method for fairly evaluating your knowledge and abilities (not the knowledge and abilities of others). So, to facilitate learning, you are authorized to discuss assignments with others; however, to ensure fair evaluations, you are not authorized to use the answers developed by another, copy the work completed by others in the past or present, or write your academic assignments in collaboration with another person.

If the work you submit is determined to be other than your own, you will be reported to the Academic Integrity Office for violating UCSD's Policy on Integrity of Scholarship. In accordance with the CSE department academic integrity guidelines, students found committing an academic integrity violation will receive an F in the course.

Handouts/Readings and Assignments:

- Course overview (from Jan 7 lecture)
- Good Features to Track (
*Shi and Tomasi*) [pdf] - A Fast Operator for Detection and Precise Location of Distinct
Points, Corners and Centres of Circular Features (
*Förstner and Gülch*) [pdf] - Assignment 1 (due Jan 16) files
- Assignment 2 (due Feb 6) files
- EPnP: An Accurate O(n) Solution to the PnP Problem (
*Lepetit, Moreno-Noguer, and Fua*) [pdf] - Least-Squares Estimation of Transformation Parameters Between Two Point Patterns (
*Umeyama*) [pdf] - Review and Analysis of Solutions of the Three Point Perspective
Pose Estimation Problem (
*Haralick et al.*) [pdf] Corrections to Finsterwalder's Solution [pdf] - Assignment 3 (due Feb 21) files
- Assignment 4 (due Mar 6) files
- Polynomial Eigenvalue Solutions to the 5-pt and 6-pt Relative Pose Problems (
*Kukelova et al.*) [pdf] - Assignment 5 (due Mar 20) files
- Three-View Geometry (from Mar 11 lecture)
- Auto-Calibration (from Mar 13 lecture)

Lecture Topics (tentative):

**Background**- Geometric primitives (points, hyperplanes, hyperquadrics, and lines) (sections 2.2, 3.1, and 3.2)
- Feature detection and matching (simple)
- Geometric transformations (sections 2.3, 2.4, and 3.4)
**Single view geometry**- Projective camera (sections 6.1 and 6.2)
- Projection and back-projection of geometric primitives (sections 8.1 and 8.3)
- Estimation of camera projection matrix (sections 7.1, 4.1, 4.4, 7.2, and 4.5)
- Estimation of camera pose (calibrated camera)
- Outlier rejection (section 4.7)
**Two view geometry**- Camera rotation, two views (section 8.4)
- Estimation of rotation matrix (calibrated camera)
- Estimation of 2D projective transformation (sections 4.1, 4.4, and 4.5)
- Camera rotation and translation, two views (sections 9.1 and 9.2)
- Estimation of fundamental matrix and two-view triangulation (sections 11.1, 12.4, 11.2, 11.3, 10.1, 9.5, 11.4, and 12.5)
- From projective to metric reconstruction (section 10.5)
- Estimation of essential matrix (calibrated camera) (section 9.6)
- Imaging a plane (section 13.1)
**Three view geometry**(chapters 15 and 16)**n view geometry**- Triangulation (sections 12.1, 12.2, and 12.3)
- Bundle adjustment and 2D block adjustment, sparse (section 18.1)
**Additional topics**- Single view projection of a plane and quadric (sections 8.1, 8.2, and 8.3)
- Auto-calibration
- Recovery of affine and metric properties from images (sections 2.7, 8.5, 8.6, and 8.7)

Required textbook:

Multiple View Geometry in Computer Vision, 2nd edition

Richard Hartley and Andrew Zisserman

Cambridge University Press, 2004

[Cambridge Books Online] [Amazon] [Google]

*Last update: March 14, 2019*