Corner Detection

Corner Detection

Last Week GV12/3072 1 Image Processing. Last Week: Performance • How can we evaluate edge-detector performance? • Probability of false edges • Probability of missing edges • Error in edge angle • Mean squared distance from true edge GV12/3072 2 Image Processing. Last Week: Summary • Resize by re-sampling (must pre-filter!!) • Image pyramids applications • Edge detection • Simple • Canny • Hough Transform GV12/3072 3 Image Processing. GV12/3072 4 Image Processing. Corner Detection GV12/3072 5 Image Processing. Outline • Corners and point features • Moravec operator • Image structure tensor • Harris corner detector • SUSAN • FAST • SIFT GV12/3072 6 Image Processing. Point Features (a.k.a. Corners or Interest Points) • Many applications need to match corresponding points in images. • Stereo matching and 3D reconstruction • Tracking • Localization • Recognition • Points along lines are poorly defined – See Aperture Problem phenomenon (next) GV12/3072 7 Image Processing. Tracking & Reconstruction • 2D3 Commercial application: Boujou – Match-moving for special effects – Computes a point-cloud + camera poses • UNC city-scanning (video) (Pollefeys et al.) GV12/3072 12 Image Processing. Feature matching vs. tracking Image-to-image correspondences are key to passive triangulation-based 3D reconstruction Extract features independently and Extract features in first images and then match by comparing then try to find same feature back descriptors in next view What is a good feature? From Marc Pollefeys Stereo Example GV12/3072 14 Image Processing. Stereo Example GV12/3072 15 Image Processing. “Corner” Interest Points • We want corner points that are: • Distinctive • Stable from image to image • (Sparse) ? • And are invariant to: • View point (scale, orientation, translation) • Lighting conditions • Object deformations • Partial occlusion • And are, if possible, • Geometrically meaningful, though not necessarily scene-object corners. 16 Intersections • Edge and line intersections provide recognizable features Intersections can be stable or unstable 17 Moravec “Interest” Operator • Use a window surrounding each pixel as its own matching template • Tests local autocorrelation of the image: – SSD = Sum of Squared Differences • Good matches in any direction • Flat image region • Good matches in only one direction • Linear feature or edge • No good matches in any direction • Distinctive point feature • Corner point GV12/3072 18 Image Processing. Neighborhood stands out? GV12/3072 20 Image Processing. Check SSDs 21 sum(sum( (patch - Ipad(rowStart:rowStart+2, colStart:colStart+2) ).^2 )); Check SSDs 1.34 2.6 1.79 1.04 2.46 2.34 2.39 0 3.24 1.14 2.12 0.60 22 Implementation • Match quality for displacements (∆x, ∆y) uses L2 norm: (x,y) w(x, y)I(x x, y y) I(x, y)2 (x,y)N (3,3)of I, centered at p0 • w is a window function – e.g. constant or Gaussian • Cornerness is min over the eight- neighbourhood N, excluding (0, 0) GV12/3072 23 Image Processing. Moravec “Interest” Operator • Use a window surrounding each pixel as its own matching template T. • Tests local autocorrelation of the image: SSD • Good matches in any direction • Flat image region • Good matches in only one direction • Linear feature or edge • No good matches in any direction • Distinctive point feature • Corner point GV12/3072 24 Image Processing. Cornerness • Using 7x7 matching window. 25 Cornerness distribution # Pixels 26 Cornerness Non-maximal suppression • Set pixels that have an 8 neighbour with higher cornerness to zero. 27 Threshold T = 1 GV12/3072 28 Image Processing. Threshold T = 2 GV12/3072 29 Image Processing. Threshold T = 3 GV12/3072 30 Image Processing. Non-max Suppression Efficiently? Input, I (this time, pretend these are cornerness values) 31 Non-max Suppression by Dilation? Input, I (this time, pretend these are cornerness values) imdilate(I, ones(3,3)) 33 Moravec Algorithm Summary • Enhance corner features • Non-maximal suppression • Threshold GV12/3072 34 Image Processing. Problems • Multiple responses at high interest points • Extend non-maximal suppression to windows • Weak response to “blurred” corners • Slow GV12/3072 35 Image Processing. General Form Can we do better? Derive general theory of “cornerness” (x, y) w(x, y)I(x x, y y) I(x, y)2 (x,y)N (3,3)of I, centered at p0 I(x, y) I(x, y)x I(x x, y y) I(x, y) , x y y (See online Taylor series expansion/approximation) 38 (assume constant w) I(x, y) I(x, y)x I(x x, y y) I(x, y) , x y y (x, y) 2 I(x, y) I(x, y)x I(x , y ) I(x , y ) , 2 (x, y) i i w(i x, yi )I(x x, y y) I(x, y) x N y N x y y i i (x,y)N (3,3)of I, centered at p0 2 I(x, y) I(x, y)x , (Note : u2 uT u) x y y xiN yiN I xI I x [x, y] , I x y y xiN yiN 39 y General Form (x,y) w(x, y)I(x x, y y) I(x, y)2 (x,y)N (3,3)of I, centered at p0 2 I(x, y) I(x, y)x I(x x, y y) I(x, yI)x I x I y , x (x, y) x, y x y xTSyx I I I 2 y x y y 40 General Form (x,y) w(x, y)I(x x, y y) I(x, y)2 (x,y)N (3,3)of I, centered at p0 -<…> denotes average over the window N. - S is the image structure tensor - a.k.a „Harris‟ Matrix 2 I(x, y) I(x, y)x I(x x, y y) I(x, yI)x I x I y , x (x, y) x, y x y xTSyx I I I 2 y x y y 41 Structure tensor • S captures the curvature of the local autocorrelation surface • The eigenvalues are the principal curvatures • They are the solutions to 2 2 2 2 2 2 I x I y I x I y I x I y 0 GV12/3072 44 Image Processing. Principal Axes (i.e. Eigenvectors) (Note: see Simon Prince’s SVD slides online) homogeneous edge corner i.e. maximize smallest eigenvalue of S 45 From Marc Pollefeys Harris Corner Detector (Example Video) • Defines cornerness as size of smallest eigenvalue, or C det(S) /Tr(S) 2 C I 2 I 2 I I / I 2 I 2 x y x y x y C 12 /(1 2 ) • Non-maximal suppression and thresholding as before GV12/3072 47 Image Processing. Cornerness and NMS 48 Sigma = 1, Threshold T=0.1 GV12/3072 49 Image Processing. Sigma = 1, Threshold T=0.15 GV12/3072 50 Image Processing. Sigma = 1, Threshold T=0.2 GV12/3072 51 Image Processing. Variants • Can include Gaussian smoothing when computing Ix and Iy. • Less important than for edge detection. • Helps eliminate multiple responses to the same corner • Similar effect using larger regions in non-maximal suppression • Harris and Stephens combined edge and corner detector 2 • R det(S) kTr (S) • Various other corner measures, thresholding schemes, non-max suppression techniques • 0<k<0.25 to get the desired behaviour from R: – positive at corners and negative at edges 52 Sigma = 5, Threshold T=0.001 GV12/3072 53 Image Processing. Sigma = 5, Threshold T=0.004 GV12/3072 54 Image Processing. Sigma = 5, Threshold T=0.007 GV12/3072 55 Image Processing. Harris and Stephens k = 0.02 Harris and Stephens, Proc. 4th Alvey Vision Conference, 147-151, GV12/3072 56 1988. Image Processing. SUSAN • Method for edge and corner detection • No image derivatives • Insensitive to noise • Smith & Brady, IJCV, 23(1):45-78, 1997 GV12/3072 62 Image Processing. USAN “Univalue Segment Assimilating Nucleus” It is the portion of the template with intensity within a threshold of the “nucleus”. GV12/3072 63 Image Processing. Edges and Corners • In flat regions the USAN has similar area to the template • At edges the USAN area is about half the template area • At corners the USAN area is smaller than half the template area. • “SUSAN” = Smallest USAN. GV12/3072 64 Image Processing. Example GV12/3072 65 Image Processing. Implementation 0011100 0111110 • Circular mask M with radius 3.4 1111111 (|M| = 37 pixels). M=1111111 1111111 • The nucleus is the centre pixel r0 0111110 • U is the USAN area. 0011100 • C is the corner/edge strength 1 I(r) I(r ) t 0 n u(r,r0 ) u(r,r0 ) 0 otherwise rC(r0 ) t=3|M|/4 for edge detection M n n T t=|M|/2 for corner detection C(r0 ) 0 otherwise Select t by considering image noise level. Refinements • „Band‟ edge orientation from USAN moments: 1 tan 20 / 02 • Step edge orientation from centre of gravity. • Eliminate false positive corners using • Distance of USAN centre of gravity from r0. • Connectivity of USAN. • Non-maximal suppression GV12/3072 67 Image Processing. FAST Machine learning for high-speed corner detection Rosten & Drummond, ECCV 2006 • Reuse nucleus concept – From Trajkovic & Hedley‟98 • Machine learning to train it to be fast • Retain performance GV12/3072 68 Image Processing. Trajkovic & Hedley • P and P’ are opposite points, diameter D apart GV12/3072 69 Image Processing. From Rosten & Drummond FAST • Set of n contiguous pixels in the circle which are all brighter / darker by some T – n = 12..? 70 • For each location (1-16) on the circle x, the pixel at that position relative to p (denoted by p x) can have one of three states: Train decision tree to maximize information gain: GV12/3072 71 Image Processing. FAST Performance • On average, 2.26 (for n = 9) and 2.39 (for n = 12) questions are asked per pixel to determine whether or not it is a feature.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    70 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us