Project 2 - Panorama Mosaic Stitching

Dan Gnanapragasam
Milda Zizyte
CSE 455

Features

Yosemite ROC Curves

Here are the ROC curves for Yosemite

ROC Yosemite

Graf ROC Curves

Here are the Graf ROC Curves

Harris images

For Yosemite, the Harris image looks like this:

Yosemite harris

For the graf images, the Harris image looks like this:

Yosemite harris

Extra Credit

For extra credit, we implemented contrast invariant features. To do this, we normalize our feature windows. This is achieve by using the formula" Var [X] = E[X^2] - E[X]^2. Once this value is computed, take the square root of the radius and compute the standard deviation. From this, we can compute the z-score ((pixel value - mean) / stdev) and then we center this at 0.5.

To test this, we took the two shot of Yosemite and increased the contrast of the image on the left. With the orginal feature detection function, we found only two inliers, resulting in the following distorted image:

A bad merge of Yosemite

On the other hand, using our feature detector gave us the following image, which looks more acceptable, modulo some artifacts from the contrast.

A good merge of Yosemite

Panoramas

Please click on a panorama shot for a zoomed-in view.

Sylvan Grove with Kaiden Head

Sylvan Grove with Kaiden Head

This panorama turn out reasonbly well in that we had very little vertical drift. A few of the seams are somewhat visible (near the columns). This might be the result of turning the camera too far.

Test Image

TestImage

The test image appear to be relatively similar to the one provided in the sample soution.

Sylvan Grove from Handheld Camera

Sylvan Grove with Hand Held

This image turned out rather badly. We had too much vertical displacement, which resulted in a rather badly matched image.

(Extra Credit) Multiple copies of the same person from a handheld camera

Sylvan Grove with Kaiden Head

In this image, Milda appeared in every photo. There are some ghosting artifacts because the blend width is relatively large. The image boundaries become worse and worse (i.e., more and more visible) as we decrease the blend width. We tried blend widths of 100, 75, and 50 pixels.

What Worked Well and What Didn't

The warp and the RANSAC algorithm were relatively straightforward to implement and all issues that we encountered while doing these parts were easily debugged. Our biggest issue was with figuring out the appropriate locations for the constituent images in the blended image. However, a couple of debug print statements made this also work.

Viewers

We have viewer for each of the images listed below.