Machine Problems
Assigment 1 - Constructing a Mosaic
DOWNLOAD [PDF]
The purpose of this assignment is to learn how panoramic images can be created. Panoramic images provide new capabilities for walk-throughs of an environment, tele-presence, and robotic applications. Figure 1 shows a panoramic image of the World Trade Center (WTC)’s construction site looking south from the 10th floor of WTC 7.

Figure 1. WTC construction looking south from 10th floor of WTC 7 (Photo courtesy of Cryptome 2008).
In this assignment, Image warping and mosaicing will be programmed in MATLAB. In MATLAB, many of the necessary numerical routines are readily available (e.g., eig for the computation of the eigenvalues and eigenvectors of a matrix)
Assigment 2 - Single View Metrology
DOWNLOAD [PDF]
[Matrials]
The purpose of this assignment is to practice single view metrology.

Figure 2. An image of street in Kyoto, Japan.
For example for the Kyoto Street image, shown below, we will estimate the positions (in the image plane) of the three major vanishing points, corresponding to the building orientations. We will use at least three manually selected lines to solve for each vanishing point. The included code getVanishingPoint_shell.m provides an interface for selecting and drawing the lines, but the code for computing the vanishing point needs to be inserted.
Assigment 3 - Object Recognition
DOWNLOAD [PDF]
[Matrials]
The purpose of this assignment is to practice object recognition.

Figure 3. Object instance recognition.
In this assignment, given the object bounding box center x-y, width, and height (x1, y1, w1, h1) and the position, scale, and orientation of each keypoint (u1,v1,s1,θ1; u2,v2,s2, θ2), we will show how to compute the predicted center position, width, height, and relative orientation of the object in the other image.
Assigment 4 - Estimation of Fundamental Matrix
DOWNLOAD [PDF]
[Matrials]
The purpose of this assignment is to practice estimation of fundamental matrix.

Figure 4. An example of fitting Fundamental matrix.
This Matlab programming assignment is concerned with the estimation of the fundamental matrix from point correspondences (weak calibration).Both the linear least-squares version of the eight-point algorithm and its normalized version will be implemented.
The purpose of this assignment is to practice estimation of affine structure from motion.
This Matlab programming assignment is concerned with the estimation of affine structure from motion from point correspondences. We will implement two-view affine structure from motion (as described in the Ponce and Forsyth textbook, p. 262) using the first two views in the data set, and the Tomasi-Kanade multi-view affine structure-from-motion algorithm (as described in the same textbook, p. 265).