1 / 78

Local feature extraction

Local feature extraction. Slide credits: James Tompkin , Juan Carlos Niebles and Ranjay Krishna. General Approach. 1. Find a set of distinctive key- points. 2. Define a region around each keypoint. A 1. B 3.

frankk
Download Presentation

Local feature extraction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Local feature extraction Slide credits: James Tompkin, Juan Carlos Niebles and Ranjay Krishna

  2. General Approach 1. Find a set of distinctive key- points 2. Define a region around each keypoint A1 B3 3. Extract and normalize the region content A2 A3 B2 B1 Similarity measure 4. Compute a local descriptor from the normalized region Slide credit: Bastian Leibe N pixels 5. Match local descriptors e.g.color e.g.color N pixels

  3. Local features: main components • Detection:Find a set of distinctive key points. • Description: Extract feature descriptor around each interest point as vector. • Matching: Compute distance between feature vectors to find correspondence. K. Grauman, B. Leibe

  4. Local features: main components • Detection:Find a set of distinctive key points. • Description: Extract feature descriptor around each interest point as vector. • Matching: Compute distance between feature vectors to find correspondence. K. Grauman, B. Leibe

  5. Quick review: Harris Corner Detector “flat” region:no change in all directions “edge”:no change along the edge direction “corner”:significant change in all directions Slide credit: AlyoshaEfros

  6. Quick review: Harris Corner Detector • Fast approximation • Avoid computing theeigenvalues • α: constant(0.04 to 0.06) “Edge” θ< 0 “Corner”θ> 0 Slide credit: Kristen Grauman “Flat” region “Edge” θ< 0 1

  7. Quick review: Harris Corner Detector Slide adapted from Darya Frolova, Denis Simakov

  8. Quick review: Harris Corner Detector • Translation invariance • Rotation invariance • Scale invariance? Slide credit: Kristen Grauman Corner All points will be classified as edges! Not invariant to image scale!

  9. What is the ‘scale’ of a feature point?

  10. Automatic Scale Selection How to find patch sizes at which f response is equal? What is a good f ? K. Grauman, B. Leibe

  11. Automatic Scale Selection • Function responses for increasing scale (scale signature) Response of some function f K. Grauman, B. Leibe

  12. Automatic Scale Selection • Function responses for increasing scale (scale signature) Response of some function f K. Grauman, B. Leibe

  13. Automatic Scale Selection • Function responses for increasing scale (scale signature) Response of some function f K. Grauman, B. Leibe

  14. Automatic Scale Selection • Function responses for increasing scale (scale signature) Response of some function f K. Grauman, B. Leibe

  15. Automatic Scale Selection • Function responses for increasing scale (scale signature) Response of some function f K. Grauman, B. Leibe

  16. Automatic Scale Selection • Function responses for increasing scale (scale signature) Response of some function f K. Grauman, B. Leibe

  17. What Is A Useful Signature Function f ? 1st Derivative of Gaussian (Laplacian of Gaussian) Earl F. Glynn

  18. What Is A Useful Signature Function f ? • “Blob” detector is common for corners • - Laplacian (2nd derivative) of Gaussian (LoG) Scale space Function response Image blob size K. Grauman, B. Leibe

  19. Find local maxima in position-scale space s5 Find maxima s4 s3  List of(x, y, s) s2 s K. Grauman, B. Leibe

  20. Alternative approach Approximate LoG with Difference-of-Gaussian (DoG). Ruye Wang

  21. Scale Invariant Detection • Functions for determining scale Kernels: (Laplacian) (Difference of Gaussians) where Gaussian

  22. Scale Invariant Detectors scale  Laplacian  y x  Harris  • Harris-Laplacian1Find local maximum of: • Harris corner detector in space (image coordinates) • Laplacian in scale 1 K.Mikolajczyk, C.Schmid. “Indexing Based on Scale Invariant Interest Points”. ICCV 20012 D.Lowe. “Distinctive Image Features from Scale-Invariant Keypoints”. IJCV 2004

  23. Laplacian

  24. Scale Invariant Detectors scale  Laplacian  y x  Harris  • SIFT (Lowe)2Find local maximum of: • Difference of Gaussians in space and scale scale  DoG  y x DoG • Harris-Laplacian1Find local maximum of: • Harris corner detector in space (image coordinates) • Laplacian in scale 1 K.Mikolajczyk, C.Schmid. “Indexing Based on Scale Invariant Interest Points”. ICCV 20012 D.Lowe. “Distinctive Image Features from Scale-Invariant Keypoints”. IJCV 2004

  25. Alternative approach Approximate LoG with Difference-of-Gaussian (DoG). 1. Blur image with σ Gaussian kernel 2. Blur image with kσ Gaussian kernel 3. Subtract 2. from 1. = - K. Grauman, B. Leibe

  26. Find local maxima in position-scale space of DoG Find maxima … … ks k2s - = s  List of(x, y, s) - = ks - = s K. Grauman, B. Leibe Input image

  27. Results: Difference-of-Gaussian • Larger circles = larger scale • Descriptors with maximal scale response K. Grauman, B. Leibe

  28. Outlier Rejection Avoid low contrast candidates (small magnitude extrema) • Taylor series expansion of DoG from the center pixel where • Minima or maxima at • Iterate , discard candidates if • X(k+1) does not converge • |D(x*)|< th(~0.03)

  29. Further Outlier Rejection Remove edge points • Use trick similar to Harris corner detector • Compute Hessian of D • Let , then • Reject candidates when r>10, i.e.,

  30. Second derivative filters • Dxy? • Dxx?

  31. Some other “keypoint” extractors

  32. Maximally Stable Extremal Regions [Matas ‘02] • Based on Watershed segmentation algorithm • Select regions that stay stable over a large parameter range K. Grauman, B. Leibe

  33. Example Results: MSER K. Grauman, B. Leibe

  34. Review: Interest points • Keypoint detection: repeatable and distinctive • Corners, blobs, stable regions • Harris, DoG, MSER

  35. Review: Choosing an interest point detector • Why choose? • Collect more points with more detectors, for more possible matches • What do you want it for? • Precise localization in x-y: Harris • Good localization in scale: Difference of Gaussian • Flexible region shape: MSER • Best choice often application dependent • Harris-/Hessian-Laplace/DoG work well for many natural categories • MSER works well for buildings and printed things • There have been extensive evaluations/comparisons • [Mikolajczyk et al., IJCV’05, PAMI’05] • All detectors/descriptors shown here work well

  36. Local features: main components • Detection:Find a set of distinctive key points. • Description: Extract feature descriptor around each interest point as vector. • Matching: Compute distance between feature vectors to find correspondence. K. Grauman, B. Leibe

  37. Image representations • Templates • Intensity, gradients, etc. • Histograms • Color, texture, SIFT descriptors, etc. James Hays

  38. Image Representations: Histograms Global histogram to represent distribution of features • Color, texture, depth, … Local histogram per detected point Space Shuttle Cargo Bay Images from Dave Kauchak

  39. For what things do we compute histograms? • Color • Model local appearance L*a*b* color space HSV color space James Hays

  40. For what things do we compute histograms? • Texture • Local histograms of oriented gradients • SIFT: Scale Invariant Feature Transform • Extremely popular (40k citations) SIFT – Lowe IJCV 2004 James Hays

  41. SIFT • Find Difference of Gaussian scale-space extrema • Post-processing • Position interpolation • Discard low-contrast points • Eliminate points along edges

  42. SIFT • Find Difference of Gaussian scale-space extrema • Post-processing • Position interpolation • Discard low-contrast points • Eliminate points along edges • Orientation estimation

  43. SIFT Orientation Normalization p 2 0 • Compute orientation histogram • Select dominant orientation ϴ • Normalize: rotate to fixed orientation p 2 0 T. Tuytelaars, B. Leibe [Lowe, SIFT, 1999]

  44. SIFT • Find Difference of Gaussian scale-space extrema • Post-processing • Position interpolation • Discard low-contrast points • Eliminate points along edges • Orientation estimation • Descriptor extraction • Motivation: We want some sensitivity to spatial layout, but not too much, so blocks of histograms give us that.

  45. SIFT Descriptor Extraction • Given a keypoint with scale and orientation: • Pick scale-space image which most closely matches estimated scale • Resample image to match orientation OR • Normalize orientation by shifting histogram.

  46. SIFT Descriptor Extraction • Given a keypoint with scale and orientation Gradient magnitude and orientation 8 bin ‘histogram’ - add magnitude amounts! Utkarsh Sinha

  47. SIFT Descriptor Extraction • Within each 4x4 window Gradient magnitude and orientation 8 bin ‘histogram’ - add magnitude amounts! Weight magnitude that is added to ‘histogram’ by Gaussian Utkarsh Sinha

  48. SIFT Descriptor Extraction • Extract 8 x 16 values into 128-dim vector • Illumination invariance: • Working in gradient space, so robust to I = I + b • Normalize vector to [0…1] • Robust to I = αI brightness changes • Clamp all vector values > 0.2 to 0.2. • Robust to “non-linear illumination effects” • Image value saturation / specular highlights • Renormalize

  49. Efficient Implementation • Filter using oriented kernels based on directions of histogram bins. • Called ‘steerable filters’

  50. How good is sift?

More Related