Project 4A: Image Warping and Mosaicing

COMPSCI 194-26: Computational Photography & Computer Vision (Fall 2021)
Alina Dan

Shoot the Images

Here are the pictures I shot and used for this project:

​ ​
Campanile Left
Campanile Right
​ ​
Outside Lewis Left
Outside Lewis Right
​ ​
Sunrise Left
Sunrise Right

Recover Homographies

To find the transformation between one image to the other, I found the homography based on correspondence points from both images. I did this by utilizing the formula, p' = Hp:

​ ​

Each correspondence points results in two equations, and to recover the homography, at least 8 equations are needed. Thus, at least 4 correspondence points are required; however, more points are better to combat noise and unstableness. With the data points, I used least squares to solve for the H matrix.

Warp the Images

After recovering the homographies, I did image warping for rectification. This was done with inverse warping and interpolation based on 4 corners of an image like so:

​ ​
Wipes
Rectified Wipes
​ ​
Book
Rectified Book

Blend the Images into a Mosaic

After ensuring my recovering of homographies was working well, I went on to actually blend picture together to form a mosaic. By warping images such that they are in the same plane, I can align them based on their correspondence points. This then allows for creating of a mosaic / panorama picture like so:

​ ​
Campanile Left
Campanile Right
Campanile Mosaic
​ ​
Outside Lewis Left
Outside Lewis Right
Outside Lewis Mosaic
​ ​
Sunrise Left
Sunrise Right
Sunrise Mosaic

Learnings

The most important thing I've learned from this part is the complexity revolving around picking the "right" pictures. For some of the images I tried to rectify or warp into a mosaic, the algorithms and code didn't work too well. I had to retry with other images due to noise and other issues that caused the rectification and blending to not work so well. I have learned that for computer vision, the pictures that you choose really play a huge role into the outcome.