Computational Photography Project 4: Stitching Photo Mosaics / Tour Into the Picture


David Wang, Fall 2010

Rectification

The first goal of the project was to recover a homography between two quadrilaterals or lists of points and warp one to the other. To verify that this is done correctly, I rectified several images, which can be seen below. Photos taken several years ago.

Input:

Output:

Input:

Output:

Mosaic Stitching

The next goal of the project was to define pairs of correspondence points between images and stitch them into a single mosaic. The results can be seen below. Photos are from a previous trip to China.


Automatic Mosaic Stitching

Defining correspondence points by hand is time-consuming, so I implemented an automatic method of doing so.

The first step is to compute interest points by using the Harris algorithm, like so.

The second step is to filter out a lot of the points, which I did by simply taking the set of strongest interest points.

The next step is to match the points together using a feature matching algorithm.

As can be seen, there are still outliers, so RANSAC is performed to find a set of inliers, like so.

Then, they can be stitched together into a whole mosaic, as seen below. Photos are from China and Colorado.

A failure case can be seen below. The reason for this is that the images were shot with a wide angle lens with significant pincushion distortion.

Tour into the Picture

The goal of this project was to be able to generate novel viewpoints of a room from a single photograph. The assumptions about the photograph of the room are that the camera was parallel to the back wall, and there is a single vanishing point in the photograph. The first step is to define the walls and vanishing point, extract the textures from the photograph, and warp them into a rectangular shape, as can be seen below.

Using this, we can map the textures onto a 3D model and generate different viewpoints, like so.

The box.

Novel viewpoints!

Another example image and novel viewpoints.

And one more.