Project 6 [Auto]Stitching Photo Mosaics

CS194-26: Image Manipulation and Computational Photography
Xin Chen afh

Project 6A Image Warping and Mosaicing

Shoot and Digitize Images

I have taken a set of images to use for the mosaicing.

 

 

Image Rectification

Image rectification will allow us to view an image from a different perspective. I've implemented warping beforehand to enable the warping between two sets of points. Thus for image rectification we can use the warping funciton. To show the results, I've selected images with planar surfaces and warped them so that the plane is frontal-parallel.

Original Image(Left); Rectified Image(Right)

However, the shadow of the objects the image gives away our result.

Project 6B Feature Matching for Autostitching

In this part of the project, we will automatically stitch images into a mosaic by matching features of images and compute a robust homogray using RANSAC.

Detecting Cornor Features in an Image

First, we will use the Harris Interest Point Detector to detect corners in an image.

Harris Interest Point Detector

In order to make the corners more spatially spread out in the images, we will use Adaptive Non-Maximal Suppression(ANMS) algorithm. This algorithm will take the harris corners detected interest points as input . Using this algorithm, we can restrict the maximum number of interest points while making sure that they are spatially well distributed. In the project, I've set the maximum number of points to be 500.

After ANMS

Feature Descriptor

Now that we have a set of interest points, we need to find a way to match interest points from one image to the other. A preliminary step is to compute feature descriptor for each interest point. The feature descriptors will be 8x8 patches from 40x40 pixel window. We will then bias/gain-normalize the descriptors.

Feature Matching

Next, we will find points that are similar and match them. We will use Lowe's techenique to select 1-NN/2-NN ratio is less than some threshold .

RANSAC

We can see from our feature matching result that some of the points don't match correctly and some other points point to the same point in the destination image. So we will use 4-point RANSAC to further filter out our points in order to give a robust homography. We can see the remaining points match very well.