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 http://opencv.org/platforms/cuda.html 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 http://www.answers.opencv.org/question/7002/freak-compute-speed-up/
If nothing works, get a faster computer :)
I have tested FREAK too and didn't find it any better than ORB
which way did you decide to go on your project ? did u return to ORB?
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.
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, 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.
I want to know ,why it is too slow? And how can I speed up it?
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".