Autonomous Vehicle/Video Geometry

SURF (Speeded Up Robust Features)

Naranjito 2025. 4. 3. 18:50

It's like SIFT, but faster because it uses the Integral images to speed up image operations.

 

 

Any box region sum can be calculated in constant time using:

Sum=D−B−C+A

 

  • Gaussian vs. Box Filter

 

Left: Gaussian Filter
  • A Gaussian filter is smooth and continuous.
  • It computes second-order derivatives of the image (like ∂²/∂x²) to detect blobs or corners.
  • Precise but computationally expensive.

 

Right: Box Filter (Used in SURF)
  • Approximates the Gaussian second-order derivatives but with simple rectangular filters.
  • Values like -2, 1, or -1 represent how the pixel intensities are weighted.
  • Can be computed very fast using integral images.
  • Advantage: Much faster computation while keeping reasonable accuracy.

 

Pyramid/Scale Space:
  • The pyramid represents different scales (sizes) of the image.
  • At each scale level (called an octave), the image is resized and filtered.
  • This allows detection of features that are scale-invariant (i.e., same object detected at different sizes/distances).

 

Octaves and Filter Sizes:
  • In SURF, instead of resizing the image, we keep the image fixed and increase the filter size.
  • Each octave (like levels 1, 2, 3...) includes several filters of increasing size (9, 15, 21, etc.).
  • Each filter detects features at different scales.

 

Left: Descriptor Window and Subregions
  • The large grid represents the region around a detected keypoint.
  • Size: 20σ(O,S)×20σ(O,S)
    (where σ = scale, and O = octave, S = scale level)
  • This region is divided into 16 smaller blocks (4×4 grid of subregions).
  • Each subregion contains several pixels, and gradients (directional changes) are computed for these.

 

Gaussian Weighting
  • A Gaussian weighting template (with standard deviation 3.3σ3.3\sigma) is applied over the whole descriptor region.
  • Why? To give more importance to gradients near the keypoint and less to the edges — helps with robustness to noise.

 

Gradient Computation using Haar Wavelets
  • In each subregion, SURF computes gradients using Haar filters:
    • dx: Horizontal response (black = -1, white = +1)
    • dy: Vertical response
  • These are box-like filters with values -1 and +1, applied to the image using integral images for speed.

 

Orientation Assignment
  • Within each subregion, gradients (little arrows) are computed.
  • These gradients are summed:
    • ∑dx
    • ∑∣dx∣
    • ∑dy
    • ∑∣dy∣
  • These four values form the feature vector for that subregion.

 

Final SURF Descriptor
  • Each of the 16 subregions gives a 4-dimensional vector.
  • So total SURF descriptor: 4×16=64 dimensions
  • These values form the SURF descriptor vector, used for feature matching.

A square window around a keypoint is taken
 ↓
It’s divided into 4×4 subregions
 ↓
Haar filters compute dx and dy gradients
 ↓
Gaussian weights reduce edge effects
 ↓
Gradients are summed for each block
 ↓
A 64-element vector is produced

Feature SIFT (Scale-Invariant Feature Transform) SURF (Speeded Up Robust Features) KAZE (Nonlinear Scale Space)
Scale Space Gaussian pyramid (linear scale space) Gaussian pyramid (linear scale space) Nonlinear diffusion (preserves edges and boundaries)
Detector Difference of Gaussian (DoG) Hessian matrix (approximated by box filters) Determinant of Hessian matrix in nonlinear space
Descriptor Gradient orientation histograms Haar wavelet responses First-order image derivatives
Rotation Invariance Yes Yes Yes
Illumination Invariance Normalized gradient magnitude Normalized Haar responses Normalized first-order derivatives
Computation Speed Slower Faster than SIFT Slower (due to nonlinear PDE solving)
Robustness Good for scale and rotation Good, faster alternative to SIFT Better at preserving edge structures and boundaries
Descriptor Dimension 128 64 64
Key Innovation Scale-space extrema + gradient histograms Integral image + box filters for speed Nonlinear scale space via anisotropic diffusion

 

'Autonomous Vehicle > Video Geometry' 카테고리의 다른 글

FAST (Features from Accelerated Segment Test)  (0) 2025.04.03
KAZE  (0) 2025.04.03
SIFT (Scale-Invariant Feature Transform)  (0) 2025.04.03
Homography  (0) 2024.07.25
Camera Calibration  (0) 2024.07.23