Project 2: Local Feature Matching

Notre Dame

Feature matching results for Notre Dame images

In order to extract interest points of the image, the Harris corner detector has been implemented similar to the psuedocode provided in the lecture slides. First a gaussian filter was applied with sigma parameter value of 1. One thing to note here is that the size of the filter and the sigma parameter resulted in some fluctuations in the overall accuracy ranging from 74%~80% when tested on all sets of matches detected for the image. The most promising set of parameters and its result is shown above, which had 121 good matches and 30 bad matches (80% accuracy). The accuracy percentage increases if only the top 100 matches were considered for evaluation. The image is filtered twice, each time with gaussian filters of different sizes. The laplacian of gaussian filter were also applied, but showed no significant difference in accuracy in comparison to parameter tuning the size of filters. Also, interest points near the edge of the image were handled through zero-ing them out if their windows were expected to be out of image bounds. The edge handling is also implemented in the get_features functions to guarantee against array out of bounds error. Then, after finding all interest points in the image, the non-maximum suppresion were applied using the sliding window method. Based on the size of the sliding window, the number of detected interest points increased or decreased because the method ensures that the point is a local maximum within the specified range. The accuracy did not change significantly based on the window size, which is an expected behavior.

Mount Rushmore

Feature matching results for Mount Rushmore images

In contrary to the instructions that the Mount Rushmore image will be more difficult than the Notre Dame image, my algorithm resulted in higher accuracy for Mount Rushmore, with 169 good matches and 20 bad matches (89% accuracy). In comparison to Notre Dame, the detector saw more interest points and more good matches. This can be attributed by how Mount Rushmore has more distinctive edges or corners in the image than the relatively symmetric Notre Dame building. Also, all of the parameters were kept the same when running both images, which also strengthens my hypothesis that my algorithm is sensitive towards distinctive points.

Episcopal Gaudi

Feature matching results for Episcopal Gaudi images

Unlike the previous images, both detecting and matching interest points were difficult for this image set. I have tried other parameters different from the other two images, but the best accuracy I could come up with were 2 good matches, 11 bad matches (18% accuracy). However, the image above is the result when the same parameters were used as the previous two images, for the sake of comparison. This had 1 good match and 9 bad matches (10% accuracy). Some of the parameters tunings I have tried resulted in more interest points, but most often were not able to detect any matchings at all. My hypothesis for this poor performance is that the different lightings on the images confuses the algorithm when detecting corners. Also, the slight orientation and high similarity of texture and window shapes could have contributed in distracting the algorithm.