robert collins cse486, penn statertc12/cse486/lecture05.pdf · cse486, penn state robert collins...
TRANSCRIPT
![Page 1: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/1.jpg)
CSE486, Penn StateRobert Collins
Lecture 5:Gradients and Edge Detection
Reading: T&V Section 4.1 and 4.2
![Page 2: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/2.jpg)
CSE486, Penn StateRobert Collins
What Are Edges?
Simple answer: discontinuities in intensity.
![Page 3: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/3.jpg)
CSE486, Penn StateRobert Collins
Boundaries of objects
![Page 4: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/4.jpg)
CSE486, Penn StateRobert Collins
Boundaries of Material Properties
D.Jacobs, U.Maryland
![Page 5: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/5.jpg)
CSE486, Penn StateRobert Collins
Boundaries of Lighting
D.Jacobs, U.Maryland
![Page 6: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/6.jpg)
CSE486, Penn StateRobert Collins
Types of Edges (1D Profiles)
• Edges can be modeled according to their intensity profiles:
• Step edge:– the image intensity abruptly
changes from one value toone side of the discontinuityto a different value on theopposite side.
• Ramp edge:– a step edge where the
intensity change is notinstantaneous but occursover a finite distance.
M.Nicolescu, UNR
step
ramp
step ramp
![Page 7: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/7.jpg)
CSE486, Penn StateRobert Collins
Examples
![Page 8: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/8.jpg)
CSE486, Penn StateRobert Collins
Types of Edges (1D Profiles)
• Ridge edge:– the image intensity abruptly changes value but then returns
to the starting value within some short distance
– generated usually by lines
M.Nicolescu, UNR
![Page 9: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/9.jpg)
CSE486, Penn StateRobert Collins
Examples
![Page 10: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/10.jpg)
CSE486, Penn StateRobert Collins
Examples
![Page 11: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/11.jpg)
CSE486, Penn StateRobert Collins
Types of Edges (1D Profiles)
• Roof edge:– a ridge edge where the intensity change is not instantaneous
but occurs over a finite distance
– generated usually by the intersection of surfaces
M.Nicolescu, UNR
![Page 12: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/12.jpg)
CSE486, Penn StateRobert Collins
Examples
![Page 13: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/13.jpg)
CSE486, Penn StateRobert Collins
Step/Ramp Edge Terminology• Edge descriptors
– Edge normal: unit vector in the direction of maximum intensity change.
– Edge direction: unit vector along edge (perpendicular to edge normal).
– Edge position or center: the image position at which the edge is located.
– Edge strength or magnitude: local image contrast along the normal.
M.Nicolescu, UNR
Important point: All of this information can becomputed from the gradient vector field!!
![Page 14: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/14.jpg)
CSE486, Penn StateRobert Collins
Summary of Gradients
M.Hebert, CMU
Gradient Vector: =[ , ]
Magnitude: Orientation
T
![Page 15: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/15.jpg)
CSE486, Penn StateRobert Collins
Simple Edge Detection Using Gradients
A simple edge detector using gradient magnitude
M.Nicolescu, UNR
•Compute gradient vector at each pixel byconvolving image with horizontal andvertical derivative filters
•Compute gradient magnitude at each pixel
•If magnitude at a pixel exceeds a threshold,report a possible edge point.
![Page 16: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/16.jpg)
CSE486, Penn StateRobert Collins
Compute Spatial Image Gradients
I(x+1,y) - I(x-1,y)
2I(x,y)
I(x,y+1) - I(x,y-1)
2
Ix=dI(x,y)/dx
Iy=dI(x,y)/dy
Partial derivative wrt x
Partial derivative wrt y
Replace with your favoritesmoothing+derivative operator
![Page 17: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/17.jpg)
CSE486, Penn StateRobert Collins
Simple Edge Detection Using Gradients
A simple edge detector using gradient magnitude
M.Nicolescu, UNR
•Compute gradient vector at each pixel byconvolving image with horizontal andvertical derivative filters
•Compute gradient magnitude at each pixel
•If magnitude at a pixel exceeds a threshold,report a possible edge point.
![Page 18: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/18.jpg)
CSE486, Penn StateRobert Collins
Compute Gradient MagnitudeI(x,y) Ix Iy
Magnitude of gradient sqrt(Ix.^2 + Iy.^2)
Measures steepness ofslope at each pixel(= edge contrast)
![Page 19: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/19.jpg)
CSE486, Penn StateRobert Collins
Simple Edge Detection Using Gradients
A simple edge detector using gradient magnitude
M.Nicolescu, UNR
•Compute gradient vector at each pixel byconvolving image with horizontal andvertical derivative filters
•Compute gradient magnitude at each pixel
•If magnitude at a pixel exceeds a threshold,report a possible edge point.
![Page 20: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/20.jpg)
CSE486, Penn StateRobert Collins
Threshold to Find Edge Pixels
• Example – cont.:
M.Nicolescu, UNR
Binary edge image
ThresholdMag > 30
![Page 21: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/21.jpg)
CSE486, Penn StateRobert Collins
Edge Detection Using Gradient Magnitude
M.Nicolescu, UNR
![Page 22: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/22.jpg)
CSE486, Penn StateRobert Collins
Issues to Address
How should we choose the threshold?
M.Nicolescu, UNR
> 10 > 30 > 80
![Page 23: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/23.jpg)
CSE486, Penn StateRobert Collins
Trade-off: Smoothing vs Localization
M.Hebert, CMU
![Page 24: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/24.jpg)
CSE486, Penn StateRobert Collins
Issues to Address
Edge thinning and linking
M.Nicolescu, UNR
smoothing+thresholding gives us a binary mask with “thick” edges
we want thin, one-pixelwide, connected contours
![Page 25: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/25.jpg)
CSE486, Penn StateRobert Collins
Canny Edge Detector
An important case study
Probably, the most used edge detectionalgorithm by C.V. practitioners
Experiments consistently show that itperforms very well
J. Canny A Computational Approach to Edge Detection,IEEE Transactions on Pattern Analysis and MachineIntelligence, Vol 8, No. 6, Nov 1986
![Page 26: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/26.jpg)
CSE486, Penn StateRobert Collins Formal Design of an
Optimal Edge Detector
• Edge detection involves 3 steps:– Noise smoothing
– Edge enhancement
– Edge localization
• J. Canny formalized these steps to design anoptimal edge detector
O.Camps, PSU
![Page 27: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/27.jpg)
CSE486, Penn StateRobert Collins
Edge Model (1D)
• An ideal edge can be modeled as an step
AA
≤
<=
0 if
0 if 0)(
xA
xxG
O.Camps, PSU
• Additive, White Gaussian Noise– RMS noise amplitude/unit length no
2
![Page 28: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/28.jpg)
CSE486, Penn StateRobert Collins
Performance Criteria (1)
• Good detection– The filter must have a stronger response at the
edge location (x=0) than to noise
O.Camps, PSU
![Page 29: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/29.jpg)
CSE486, Penn StateRobert Collins
Performance Criteria (2)
• Good Localization– The filter response must be maximum very
close to x=0
X=0X=0
O.Camps, PSU
![Page 30: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/30.jpg)
CSE486, Penn StateRobert Collins
Performance Criteria (3)
• Low False Positives– There should be only one maximum in a
reasonable neighborhood of x=0
largelarge
O.Camps, PSU
![Page 31: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/31.jpg)
CSE486, Penn StateRobert Collins
Canny Edge Detector
• Canny found a linear, continuous filter thatmaximized the three given criteria.
• There is no closed-form solution for the optimal filter.
• However, it looks VERY SIMILAR to the derivativeof a Gaussian.
![Page 32: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/32.jpg)
CSE486, Penn StateRobert Collins Recall: Practical Issues
for Edge Detection
Thinning and linking Choosing a magnitude threshold
OR
Canny has good answers to all!
![Page 33: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/33.jpg)
CSE486, Penn StateRobert Collins
Thinning
We want to mark points along curve where the magnitude is largest.
We can do this by looking for a maximum along a 1D intensity slice normal to the curve (non-maximum supression).
mag
nitu
de
location along slice
mag(x0) = maximum
x0
These points should form a one-pixel wide curve.
note: do thinning before thresholding!
![Page 34: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/34.jpg)
CSE486, Penn StateRobert Collins
Which Threshold to Pick?
Two thresholds applied to gradient magnitude
•If the threshold is too high:–Very few (none) edges
•High MISDETECTIONS, many gaps•If the threshold is too low:
–Too many (all pixels) edges•High FALSE POSITIVES, many extra edges
problem:
![Page 35: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/35.jpg)
CSE486, Penn StateRobert Collins
SOLUTION: Hysteresis Thresholding
Allows us to apply both! (e.g. a “fuzzy” threshold)
•Keep both a high threshold H and a low threshold L.•Any edges with strength < L are discarded.•Any edge with strength > H are kept.•An edge P with strength between L and H is kept only if there is a path of edges with strength > L connecting P to an edge of strength > H.
•In practice, this thresholding is combined with edge linking to get connected contours
![Page 36: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/36.jpg)
CSE486, Penn StateRobert Collins
Example of Hysteresis Thresholding
M.Hebert, CMU
![Page 37: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/37.jpg)
CSE486, Penn StateRobert Collins
Forsyth and Ponce
Canny Edges: Examples
![Page 38: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/38.jpg)
CSE486, Penn StateRobert Collins
fine scalehigh threshold
Forsyth and Ponce
![Page 39: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/39.jpg)
CSE486, Penn StateRobert Collins
coarse scale,high threshold
Forsyth and Ponce
![Page 40: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/40.jpg)
CSE486, Penn StateRobert Collins
coarsescalelowthreshold
Forsyth and Ponce
![Page 41: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2](https://reader033.vdocument.in/reader033/viewer/2022050917/5ad52a837f8b9a075a8c9313/html5/thumbnails/41.jpg)
CSE486, Penn StateRobert Collins
Complete Canny Algorithm
M.Hebert, CMUSee textbook for more details.