Project 5: Stitching Photo Mosaics

Yiwen Chen

Part1

1. Shoot and digitize pictures

pic1 pic2

2. Recover Homographies

40 corresponsences are defined mainly on the zebra lines and windows:

3. Warp the Images

pic 1 after warping

4.Image Rectification

example 1: Bicycle

example 2: Billboard

Blend images into a mosaic

By simply taking average at overlapping pixels, I get the following result.

Part 2

1. Detecting corner features in an image

2.Implement Feature Descriptor extraction

By adding a 40 by 40 window around corner points, I get patches like this. After resizing 40 by 40 patches to 8 by 8 patches and normalize, the patches look like this

3.Feature Matching

I set the threshold on the ratio between the first and the second nearest neighbors to 0.5 and applied reciprocal matching. The results are as follow.

There are a few outliers.

4.4-point RANSAC

To remove outliers, I applied RANSAC and set epsilon to 6, number of loops to 600. The results are as follow.

5. Morphing and mosaic

Using the homogrphy determined by the inlier group, I get the following warping result:

Here is the comparison of automatically stitched mosaic using the above warping result and manually stitched mosaic from part 1:

automatically stitched mosaic: manually stitched mosaic

The result of manually stitched mosaic is slightly better than the automatically stiched one. This is probably because the corresponding keypoints manaully selected are more evenly distributed than the ones filterd by RANSAC. As we can see in previous part, most points on the zebra stripes are filtered out by RANSAC.

In [ ]: