DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
UNIVERSITY OF CALIFORNIA, SAN DIEGO

## Winter 2014

Instructor: Ben Ochoa

Note: when emailing the instructor with questions about the class, please put "CSE252B" in the subject line.

Class section ID: 806177
Lecture: TuTh 5:00 PM-6:20 PM, EBU3B 2154
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, probability and statistics. Matlab, Python, C/C++, or other programming experience.

Assignments should be prepared using LaTeX.

Handouts/Readings:

• 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 [pdf] [image 1] [image 2] (Due Date: Jan 28)
• Review and Analysis of Solutions of the Three Point Perspective Pose Estimation Problem (Haralick et al.) [pdf] [Corrections to Finsterwalder's Solution]
• Least-Squares Estimation of Transformation Parameters Between Two Point Patterns (Umeyama) [pdf]
• Polynomial Eigenvalue Solutions to the 5-pt and 6-pt Relative Pose Problems (Kukelova et al.) [pdf]
• Assignment 2 [pdf] [image 1] [image 2] (Due Date: Mar 4)
• An Iterative Image Registration Technique with an Application to Stereo Vision (Lucas and Kanade) [pdf]
• Final Project (suggested) [pdf] [3D scene points] [2D image points]

Lecture Topics (tentative):

• Geometric primitives (points, hyperplanes, hyperquadrics, and lines)
• Geometric transformations
• Transformation of geometric primitives
• Feature detection and matching (simple), including outlier rejection
• Estimation of planar homography
• Single view geometry
• Camera projection matrix and normalized camera projection matrix
• Projection and back-projection of geometric primitives
• Estimation of camera projection matrix
• Estimation of camera pose (calibrated camera)
• Two view geometry
• Imaging a plane
• Camera rotation, two views
• Estimation of planar homography (revisited)
• Estimation of rotation matrix (calibrated camera)
• Camera rotation and translation, two views
• Fundamental matrix and essential matrix
• Estimation of fundamental matrix
• Estimation of essential matrix (calibrated camera)
• Triangulation
• Three view geometry
• n view geometry
• Bundle adjustment and 2D block adjustment, sparse
• Lens distortion
• Affine cameras
• Configurations of geometric primitives
• Estimation of planar homography from line correspondences
• Line projection matrix
• Triangulation from line correspondences
• Estimation of line from points in 2D
• Estimation of 3D projective transformation from point/plane correspondences
• Feature tracking (video)
• Recovery of affine and metric properties from images
• From projective to affine and metric reconstruction
• Auto-calibration

Links:

Final project suggestions:

• Estimation of camera pose (camera rotation and translation). Camera rotation is optimized using angle-axis representation.
• Estimation of essential matrix (rotation and translation of second camera relative to first camera). Relative camera rotation is optimized using angle-axis representation and (direction of) translation is optimized using parameterization of the n-sphere.
• Estimation of the trifocal tensor.
• Affine reconstruction using the factorization algorithm.
• Estimation of planar homography from line correspondences.
• Triangulation from line correspondences.
• Estimation of lens distortion parameters and correction of lens distortion.
• Vanishing points and vanishing lines.
• Affine and metric rectification of images.
• Camera calibration (image of the absolute conic).
• Stratified reconstruction of a 3D scene.
• Mosaic construction (2D block adjustment) from video or a set of images.
• Bundle adjustment from video or a set of images.

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 13, 2014