Project 6: Panorama Stitching Write up

Panorama Stitching

This project involved stitching images together to create panoramas. Panorama stitching involves solving for the projective transformation between two subsequent images which need to be stitched together. The projective transformation has 8 degrees of freedom, thus to solve for the transformation, 8 equations or 4 pairs of correspondences between the two images are required. Once the transformation has been recovered one image is warped and then stitched with the other, resulting in a 2 image panorama. This process can then be repeated to stitch a sequence of images together.

For the first part of the project we were required to do panorama stitching through manual specification of correspondences. I found this to be highly non-robust and the homography would change significantly for small perturbations of the correspondences. The results of manual stitching are shown below

In the second part, the stitching process was completeley automated by extracting harris corner detectors and matching them across images. To get a spatially uniform distribution ANSS was employed. The initial interest point detections along with the 200 most ``relevant'' points after adaptive non maxima supression are shown below.

The interest point matches in the two images are shown below. The matches in this particular example and in general seem to be fairly good.

Finally, Ransac is used to determine a robust homography between the images. The results are both more robust and qualitatively better than the manual stitching. Panorama 3 is a shot of Denver on a sunny day and Panorama 4 is a shot of the Bandra-worli sea link in Bombay,India.

Extra Credit

For extra credit, I implemented panorama recognition. This was fairly straight forward to do, by just extending the RANSAC procedure to multiple images. More specifically, instead of searching for a homography using feature matches amongst a pair of pre-specified images I now search for a homography between a prespecified image and all other images. The homography with the highest score governs which two images will be stitched together. It worked really well for the Denver panorama, but not so well for the other one.