IMAGE WARPING and MOSAICING (Part A), Anusha Syed

Recovering Homographies

In order to compute the projective transform between two images, we need to recover the homography matrix, which consists of 8 unknowns. We are able to do this by finding at least 4 correspondence points between two images. We then solve the following equation using least squares to recover the 8 unknowns to construct the homography matrix:

Rectifying Images

In order to illustrate that we have properly constructed the homography, I warped a couple images with planar objects, below are the result:

I used the four corners of the notebook as my correspondence points

I used the four corners of the picture of Mac Dre as my correspondence points

Mosaicing

Haas

Pictures and mosaic-ed result:

Finished Boba and library table

Pictures and mosaic-ed result:

My friend's house

Pictures and mosaic-ed result:

This result was not the best, I think this was because I picked a poor set of correspondence points and the dimensions of the image were larger. This was most likely the problem because much of my stitching code was based on the dimensions of the image being a certain size.

Part B: Automatic Stitching

Images

Detecting Corner features in Images

Extracting Feature Descriptors

Matching Feature Descriptors

Computing Homographies with RANSAC

  1. Select 4 sets of points randomly.
  2. Compute the homography using these points.
  3. Projectthe first image according to the second image using the computed homography.
  4. Calculate the SSD between the resulting transformed point and the original value of the point.
  5. Find the number of “inliers” with an SSD below a carefully epsilon value.
  6. Repeat the above steps for some chosen number of iterations (I am using 1000).
  7. Use the found inliers to compute the final homography matrix which will be used to warp the images.

Automatic Mosaicing

I ran out of time :( sorry Happy thanksgiving