CS194-26 Project 6B

Image Warping and Mosaicing

by Kimberly Kao cs196-26-aas

Automatic Feature Detection

The goal of this project is to create a system for automatic stitching of images into a mosaic. This is similar to project 6A, except instead of manually defining correspondence points, we can automatically find good feature points through the 5-step framework described below.

Automatic Feature Detection Framework:

  1. Detect Harris corners of each image.
  2. After running the Harris Interest Point Detector, we will get a lot of feature points. We want to restrict the maximum number of points while making sure the points are spatially well distributed since the area of overlap between pairs of images may be small. Run the ANMS algorithm to reduce the set of feature points.
  3. A feature descriptor encodes interesting information about a feature to support reliable and efficient matching of features across images. The feature descriptor we use is SIFT, which encodes information about the 8 x 8 patch of pixels sampled around the feature point.
  4. After computing a feature descriptor for each feature point, we find all possible matches by comparing SSD and rejecting outliers with a nearest neighbors threshold.
  5. Finally, use RANSAC to further refine matches and reject remaining outliers.

Hall

Original Images

Harris Interest Points

After ANMS

Feature Matching

RANSAC

Final Mosaic: Manual (left) vs Automatic (right)

On my Balcony

Original Images

Harris Interest Points

After ANMS

Feature Matching

RANSAC

Final Mosaic: Manual (left) vs Automatic (right)

A Heart with Open Arms on Sofa

Original Images

Harris Interest Points

After ANMS

Feature Matching

RANSAC

Final Mosaic: Manual (left) vs Automatic (right)

Cool Stuff

The coolest part of this project was learning about the different ideas to improve automatic feature detection such as ANMS and RANSAC. It's amazing how the most important feature points can be detected by such a simple framework.