CSE576 - Computer Vision

Project 2 - Panorama Stitching

by Stephen Friedman




Approach

The image stitching is accomplished in three steps:

Experience

I tried using both the sift feature descriptors and my custom descriptor from Project 1. The alignments obtained using the sift descriptors were far better than my own, so those alignments were used to produce the final output. My own descriptors were much faster, however. I believe a large portion of this speedup comes from a more efficient feature matching scheme. I compute three characteristic values in my descriptor which are the percentage of the overal value that lies in the top, left, and diagonal quadrants of the descriptor patch. In the match routine, I first compare these values, and if they are not within a threshold percentage, I don't consider it to be a feature match and I skip the expensive Euclidian distance computation.

I also found that one size doesn't fit all when it comes to the RANSAC parameters. After tweaking them by hand, I could get settings that would come up with a reasonable alignment for most of a whole set of images, but there would be a pair or two that were still largely misaligned. The panoramas shown in the results were generated by finding a good set of parameters for most of the images, and then going back and re-running the alignment for those that were far off with different parameters until reasonable results were obtained.

Results


Panorama 1: Test Data Set


Here are the results for the test set provided with the project. The algorithm performed the best on this data.




Panorama 2: Snoqualamie Falls using Kaiden Head Tripod


This test set was taken from the boardwalk at Snoqualamie Falls using a tripod to help with positioning and rotating of the camera. This data was harder to work with, and there is still quite a bit of ghosting.




Panorama 3: Snoqualamie Falls Handheld


This data was taken from the same observation point, this time the camera was held and I spun as I took pictures. The angle between images is far less regular, and they aren't aligned horizontally nearly as well. The auto stitching had the most trouble with this data set, and even after fiddling, there is a large discontinuity in the middle of the panorama.