CS 194-26 Project 6: Panoramas!

Nanxi Wang


Project Overview

In part 1 of this project, I created homographies to projectively warp images taken from the same location (but at different viewpoints) to align and create multi-image panoramas. In part 2, I automatically detected and matched important feature points from 1 image to another so one doesn't have to pick those points by hand.



PART 1: MANUAL FEATURE POINT SELECTION

Shoot and Digitize Images

Originals




Rectified Image




Panorama Images








What I learned

I learned how to warp images so it looks like they were part of the same projective plane. I also learned that aligning and blending these warped images is really hard.






PART 2: AUTOMATIC FEATURE POINT SELECTION

Harris Interest Point Detector and Adaptive Non-Maximal Suppresion

Below are the pre and post suppresion possible corners detected using the Harris Interest Point Detector with a min distance of 5. Many points lie along edges or corners of objects, but many are also seemingly in the middle of a blank patch (possibly because the gradient of the sky looks like it could be a corner to the algorithm). I chose to keep many points after the suppresion and filter them out later with feature matching.

Before ANMS: 760 || After ANMS: 500

Before ANMS: 630 || After ANMS: 500

Before ANMS: 509 || After ANMS: 500




Feature Descriptor Extraction and Feature Matching

After feature matching and thresholding with Lowe's 1NN/2NN ratio, we get a set of possible feature matches. Most of these are correct, but there are a few that are wrong. The algorithm also picked out a lot of matches that are surprisingly difficult for a human to select (not the most obvious corners).




RANSAC Pairs

Above are the sets of 6 correspondence points that RANSAC chose. As you can see, most of the incorrect matches have been filtered out (though they occasionally show up).




Panorama Images

Below are the comparisons of the panoramas made from hand-picked points (left) and automatic feature point selection (right). Though there are sometimes some weird artifacts from poor blending, the automatic features overall do a better job at aligning the two images (especially of objects along the edges).




What I Learned

I learned about how, mathematically, one can detect corners in an image! I also learned a lot of simple tips that helped us determine the matching points in a relatively easy way. Sometimes you don't need a very complicated algorithm to achieve a really good result.