Panoramic Stitching

Christopher Clark, Peter Brook

CSE 455: Computer Vision

Project 2 Artifact

Image Stitching

Test sequence 

This image was created using the sample set. The top and bottom were cropped to remove the black edges.
"Sample Panorama" by Christopher  and Peter CSE 455 Winter 2012 (full size, 360° viewer)

Sequence with Kaiden panorama head

Taken inside Steven's Court at night. Stitching worked extremely well for this image set as well.
 
"Steven's Court" by Christopher and Peter CSE 455 Winter 2012 (full size, 360° viewer)

Sequence taken by hand


Taken in a parking garage. The panorama suffered some alignment issues. Looking through the image pair list produced by Panorama alignPair we were able to tell that several of the picture had been given zero alignment. We tried a few other times with a higher RANSAC threshhold and more RANSAC iterations without getting better results. We guess that the inconsistent movements might have resulted in images that differ my more than just translations (the camera angle could have changed slightly resulting in a rotated image). It is also possibly that the images were too uniform to have many good distinguishing features.
 
"Parking Garage" by Christopher and Peter CSE 455 Winter 2012 (full size, 360° viewer)

Feature Detection

ROC comparison of our code vs. SIFT

Yosemit haris operator image:
The ROC curves for the yosemite dataset indicate that both SIFT and our feature descriptor perform extremely well using both SSD and ratio distance. As expected, MOPS+SSD (the simpler descriptor and the simpler distance measure) perform slightly worse than SIFT+ratio. The extreme success of both descriptors is almost certainly due to the fact that the yosemite dataset only has a translational shift between images, and both descriptors are translationally invariant.

Graf haris operator image:

The ROC curves for the graf dataset indicate first that the graf dataset is much more challenging than the yosemite dataset (the SIFT descriptor performs significantly worse on graf than on yosemite) and that our feature descriptor performs significantly worse than SIFT (no surprise there). More specifically, the graf dataset has significant rotation between images and our descriptor does a very poor job of rotational invariance, leading to the poor performance. We can also see that the ratio test performs much better than the SSD test for both descriptors.

Extra Credit:

For extra credit, we created a feature descriptor which involved binning the pixel orientations in an 8x8 window around the pixel into 16 bins. The feature was the 16 dimensions of the integer values of the histogram bins. Here is the ROC curve for the graf dataset. The integer values are probably what causes the non-smooth function. It performs slightly better than the simpler feature descriptor.