420 likes | 522 Vues
Learn about the Canny edge detection algorithm for defining region boundaries, its advantages, problems, and implementation details in this insightful guide from Stockman's MSU/CSE course. Discover the method to detect boundaries accurately, represent them sparsely, and address issues like weak detection at corners. Explore the advantages of using contrast for image segmentation and tracking high-gradient boundary pixels. Gain knowledge about boundary representation, curve fitting, and Hough Transform for detecting line segments. This tutorial also covers solutions for errors in parameter spaces and insightful tips for image processing tasks.
E N D
Finding region boundaries Stockman MSU/CSE Fall 2009
Object boundaries • How to detect? • How to represent? • Problems relative to region/area segmentation Stockman MSU/CSE Fall 2009
advantages • Contrast often more reliable under varying lighting • Boundaries give precise location • Boundaries have useful shape information • Boundary representation is sparse • Humans use edge information Stockman MSU/CSE Fall 2009
problems • Detection weakens at boundary corners • Topology of result is imperfect Stockman MSU/CSE Fall 2009
topics • Aggregating chains of boundary pixels • Line and curve fitting • Angles, sides, vertices • Ribbons • Imperfect graphs Stockman MSU/CSE Fall 2009
Canny edge detector/tracker • Detect, then follow high gradient boundary pixels • Track along a “thin” edge • Bridge across weaker contrast Stockman MSU/CSE Fall 2009
Canny algorithm data Stockman MSU/CSE Fall 2009
Overall Canny algorithm Stockman MSU/CSE Fall 2009
Create thin edge response by suppressing weaker neighbors • Find neighbors in direction of the gradient (across the edge) • If neighbor response is weaker, delete it. • Recall thick edges from 5x5 Sobel or Prewitt Stockman MSU/CSE Fall 2009
Begin tracking only at high gradient points Stockman MSU/CSE Fall 2009
Results with two spreads Stockman MSU/CSE Fall 2009
Notes/Variations • Very few parameters needed • Can use multiple spreads and correlate the results in multiple edge images • Can carefully manage the use of low and high thresholds, perhaps depending on size and quality of the current track • Canny edge tracker is very popular Stockman MSU/CSE Fall 2009
Aggregating pixels into curves Producing a discrete data structure with meaningful parts. Stockman MSU/CSE Fall 2009
Tracking tasks Canny algorithm does some of these. Stockman MSU/CSE Fall 2009
Possible output from tracker Stockman MSU/CSE Fall 2009
The Hough Transform Detecting a straight line segment as a cluster in rho-theta space. (Can do circles or ellipses too.) Stockman MSU/CSE Fall 2009
Voting evidence in cluster space Stockman MSU/CSE Fall 2009
Pixels with distinct (r,c) coordinates map to same (d, Θ) Y Detected set of edge points d Textbook coordinate system vs Cartesian system Θ X Stockman MSU/CSE Fall 2009
Mapping pixels (r, c) to polar parmameters (d, Θ) Row-column system Cartesian coordinate system d = x cos Θ + y sin Θ Stockman MSU/CSE Fall 2009
Simple algorithm overview Stockman MSU/CSE Fall 2009
Possible implementation Stockman MSU/CSE Fall 2009
Binning evidence: note that original pixels [R, C] are saved in the bins. Stockman MSU/CSE Fall 2009
Real world considerations • The gradient direction Θ is bound to have error (due to what?) • Since d is computed from Θ, d will also have error • Thus, evidence is spread in parameter space and may frustrate binning methods (2D histogram) Stockman MSU/CSE Fall 2009
Solutions • Bins for (d, Θ) can be smoothed to aggregate neighbors. • Multiple evidence can be put into the bins by adding deltas to Θ and computing variations of (d, Θ) • Clustering can be done in real space; e.g. do not use binning • Busy images should be handled using a grid of (overlapping) windows to avoid a cluttered transform space Stockman MSU/CSE Fall 2009
What is the space of d and Θ ? • Many apps range Θ from 0 to π only • However, gradient direction can be detected from 0 to 2 π. • Imagine a checkerboard – there are 4 prominent directions, not 2. • Using full range of direction requires negative values of d – consider checkerboard with origin in the center. Stockman MSU/CSE Fall 2009
Additional material • Plastic slides from Stockman • Plastic slides from Kasturi Stockman MSU/CSE Fall 2009
Image to map work of Kasturi Stockman MSU/CSE Fall 2009
Circular Hough Transform There are 3 parameters for a circle Stockman MSU/CSE Fall 2009
Possible implementation Stockman MSU/CSE Fall 2009
Some notes • Circular and elliptical Hough Transforms are interesting, but of dubious value by themselves • Smarter tracking methods, such as Snakes, balloons, etc. might be needed along with region features • There are weak publications that will not help in real applications. Stockman MSU/CSE Fall 2009
Fitting models to edge data Can use straight line segments for data compression, or parametric curves for shape detection. Stockman MSU/CSE Fall 2009
Fitting curves Stockman MSU/CSE Fall 2009
An unlimited number of models Stockman MSU/CSE Fall 2009
Least squares fitting Stockman MSU/CSE Fall 2009
Best fit minimizes sum of squared errors Stockman MSU/CSE Fall 2009
Axis of least inertia better? Stockman MSU/CSE Fall 2009
Ramer’s alg: perimeter to polygon Stockman MSU/CSE Fall 2009
Angles, corners, ribbons Stockman MSU/CSE Fall 2009
The downspout as a ribbon Stockman MSU/CSE Fall 2009
Road and canal as ribbons Stockman MSU/CSE Fall 2009
More boundary detection later • Will investigate “physics-based models” • Can fit to 2D (snakes) or 3D data (balloons) • Models do not allow the object topology to break • Models enforce object smoothness Stockman MSU/CSE Fall 2009