4lec04 Harris For Web
4lec04 Harris For Web
https://www.space.com/nasa-perseverance-rover-first-panorama-mars
Motivation: Automatic panoramas
GigaPan:
http://gigapan.com/
Also see Google Zoom Views:
https://www.google.com/culturalinstitute/beta/project/gigapixels
Why extract features?
• Motivation: panorama stitching
– We have two images – how do we combine them?
Why extract features?
• Motivation: panorama stitching
– We have two images – how do we combine them?
Feature Descriptors
Advantages of local features
Locality
– features are local, so robust to occlusion and clutter
Quantity
– hundreds or thousands in a single image
Distinctiveness:
– can differentiate a large database of objects
Efficiency
– real-time performance achievable
More motivation…
Feature points are used for:
– Image alignment (e.g., mosaics)
– 3D reconstruction
– Motion tracking (e.g. for AR)
– Object recognition
– Image retrieval
– Robot/car navigation
– … other
Local features: main components
1) Detection: Identify the
interest points
Snoop demo
Want uniqueness
Look for image regions that are unusual
– Lead to unambiguous matches in other images
Horizontal edge:
v
u
E(u,v)
Vertical edge:
v
u
General case
We can visualize H as an ellipse with axis lengths
determined by the eigenvalues of H and orientation
determined by the eigenvectors of H
– The solution:
xmin
xmax
l2 “Edge”
l2 >> l1 “Corner”
l1 and l2 are large,
l1 ~ l2;
E increases in all
directions
l1
Corner detection summary
Here’s what you do:
• Compute the gradient at each point in the image
• For each pixel:
• Create the H matrix from nearby gradient values
• Compute the eigenvalues.
• Find points with large response (lmin > threshold)
• Choose those points where lmin is a local maximum as features
Corner detection summary
Here’s what you do:
• Compute the gradient at each point in the image
• For each pixel:
• Create the H matrix from nearby gradient values
• Compute the eigenvalues.
• Find points with large response (lmin > threshold)
• Choose those points where lmin is a local maximum as features
The Harris operator
lmin is a variant of the “Harris operator” for feature detection
• The trace is the sum of the diagonals, i.e., trace(H) = h11 + h22
• Very similar to lmin but less expensive (no square root)
• Called the Harris Corner Detector or Harris Operator
• Lots of other detectors, this is one of the most popular
Alternate Harris operator
• For Project 2, you will use an alternate definition of the
Harris operator:
The Harris operator
Harris
operator
Harris detector example
f value (red high, blue low)
Threshold (f > value)
Find local maxima of f (non-max suppression)
Harris features (in red)
Weighting the derivatives
• In practice, using a simple window W doesn’t work too
well