Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SURF vs SIFT, is SURF really faster?

I am testing some object detection with SURF and SIFT.

SURF claims to be faster and more robust than SIFT but I found in my test that this is not true. SIFT with medium images (600*400) is the same speed of SURF and it recognizes objects pretty well (maybe even better than SURF).

Am I doing something wrong?

[Edit]

Please note there is an article explaining how SURF could be much faster with a little change to opencv code.

If you know some active opencv developer please let him see it.

like image 645
dynamic Avatar asked Jun 23 '12 19:06

dynamic


People also ask

How SURF is different than SIFT?

SIFT is an algorithm used to extract the features from the images. SURF is an efficient algorithm is same as SIFT performance and reduced in computational complexity. SIFT algorithm presents its ability in most of the situation but still its performance is slow.

Is SIFT the best?

The images with varying intensity and color composition values were used to compare the algorithms and results are presented in Table 1 and Figure 1. For images with varying intensity values, SIFT provides the best matching rate while ORB has the least.

What is PCA SIFT?

PCA-based SIFT descriptorsThis feature vector is sig- nificantly smaller than the standard SIFT feature vector, and can be used with the same matching algorithms. The Euclidean distance between two feature vectors is used to determine whether the two vectors correspond to the same keypoint in different images.

What is SURF descriptor?

In computer vision, speeded up robust features (SURF) is a patented local feature detector and descriptor. It can be used for tasks such as object recognition, image registration, classification, or 3D reconstruction. It is partly inspired by the scale-invariant feature transform (SIFT) descriptor.


1 Answers

When it was designed it was intended to be faster, but actually, the differences are not relevant for real-time applications with standard cameras. By the way, FAST detector is faster and quite robust. I am programming for real-time augmented reality on phones, and we use a combination of SIFT (initialization) and FAST (pyramidal FAST for real-time feature detection) during the application execution. FAST is faster, and it is implemented in OpenCV, so if you don't want to stick to SURF give it a try. I haven't seen recent papers that use SURF for real-time but I have seen modified versions of SIFT, with fewer pixels for descriptors and other kinds of modifications, so it seems like SURF was kind of a great idea that didn't get as far as it was thought to. That is just my opinion, anyway.

like image 195
Jav_Rock Avatar answered Oct 09 '22 05:10

Jav_Rock