Ask Your Question

improve recognition performance using SURF

asked 2013-07-22 03:18:07 -0500

kpcamota gravatar image

i tested surf for feature extraction and flann to match descriptors to a certain image. I was able to do it in real time having 3 different source image to compare. It was working but the performance was very slow on 640x480, decreasing the resolution by 320x240 increases the performance but unfortunately I need to work on 640x480 because of Kinect Sensor. I have a good pc specs: intel core i7, 6gb ram but still the performance slow.

i had been reading about multi-threading. But OpenCV's GPU and OpenCL does not support my Intel HD graphics 3000. So how could I do multi-threading to improve surf performance. Note: I am using Kinect Sensor as my camera, VC++, OpenCV 2.4.5

edit retag flag offensive close merge delete


Are you sure that your graphics cards isn't supported? By default openCV isn't build with GPU support. In order to get GPU support or OpenCL support, you need to rebuild openCV with the GPU and OpenCL options enabled.

StevenPuttemans gravatar imageStevenPuttemans ( 2013-07-22 04:27:08 -0500 )edit

@steven I have Intel Mobile HD Graphics 3000 which is shown here:

and GPU support are for nVidia graphics card right? so not possible for me. I want to make sure my laptop is support by gpu or opencl before I rebuild opencv w/ gpu and opencl

kpcamota gravatar imagekpcamota ( 2013-07-22 12:23:08 -0500 )edit

Right, GPU is for nvidia cards, opencl should work though.

Guanta gravatar imageGuanta ( 2013-07-22 15:31:20 -0500 )edit

GPU interface is indeed based on CUDA & nvidea cards. However, OpenCL can also be used to access GPU cards without problem. So the quote 'gpu is for nvidea cards' is kinda harsh :D So basically OpenCL is the way to go. Your should be supported by openCL, the fact your graphics card is not from nvidea, is one of the main reasons openCL exists :)

StevenPuttemans gravatar imageStevenPuttemans ( 2013-07-23 00:53:15 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2013-07-22 15:38:49 -0500

Guanta gravatar image

For which scenario do you want more speed? Tracking? Then for speeding your process, I'd use binary features in conjunction w. either BruteForce-Matcher using Hamming Distance or if it is not tracking but more matching 1:N , then use flann with LSH.

edit flag offensive delete link more

Question Tools


Asked: 2013-07-22 03:18:07 -0500

Seen: 564 times

Last updated: Jul 22 '13