630 likes | 865 Views
Algorithms and Applications in Computer Vision. Lihi Zelnik -Manor lihi@ee.technion.ac.il Lecture 6: Feature detection. Today: Feature Detection and Matching. Local features Pyramids for invariant feature detection Invariant descriptors Matching. Image matching. by Diva Sian.
E N D
Algorithms and Applications in Computer Vision LihiZelnik-Manor lihi@ee.technion.ac.il Lecture 6: Feature detection
Today: Feature Detection and Matching • Local features • Pyramids for invariant feature detection • Invariant descriptors • Matching
Image matching by Diva Sian by swashford TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAA
Harder case by Diva Sian by scgbt
Harder still? NASA Mars Rover images
Answer below (look for tiny colored squares…) NASA Mars Rover images with SIFT feature matchesFigure by Noah Snavely
Local features and alignment • We need to match (align) images • Global methods sensitive to occlusion, lighting, parallax effects. So look for local features that match well. • How would you do it by eye? [Darya Frolova and Denis Simakov]
Local features and alignment • Detect feature points in both images [Darya Frolova and Denis Simakov]
Local features and alignment • Detect feature points in both images • Find corresponding pairs [Darya Frolova and Denis Simakov]
Local features and alignment • Detect feature points in both images • Find corresponding pairs • Use these pairs to align images [Darya Frolova and Denis Simakov]
Local features and alignment Problem 1: Detect the same point independently in both images no chance to match! We need a repeatable detector [Darya Frolova and Denis Simakov]
Local features and alignment Problem 2: For each point correctly recognize the corresponding one ? We need a reliable and distinctive descriptor [Darya Frolova and Denis Simakov]
Photometric transformations Figure from T. Tuytelaars ECCV 2006 tutorial
And other nuisances… Noise Blur Compression artifacts …
Invariant local features Subset of local feature types designed to be invariant to common geometric and photometric transformations. Basic steps: Detect distinctive interest points Extract invariant descriptors Figure: David Lowe
Main questions • Where will the interest points come from? • What are salient features that we’ll detect in multiple views? • How to describe a local region? • How to establish correspondences, i.e., compute matches?
Finding Corners • Key property: in the region around a corner, image gradient has two or more dominant directions • Corners are repeatable and distinctive C.Harris and M.Stephens. "A Combined Corner and Edge Detector.“Proceedings of the 4th Alvey Vision Conference: pages 147--151. Source: Lana Lazebnik
“flat” region:no change in all directions “edge”:no change along the edge direction “corner”:significant change in all directions Corners as distinctive interest points • We should easily recognize the point by looking through a small window • Shifting a window in anydirection should give a large change in intensity Source: A. Efros
Window function Shifted intensity Intensity Window function w(x,y) = or 1 in window, 0 outside Gaussian Harris Detector formulation Change of intensity for the shift [u,v]: Source: R. Szeliski
M Harris Detector formulation This measure of change can be approximated by: where M is a 22 matrix computed from image derivatives: Gradient with respect to x, times gradient with respect to y Sum over image region – area we are checking for corner
M Harris Detector formulation where M is a 22 matrix computed from image derivatives: Gradient with respect to x, times gradient with respect to y Sum over image region – area we are checking for corner
What does this matrix reveal? First, consider an axis-aligned corner:
What does this matrix reveal? First, consider an axis-aligned corner: This means dominant gradient directions align with x or y axis If either λ is close to 0, then this is not a corner, so look for locations where both are large. What if we have a corner that is not aligned with the image axes? Slide credit: David Jacobs
direction of the fastest change direction of the slowest change (max)-1/2 (min)-1/2 General Case Since M is symmetric, we have We can visualize M as an ellipse with axis lengths determined by the eigenvalues and orientation determined by R Slide adapted form Darya Frolova, Denis Simakov.
Interpreting the eigenvalues Classification of image points using eigenvalues of M: 2 “Edge” 2 >> 1 “Corner”1 and 2 are large,1 ~ 2;E increases in all directions 1 and 2 are small;E is almost constant in all directions “Edge” 1 >> 2 “Flat” region 1
Corner response function α: constant (0.04 to 0.06) “Edge” R < 0 “Corner”R > 0 |R| small “Edge” R < 0 “Flat” region
Harris Corner Detector Algorithm steps: Compute M matrix within all image windows to get their R scores Find points with large corner response (R > threshold) Take the points of local maxima of R
Harris Detector: Workflow Slide adapted form Darya Frolova, Denis Simakov, Weizmann Institute.
Harris Detector: Workflow Compute corner response R
Harris Detector: Workflow Find points with large corner response: R>threshold
Harris Detector: Workflow Take only the points of local maxima of R
Harris Detector: Properties Rotation invariance Ellipse rotates but its shape (i.e. eigenvalues) remains the same Corner response R is invariant to image rotation
Harris Detector: Properties Not invariant to image scale All points will be classified as edges Corner !
How to cope with transformations? • Exhaustive search • Invariance • Robustness
Exhaustive search • Multi-scale approach Slide from T. Tuytelaars ECCV 2006 tutorial
Exhaustive search • Multi-scale approach
Exhaustive search • Multi-scale approach
Exhaustive search • Multi-scale approach
Invariance • Extract patch from each image individually
Automatic scale selection Solution: Design a function on the region, which is “scale invariant” (the same for corresponding regions, even if they are at different scales) scale = 1/2 Image 1 f f Image 2 region size region size Example: average intensity. For corresponding regions (even of different sizes) it will be the same. • For a point in one image, we can consider it as a function of region size (patch width)
Automatic scale selection Common approach: scale = 1/2 Image 1 f f Image 2 s1 s2 region size region size Take a local maximum of this function Observation: region size, for which the maximum is achieved, should be invariant to image scale. Important: this scale invariant region size is found in each image independently!
Automatic Scale Selection Function responses for increasing scale (scale signature) 48 K. Grauman, B. Leibe K. Grauman, B. Leibe
Automatic Scale Selection Function responses for increasing scale (scale signature) 49 K. Grauman, B. Leibe K. Grauman, B. Leibe
Automatic Scale Selection Function responses for increasing scale (scale signature) 50 K. Grauman, B. Leibe K. Grauman, B. Leibe
Automatic Scale Selection Function responses for increasing scale (scale signature) 51 K. Grauman, B. Leibe K. Grauman, B. Leibe