CS129 / Project 6 / Automated Panorama Stitching

Automatic panorama stitching is done with the following steps:

1. Finding a number of correspondent points, initially found with Harris corner detector. The total number of points is reduced by adaptive suppression which ensures that the remaining points are spread out throughout the image. Then the correspondence points are matched together by using square distances on feature vectors of the points. For features, I just use small crops of the original images.

3. RANSAC: points are randomly sampled, and the sampled points are used to estimate the homography. The homography with the best match with the sampled points is kept. I use 1000 iterations, and 4 correspondence points for 8 equations.

4. The images are then merged together based on the calculated homography.

Failure Cases

There were quite a large number of failure cases, possibly because I was mainly using crops of the original image as my features. Images in different perspectives didn't match well. Also, images which did not have much overlapping space sometimes couldn't be matched as panorama 1 above.

Edges as Features

I also tried using edges as features by running two sobel filters over the original images, but the results were not great as I thought they would be.

Additional Images

I tried two opposites: a planar panorama, and a heavily projectively transformed one. Both seem to be equally accurate, although lighting changes between the photos have a great effect on the final image.