Project 5a

Rectification

These are some things hanging up in my room. I took a picture at an angle and extracted the frontal view, pretty neat!

Above is a pictue Coca-cola sign that used to be in San Francisco. Rectifying it to be straight on leads to a pretty nice result.

Mosaic

Street

The above image is the result of simply averaging the overlapping region between the two images.

This result is done by overlaying the right image ontop of the left. Produces many edge artifacts from differing aperture settings as I was using my iPhone. Nevertheless the results are still quite good!

House

(-0.5, 1638.5, 1475.5, -0.5)

Results of stitching just two images of the back of my house together.

Welcome to my crib! This one turned out quite well as the very last picture was taken at quite an angle. Image stitching works pretty well with even 3 images. The shadows even align almost perfectly which is cool.

Cat cloning

I tried something here that you couldn't do in panorama mode on your iPhone. Take two pictures of my cat in different spots and put them back together. Now it looks like she has a twin!

Reflection:

This project was really cool, it was sweet to stitch images and change the angle of perception of images through rectifying. I wish I had a fancy digital camera so I could keep the camera settings the same as the iPhone's camera was not optimal for keeping the results the same between different pictures. Perhaps if I tried a more advanced blending method than taking the mean or the max it would have worked better.

Project 5b: Feature Matching

The autoreload extension is already loaded. To reload it, use:
  %reload_ext autoreload

Steps 1-3:

Adaptive Non-Maximal Suppression

Above are 100 Harris corners. The left is randomly sampled Harris corners and the right is the strongest Harris corners. Neither is particularly good as the right one clusters a lot of the corners and the left one picks a lot of weak corners.

The far right is a much better result as it picks out many strong cornerers while spreading them out.

Again in the NYC skyline the ANMS method is far better than the random and threshold based approaches.

Feature Extraction:

We see the subsampled edges produced are quite convincing.

Feature Matching

</center>

This is truly amazing, detects the similar points between the two (with some outliers sadly).

Ransac Implementation/Testing

</center>

Above we see the Ransac algorithm is working perfectly to match the feature points with each other. I opted to use more thatn 4 points to make resulting mosaics smoother.

Autostitching

</center>

Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).

Both of the results here are very convincing, for the upper image I tried to make it really good and carefully selected 12 or so points but couldn't beat the RANSAC!

Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).

Autostitching results in a cleaner result, especially at the point where the mountain is and on the straight lines where the street is! This is likely due to the imprecision in manually selecting points.

We see a visible difference at the top of where the seam is as one is a line whereas the other is more of a polygno

Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).

Above are results of performing two stitching operations and it worked surprisingly well. This is quite a powerful tool!

Reflection

This was overall a super interesting project. I'll never think about how I'm taking those panos on my phone the same ever again!!