Project 5: Structure From Motion — Sam Birch (sbirch)

CS143 12/12

In this project I implemented a structure from motion algorithm which recovers shape and camera information from a series of consecutive images in a video stream.

Feature tracking

This implementation uses a KLT tracker without iterative refinement or coarse-to-fine registration. Initial feature selection used a Harris detector.

(Right) In red, the initial tracked points used throughout the sequence. In blue, those that were dropped because they went out of frame.

(Left) The tracks of 20 random points through the sequence

Recovering shape

Following Morita and Kanade and Tomasi and Kanade we first solve for the affine structure, and then eliminate the affine ambiguity by applying metric constraints.

Three views of the reconstructed shape. Camera motion shown as red lines (the fan). The camera's being "inside" or "outside" the structure is a fundamental ambiguity. (1) Back side with camera, (2) bottom corner, (3) front faces and roof.

Camera motion, x, y, & z resp.