The theory parts of the assignments, with solutions. They practice exactly the derivations the exam hints point to: SVD for homogeneous least squares, projecting onto a rotation matrix, and the epipolar constraint.

Why these matter

The tutor called epipolar geometry a β€œpopular exam topic”. The recipe β€œsolve with SVD, then fix the constraints with a second SVD” appears in pose estimation (here), in the 8-point algorithm, in triangulation and in Procrustes.

Assignment 1

Programming part: look_at (rotate the camera towards an object), perspective and orthographic projection, camera pose estimation. Related: Lecture 2.1, Lecture 2.2.

Exercise 1: 3D Transformations

In homogeneous coordinates, a projective 3D transformation is an invertible matrix . There is a hierarchy, each level less restrictive:

TypeMatrixPreservesDoF
Rigidlengths6
Similarityangles7
Affineparallelism12
Projectivestraight lines15

, , , .

Affine = rotation + scaling + rotation + translation

From the SVD : an affine map is a rotation (or mirroring), a non-uniform scaling, another rotation (or mirroring) and a translation. Shearing is affine too.

The key step for (a). For and points with 4th coordinate 1, the translation cancels in the difference:

So every question reduces to the linear part.

Exercise 2: Camera Pose from 3D-2D Correspondences

Usually we know and 3D points and compute the image points . Here it is the other way around: given pairs , recover and . This is the Direct Linear Transform (DLT). Assume :

(d) Least squares with SVD

Why: is orthogonal, so . With (still ) the objective is . It is smallest when all weight is on the smallest singular value: , so = the last column of .

The determinant trick

Many groups (including the handed-in solution) forced with . The tutorial called this the β€œwrong” way here: it flips one axis of but leaves with the wrong sign. In DLT we have the extra freedom of flipping the sign of the whole , and we should use it (step 2).

Assignment 2

Programming part: 8-point algorithm and relative pose, triangulation, image rectification and view morphing, stereo matching with cost functions and later a Siamese CNN, depth from disparity, linear triangulation and a simple bundle adjustment (fixed cameras). Related: Lecture 3, Lecture 4.

Exercise 1: Epipolar Geometry Conventions

Two cameras , ; is aligned with the world frame.

LectureHartley-Zisserman
maps vectors from camera 1’s frame to camera 0’s frame = rotation of camera 1’s extrinsics
position of camera 1 in world (= camera 0) frame = translation of camera 1’s extrinsics
Cameras,
Constraint (note: and swapped)

Relation: , .

Intuition

Both conventions describe the same geometry. One uses where camera 1 is (, ), the other how to transform points into camera 1 (, ). The only visible difference is a transpose of and swapped roles of and . See Notation.