Project #6 Part A: Image Warping and Mosaicing

Overview

This part of project 6 involved capturing pictures to stitch, recovering the transformation, warping images to correct a shape, and stiching the images into a panorama.

Image Rectification

In each example, a source image was warped to adjust the plane of a rectangle.

Blending

Sets of overlapping images were blended together to create a panorama. I found that blending without any feathering looked the best in the absence of improved correspondence finding.

Summary

This exercise demonstrates the power of a simple matrix transformation, but also highlights the weakness of blending with manual and sparse correspondence finding.

Project #6 Part B: Feature Matching for Autostitching

Overview

This part of project 6 consisted of automatically recognizing the features that were manually identified in the previous part.

Detecting Corner Features

A Harris detector was used to find corners that served as image features. Adaptive Non-Maximal Suppression was used to increase distance between points by allowing stronger corners to supress weaker corners within a radius.

original
corners
corners after suppression

Extracting Feature Descriptors

Features to match were simply 41x41 boxes around each point, resized to 8x8 and normalized.

Matching Feature Descriptors

Feature distance was calculated using sum of squared differences. Each feature was matched with its closest neighbor, and kept only if this match was 10 times better than the next best.

RANSAC

Random Sample Consensus was used to find a large group of points that suggested a similar transformation.

Blending

I found that blending quality depended mostly on the number of correspondence points identified, and so the automatic results did not significantly differ from the manual results.

manual
automatic

My favorite part

I think that RANSAC is a pretty neat way to handle lots of outliers!