Top Banner

of 41

SIFT and Object Recognition

Apr 07, 2018

Download

Documents

Abheek Bose
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/4/2019 SIFT and Object Recognition

    1/41

    SIFT and Object Recognition Dan OSheaProf. Fei Fei Li, COS 598B

    Distinctive image features from scale-invariant keypointsDavid Lowe. International Journal of Computer Vision, 2004.

    Towards a Computational Model for Object Recognition in IT

    CortexDavid Lowe. Proceedings of the First IEEE international Workshop on BiologicallyMotivated Computer Vision, 2000.

  • 8/4/2019 SIFT and Object Recognition

    2/41

    Detectors vs. Descriptors

    Challenge: Computationally inefficient to

    characterize entire imageDetectors: Find key points of interest which most

    distinctly identify the target object

    Descriptors: Characterize the image around each

    key point in an invariant fashion

    Lowes techniques encompass both!

  • 8/4/2019 SIFT and Object Recognition

    3/41

    SIFT Features

    Localize stable key points in scale space

    Perform feature detection only relative tocanonical scale and orientation

    Emphasize local image gradient orientation,

    allow for small shift in position (like complex

    cells)

  • 8/4/2019 SIFT and Object Recognition

    4/41

    Scale-Space Theory

    Multi-scale signal representation

    Achieved via smoothing operation Gaussian kernel is unique in that increasing thewidth monotonically blurs fine detail

    Source: Lindenberg, 1994.

  • 8/4/2019 SIFT and Object Recognition

    5/41

    Keypoint Detection

    Precompute pyramid of Gaussian filtered images

    at increasingly coarse scales Downsample by 2 each octave beforeconvolution

  • 8/4/2019 SIFT and Object Recognition

    6/41

    Locating Keypoints

    Stability --> Must be reliably assigned

    Difference of Gaussians to find edges

  • 8/4/2019 SIFT and Object Recognition

    7/41

    Difference of Gaussians

  • 8/4/2019 SIFT and Object Recognition

    8/41

    Scale-space Extrema

    Find points which are extrema within

    surrounding 3x3 cube (26 neighbors)

  • 8/4/2019 SIFT and Object Recognition

    9/41

    Sampling Frequency

    Extrema can be arbitrarily close together, but

    may be sensitive to small perturbations Test keypoint reliability across rotation, scaling,stretch, brightness, contrast, and in the presence

    of additive noise

  • 8/4/2019 SIFT and Object Recognition

    10/41

    Scale Sampling

    3 scales/octave empirically chosen

  • 8/4/2019 SIFT and Object Recognition

    11/41

    Spatial Sampling

    = 1.6 empirically chosen

  • 8/4/2019 SIFT and Object Recognition

    12/41

    Keypoint Localization

    Fit 3D quadratic function to DoG spacemagnitudes to interpolate extrema locations

  • 8/4/2019 SIFT and Object Recognition

    13/41

    Low Contrast Rejection

    Points with low contrast are sensitive to noise

    Calculate DoG Value at extremum, disgard allbelow threshold as having low contrast

  • 8/4/2019 SIFT and Object Recognition

    14/41

    Edge Response Rejection

    Locations along edges are poorly determined and very

    sensitive to noise

    Use principal curvature: direction along edge large,orthogonal to edge weak

  • 8/4/2019 SIFT and Object Recognition

    15/41

    Orientation Assignment

    Assign orientation to each keypoint based on

    local image properties Construct weighted gradient orientationhistograms about each keypoint at closest scale Create keypoint with orientation at each majorpeak in histogram (> 80% of maximum)

  • 8/4/2019 SIFT and Object Recognition

    16/41

    Orientation Reliability

    Orientation more reliable than location/scale

  • 8/4/2019 SIFT and Object Recognition

    17/41

    Keypoint Example

    Original Initial

    Keypoint

    s

    LowContrast

    Rejection

    PrincipalCurvatur

    e

    Threshol

    d

  • 8/4/2019 SIFT and Object Recognition

    18/41

    Local Image Descriptor

    Image Patch Technique

    store pixel intensities

    surrounding keypoints, use simple correlationsfor comparison

    Sensitive to affine and 3d viewpoint changes

    Local Gradient Technique record surroundinggradients, allow for some spatial translation Based off complex neuron responses

  • 8/4/2019 SIFT and Object Recognition

    19/41

    Gradient Histograms

    Sample gradient magnitude orientation (relative to

    keypoint orientation) in 16x16 window around key

    Intelligently arrange into 4x4 histograms with 8 bins

  • 8/4/2019 SIFT and Object Recognition

    20/41

    Descriptor Size

    R bins * N2

    sample grid: R*N2

    element vector

    Used 4x4 grid, 8 orientation bins: 128 elementvectorAt 4x4:8 best, 16 worst

  • 8/4/2019 SIFT and Object Recognition

    21/41

    Descriptor Subtleties

    Gradients far from keypoint less reliable:

    Use Gaussian kernel to weight magnitudes Boundary effects at 4x4 grid division: Use trilinear interpolation to distribute acrossbins/histograms

    Contrast Changes: normalize to unit length

    Illumination saturations: affect large gradientmagnitudes but not orientations

    Saturate large magnitudes, emphasize

    orientation

  • 8/4/2019 SIFT and Object Recognition

    22/41

    3D Viewpoint Angle

    Performance

    50% Reliability out to 50 degree rotation in depth

    Could simply store SIFT features for multiplemodel views independently

  • 8/4/2019 SIFT and Object Recognition

    23/41

    Object Recognition Overview

    Store SIFT vectors for each keypoint for each

    model object in database Generate keypoints in test image

    Use nearest neighbor to find feature matches

    Cluster features that agree on object pose

    Affine projection estimate

    Geometric verification

  • 8/4/2019 SIFT and Object Recognition

    24/41

    Keypoint Matching

    Similarity metric is Euclidean distance

    Global thresholds work poorly as discriminative ability

    of descriptors varies: use ratio of 1st

    to 2nd

    closest

    neighbors

    Best-Bin-First: approximate NN search algorithm

  • 8/4/2019 SIFT and Object Recognition

    25/41

    Keypoint Clustering

    Find groups of keypoint matches that agree on

    an object and its pose (location, orientation,scale)

    Each match casts a 4-element vote, tally in

    histogram, select clusters Accomplished with Hough transform and hashtable

    Reliable object detection with only 3 featurematches!

  • 8/4/2019 SIFT and Object Recognition

    26/41

    Hough Transform Example

    Application: detecting lines in the 2d plane

    Find point closest to origin (intersection byorthogonal), describe by radius and angle to point

    Source: Wikipedia

  • 8/4/2019 SIFT and Object Recognition

    27/41

    Affine Transformation Estimate

    Least-squares fit to affine projection from model

    to test image coordinates

  • 8/4/2019 SIFT and Object Recognition

    28/41

    Geometric Verification

    Calculate residual error from least-squares fit,

    reject outliers above threshold Repeat fit, add features that agree with newestimate Recognition fails if less than 3 features remain Final decision based on probabilistic learning

    model described in Lowe, 2001 (maximum- likelihood)

  • 8/4/2019 SIFT and Object Recognition

    29/41

    Recognition in Occlusion

  • 8/4/2019 SIFT and Object Recognition

    30/41

    Recognition in Occlusion (2)

  • 8/4/2019 SIFT and Object Recognition

    31/41

    Recognition in Complex Scenes

  • 8/4/2019 SIFT and Object Recognition

    32/41

    Large Database Performance

    Nearest Neighbor matching with Euclideandistance

    Performs well out to very large database sizes

  • 8/4/2019 SIFT and Object Recognition

    33/41

    Future Directions

    Full 3D viewpoint representation (4D to 6Dpose)

    Better invariance to nonlinear illuminationchanges Extension to 3 channel color Inclusion of local texture measures Class-specific features for categorization Edge groupings at object boundaries

  • 8/4/2019 SIFT and Object Recognition

    34/41

    Binding and Attention

    Humans: Detect features in parallel Serial attention required to bind features toobject, determine pose, and segregate

    background

    SIFT: Detect keypoints and compute features inparallel

    Hough transform binds features to object

    Probabilistic EM framework optimizesdecision

  • 8/4/2019 SIFT and Object Recognition

    35/41

    Conclusions

    SIFT finds stable keypoints in scale-space atsuitable difference of Gaussian extrema

    Local descriptor invariant to: scale, invariance,affine transformations, brightness, contrast Computationally efficient Requires labeled, clutter-free model images

  • 8/4/2019 SIFT and Object Recognition

    36/41

    Bottom-Up Attention?

    Is bottum-up attention useful for object recognition?Ueli Rutishauser, Dirk Walther, Cristof Koch, and Pietro Perona.

    IEEE

    Computer Society Conference on Computer Vision and Pattern Recognition,2004.

    Attention: selection and gating of visualinformation

    Top-down: prior knowledge about the scene

    Bottom-up: saliency in imageIdea: use bottom-up attention to highlight regionswhere objects are likely to be found

  • 8/4/2019 SIFT and Object Recognition

    37/41

    Saliency Model

    Construct across-scale center-surround featuremaps

    Use RGBY color channels, local orientation,intensityCenter-surroundfeature maps:Sum across maps:

    Conspicuity maps:

    Saliency map: Winner Take All (WTA)

    Competition

  • 8/4/2019 SIFT and Object Recognition

    38/41

    Regions of Saliency

    WTA chooses most salient point (xw

    , yw

    )

    Use adaptive thresholding to grow region aroundpoint at feature map level (sparser representation)

    Remove

    influence within WTA competition

    multiple salient regions

    Use salient regions to train SIFT: unlabeled model

    images!

  • 8/4/2019 SIFT and Object Recognition

    39/41

    Saliency Example

  • 8/4/2019 SIFT and Object Recognition

    40/41

    Inventory Learning Example

  • 8/4/2019 SIFT and Object Recognition

    41/41

    Landmark Learning