local feature descriptors sift
play

Local Feature Descriptors SIFT Various slides from previous courses - PowerPoint PPT Presentation

CS4501: Introduction to Computer Vision Local Feature Descriptors SIFT Various slides from previous courses by: D.A. Forsyth (Berkeley / UIUC), I. Kokkinos (Ecole Centrale / UCL). S. Lazebnik (UNC / UIUC), S. Seitz (MSR / Facebook), J. Hays


  1. CS4501: Introduction to Computer Vision Local Feature Descriptors SIFT Various slides from previous courses by: D.A. Forsyth (Berkeley / UIUC), I. Kokkinos (Ecole Centrale / UCL). S. Lazebnik (UNC / UIUC), S. Seitz (MSR / Facebook), J. Hays (Brown / Georgia Tech), A. Berg (Stony Brook / UNC), D. Samaras (Stony Brook) . J. M. Frahm (UNC), V. Ordonez (UVA).

  2. Last Class • Corner Detection - Harris • Interest Points • Blob Detection

  3. Today’s Class • Interest Points (DoG extrema operator) • SIFT Feature descriptor • Feature matching

  4. Corner Detection: Basic Idea •We should easily recognize the point by looking through a small window •Shifting a window in any direction should give a large change in intensity “flat” region: “edge”: “corner”: no change in no change significant all directions along the edge change in all direction directions Source: A. Efros

  5. Harris Corner Detection • Compute the following matrix of squared gradients for every pixel. $ % are gradients $ ' and & $ % $ % $ ' ! = # computed using Sobel or & $ ' $ % $ ' some other approximation. ()*+, ! = / 0 ! = / 0 ! = 0 0 ! = 0 0 0 0 0 . 0 0 0 .

  6. ! ! " ! " ! # ? ! # Source: R. Collins

  7. Harris Corner Detection ! = % 0 ! = % 0 ! = 0 0 ! = 0 0 0 0 0 $ 0 0 0 $ • If both a, and b are large then this is a corner, otherwise it is not. Set a threshold and this should detect corners. Problem: Doesn’t work for these corners:

  8. Harris Corner Detection & $ % $ % $ ' = ( ) ! = # ) * & $ ' $ % $ ' +,-./ 23 4 3 0 Under a rotation M can be diagonalized ! = 0 1 4 & 0 1 0 4 3 and 4 & are the eigenvalues of M det ! − 4$ = 0 From your linear algebra class finding them requires solving

  9. However no need to solve det(M-lambda I)=0 = l l det M 1 2 = l + l trace M 1 2

  10. Corner response function = - a = l l - a l + l 2 2 R det( M ) trace ( M ) ( ) 1 2 1 2 α : constant (0.04 to 0.06) “Edge” R < 0 “Corner” R > 0 |R| small “Edge” “Flat” R < 0 region

  11. Harris Detector Summary [ Harris88 ] • Second moment matrix é ù s s 2 I ( ) I I ( ) µ s s = s * x D x y D 1. Image I x I y ( , ) g ( ) ê ú I D I s 2 s I I ( ) I ( ) ê ú derivatives ë û x y D y D (optionally, blur first) I y I x I y I x 2. Square of 2 2 derivatives = l l det M 1 2 = l + l trace M g(I x I y ) 1 2 g(I x2 ) g(I y2 ) 3. Gaussian filter g( s I ) 4. Cornerness function – both eigenvalues are strong = µ s s - a µ s s = 2 har det[ ( , )] [trace( ( , )) ] I D I D - - a + 2 2 2 2 2 2 g ( I ) g ( I ) [ g ( I I )] [ g ( I ) g ( I )] x y x y x y 5. Non-maxima suppression 11 har

  12. Alternative Corner response function “edge”: “corner”: “flat” region l 1 >> l 2 l 1 and l 2 are large, l 1 and l 2 are small; l 1 ~ l 2 ; l 2 >> l 1 = l l det M Szeliski 1 2 = l + l trace M Harmonic mean 1 2

  13. Harris Detector: Steps

  14. Harris Detector: Steps Compute corner response R

  15. Harris Detector: Steps Find points with large corner response: R> threshold

  16. Harris Detector: Steps Take only the points of local maxima of R

  17. Harris Detector: Steps

  18. Invariance and covariance • We want corner locations to be invariant to photometric transformations and covariant to geometric transformations • Invariance: image is transformed and corner locations do not change • Covariance: if we have two transformed versions of the same image, features should be detected in corresponding locations Slide by James Hays

  19. Keypoint detection with scale selection • We want to extract keypoints with characteristic scale that is covariant with the image transformation Slide by Svetlana Lazebnik

  20. Basic idea Convolve the image with a “blob filter” at multiple • scales and look for extrema of filter response in the resulting scale space T. Lindeberg. Feature detection with automatic scale selection. IJCV 30(2), pp 77-116, 1998. Slide by Svetlana Lazebnik

  21. Blob detection minima = * maxima • Find maxima and minima of blob filter response in space and scale Source: N. Snavely

  22. Blob filter • Laplacian of Gaussian: Circularly symmetric operator for blob detection in 2D ¶ ¶ 2 2 g g Ñ = + 2 g ¶ ¶ 2 2 x y

  23. Scale-space blob detector 1. Convolve image with scale-normalized Laplacian at several scales

  24. Scale-space blob detector: Example Slide by Svetlana Lazebnik

  25. Scale-space blob detector: Example Slide by Svetlana Lazebnik

  26. Scale-space blob detector 1. Convolve image with scale-normalized Laplacian at several scales 2. Find maxima of squared Laplacian response in scale-space Slide by Svetlana Lazebnik

  27. Scale-space blob detector: Example Slide by Svetlana Lazebnik

  28. Eliminating edge responses Laplacian has strong response along edge • Slide by Svetlana Lazebnik

  29. Efficient implementation Approximating the Laplacian with a difference of Gaussians: • ( ) = s 2 s + s L G ( , , ) x y G ( , , ) x y xx yy (Laplacian) = s - s DoG G x y k ( , , ) G x y ( , , ) (Difference of Gaussians) Slide by Svetlana Lazebnik

  30. Efficient implementation David G. Lowe. "Distinctive image features from scale-invariant keypoints.” IJCV 60 (2), pp. 91-110, 2004.

  31. Eliminating rotation ambiguity • To assign a unique orientation to circular image windows: Create histogram of local gradient directions in the • patch Assign canonical orientation at peak of smoothed • histogram 2 p 0 Slide by Svetlana Lazebnik

  32. SIFT keypoint detection D. Lowe, Distinctive image features from scale-invariant keypoints, IJCV 60 (2), pp. 91-110, 2004.

  33. From keypoint detection to keypoint representation (feature descriptors) Figure by Svetlana Lazebnik

  34. SIFT descriptors Inspiration: complex neurons in the primary visual cortex • D. Lowe. Distinctive image features from scale-invariant keypoints. IJCV 60 (2), pp. 91-110, 2004.

  35. From keypoint detection to keypoint representation (feature descriptors) Compare SIFT feature vectors instead Figure by Svetlana Lazebnik

  36. SIFT Feature Matching Rice Hall at UVA

  37. JiaWang Bian, Wen-Yan Lin, Yasuyuki Matsushita, Sai-Kit Yeung, Tan Dat Nguyen, Ming-Ming Cheng GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence IEEE CVPR, 2017 The method has been integrated into OpenCV library (see xfeatures2d in opencv_contrib).

  38. A hard keypoint matching problem NASA Mars Rover images

  39. Answer below (look for tiny colored squares…) NASA Mars Rover images with SIFT feature matches Figure by Noah Snavely

  40. Feature Descriptors Zoo • SIFT (under a patent) Proposed around 1999 • SURF (under a patent too – I think) • BRIEF • ORB (seems free as it is OpenCV’s preferred) • BRISK • FREAK • FAST • KAZE • LIFT (Most recently proposed at ECCV 2016)

  41. Questions? 42

Recommend


More recommend