CS 194-26 Project 5 - Image Warping and Mosaicing

Andy Wu, Fall 2020

Initial Pictures

The original images are



Shown below is the result of rectifying the face of the building to a square. We can see that for both images, the front face of the image is transformed from diagonal to directly facing the viewer.


The result after alpha blending is pretty good, but there is still the sharp line left at the blending edge. I tried a few quick methods of gaussian filtering to remove the edge, but nothing good came out.

I was extremely impressed at how easy it was to align and create a mosaic of these images, as long as we have the keypoints labeled. The process took very little code and the output looked really good.

Harris Interest Point Detector

Shown below is the output of the harris interest point detector, using corner_peaks instead of peaks_local_max.

Adaptive Non-Maximal Suppression

Then, using Adaptive Non-Maximal Suppression, I filtered the set of points down to a more feasible number.


After performing feature matching and using RANSAC to find the best homography, the reconstructed panorama:


Original images:

Manual Merge vs Auto Merge

Original images:

Manual Merge vs Auto Merge

Original images:

Manual Merge vs Auto Merge

In the final mosaic of the room, the harris corner detector detected very few points in one of the images, resulting in a very poor final alignment. This led to the poor output.
I found the project extremely interesting because we take for granted features like image stitching and panoramas in our phones. After working through the process, I reversed by belief that the hard part would be to stitch the images togther. In reality, it is much harder to find the keypoints and align the images in the first place.