Skip to content
AI360Xpert
Beta

Oriented FAST and Rotated BRIEF

ORB fixes FAST with a pyramid plus orientation and pairs it with a rotated binary test, giving free and fast points for matching.

ORB detects FAST points on a pyramid, assigns orientation, and matches rotated binary strings.
ORB detects FAST points on a pyramid, assigns orientation, and matches rotated binary strings.

Why Does This Exist?

SIFT and SURF were accurate but slow and once patent risky. Phones and drones needed free points at frame rate. ORB combined two cheap ideas into one pipeline: multiscale FAST for detection and steered BRIEF for description.

FAST gives speed, the pyramid adds scale tolerance, intensity centroid adds rotation, and binary strings add fast Hamming matching. That mix powers many open source SLAM and panorama demos.

Think of It Like This

A compass taped to a barcode

FAST alone is a barcode with no up direction. Rotate the package and the scanner misreads it. ORB tapes a compass to each barcode, then prints the bars relative to north.

The intensity centroid is that compass. Rotated BRIEF prints the barcode relative to it. The analogy stops at scale: the pyramid handles coarse zoom, not extreme close-ups.

How It Actually Works

Detection builds an image pyramid, runs FAST per level, scores survivors with Harris response, and keeps the top NN spread across levels. Orientation comes from the intensity centroid. With moments m10m_{10}, m01m_{01}, m00m_{00} in a patch:

θ=atan2(m01,m10)\theta = \mathrm{atan2}(m_{01}, m_{10})

Description rotates a set of 256256 fixed pixel pair tests by θ\theta and stores brighter-or-darker wins as bits. Matching uses Hamming distance, the count of differing bits.

Worked numbers

Take 500500 points across 88 pyramid levels with scale factor 1.21.2. A patch with moments m10=1200m_{10} = 1200, m01=900m_{01} = 900 gives θ=arctan⁡(900/1200)≈36.9\theta = \arctan(900/1200) \approx 36.9 degrees. Its 256256 rotated tests might yield 118118 ones. A true pair differs in 2828 bits out of 256256, while random pairs differ near 128128 bits, so a threshold near 5050 plus the ratio test separates them well.

Watch Out For

Scale factor left at defaults for close-ups

A 1.21.2 factor over 88 levels covers moderate zoom only. Matching a product macro against a shelf photo needs more levels or SIFT. Do not blame the matcher when the pyramid never saw the scale.

Too few points on blank walls

ORB keeps top NN by score, so textureless rooms give weak points that still pass the quota. Raise the FAST threshold, require more levels, or fuse with another cue instead of trusting 500500 forced points.

The Quick Version

  • Pyramid FAST plus Harris ranking gives fast multiscale points.
  • Intensity centroid assigns one rotation per point.
  • Rotated BRIEF stores 256256 bits per patch.
  • Hamming distance matches thousands of points in milliseconds.
  • Free, fast, and good enough for SLAM and live stitching.