Page 77 -
P. 77
Chapter 2 ■ Edge-Detection Techniques 51
The resulting image B = S-I is the band-limited Laplacian of the image. From
this the binary Laplacian image (BLI) is obtained by setting all the positive
valued pixels in B to 1and allothersto0;thisiscalculatedbythe Cfunction
compute_bli in the ISEF source code provided. The candidate edge pixels
are on the boundaries of the regions in BLI, which correspond to the zero
crossings. These could be used as edges, but some additional enhancements
improve the quality of the edge pixels identified by the algorithm.
The first improvement is the use of false zero-crossing suppression,which is
related to the non-maximum suppression performed in the Canny approach.
At the location of an edge pixel there will be a zero crossing in the second
derivative of the filtered image. This means that the gradient at that point is
either a maximum or a minimum. If the second derivative changes sign from
positive to negative, this is called a positive zero crossing, and if it changes from
negative to positive, it is called a negative zero crossing. We will allow positive
zero crossings to have a positive gradient, and negative zero crossings to have
a negative gradient. All other zero crossings are assumed to be false (spurious)
and are not considered to correspond to an edge. This is implemented in the
function is_candidate_edge in the ISEF code.
In situations where the original image is very noisy, a standard thresholding
method may not be sufficient. The edge pixels could be thresholded using
a global threshold applied to the gradient, but Shen and Castan suggest an
adaptive gradient method. A window with fixed width W is centered at candidate
edge pixels found in the BLI. If this is indeed an edge pixel, then the window
will contain two regions of differing grey level separated by an edge (zero
crossing contour). The best estimate of the gradient at that point should be the
difference in level between the two regions, where one region corresponds to
the zero pixels in the BLI and the other corresponds to the one-valued pixels.
The function compute_adaptive_gradient performs this activity.
Finally, a hysteresis thresholding method is applied to the edges. This
algorithm is basically the same as the one used in the Canny algorithm,
adapted for use on an image where edges are marked by zero crossings. The
Cfunction threshold_edges performs hysteresis thresholding.
2.6 A Comparison of Two Optimal Edge Detectors
The two signal edge detectors examined in this chapter are the Canny operator
and the Shen-Castan method. A good way to end the discussion of edge
detection may be to compare these two approaches against each other.
To summarize the two methods, the Canny algorithm convolves the image
with the derivative of a Gaussian, and then performs non-maximum sup-
pression and hysteresis thresholding. The Shen-Castan algorithm convolves
the image with the Infinite Symmetric Exponential Filter, computes the BLI,