Ask Your Question

Binary Feature Descriptors, Performance?

asked 2015-03-23 09:27:46 -0500

Poyan gravatar image

updated 2015-03-23 09:33:47 -0500

My impression from reading a number of associated papers is that binary feature descriptors would be an order of magnitude faster (or more!) than for instance SIFT.

However, my results in a simple benchmark do not show this. All images + keypoints were pre-cached before running the benchmarks, so it's not that.

 DESCRIPTOR              MS        FEATURES          IMAGES      MS/FEATURE
      BRIEF             612          263120             230        0.002326
      BRISK             964          263120             230        0.003664
      FREAK             564          263120             230        0.002144
        ORB             476          247250             230        0.001925
       SIFT            1047          247250             230        0.004235

What's the reason for the poor results? Is it because of the implementations in OpenCV? Or am I missing something else?

EDIT: For instance, in the FREAK-paper SIFT-description took 2.5 ms per key point vs 0.018 per key point for FREAK, that is, the latter is about 138 times faster to compute.

edit retag flag offensive close merge delete


Sidenote: AKAZE is missing as a binary descriptor in your evaluation.

Guanta gravatar imageGuanta ( 2015-03-24 05:37:48 -0500 )edit

is that only the descriptor extraction ? timing the matching might be interseting, too !

berak gravatar imageberak ( 2015-03-24 05:46:58 -0500 )edit

It is only descriptor extraction. I will probably do a comparison of matching times within the next few weeks. My main purpose is image recognition though, and not feature tracking.

Poyan gravatar imagePoyan ( 2015-03-24 10:08:25 -0500 )edit

Guanta, I will read up on AKAZE and perhaps update the test!

Poyan gravatar imagePoyan ( 2015-03-24 10:09:52 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2015-03-24 05:32:25 -0500

Guanta gravatar image

Your time comparison is very interesting! However, the time comparison (also those from the papers) doesn't really reflect the algorithmic complexity. For example it just might be that OpenCV's version of SIFT is better optimized than the version that the authors of FREAK use).

Also please note that the most power of binary descriptors doesn't come from their computational time (of course this is a factor, too, especially in time critical applications like tracking). Instead the biggest advantage comes from their binary nature. Consequently,

  • they are typically very small resulting in a small memory footprint and

  • they are typically very fast to match (Hamming distance). The Freak-paper also states (Caption Table 1): "The computation times correspond to the description and matching of all keypoints." Thus, not only the computation of the descriptors but also the matching process is involved.

edit flag offensive delete link more

Question Tools



Asked: 2015-03-23 09:27:46 -0500

Seen: 1,319 times

Last updated: Mar 24 '15