In this project, we were responsible for implementing MOPS, multi image matching using multi scale oriented patches. The steps of the algorithm will be described below. The first step was to compute the harris corners of the image. Harris corners are the "interest points" of the image, i.e. the smoothed outer portion of the gradients. Obviously, if there's a patch of complete similarity on an image, there probably wont be any harris corners there because of the gradient. The overlaid harris corners are below:

However, there are too many Harris corners, up in the thousands, to be able to compute features on all of them. So, we used ANMS, i.e only retaining those interest points which are the strongest in their region. The suppressed points are below, with the chosen ones in red:

Next, we subsampled the region around each suppressed interest point, taking an 8x8 patch from the image downscaled by 0.5 around each interest point. The vector is then normalized to account for intensity changes. Then, for each feature, we find the most similar one in the corresponding image based on a simple squared distances function. Finally, we used RANSAC to to compute a homography for each feature. The results are below: