Ask Your Question

Difference Between SURF_GPU and non-GPU SURF?

asked 2015-10-07 10:50:33 -0500

jpistorino gravatar image

I am using OpenCV 3.0 with VS2012 C++/CLI on a Win 8.1 64 bit machine.

I am using SURF to detect keypoints in full HD webcam images and am experimenting with both the GPU version and non-GPU version of SURF. One thing I notice is that the GPU version is finding about 20% fewer keypoints than the non-GPU version.

Is this something that others have seen? Is it expected?

Thanks, James

edit retag flag offensive close merge delete


Thats probably because both implementations are not identical. Might be possible that to optimize the detection on for example CPU or even on GPU, the image is splitted into regions and so your basically not applying the detection on the same input anymore. Just a wild guess however :D

StevenPuttemans gravatar imageStevenPuttemans ( 2015-10-08 06:32:21 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2016-02-10 04:02:07 -0500

strann gravatar image

updated 2016-02-10 04:09:17 -0500

The results should be identical. The reason you're getting different results is that GPU version of SURF has different default parameters in its constructor than those of CPU SURF or maybe you ran into the same bug as I did

edit flag offensive delete link more


Well than someone should unify both methods and make sure same parameters are there by default

StevenPuttemans gravatar imageStevenPuttemans ( 2016-02-10 04:06:30 -0500 )edit

Question Tools

1 follower


Asked: 2015-10-07 10:50:33 -0500

Seen: 543 times

Last updated: Feb 10 '16