Features and affinities: robust details

Surf features are used to compare different images and detect their similarity even if their scale or their orientation differs. The algorithm works with different versions of the same image on which it applies a combination of blurring and sharpening effects. Each version is called a plane of the image. Working with these different planes of an image makes possible to find connections between images even if some distortion has occured. This is why the algorithm is said to be "robust".

The following sequence of pages shows the zones corresponding to two matching features in two different images. They are shown side by side.
Although very important in similarity detection, the zones of the image corresponding to the features are rarely shown. At first glance, what the features reveal is rather puzzling. They invite us into a very intimate detail of an image that we would have probaly overlooked. The comparison between the two matching features sometimes correspond to something we can understand "intuitively", they "look alike", while in other images, the traits that connect them seem to evade "visuality" and stay hidden in their mathematical morphology.
You are invited to navigate using the arrows at the top of the page. By clicking on the "+" sign below the features pair, you can see the two images they connect and where the features are located in each image.

Additionnally a graph has been produced1 to show the relationship implied by the connecting features. For a large part the algorithm detects connections between the different views of a same object. But more interestingly, it sometimes makes surprising connections, "seeing" unexpected affinities, introducing the little difference that questions its own authority at establishing homogeneous sets2.

Notes

1. The graph and many of the sift-based images have been produced thanks to the reading of the book Programming Computer Vision with Python

2. The SURF algortihm doesn't try to emulate high-level human perception, it doesn't try to "understand a scene". It detects zones that have specific statistical characteristics. In the traditional use of the algorithm for image matching additional measures may be taken to avoid unexpected connections, to further increase the convergence between the algorithmic output and what would correspond to human judgement.