Image Warping and Mosaicing

CS 294-26 • Fall 2020 • Project 5A

Shubha Jagannatha


Overview

In this assignment, I make a mosaic of multiple images by warping the images based on matching keypoints.


Part 1: Shoot and Digitize Pictures

Here are the images I use in this assignment. I have 3 different settings that I used for my mosaics: outside, in my living room, and in my friend's living room.




Part 2: Recover the Homographies

For this portion of the project, I used a set of mapped keypoints between two images (code taken from my project 3) to recover the transformation between the two point sets. In order to calculate the homography matrix H in p'=Hp, I set up a linear system of equations to solve for the unknowns using least squares with the equation in the form of Ah = b. In order to improve the accuracy of the calculated homography matrix, I made sure the matrix was overdetermined by providing more than the 4 points needed to calculate the unknowns. Lastly, I divided all entries by the value of the last (9th) calculated value to ensure that the scaling was just 1.

Here's the Ah = b setup I used for this calculation.




Part 3: Warp the Images + Rectified Images




Part 4: Blend Images into a Mosaic

Here are the mosaics I have. First, here are the mosaics without blending.





I'll be adding in the mosaics with blending here soon!

Overall, this was an interesting assignment. I learned the most about different methods of trying to combine images and their various tradeoffs (using laplacian images vs. varying the alpha of the image).