BRIEF: Binary Robust Independent Elementary Features

What is this? BRIEF is a general-purpose feature point descriptor that can be combined with arbitrary detectors. It is robust to typical classes of photometric and geometric image transformations. BRIEF is targeting real-time applications leaving them with a large portion of the available CPU power for subsequent tasks but also allows running feature point matching algorithms on computationally weak devices such as mobile phones. For details including comparisons to the state-of-the-art, please refer to the paper.


Accuracy. Comparing BRIEF with OpenCV SURF on standard Wall (left) and Fountain datasets. The plots show the recognition rate (accuracy) for U-SURF-64 and BRIEF-32 versus five image pairs of the respective image sequence. 1000 points were matched for each image pair.

Speed. Owing to its salient simplicity, BRIEF is extremely efficient to compute which results in a speed-up of almost two orders of magnitude over U-SURF-64. Compared to a recent GPU implementation of SURF, BRIEF-32P is still about 4 times faster to compute while using a single 2.53 GHz CPU. The timings are the median values obtained from 10 runs of a standard detect-describe-match cycle.


Note on Efficient Distance Computations. Computing the Hamming distance between two binary vectors corresponds to a simple bitcount on the result of a binary XOR operation between the vectors. The bitcount becomes particularly efficient on CPUs supporting the POPCNT instruction: The first in this series are Intel’s Bloomfield (SSE 4.2) and AMD’s Phenom (SSE 4a). If your CPU supports this instruction, you can safely; enable -msse4.2 (or -msse4a, respectively) in test_app/Makefile. This should give you a 10- to 15-fold speed increase for matching. If enabled despite SSE 4.2 (SSE 4a, respectively) is not supported, you will get an Illegal instruction. On linux, try grep sse /proc/cpuinfo and look for sse4_2 (or sse4a, respectively) to find out whether or not POPCNT is available on your machine.

Download: BRIEF v1.0 C++ source
License: GPL v2
Dependency: OpenCV v2.0 or higher


BRIEF: Computing a Local Binary Descriptor Very Fast

M. Calonder; V. Lepetit; M. Özuysal; T. Trzcinski; C. Strecha et al. 

IEEE Transactions on Pattern Analysis and Machine Intelligence. 2012. Vol. 34, num. 7, p. 1281-1298. DOI : 10.1109/TPAMI.2011.222.


Vincent Lepetit [e-mail]