16 Feature Alignment

  • Upload
    car-alv

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

  • 7/30/2019 16 Feature Alignment

    1/30

    Automatic Image Alignment (feature-based)

    15-463: Computational PhotographyAlexei Efros, CMU, Fall 2005with a lot of slides stolen fromSteve Seitz and Rick Szeliski

    Mike Nese

  • 7/30/2019 16 Feature Alignment

    2/30

    Todays lecture

    Feature detectors scale invariant Harris corners

    Feature descriptors patches, oriented patches

    Reading for Project #4:Multi-image Matching using Multi-scale image

    patches, CVPR 2005

  • 7/30/2019 16 Feature Alignment

    3/30

    Invariant Local Features

    Image content is transformed into local feature coordinates that areinvariant to translation, rotation, scale, and other imaging parameters

    Features Descriptors

  • 7/30/2019 16 Feature Alignment

    4/30

    Advantages of local features

    Locality: features are local, so robust to occlusion andclutter (no prior segmentation)

    Distinctiveness: individual features can be matched to

    a large database of objectsQuantity: many features can be generated for even

    small objects

    Efficiency: close to real-time performanceExtensibility: can easily be extended to wide range of

    differing feature types, with each adding robustness

  • 7/30/2019 16 Feature Alignment

    5/30

    More motivation

    Feature points are used for: Image alignment (homography, fundamental

    matrix)

    3D reconstruction Motion tracking Object recognition Indexing and database retrieval Robot navigation other

  • 7/30/2019 16 Feature Alignment

    6/30

    Harris corner detector

    C.Harris, M.Stephens. A Combined Corner and EdgeDetector. 1988

  • 7/30/2019 16 Feature Alignment

    7/30

    The Basic Idea

    We should easily recognize the point by lookingthrough a small window

    Shifting a window in any direction should give a largechange in intensity

  • 7/30/2019 16 Feature Alignment

    8/30

    Harris Detector: Basic Idea

    flat region:no change inall directions

    edge :no change alongthe edge direction

    corner :significant changein all directions

  • 7/30/2019 16 Feature Alignment

    9/30

    Harris Detector: Mathematics

    [ ]2,

    ( , ) ( , ) ( , ) ( , ) x y

    E u v w x y I x u y v I x y= + + Change of intensity for the shift [ u,v]:

    IntensityShiftedintensity

    Windowfunction

    or Window function w(x,y) =

    Gaussian1 in window, 0 outside

  • 7/30/2019 16 Feature Alignment

    10/30

    Harris Detector: Mathematics

    [ ]( , ) ,

    u E u v u v M

    v

    For small shifts [u,v ] we have a bilinear approximation:

    2

    2,

    ( , ) x x y x y x y y

    I I I M w x y

    I I I

    =

    where M is a 2 2 matrix computed from image derivatives:

  • 7/30/2019 16 Feature Alignment

    11/30

    Harris Detector: Mathematics

    1

    2Corner1 and 2 are large,1 ~ 2;

    E increases in alldirections

    1 and 2 are small; E is almost constantin all directions

    Edge1 >> 2

    Edge2 >> 1

    Flatregion

    Classification of image points usingeigenvalues of M :

  • 7/30/2019 16 Feature Alignment

    12/30

    Harris Detector: Mathematics

    Measure of corner response:

    1 2

    1 2

    det

    trace

    M

    M

    =

    = +

    M M

    RTrace

    det=

  • 7/30/2019 16 Feature Alignment

    13/30

    Harris Detector

    The Algorithm: Find points with large corner response function R

    (R > threshold)

    Take the points of local maxima of R

  • 7/30/2019 16 Feature Alignment

    14/30

    Harris Detector: Workflow

  • 7/30/2019 16 Feature Alignment

    15/30

    Harris Detector: Workflow

    Compute corner response R

  • 7/30/2019 16 Feature Alignment

    16/30

    Harris Detector: Workflow

    Find points with large corner response: R> threshold

    kfl

  • 7/30/2019 16 Feature Alignment

    17/30

    Harris Detector: Workflow

    Take only the points of local maxima of R

    H i D W kfl

  • 7/30/2019 16 Feature Alignment

    18/30

    Harris Detector: Workflow

  • 7/30/2019 16 Feature Alignment

    19/30

    Harris Detector: Some Properties

    Rotation invariance

    Ellipse rotates but its shape (i.e. eigenvalues)remains the same

    Corner response R is invariant to image rotation

  • 7/30/2019 16 Feature Alignment

    20/30

    Harris Detector: Some Properties

    Partial invariance to affine intensity change

    9 Only derivatives are used => invarianceto intensity shift I I + b

    9 Intensity scale: I a I

    R

    x (image coordinate)

    threshold

    R

    x (image coordinate)

  • 7/30/2019 16 Feature Alignment

    21/30

    Harris Detector: Some Properties

    But: non-invariant to image scale !

    All points will be

    classified as edges

    Corner !

  • 7/30/2019 16 Feature Alignment

    22/30

    Scale Invariant Detection

    Consider regions (e.g. circles) of different sizes around a pointRegions of corresponding sizes will look the same in both images

  • 7/30/2019 16 Feature Alignment

    23/30

    Scale Invariant Detection

    The problem: how do we choose corresponding circlesindependently in each image?

    Choose the scale of the bestcorner

    l

  • 7/30/2019 16 Feature Alignment

    24/30

    Feature selectionDistribute points evenly over the image

    d i i lS i

  • 7/30/2019 16 Feature Alignment

    25/30

    Adaptive Non-maximal SuppressionDesired: Fixed # of features per image

    Want evenly distributed spatially Search over non-maximal suppression radius

    [Brown, Szeliski, Winder, CVPR05]

    F d i

  • 7/30/2019 16 Feature Alignment

    26/30

    Feature descriptors

    We know how to detect pointsNext question: How to match them?

    ?Point descriptor should be:

    1. Invariant 2. Distinctive

  • 7/30/2019 16 Feature Alignment

    27/30

    Descriptors Invariant to Rotation

    Find local orientation

    Dominant direction of gradient

    Extract image patches relative to this orientation

    M lti S l O i t d P t h

  • 7/30/2019 16 Feature Alignment

    28/30

    Multi-Scale Oriented Patches

    Interest points Multi-scale Harris corners Orientation from blurred gradient Geometrically invariant to rotation

    Descriptor vector Bias/gain normalized sampling of local patch (8x8) Photometrically invariant to affine changes in intensity

    [Brown, Szeliski, Winder, CVPR2005]

    D i t V t

  • 7/30/2019 16 Feature Alignment

    29/30

    Descriptor Vector

    Orientation = blurred gradientRotation Invariant Frame Scale-space position (x, y, s) + orientation ( )

    Detections at multiple scales

  • 7/30/2019 16 Feature Alignment

    30/30

    Detections at multiple scales