edge operators
DESCRIPTION
Edge Operators. a kind of filtering that leads to useful features. Lines and Arcs Segmentation. In some image sets, lines, curves, and circular arcs are more useful than regions or helpful in addition to regions. Lines and arcs are often used in object recognition stereo matching - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/1.jpg)
11
Edge OperatorsEdge Operators
a kind of filtering that leads to a kind of filtering that leads to useful featuresuseful features
![Page 2: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/2.jpg)
22
Lines and ArcsLines and ArcsSegmentationSegmentation
In some image sets, lines, curves, and circular arcsare more useful than regions or helpful in additionto regions.
Lines and arcs are often used in
• object recognition
• stereo matching
• document analysis
![Page 3: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/3.jpg)
33
Edge DetectionEdge Detection
Basic idea: look for a neighborhood with strong signsof change.
81 82 26 2482 33 25 2581 82 26 24
Problems:
• neighborhood size
• how to detect change
![Page 4: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/4.jpg)
44
Differential OperatorsDifferential Operators
Differential operators
• attempt to approximate the gradient at a pixel via masks
• threshold the gradient to select the edge pixels
![Page 5: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/5.jpg)
55
Example: Sobel OperatorExample: Sobel Operator
-1 0 1 1 2 1Sx = -2 0 2 Sy = 0 0 0 -1 0 1 -1 -2 -1
On a pixel of the image I• let gx be the response to Sx• let gy be the response to Sy
And g = (gx + gy ) is the gradient magnitude.
= atan2(gy,gx) is the gradient direction.
2 2 1/2
Then the gradient is I = [gx gy] T
![Page 6: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/6.jpg)
66
Sobel Operator on the Blocks Sobel Operator on the Blocks ImageImage
original image gradient thresholded magnitude gradient magnitude
![Page 7: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/7.jpg)
77
Common Masks for Computing Common Masks for Computing GradientGradient
Sobel:Sobel:
Prewitt:Prewitt:
RobertsRoberts
-1 0 1-1 0 1-1 0 1
1 1 10 0 0-1 -1 -1
-1 0 1-2 0 2-1 0 1
1 2 10 0 0-1 -2 -1
0 1-1 0
1 00 -1
Sx Sy
![Page 8: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/8.jpg)
88
Zero Crossing OperatorsZero Crossing Operators
Motivation: The zero crossings of the second derivative of the image function are more precise than the peaks of the first derivative.
step edge
smoothed
1st derivative
2nd derivativezero crossing
![Page 9: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/9.jpg)
99
How do we estimate the Second How do we estimate the Second Derivative?Derivative?
Laplacian Filter: Laplacian Filter: f = f = f / f / x + x + f / f / yy
0 1 01 -4 10 1 0
2 2 2 2
• Standard mask implementation
• Derivation: In 1D, the first derivative can be computed with mask [-1 0 1]
• The 1D second derivative is [1 -2 1]*
• The Laplacian mask estimates the 2D second derivative.
2
![Page 10: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/10.jpg)
1010
Properties of Derivative MasksProperties of Derivative Masks Coordinates of derivative masks have opposite signs in Coordinates of derivative masks have opposite signs in
order to obtain a high response in regions of high order to obtain a high response in regions of high contrast.contrast.
The sum of coordinates of derivative masks is zero, so The sum of coordinates of derivative masks is zero, so that a zero response is obtained on constant regions.that a zero response is obtained on constant regions.
First derivative masks produce high absolute values at First derivative masks produce high absolute values at points of high contrast.points of high contrast.
Second derivative masks produce zero-crossings at Second derivative masks produce zero-crossings at points of high contrast.points of high contrast.
![Page 11: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/11.jpg)
1111
Marr/Hildreth OperatorMarr/Hildreth Operator
• First smooth the image via a Gaussian convolution.
• Apply a Laplacian filter (estimate 2nd derivative).
• Find zero crossings of the Laplacian of the Gaussian.
This can be done at multiple resolutions.
![Page 12: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/12.jpg)
1212
Haralick OperatorHaralick Operator
• Fit the gray-tone intensity surface to a piecewise cubic polynomial approximation.
• Use the approximation to find zero crossings of the second directional derivative in the direction that maximizes the first directional derivative.
The derivatives here are calculated from direct mathematical expressions wrt the cubic polynomial.
![Page 13: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/13.jpg)
1313
Canny Edge DetectorCanny Edge Detector
• Smooth the image with a Gaussian filter with spread .
• Compute gradient magnitude and direction at each pixel of the smoothed image.
• Zero out any pixel response the two neighboring pixels on either side of it, along the direction of the gradient.
• Track high-magnitude contours.
• Keep only pixels along these contours, so weak little segments go away.
![Page 14: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/14.jpg)
1414
Canny Examples Canny Examples Canny =1 Canny =4
Canny =1 Roberts 2X2
![Page 15: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/15.jpg)
1515
Canny on Kidney Canny on Kidney
![Page 16: Edge Operators](https://reader036.vdocuments.us/reader036/viewer/2022062408/5681365e550346895d9dea31/html5/thumbnails/16.jpg)
1616
Canny CharacteristicsCanny Characteristics
The Canny operator gives single-pixel-wide The Canny operator gives single-pixel-wide images with good continuation between adjacent images with good continuation between adjacent pixelspixels
It is the most widely used edge operator today; It is the most widely used edge operator today; no one has done better since it came out in the no one has done better since it came out in the late 80s. Many implementations are available.late 80s. Many implementations are available.
It is very sensitive to its parameters, which need It is very sensitive to its parameters, which need to be adjusted for different application domains.to be adjusted for different application domains.