Transcript General
Edges
1
Humans easily understand “line drawings” as pictures.
Ellen L. Walker
What is an edge?
2
Edge = where intensity (or color or texture) changes
quickly (large gradient)
Step edge
Roof edge
Noisy edge
In 2D, direction of max. gradient is perpendicular to the
edge contour
Ellen L. Walker
Edge Properties
Magnitude
3
Edge strength (how sharp is the change?)
Direction
Orientation along edge
Perpendicular to gradient (greatest change in brightness)
direction
Ellen L. Walker
Measuring Change
Difference (first derivative - S')
Look for large differences between nearby pixels
1D mask: -1 0 1 (vary # of 0’s)
Thick edges
Maximum absolute value at “center” of edge
Difference of differences (second derivative - S'')
Look for change from growing difference to shrinking
difference
1D mask: 1 -2 1
4
Value crosses zero at “center” of edge
Ellen L. Walker
Edge Detection (first derivative)
5
Roberts (“home” is upper-left, usually)
10
01
add the results of both 2x2
0 -1
-1 0
convolutions
Sobel (compute “vertical” and “horizontal” separately,
take ratio v/h as estimate of tangent of angle of edge,
v*v + h*h as estimate of magnitude of edge.
1 2 1
-1 0 1
0 0 0
-2 0 2
-1 -2 -1
-1 0 1
h
v
Ellen L. Walker
Edge Detection (second derivative)
6
Laplacian – symmetric differences of differences
0 10
1 -4 1
0 10
4-connected 3x3
1 1 1
1 -8 1
1 1 1
8-connected 3x3
Laplacian of Gaussian (LoG) (eq. 4.23)
Smooth first, then take second derivative
By properties of convolution, mix into one mask
Also called "Mexican Hat filter”
Difference of Gaussian (DoG) is often a good substitute
(as in SIFT paper)
Ellen L. Walker
Finding the zero-crossing
Look directly for 0’s -- not a good idea (why?)
Look for values near zero -- still not too great?
Look for small regions that contain both positive and
negative values - assign one value in the region as zero
Zero-crossing images look like “plate of spaghetti”
http://library.wolfram.com/examples/edgedetection/Images/index_gr_87.gif
7
Ellen L. Walker
Properties of Derivative Masks
Sum of coordinates of the mask is 0
Response to uniform region is 0
Different from smoothing masks, with output = input for
uniform region
Response of first-derivative mask is large absolute value
at points of high contrast
8
Positive or negative depending on which side of the edge
is dark
Response of second-derivative mask is zero-crossing at
points of high contrast
Ellen L. Walker
Canny Edge Detector
Derived from “first principles”
Detect all edges and only edges (detection)
Put each edge in its proper place (localization)
One detection per edge (one response)
Mathematical optimization for first two, numerical
optimization for all three
Assume edges are step edges corrupted by white noise
10
Ellen L. Walker
Canny Edge Detector (Algorithm)
Convolve image with Gaussian of scale s
Estimate local edge normal directions for each pixel
Find location of edges using one-dimensional Laplacian
(a form of non-maximal suppression)
Compute edge magnitudes
Threshold edges with hysteresis (as contours are
followed)
11
(two thresholds - general and “border”)
Repeat for multiple scales & find persistent edges
Ellen L. Walker
Scale
Features exist at different scales
Gaussian smoothing parameter s chooses a scale
Edges can be associated with scale(s) where they
appear
12
Ellen L. Walker
Choosing Edge Pixels
First (higher threshold)
13
Find strong edge pixels
Next (lower threshold)
Find (weaker, but not too weak) neighboring edge pixels
to follow the contours
This ensures connected edges
Non-maximal suppression
Given directed edges, remove all but the maximum
responding pixel in the perpendicular direction to the edge
This effectively thins the edges
Ellen L. Walker
Color Edges
Detect edges separately in each band (RGB, etc) –
combine results for each point
Any edge detector can be used
Depending on combination method, issues can arise
14
Adding – what if edges cancel?
Or’ing – likelihood of thick edges.
Work in a higher dimension, e.g. 2x2x3
Estimate local color statistics in each band and make
decisions
Estimate magnitudes and orientations in each band, then
compute weighted average orientation
Ellen L. Walker
Contour Following (General)
Assume a list of existing segments, a current segment,
and a pixel
Examine every pixel
15
If "start", create a new segment with this pixel
If "interior", add it to the neighboring segment
If "end", add it to the neighboring segment and end that
segment
If "corner", add to IN segment & end that segment, add
pixel to OUT segment (or start one, if needed)
If "junction", add to IN segment and end that segment,
also add to each OUT segment (creating new ones as
necessary)
Ellen L. Walker
Contour Tracking Issues
Starting a new segment
Adding a pixel to a segment
Ending a segment
Need "in" segment # and "out" segment #s
Finding a corner
16
Need current segment #
Finding a junction
Need current segment #
Need "in" segment # and "out" segment #
Ellen L. Walker
Contour Tracking + Thresholding with Hysteresis
17
Original threshold (high) for selecting initial edge points
Second threshold (lower) for extending contours
Ellen L. Walker
Encoding Contours
Chain code
Each segment is coded by the direction to its successor
(N, NE, E, SE, S, SW, W, NW)
Not amenable to further processing
Arc length parameterization (fig. 4.38)
18
Curve is “unwrapped”; x and y plotted separately
Ellen L. Walker
Matching Curves
First normalize:
Scale coordinates so total arc length = 1
Translate coordinates so centroid is (0,0)
Then match:
Similar curves will have similar coordinates, except
19
Phase shift due to rotation
Shift in starting point
Ellen L. Walker
Fitting Lines to Contour
20
Given a contour (sequence of edgels)
Find a poly-line approximation (sequence of connected
line segments)
For which all points lie sufficiently close to the contour.
Example:
Ellen L. Walker
Curve Approximation Algorithm
Begin with a single segment (the endpoints of the curve)
Repeatedly subdivide the worst-fitting segment until all
segments fit sufficiently well
Find the point on the segment furthest from the contour
Split the segment, by creating a new point on the contour.
Figure 4.43
21
Ellen L. Walker