Corner Detection

Corner Detection

Corner Detection GV12/3072 1 Image Processing. Last Week GV12/3072 2 Image Processing. Outline • Corners and point features • Moravec operator • Image structure tensor • Harris corner detector • Sub-pixel accuracy • SUSAN • FAST • Example descriptor: SIFT GV12/3072 3 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 4 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 9 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 11 Image Processing. Stereo Example GV12/3072 12 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. 13 Intersections • Edge and line intersections provide recognizable features Intersections can be stable or unstable 14 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 15 Image Processing. Neighborhood stands out? GV12/3072 17 Image Processing. Check SSDs 18 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 19 Implementation • Match quality for displacements (∆x, ∆y) uses L2 norm: Δ(,)ε x Δ y wxyIx = (,)(,)(,)∑ +( Δ xy + Δ y − ) Ixy2 ( 3(,) ,x 3 ) y∈ ofN I, centeredp0 at • w is a window function – e.g. constant or Gaussian • Cornerness is min ε over the eight- neighbourhood N, excluding (0, 0) GV12/3072 20 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 21 Image Processing. Cornerness • Using 7x7 matching window. 22 Cornerness distribution # Pixels 23 Cornerness Non-maximal suppression • Set pixels that have an 8 neighbour with higher cornerness to zero. 24 Threshold T = 1 GV12/3072 25 Image Processing. Threshold T = 2 GV12/3072 26 Image Processing. Threshold T = 3 GV12/3072 27 Image Processing. Non-max Suppression Efficiently? Input, I (this time, pretend these are cornerness values) 28 Non-max Suppression by Dilation? Input, I (this time, pretend these are cornerness values) imdilate(I, ones(3,3)) 30 Moravec Algorithm Summary • Enhance corner features • Non-maximal suppression • Threshold GV12/3072 31 Image Processing. Problems • Multiple responses at high interest points • Extend non-maximal suppression to windows • Weak response to “blurred” corners • Slow GV12/3072 32 Image Processing. General Form Can we do better? Derive general theory of “cornerness” Δ(,)ε x Δ y wxyIx = (,)(,)(,)∑ +( Δ xy + Δ y − ) Ixy2 ( 3(,) ,x 3 ) y∈ ofN I, centeredp0 at ⎛ 2 ⎞ IIIx x y ⎛ x ⎞ x(,),ε y= () x⎜ y ⎟⎜ ⎟ =xT S x ⎜ 2 ⎟ IIIx y y ⎝ y⎠ ⎝ ⎠ 33 (See online Taylor series expansion/approximation) GV12/3072 35 Image Processing. Analytic Expansion • Taylor expansion of I(x + u, y + v) and substitution into ε gives: ⎛ 2 ⎞ IIIx x y ⎛ x ⎞ x(,),ε y= () x⎜ y ⎟⎜ ⎟ =xT S x ⎜III2 ⎟ y ⎝ x y y ⎠⎝ ⎠ • denotes average over the window <…> N. • S is the image structure tensor GV12/3072 36 Image Processing. 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 −λIIIIIIx λ() + y + x y − x y 0 = GV12/3072 37 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 38 From Marc Pollefeys Harris Corner Detector ideo)(Example V • smallest Defines cornerness as size of eigenvalue, or det(C = S ) /S Tr ( ) 2 2 2 2 2 CIIIIII= ⎜⎛ − ⎟⎞ /( + ) x⎝ y x y⎠ x y Cλ=1 λ 2/( λ 1 + )λ2 • Non-maximal suppression and thresholding as before GV12/3072 40 Image Processing. Cornerness and NMS 41 Sigma = 1, Threshold T=0.1 GV12/3072 42 Image Processing. Sigma = 1, Threshold T=0.15 GV12/3072 43 Image Processing. Sigma = 1, Threshold T=0.2 GV12/3072 44 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 ) − k Tr 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 45 Sigma = 5, Threshold T=0.001 GV12/3072 46 Image Processing. Sigma = 5, Threshold T=0.004 GV12/3072 47 Image Processing. Sigma = 5, Threshold T=0.007 GV12/3072 48 Image Processing. Harris and Stephens k = 0.02 Harris and Stephens, Proc. 4th Alvey Vision Conference, 147-151, GV12/3072 49 1988. Image Processing. SUSAN • Method for edge and corner detection • No image derivatives • Insensitive to noise • Smith et al, IJCV, 23(1):45-78, 1997 GV12/3072 53 Image Processing. USAN “Univalue Segment Assimilating Nucleus” It is the portion of the template with intensity within a threshold of the “nucleus”. GV12/3072 54 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 55 Image Processing. Example GV12/3072 56 Image Processing. 0011100 0111110 Implementation 1111111 C=1111111 1111111 • Circular mask C with radius 3.4 0111110 (|C| = 37 pixels). 0011100 • nucleus is the centre pixel The r0. 1 I r(− ) I r< ( ) t ⎧ 0 n= u(,) r0 r u(,) r0 r= ⎨ ∑ 0 ⎩ otherwise r∈ C()0 r T=3|C|/4 for edge detection C⎧ − n n< T T=|C|/2 for corner detection A()0 r = ⎨ 0⎩ otherwise Select t by considering image GV12/3072 57 Image Processing. 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 58 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 59 Image Processing. Trajkovic & Hedley • P and P’ are opposite points, diameter D apart GV12/3072 60 Image Processing. From Rosten & Drummond FAST • Set of n contiguous pixels in the circle which are all brighter / darker by some T? – n = 12? GV12/3072 61 Image Processing. • 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 62 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. By contrast, the handwritten detector asks on average 2.8 questions. 63 SIFT • Scale Invariant Feature Transform. • Detects “scale-space extrema”. • Highly stable features • Now widely used in computer vision. • D.G. Lowe, IJCV Vol. 60(2) 91-110 2004. GV12/3072 64 Image Processing. SIFT Application: Autostitch GV12/3072 65 Image Processing. DoG Scale Space … Subtract Efficiently … computed Laplacian scale space. GV12/3072 66 Image Processing. Scale space extrema • Find local maxima and minima in the scale space stack. • These are SIFT keypoints. GV12/3072 67 Image Processing. SIFT Keypoints GV12/3072 68 Image Processing. Threshold local variance • Keep the top 50 %. • Notice the response along edges. GV12/3072 69 Image Processing. Threshold Harris cornerness Lowe thresholds a cornerness measure in the scale space. GV12/3072 70 Image Processing. SIFT Features • Extrema in Laplacian are distinctive (after removing edges) • Extrema in scale space give scale independence. • Lowe creates features at each keypoint from the histogram of local edge orientations • Very stable features for affine matching GV12/3072 71 Image Processing. Evaluation of Interest- point Detectors? • Ideas? • Innovations? GV12/3072 72 Image Processing. Summary • Corners and point features • Various algorithms • Moravec • Harris (image structure tensor) • Sub-pixel accuracy • SUSAN • FAST • Example descriptor: SIFT GV12/3072 73 Image Processing..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    64 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