Ask Your Question

# How to get SURF to work in these scenarios?

Hey guys, SURF is able to compare images which are of different scale but they have to be the same proportion. For example, they are able to match picture 1 (1000x800) to picture 2 (500x400) but if picture 2's dimensions are squashed to (500x300), SURF is not able to detect them.

Also, when doing a comparison between picture 1 (1000x800) and picture 2 (500x400), i tried to rotate picture 2 to 10 degrees right, SURF is able to pick them up, but the bounding box i drew using the same homograph returned isn't working correctly.

Please help...Thanks!

edit retag close merge delete

## 2 answers

Sort by ยป oldest newest most voted

Indeed, SURF is not affine-invariant. It means that non-uniform scaling (as well as perspective transformations) produces too much perturbations, and the SURF features vectors will be very distant.

Unfortunately, there is not yet a good algorithm which can deals with such transformation... So you will have to find an other way to match your images :-(

For the bounding-box problem, you have to draw a rotated bounding box using points of each corners, and lines...

more

First of all, feature descriptors like SIFT, SURF etc. are matched in general, not whole images. This means, a high matching score can be a sign that two images are equal, bus this is not a must.

Second, SIFT, SURF etc. are not fully affine invariant, that means "special transformations " like a perspective tilt for example can be a problem. But, in general, the extracted features are scale & rotation invariant.

In case you deal with large perspective distortions, maybe the ASIFT principle could be a solution for you. ASIFT follows a strategy which uses a traing phase based on simulated images to extract features under different viewing angles. So, a high degree of affine invariance can be achieved. The principle can be addapted to other feature descriptors like SURF, KAZE etc.

more

## Comments

The ASIFT principle sounds interesting..Thanks for the heads up! =)

( 2014-11-24 20:34:30 -0600 )edit

I found a demo for the SURF, SIFT and ASIFT. In this demo, they are look pretty adaptable though..I wonder did they implement it differently from me:

( 2014-11-24 23:51:55 -0600 )edit

Official site

GitHub

Wiki

Documentation

## Stats

Asked: 2014-11-23 03:31:58 -0600

Seen: 312 times

Last updated: Nov 24 '14