edge and corner detection - - tu kaiserslautern · edge and corner detection prof. stricker doz. g....
TRANSCRIPT
![Page 1: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/1.jpg)
Edge and corner detection
Prof. Stricker
Doz. G. Bleser
Computer Vision: Object and People Tracking
![Page 2: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/2.jpg)
Goals
• Where is the information in an image?
• How is an object characterized?
• How can I find measurements in the image?
• The correct „Good Features“ are essential
for tracking!
![Page 3: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/3.jpg)
Localize and track
3
* Slide from Michael Black, CS143 2003
![Page 4: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/4.jpg)
Outline
• Edge detection
• Canny edge detector
• Point extraction
Some slides from Lazebnik
![Page 5: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/5.jpg)
Edge Detection
![Page 6: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/6.jpg)
Edge detection
• Goal: Identify sudden changes (discontinuities) in an image • Intuitively, most semantic and
shape information from the image can be encoded in the edges
• More compact than pixels
• Ideal: artist’s line drawing (but artist is also using object-level knowledge)
Source: D. Lowe
![Page 7: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/7.jpg)
Origin of Edges
Edges are caused by a variety of factors
depth discontinuity
surface color discontinuity
illumination discontinuity
surface normal discontinuity
Source: Steve Seitz
![Page 8: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/8.jpg)
Characterizing edges
• An edge is a place of rapid change in the image
intensity function
image intensity function
(along horizontal scanline) first derivative
edges correspond to extrema of derivative
![Page 9: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/9.jpg)
The gradient points in the direction of most rapid increase in intensity
Image gradient The gradient of an image:
The gradient direction is given by
• how does this relate to the direction of the edge?
The edge strength is given by the gradient magnitude
Source: Steve Seitz
![Page 10: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/10.jpg)
Differentiation and convolution
Recall, for 2D function,
f(x,y):
This is linear and shift
invariant, so must be
the result of a
convolution.
We could approximate
this as
(which is obviously a
convolution)
f
x lim
0
f x , y
f x , y
f
xf x
n 1, y f x
n, y
x
-1 1
Source: D. Forsyth, D. Lowe
![Page 11: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/11.jpg)
Finite differences: example
Which one is the gradient in the x-direction (resp. y-direction)?
![Page 12: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/12.jpg)
Effects of noise
Consider a single row or column of the image • Plotting intensity as a function of position gives a signal
Where is the edge? Source: S. Seitz
![Page 13: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/13.jpg)
Effects of noise
• Finite difference filters respond strongly to
noise • Image noise results in pixels that look very different from
their neighbors
• Generally, the larger the noise the stronger the response
• What is to be done?
Source: D. Forsyth
![Page 14: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/14.jpg)
Effects of noise
• Finite difference filters respond strongly to noise • Image noise results in pixels that look very different from
their neighbors
• Generally, the larger the noise the stronger the response
• What is to be done? • Smoothing the image should help, by forcing pixels different
to their neighbors (=noise pixels?) to look more like neighbors
Source: D. Forsyth
![Page 15: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/15.jpg)
Solution: smooth first
• To find edges, look for peaks in )( gf
dx
d
f
g
f * g
)( gf
dx
d
Source: S. Seitz
![Page 16: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/16.jpg)
Derivative theorem of convolution
• Differentiation and convolution both linear operators: they “commute”
• This saves us one operation:
g
dx
df
f
g
dx
d
Source: S. Seitz
dx
dgfg
dx
dfgf
dx
d
![Page 17: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/17.jpg)
Derivative of Gaussian filter
Is this filter separable?
* [1 -1] =
![Page 18: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/18.jpg)
Derivative of Gaussian filter
x-direction y-direction
![Page 19: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/19.jpg)
Tradeoff between smoothing and localization
Smoothed derivative removes noise, but
blurs edge. Also finds edges at different
“scales”.
1 pixel 3 pixels 7 pixels
Source: D. Forsyth
![Page 20: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/20.jpg)
Finite difference filters
Source: K. Grauman
• Other approximations of derivative filters exist:
![Page 21: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/21.jpg)
Implementation issues
• The gradient magnitude is large along a thick
“trail” or “ridge,” so how do we identify the actual
edge points?
• How do we link the edge points to form curves?
Source: D. Forsyth
![Page 22: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/22.jpg)
Designing an edge detector
• Criteria for an “optimal” edge detector: • Good detection: the optimal detector must minimize the
probability of false positives (detecting spurious edges caused by
noise), as well as that of false negatives (missing real edges)
• Good localization: the edges detected must be as close as
possible to the true edges
• Single response: the detector must return one point only for each
true edge point; that is, minimize the number of local maxima
around the true edge
Source: L. Fei-Fei
![Page 23: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/23.jpg)
Canny edge detector
• This is probably the most widely used edge detector
in computer vision
• Theoretical model: step-edges corrupted by additive
Gaussian noise
• Canny has shown that the first derivative of the
Gaussian closely approximates the operator that
optimizes the product of signal-to-noise ratio and
localization
J. Canny, A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986.
Source: L. Fei-Fei
![Page 24: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/24.jpg)
Canny edge detector
1. Filter image with derivative of Gaussian
2. Find magnitude and orientation of gradient
3. Non-maximum suppression: • Thin multi-pixel wide “ridges” down to single pixel
width
4. Linking and thresholding (hysteresis): • Define two thresholds: low and high
• Use the high threshold to start edge curves and the low threshold to continue them
MATLAB: edge(image, ‘canny’)
Source: D. Lowe, L. Fei-Fei
![Page 25: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/25.jpg)
Example
original image (Lena)
![Page 26: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/26.jpg)
Example
norm of the gradient
![Page 27: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/27.jpg)
Example
thresholding
![Page 28: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/28.jpg)
Example
thinning (non-maximum suppression)
![Page 29: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/29.jpg)
Non-maximum suppression
At q, we have a maximum if the value is larger than those at both p and at r. Interpolate to get these values.
Source: D. Forsyth
![Page 30: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/30.jpg)
Assume the marked point is an edge point. Then we construct the tangent to the edge curve (which is normal to the gradient at that point) and use this to predict the next points (here either r or s).
Edge linking
Source: D. Forsyth
![Page 31: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/31.jpg)
Hysteresis thresholding
Check that maximum value of gradient value is
sufficiently large
• drop-outs? use hysteresis
– use a high threshold to start edge curves and a low threshold to
continue them.
Source: S. Seitz
![Page 32: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/32.jpg)
Hysteresis thresholding
original image
high threshold (strong edges)
low threshold (weak edges)
hysteresis threshold
Source: L. Fei-Fei
![Page 33: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/33.jpg)
Effect of (Gaussian kernel spread/size)
Canny with Canny with original
The choice of depends on desired behavior • large detects large scale edges
• small detects fine features
Source: S. Seitz
![Page 34: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/34.jpg)
Edge detection is just the beginning… Berkeley segmentation database:
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/
image human segmentation gradient magnitude
![Page 35: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/35.jpg)
Features
Some slides from S. Seitz
![Page 36: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/36.jpg)
Image Matching
![Page 37: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/37.jpg)
Image Matching
![Page 38: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/38.jpg)
Invariant local features
Find features that are invariant to transformations
• geometric invariance: translation, rotation, scale
• photometric invariance: brightness, exposure, …
Feature Descriptors
![Page 39: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/39.jpg)
Advantages of local features
Locality
• features are local, so robust to occlusion and clutter
Distinctiveness
• can differentiate a large database of objects
Quantity
• hundreds or thousands in a single image
Efficiency
• real-time performance achievable
Generality
• exploit different types of features in different situations
![Page 40: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/40.jpg)
More motivation…
Feature points are used for:
• Image alignment (e.g., mosaics)
• 3D reconstruction
• Motion tracking
• Object recognition
• Indexing and database retrieval
• Robot navigation
• … other
![Page 41: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/41.jpg)
What makes a good feature?
![Page 42: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/42.jpg)
Want uniqueness
Look for image regions that are unusual • Lead to unambiguous matches in other images
![Page 43: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/43.jpg)
Local measures of uniqueness
Suppose we only consider a small window of
pixels • What defines whether a feature is a good or bad candidate?
Slide adapted from Darya Frolova, Denis Simakov, Weizmann Institute.
![Page 44: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/44.jpg)
Feature detection
Local measure of feature uniqueness • How does the window change when you shift it?
• Shifting the window in any direction causes a big change
“flat” region:
no change in all
directions
“edge”:
no change along
the edge direction
“corner”:
significant change
in all directions
Slide adapted from Darya Frolova, Denis Simakov, Weizmann Institute.
![Page 45: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/45.jpg)
Consider shifting the window W by (u,v)
• how do the pixels in W change?
• compare each pixel before and after by
summing up the squared differences (SSD)
• this defines an SSD “error” of E(u,v):
Feature detection: the math
W
![Page 46: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/46.jpg)
Taylor Series expansion of I:
If the motion (u,v) is small, then first order approx is good
Plugging this into the formula on the previous slide…
Small motion assumption
![Page 47: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/47.jpg)
Consider shifting the window W by (u,v)
• how do the pixels in W change?
• compare each pixel before and after by
summing up the squared differences
• this defines an “error” of E(u,v):
Feature detection: the math
W
![Page 48: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/48.jpg)
Feature detection: the math
This can be rewritten:
For the example above
• You can move the center of the green window to anywhere on the
blue unit circle
• Which directions will result in the largest and smallest E values?
• We can find these directions by looking at the eigenvectors of H
![Page 49: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/49.jpg)
Quick eigenvalue/eigenvector review
The eigenvectors of a matrix A are the vectors x that satisfy:
The scalar is the eigenvalue corresponding to x
• The eigenvalues are found by solving:
• In our case, A = H is a 2x2 matrix, so we have
• The solution:
Once you know , you find x by solving
![Page 50: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/50.jpg)
Feature detection: the math
This can be rewritten:
Eigenvalues and eigenvectors of H
• Define shifts with the smallest and largest change (E value)
• x+ = direction of largest increase in E.
• + = amount of increase in direction x+
• x- = direction of smallest increase in E.
• - = amount of increase in direction x+
x-
x+
![Page 51: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/51.jpg)
Feature detection: the math
How are +, x+, -, and x+ relevant for feature detection?
• What’s our feature scoring function?
![Page 52: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/52.jpg)
Feature detection: the math
How are +, x+, -, and x+ relevant for feature detection?
• What’s our feature scoring function?
Want E(u,v) to be large for small shifts in all directions
• the minimum of E(u,v) should be large, over all unit vectors [u v]
• this minimum is given by the smaller eigenvalue (-) of H
![Page 53: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/53.jpg)
Feature detection summary (Kanade-Tomasi)
Here’s what you do
• Compute the gradient at each point in the image
• Create the H matrix from the entries in the gradient
• Compute the eigenvalues.
• Find points with large response (- > threshold)
• Choose those points where - is a local maximum as features
![Page 54: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/54.jpg)
Feature detection summary
Here’s what you do
• Compute the gradient at each point in the image
• Create the H matrix from the entries in the gradient
• Compute the eigenvalues.
• Find points with large response (- > threshold)
• Choose those points where - is a local maximum as features
![Page 55: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/55.jpg)
The Harris operator
- is a variant of the “Harris operator” for feature detection (- = 1 ; + = 2)
• The trace is the sum of the diagonals, i.e., trace(H) = h11 + h22
• Very similar to - 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
![Page 56: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/56.jpg)
The Harris operator
Harris operator
![Page 57: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/57.jpg)
Harris detector example
![Page 58: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/58.jpg)
f value (red high, blue low)
![Page 59: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/59.jpg)
Threshold (f > value)
![Page 60: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/60.jpg)
Find local maxima of f
![Page 61: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/61.jpg)
Harris features (in red)
![Page 62: Edge and corner detection - - TU Kaiserslautern · Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking](https://reader030.vdocuments.site/reader030/viewer/2022040310/5d4dbb0688c99357088b94d3/html5/thumbnails/62.jpg)
Thank you!