Ask Your Question

freak speed

asked 2012-07-26 07:51:36 -0600

basarkir gravatar image

updated 2012-07-26 11:16:28 -0600

Kirill Kornyakov gravatar image

I'm using ORB on my project and I have decided to change my extractor to freak with opencv 2.4.2. Now I'm working on Freak but it works slower than ORB. I don't understand this, because the paper about freak says: "it's very fast (comparable to ORB)"

I used Fast and Surf for keypoints extracting, both of them are slow. Do you have any idea about it?

edit retag flag offensive close merge delete


I have tested FREAK too and didn't find it any better than ORB

yes123 gravatar imageyes123 ( 2012-07-26 08:09:24 -0600 )edit

which way did you decide to go on your project ? did u return to ORB?

basarkir gravatar imagebasarkir ( 2012-07-26 08:35:14 -0600 )edit

i tried it on ubuntu ,and i think if it is slow on ubuntu there is no sense to use it on android =) i work about augmented reality ,when it find nearly 150 keypoints ,tracking'll take 140 ms.

basarkir gravatar imagebasarkir ( 2012-07-26 09:01:28 -0600 )edit

tracker Prepare time= 3.328474 tracker applyOF time= 0.010696 Detection Prepare time= 2.133963 Freak num of keypoints: 969 FREAK Test Time= 94.338517 Freak num of descriptors: 882 matching time= 5.424213 Number of matches object 1 : 61 Tracker homography time= 146.425174 Number of matches object 2 : 141 Tracker homography time= 9.664674 Detection PostProcess time= 9.719263 execute time= 262.028259

freak test time is Freak's compute method matching time is my matching method homography time is computeHomography method

basarkir gravatar imagebasarkir ( 2012-07-26 09:10:31 -0600 )edit

@basarkir, could you please say what exactly do you want? Do you want faster FREAK, or do you want to know why it is slow, or do you need a replacement? Please state your question clearly, and do this in the original description.

Kirill Kornyakov gravatar imageKirill Kornyakov ( 2012-07-26 11:18:44 -0600 )edit

I want to know ,why it is too slow? And how can I speed up it?

basarkir gravatar imagebasarkir ( 2012-07-27 01:19:27 -0600 )edit

If a paper says "X is very fast (comparable to Y)" it means: "X is (significantly) slower than Y, though not by orders of magnitude". Otherwise the authors would claim "X is as fast as Y" or "X is even faster than Y".

SR gravatar imageSR ( 2012-11-09 02:54:29 -0600 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2015-01-21 17:31:29 -0600

The algorithm computation time may differ from the paper because of the implementation. In OpenCV the SURF algorithm should be faster than SIFT, but at the time that I tested it the implementation of SIFT was faster. A big impact on the computation time is the implementation of the algorithm. This implementation of SURF has another computation time. So what can you do?

You could try to enable hardware acceleration or to create a hardware accelerated implementation yourself. The OpenCV library has GPU support. Here is an interesting page on hardware speed up and an example.

Another thing you could try is to downscale the image. This will result in less key points being found, but they will be found faster.

Finally, have a look at this thread

If nothing works, get a faster computer :)

edit flag offensive delete link more

Question Tools



Asked: 2012-07-26 07:51:36 -0600

Seen: 1,112 times

Last updated: Jul 26 '12