Features & Representation
ORB: An Efficient Alternative to SIFT or SURF
Rublee, Rabaud, Konolige and Bradski's ICCV 2011 paper that combined an oriented FAST detector with a rotation-aware, decorrelated BRIEF descriptor, reported it two orders of magnitude faster than SIFT, and released it in OpenCV.
intermediate
“ORB: An Efficient Alternative to SIFT or SURF” by Ethan Rublee, Vincent Rabaud, Kurt Konolige and Gary Bradski of Willow Garage in Menlo Park, California, was presented at the IEEE International Conference on Computer Vision (ICCV) in Barcelona in November 2011. It combined two fast existing components, the FAST corner detector and the BRIEF binary descriptor, added the rotation invariance that both lacked, and replaced BRIEF’s random tests with a learned set that stays informative once the tests are rotated. The authors reported a feature two orders of magnitude faster than SIFT that matched as well in many situations, ran it on a phone, and contributed a BSD-licensed implementation to OpenCV 2.3. The paper received the Helmholtz Prize in 2021. The algorithm as it is used today, with its equations and an implementation, is described in the ORB article; this article covers the publication.
The IEEE proceedings version (pages 2564–2571) is closed access, and OpenAlex lists no open copy as of October 2026. This article was read in the authors’ PDF from the Willow Garage website, preserved by the Internet Archive in February 2012; its file is dated 22 September 2011, about six weeks before the conference, but it could not be compared with the typeset IEEE version. Section, figure and table numbers below are those of the authors’ copy.
Problem
The paper opens with the cost of SIFT. Lowe’s detector and descriptor had worked well for object recognition, image stitching and visual mapping, but it imposed a large computational burden on real-time systems such as visual odometry and on low-power devices such as phones. The authors name SURF as arguably the best of the cheaper replacements, and GPU implementations as the other route to speed. Their own targets were panorama stitching and patch tracking on phones without GPU acceleration, and faster feature-based object detection on ordinary PCs.
Two fast building blocks already existed. FAST, by Rosten and Drummond, was in the authors’ words the method of choice for keypoints in real-time systems, used for example in Klein and Murray’s Parallel Tracking and Mapping; but it gives no orientation, no scale and no measure of cornerness, and responds along edges. BRIEF, by Calonder, Lepetit, Strecha and Fua (2010), describes a smoothed patch with a few hundred binary intensity comparisons, performs similarly to SIFT in many respects, and is matched with bit operations; but it is very sensitive to in-plane rotation. The closest earlier system, in the authors’ view, was Brown, Szeliski and Winder’s multi-scale oriented patches (MOPS, 2005), a multi-scale Harris detector with an oriented patch descriptor used for stitching, which they judged less efficient to compute.
Contribution
The introduction lists four contributions:
- An orientation for FAST. Each keypoint gets a fast, accurate orientation from the intensity centroid of its patch, a measure taken from Rosin’s analysis of corner properties. The authors call the detector oFAST.
- Efficient steered BRIEF. The descriptor’s test locations are rotated by the keypoint orientation, using a precomputed table of rotated patterns.
- An analysis of variance and correlation. The paper shows that steering costs BRIEF much of its discriminative power, which the authors explain by oriented corners presenting a more uniform appearance to the tests.
- Learned, decorrelated tests. A greedy search over all tests in the patch selects 256 with means near 0.5 and low mutual correlation, which the authors call rBRIEF.
They also stress two practical points: ORB was free from the licensing restrictions of SIFT and SURF, and the learned tests made binary descriptors work well with locality-sensitive hashing for large-scale matching.
Method
The ORB article explains each component; this section records what the paper itself specified.
Detector (§3). FAST is run with a threshold low enough to give more than the target number of keypoints, the candidates are ordered by the Harris measure, and the top are kept, on every level of a scale pyramid. The paper calls its variant “FAST-9 (circular radius of 9)”, a slip: in Rosten and Drummond’s definition the 9 is the length of the contiguous arc on a 16-pixel circle of radius 3.
Orientation (§3.2). The angle is from the first moments of the patch, computed over a disk of radius equal to the patch size, chosen empirically. The authors drop Rosin’s distinction between dark and light corners, since the angle is consistent either way, and note that the measure becomes unstable when the centroid nears the center, which they found rare at FAST corners.
Steered BRIEF (§4.1). The paper starts from a Gaussian BRIEF pattern of tests, citing it as one of the best performers in Calonder et al. Smoothing uses an integral image: each test point is a sub-window of a patch, choices the authors made from their own experiments and the BRIEF results. The angle is discretized to steps of () and the rotated patterns are looked up in a table.
Learning (§4.3). The authors rejected PCA because composite features made of many tests would cost more to compute than the tests themselves. Instead they drew some 300,000 keypoints from the PASCAL 2006 images, enumerated every pair of non-overlapping sub-windows of the patch ( tests), ordered the tests by the distance of their mean from 0.5, and added them greedily, discarding any test whose absolute correlation with one already chosen exceeded a threshold, raising the threshold and retrying if fewer than 256 survived. The paper does not give the threshold. That the tests were evaluated on oriented patches is implied by the stated aim, decorrelation under rotational invariance, and by Fig. 6, rather than stated in §4.3.
Matching (§5). Descriptors are compared by Hamming distance, by brute force for small sets. For large databases the authors used multi-probe locality-sensitive hashing (Lv et al., 2007), with a subset of the descriptor bits as the hash key, bitsets to speed up key lookups, and an SSE 4.2 population count for the distance.
Canonical configuration (§6.1). Benchmarks used five pyramid levels a factor of apart, decimated with area-based interpolation.
Results
Orientation and bit statistics
On simulated in-plane rotations of noisy patches, the intensity centroid gave a standard deviation of angle error far below two gradient-based measures, MAX (the largest gradient in the patch) and BIN (the peak of a histogram of gradient directions in bins, similar to SIFT’s but with a single orientation), at every noise level from 0 to 25 on an 8-bit scale (Fig. 2). Read from the plot, the centroid’s error stays between about 6° and 9°, against about 25° to 38° for the other two. The text calls the plotted quantity the variance; the axis is labelled standard deviation.
Over 100,000 keypoints, the bit means of a Gaussian BRIEF pattern clustered near 0.5, while steered BRIEF’s spread out (Fig. 3). A PCA of the descriptors showed nearly all the information in the first 10 to 15 components for both, with lower eigenvalues for steered BRIEF (Fig. 4); the authors concluded that BRIEF depends on the random orientation of keypoints for its good performance. Steering also pushed the distances to outliers toward the distances between true matches (Fig. 5). rBRIEF’s eigenvalues were higher than steered BRIEF’s and fell off more slowly (Fig. 4). Read from Fig. 3, rBRIEF’s bit means are much closer to 0.5 than steered BRIEF’s but somewhat farther than those of unsteered BRIEF; the paper claims the improvement over steered BRIEF, not parity with BRIEF. The selected tests are shown against high-variance unlearned ones, which have a pronounced vertical trend along the keypoint axis and are highly correlated (Fig. 6).
Synthetic rotation and noise
The evaluation in §4.4 targeted 500 keypoints per image and matched by brute force. Under synthetic in-plane rotation with Gaussian noise of 10, BRIEF (with FAST keypoints) fell off dramatically after about ; SIFT outperformed SURF, which showed quantization effects at multiples of that the authors attribute to its Haar-wavelet construction; and ORB performed best, with over 70% inliers (Fig. 7); read from the plot, its curve stays between about 67% and 75% apart from peaks at multiples of , so “over 70%” describes its usual level rather than every angle, while BRIEF is near 0% from about to .
Fig. 8 plots inliers against rotation angle for six noise levels, 0 to 25 in steps of 5. The authors report that SIFT dropped by about 10% with each increment of 5, while rBRIEF dropped at a much lower rate. The curves are not labelled by noise level. Read from the plot, rBRIEF’s curves stay between about 62% and 78%, apart from peaks at multiples of , while SIFT’s range from the high 80s near and on the top curve, presumably the noise-free one, down to between about 35% and 50% on the lowest; SIFT’s top curve is ahead of every rBRIEF curve within roughly of upright.
Real-world planar scenes
Two sets of real images were matched against a reference view, with a homography fitted between each view and the reference used as ground truth for the descriptor matches of each method. One set was the authors’ own table of highly textured magazines; the other is called an outdoor scene in the text and “Boat” in the table. The text says the sets have scale, viewpoint and lighting changes. The table, as printed:
| Set | Method | Inlier % | Points |
|---|---|---|---|
| Magazines | ORB | 36.180 | 548.50 |
| Magazines | SURF | 38.305 | 513.55 |
| Magazines | SIFT | 34.010 | 584.15 |
| Boat | ORB | 45.8 | 789 |
| Boat | SURF | 28.6 | 795 |
| Boat | SIFT | 30.2 | 714 |
The authors summarize that ORB outperformed SIFT and SURF on the outdoor set and was about the same on the indoor set, where SURF had the highest inlier rate. They attribute the indoor result to an observation in the BRIEF paper that blob-detection keypoints like SIFT’s tend to do better on graffiti-type images. The paper does not say how many image pairs each set contains; the fractional point counts for Magazines suggest averages over several pairs (our reading).
Large-scale matching
LSH was trained on 7,818 images from PASCAL 2009 and on 9,144 low-resolution images from Caltech 101, in under two minutes, limited by disk input and output. rBRIEF gave by far the most even bucket sizes (Fig. 10); read from the histograms, BRIEF and steered BRIEF have many more large buckets. For the speed–accuracy comparison (Fig. 11), descriptors from PASCAL 2009 were queried with warped versions of the same images, using the affine transforms of Aly et al.’s recognition benchmark. SIFT was indexed in 1, 2 and 3 FLANN kd-trees over 1.6 million entries (the autotuned configuration did worse), rBRIEF in 4 to 20 hash tables over 1.8 million entries, and steered BRIEF in 16 to 40 tables, both binary descriptors with 16-bit keys. A test image counted as matched when more than 50 descriptors were found in the correct database image. LSH with rBRIEF was faster than the kd-trees at the accuracies plotted, which the authors attribute, “most likely”, to its simplicity and fast distance; steered BRIEF was much slower because of its uneven buckets. Read from the logarithmic plot, rBRIEF reaches 100% success at roughly 50 ms of query time per feature and SIFT at roughly 200 ms. The text adds that SURF is equivalent to SIFT here, but SURF is not plotted.
Timing
On a single thread of a 2.8 GHz Intel i7, a typical frame took 4.43 ms for the pyramid, 8.68 ms for oFAST and 2.12 ms for rBRIEF (§6.1). Over 2,686 images at five scales, ORB detected and described over features in 42 seconds. Against SIFT and SURF for roughly 1,000 features at the same number of scales, averaged over 24 PASCAL images of :
| Detector | ORB | SURF | SIFT |
|---|---|---|---|
| Time per frame (ms) | 15.3 | 217.3 | 5,228.7 |
The paper describes this as an order of magnitude faster than SURF and over two orders faster than SIFT; the ratios are about 14 and 340 (our arithmetic). The SIFT and SURF implementations used are not named. The speed-up is worded differently in three places: the abstract says two orders of magnitude, the introduction almost two orders, and §6.1 over two orders.
Applications
Textured object detection (§6.2). Following a pipeline similar to the MOPED system of Martinez, Collet and Srinivasa, the authors matched oFAST and rBRIEF features to a database and estimated pose with PROSAC and EPnP (perspective-n-point). The database held 49 household objects, each captured in 24 views with a 2D camera and a Kinect; test images showed subsets of the objects from other viewpoints and with occlusion. A detection required both descriptor matches and a computed pose. The pipeline retrieved 61% of the objects (Fig. 12), handled 1.2 million descriptors in 200 MB, and averaged 14 ms for detection and 17 ms for LSH matching. The authors present this as a feasibility demonstration; no other descriptor is run on the same data.
Tracking on a phone (§6.3). Live frames were matched by brute force against a keyframe holding a well-textured planar surface, and a homography was fitted with PROSAC. With the OpenCV port for Android, ORB ran on frames at 7 Hz on a phone with a 1 GHz ARM processor and 512 MB of RAM, taking 66.6 ms for ORB, 72.8 ms for matching and 20.9 ms for the homography fit with about 400 points per image. The authors contrast this with phone trackers that work on images of about with few features, and with comparable systems that take over a second per image. The three stage times add to 160.3 ms, which corresponds to about 6 frames per second rather than 7 (our arithmetic); the paper does not say whether stages overlap.
Impact
The IEEE Computer Society’s PAMI Technical Committee lists the paper among the winners of the 2021 Helmholtz Prize, together with DTAM (Newcombe, Lovegrove and Davison) and the HMDB video database (Kuehne et al.), as of October 2026. The prize, in the committee’s description, is presented at each ICCV and recognizes ICCV papers from ten years earlier with significant impact on computer vision research.
The OpenCV implementation was the paper’s most direct route to use. OpenCV’s class reference for cv::ORB cites the paper and summarizes the algorithm as FAST in pyramids, selection by FAST or Harris response, orientation from first-order moments and rotated BRIEF tests (archived 4.x documentation, February 2026). Its summary speaks of random point pairs, although the implementation ships the learned pairs, as the ORB article describes.
The paper is widely cited. ORB was one of several binary descriptors published around the same time, among them BRISK by Leutenegger, Chli and Siegwart at the same ICCV. Heinly, Dunn and Frahm’s comparison of binary features (ECCV 2012), which used the ORB authors’ implementation, found the binary descriptors, and many of their paired detectors, an order of magnitude faster than SIFT or SURF on their Intel Xeon machine. On the CPU their table gives ORB’s detector 17 ms per image and its descriptor 4.8 µs per feature, against 572 ms and 314 µs for SIFT. They also found that SIFT gave the best matching on every group of datasets except the non-geometric ones (blur, compression, exposure and illumination). Among binary descriptors, ORB did better than BRIEF under pure scale change, which they attributed to its pyramid, while BRISK did best; under pure rotation the ORB detector and descriptor together beat BRISK’s; and on upright images with viewpoint change BRIEF had a slight lead over both, which they attributed to its fixed orientation.
Limitations
- Scale. The authors wrote that they had not adequately addressed scale invariance: the pyramid was the only mechanism, and they had not explored per-keypoint scale from depth cues or tuned the number of octaves. Under pure scale change, Heinly et al. found ORB ahead of BRIEF but behind BRISK, which they describe as scale invariant.
- Evaluation breadth. The real-image comparison rests on two scenes with planar ground truth, and the large-scale comparison on warped copies of the training images. The introduction’s claim that ORB performs better than SURF is not supported on the indoor set, where SURF had the highest inlier rate, and the claim in §5 that ORB outperforms both SIFT and SURF in large-database search shows SIFT only.
- Unspecified details. The paper does not name the SIFT and SURF implementations it timed, the correlation threshold of the learning step, or the number of image pairs in the real-world sets.
- Learned on one collection. The tests were selected on PASCAL 2006 keypoints; the paper does not test them on other kinds of imagery.
- Speed versus distinctiveness. Heinly et al. found SIFT more accurate than the binary features on geometric changes and concluded that binary features suit applications robust to additional outliers.
What Came After
The paper’s own future work named GPU and SSE optimization, which they wrote could improve LSH by another order of magnitude. The feature descriptors article places ORB among the other binary descriptors, such as BRISK and FREAK, and the learned descriptors that followed.
The best-known use of ORB came in robotics. Mur-Artal, Montiel and Tardós’s ORB-SLAM (2015) chose ORB for tracking, mapping, relocalization and loop closing, after ruling out SIFT and SURF (about 300 ms each per image) because they needed extraction well under 33 ms per image, and BRIEF because it lacks rotation invariance. The ORB article describes how ORB-SLAM uses the features, and SLAM covers the system.
The SIFT paper article covers the descriptor ORB set out to replace, and feature matching and approximate nearest-neighbor search cover the matching strategies built on descriptor distances.
Related
- ORB
Oriented FAST and Rotated BRIEF, a fast binary keypoint detector and descriptor that finds FAST corners on an image pyramid, ranks them by the Harris measure, orients them by the intensity centroid, and describes each with 256 learned intensity comparisons rotated to that orientation and matched by Hamming distance.
- Feature Descriptors
Vectors that summarize the image appearance around a keypoint so that the same scene point seen in different images gets similar vectors, from raw patches and gradient histograms to binary strings and learned embeddings.
- Distinctive Image Features from Scale-Invariant Keypoints
David Lowe's 1999 ICCV paper and 2004 IJCV journal paper that introduced SIFT, a scale- and rotation-invariant local feature, and used it to recognize objects in cluttered, partly occluded images.
- Feature Matching
Finding corresponding keypoints between two or more images of the same scene, from descriptor nearest-neighbor search to learned matchers.
- Approximate Nearest Neighbor Search
Finding the database vectors closest to a query without comparing it with every one, by accepting an occasional wrong answer; why exact search stops paying off in high dimensions, the four families of indexes (randomized k-d trees with best-bin-first search, locality-sensitive hashing, inverted files with product quantization, and navigable small-world graphs), how their recall, speed and memory are measured, and the libraries that implement them.
- Simultaneous Localization and Mapping (SLAM)
Building a map of an unknown environment while estimating the trajectory of the sensor moving through it, and using recognized revisits to keep both globally consistent.
References
- Rublee, E., Rabaud, V., Konolige, K. & Bradski, G. (2011). ORB: An Efficient Alternative to SIFT or SURF. IEEE International Conference on Computer Vision (ICCV), 2564–2571.
- Rublee, E., Rabaud, V., Konolige, K. & Bradski, G. (2011). ORB: An Efficient Alternative to SIFT or SURF. Authors' copy on the Willow Garage website (archived copy of 27 February 2012).
- Calonder, M., Lepetit, V., Strecha, C. & Fua, P. (2010). BRIEF: Binary Robust Independent Elementary Features. European Conference on Computer Vision (ECCV), Lecture Notes in Computer Science, 778–792.
- Rosten, E. & Drummond, T. (2006). Machine Learning for High-Speed Corner Detection. European Conference on Computer Vision (ECCV), Lecture Notes in Computer Science, 430–443.
- Lv, Q., Josephson, W., Wang, Z., Charikar, M. & Li, K. (2007). Multi-Probe LSH: Efficient Indexing for High-Dimensional Similarity Search. Proceedings of the 33rd International Conference on Very Large Data Bases (VLDB), 950–961.
- Leutenegger, S., Chli, M. & Siegwart, R. Y. (2011). BRISK: Binary Robust Invariant Scalable Keypoints. IEEE International Conference on Computer Vision (ICCV), 2548–2555.
- Heinly, J., Dunn, E. & Frahm, J.-M. (2012). Comparative Evaluation of Binary Features. European Conference on Computer Vision (ECCV), Lecture Notes in Computer Science, 759–773.
- Mur-Artal, R., Montiel, J. M. M. & Tardós, J. D. (2015). ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics, 31(5), 1147–1163.
- IEEE Computer Society PAMI Technical Committee. The Helmholtz Prize (award list, accessed October 2026).
- OpenCV. cv::ORB Class Reference, OpenCV 4.x documentation (archived copy of 8 February 2026).