Peter Radecki (ppr27) and Lucas de la Garza (lxd4)

This page is about detecting and matching features in two images, that overlap in some way.



DESIGN CHOICES

There were few dramatic decisions in this project, short of different ways to calculate descriptors, and the threshold tuning we performed in finding good matches. We did make some choices, e.g. what filters to use when calculating MOPS descriptors or which threshold to use to accept Harris corners, but these were normally found by hand, or chosen for ease of implementation. One particular place we deviated from the skeleton, was in storing the harris matrix as 3 extra channels in the Harris image, so that when we find the orientation of a feature, it's calculated within ComputeHarrisFeatures, based on the result of HarrisMagnitudeImage.


PERFORMANCE

Yosemite





Graf





AUC
  SSD Test Ratio Test
Image Group 5x5 Simple MOPs Custom 5x5 Simple MOPs Custom
Leuven 0.353 0.612 0.673 0.503 0.655 0.659
Bikes 0.451 0.545 0.617 0.504 0.559 0.590
Wall 0.446 0.618 0.600 0.548 0.642 0.632



ANALYSIS

Harris corners provide a useful starting point for extracting features. They provide numerous decent, if not always easily comparable, feature candidates across different images. The step for finding local maxima of the Harris function is crucial to reduce the candidates to only the dominant corners in a particular neighborhood.

The choice of descriptor is an important one. There is marked improvement from the simple desciptor, to the MOPS desciptor, to the SIFT descriptor; the increase in computation also trends similarly. The choice of either should probably be motivated by the fidelity needed in the application, versus the resources available. For maintaining tracking under small changes or translation, the simple desciptor is the least expensive, and can adequately match features under certain conditions. Alternatively, for applications that require a high degree of accuracy, say for 3-D scene reconstruction from many pictures, the SIFT descriptor may be the best choice, with it's superior comparison performance. MOPS can provide a useful in-between method, with moderate computation and performance.

The matching method is another kind of tradeoff, between performance and computation. The marginal cost of performing ratio matching instead of SSD matching, however, is not too high. Ratio matching almost always provides a better ROC curve, so it would not be a poor choice to decide to use ratio matching.


MORE TEST IMAGES

These photos, taken by Peter with his smartphone, are of the interior of a cathedral (Cathedrale Marie-Reine-Du-Monde) in Montreal. Here they are, shown in the individual feature matching program.



EXTRAS

We tried a custom desciptor, which was evaluating MOPS by performing sampling on the image subsampled after performing the rotation on the neighborhood patch, instead of blurring before rectifying. Interestingly, this approach performed worse with the Ratio matching method, and slightly better with the SSD method; this suggests that the custom method produces more ambiguous descriptors, but can be more robust when using the simpler SSD comparison.

Yosemite


Graf



Thanks for visiting!