Using the boilerplate code, I performed a Harris Corner Detection, which gave me hundreds upon hundreds of points to analyze.
By preserving points with the largest radii that did not contain higher h-value points, I was able to prune down the results of the naive Harris Corner Detection Algorithm. Below are the 500 points with the largest radii.
I first got a 40x40 slice out of the image around each of the keypoints we have, then blurred and subsampled it down to an 8x8 block. For each of these 8x8 blocks, I compared it to a block from the other image to see if there was a match. However, even if the images are similar, there may be noise--therefore, I compared to the result of the second closest match, and ensured that the ratio between the first best match and the second best match was within a certain threshold. This reduced the number of points significantly. Furthermore, at this point, we now have correspondences defined between images, rather than just keypoints.
For the points that I received, I performed the RANSAC loop 100,000 times, so that I could select the most optimal set of points which ended up at their proper locations after the homography. Since the results of the previous algorithms had pruned the points well, this algorithm reduced the remaining points only by a few.
Finally, using the same methods as in Part A, I warped and blended the images together, yielding the following results. The kitchen and the everest pictures performed extremely well, but the store picture had some blurring. This could be because a store is naturally filled with duplicates of many items, making it very possible for the feature matching to be inaccurate, which would throw off the results of RANSAC as well.
The coolest thing I learned from this project was how successful an algorithm like this could be, without using a neural net. It seems like nowadays, everything with image processing is done using convolutional layers in neural nets, and it was really interesting to see a different approach, which was equally, if not more effective. I have a much greater appreciation for what even my phone camera is able to do now, and I thoroughly enjoyed this project.