I decided to deepen a bit the topic just for the sake of the curiosity ( curiosity and imagination are the skills that I most appreciate at work!).

SURF stands for "Speeded Up Robust Features" and it has been published by Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool in 2008. The original paper is available here.

I strongly recommend to read the paper: it's self contained and it's very clear to be read also by neophyte as I.

As usual I go straight to the experiments and to discuss the results.

**Experiment**

I considered again the same data set of the last post, and I tried to compare all the possible combinations of pairs of images to check the accuracy of the algorithm.

The first step of the algorithm is to determine the key features of an image.

key features detection |

In the below image I plotted the common points and their position between two images:

Common points found between two images. In yellow I depicted them and their position. |

In a productive environment this amount of time could be not acceptable.

To improve the situation and reduce the computational time, I processed the image with binarization filters; after this preprocessing the time has been reduced from 4 minutes to 25 seconds.

**Results**

In the below matrix I listed all the comparison done to check the accuracy.

The correct pairs lay on the principal diagonal of the matrix.

In red have been listed the correct pairs |

To show graphically the results I plotted over the matrix the number of common points found for each pair. The colors chosen highlight that number.