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