Edge Detection Revisited
Transcription
Edge Detection Revisited
1500 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 Edge Detection Revisited Felice Andrea Pellegrino, Walter Vanzella, and Vincent Torre Abstract—The present manuscript aims at solving four problems of edge detection: the simultaneous detection of all step edges from a fine to a coarse scale; the detection of thin bars with a width of very few pixels; the detection of trihedral junctions; the development of an algorithm with image-independent parameters. The proposed solution of these problems combines an extensive spatial filtering with classical methods of computer vision and newly developed algorithms. Step edges are computed by extracting local maxima from the energy summed over a large bank of directional odd filters with a different scale. Thin roof edges are computed by considering maxima of the energy summed over narrow odd and even filters along the direction providing maximal response. Junctions are precisely detected and recovered using the output of directional filters. The proposed algorithm has a threshold for the minimum contrast of detected edges: for the large number of tested images this threshold was fixed equal to three times the standard deviation of the noise present in usual acquisition system (estimated to be between 1 and 1.3 gray levels out of 256), therefore, the proposed scheme is in fact parameter free. This scheme for edge detection performs better than the classical Canny edge detector in two quantitative comparisons: the recovery of the original image from the edge map and the structure from motion task. As the Canny detector in previous comparisons was shown to be the best or among the best detectors, the proposed scheme represents a significant improvement over previous approaches. Index Terms—Edge detection, junction detection, performance evaluation. I. INTRODUCTION S TEP Edges, lines and junctions usually convey the most relevant information of an image [4], [41], [46], hence it is important to detect them in a reliable way. Edge detection has been extensively analyzed in computer vision during the last 20 years [5], [7], [10], [18]–[20], [41] but it has not yet been entirely solved. In fact, despite considerable efforts, the ideal scheme able to detect and localize with precision edges at all scales, irrespective of their shape and configuration, has not yet been produced. The development of the optimal or ideal edge detection scheme is also difficult for the absence of evident and clear ground truth data, on which to evaluate performances unambiguously [28]. Several criteria have been proposed for the evaluation of edge detection schemes: for instance, task dependent criteria have been suggested based on the recovery of three-dimensional (3-D) data on a structure from motion task [36], or the recovery of the original image from the edge map [28]. Human evaluation criteria also have been proposed and made quantitative by using statistical and psychophysical tools [14], [27]. Manuscript received April 8, 2003; revised August 19, 2003. This paper was recommended by Associate Editor D. Goldgof. F. A. Pellegrino is with the Department of Mathematics and Computer Science (DIMI), University of Udine, Udine 33100, Italy. W. Vanzella and V. Torre are with the Department of Neurobiology, International School for Advanced Studies, Trieste 34014, Italy (e-mail: [email protected]). Digital Object Identifier 10.1109/TSMCB.2004.824147 In all these comparisons the classical edge detection scheme of Canny [5] provides very often—but not always—the best performances. This scheme, in substance, identifies an edge in the as a local maximum of an appropriate original image function of the convolution of with odd directional filters. The success of the edge detection scheme [5], proposed almost 20 years ago, suggests that its essence is correct and close to being optimal. It is well-known that the human visual system is able to perform an ideal edge detection, independently on recognition and reasoning. Therefore, the observation of the human visual system may suggest how to modify the classical edge detection scheme of Canny, in order to obtain an almost ideal edge detection scheme. In the visual system of higher vertebrates and mammals, the first stage of processing occurring in the visual area V1, consists in the convolution of the retinal image with filters having different orientation, size and shape [16]. Computer vision, also, uses a large set of filters for image processing. In fact, the detection of edges, corners, and other important two-dimensional (2-D) features has been obtained by convolving the original image with directional filters having different orientation, size, and shape [11], [12], [39]. When 2-D features are detected by computing maxima of the local energy [18], [24], [31] the image is first convolved with odd and even filters of different orientations. The need for analyzing images at different scale, i.e., multiscale analysis [19], [45], is now widely recognized in computer vision and is a standard technique in image processing [13], [22]. Both biological and artificial vision agree on the need of analyzing images with a large battery of filters with different properties. The next question, obviously, is how to combine the output of these filters. This is an important issue both in a biological perspective and in computer vision: how is the output of these filters optimally integrated for detecting edges at all scales, identifying features of increasing complexity and recognizing objects? The answer to this question may help to understand the logic underlying processing in the visual cortex and to develop highly performing algorithms for computer vision. The major aim of this paper is to use the rather large set of filters, present and implemented in the visual area V1, to improve the edge detection scheme originally proposed in [5] in such a way to obtain an almost ideal edge detection scheme, able to detect: 1) step edges [24] from a fine to a coarse scale; 2) thin bars with a small width of two pixels or so; and 3) trihedral junctions with one side having a low contrast. The present paper aims also at providing a scheme without any parameter which has to be tuned for the specific image where edges have to be detected: in fact, the proposed scheme for edge detection has only one free parameter, i.e., the threshold for the minimum contrast of detected edges , set equal to three times the standard deviation of the noise present in usual acquisition system. This threshold , estimated to correspond to four gray levels 1083-4419/04$20.00 © 2004 IEEE PELLEGRINO et al.: EDGE DETECTION REVISITED 1501 out of 256, was used to extract edges from a large number of test images, consistently providing very good results. The proposed scheme for edge detection combines several previously suggested approaches [5], [24], [9], [17] with new algorithms. The information obtained by extensive filtering here described is also used [42] for a final regularization of the original image using a modified version of the Mumford and Shah functional [26]. This regularization step uses a locally self-adapting scale and contrast in order to preserve small details. From this regularized image it is possible to obtain an image segmentation, providing a convenient decomposition of the image in a limited number of regions with the same gray level. This segmentation is, in our opinion, an almost ideal preprocessing for higher level functions such as categorization and recognition. The paper is organized in the following way. Section II reviews the previous work and outlines the proposed approach to edge detection. Section III summarizes the properties of the most widely used filters in computer vision. Section IV and V discuss the detection of step and roof edges, respectively, i.e., the detection of edges separating two extended regions of the image (step edges) and the detection of thin bars or roof edges. Section VI treats the detection and recovery of trihedral junctions. Section VII presents experimental results on a large set of images of different kind and a comparison with previous approaches to edge detection. Section VIII provides an overview of the algorithm, adding further information concerning noise robustness, parameter sensitivity, and computation time. II. EARLY APPROACHES Early approaches to edge detection [5], [41] primarily focused their analysis on the identification of the best differential operator necessary to localize sharp changes of the intensity at location . These approaches recognized the necessity of a previous filtering, identified as a regularizing stage, but did not explicitly realize the convenience of a full multiscale analysis, useful for a reliable detection of both sharp and smooth edges [8]. Following some biological suggestions, Morrone and Burr [24] proposed to detect edges as maxima of the local energy obtained as [24], [31] when features to be detected are significantly larger than the size of used filters. This problem will inevitably occur with digital images when bars having a width below 2 or 3 pixels have to be detected. The simplest way to overcome it is to oversample the image, but significantly increasing the computational burden of the analysis. A rather different method of edge detection is obtained by considering variational approaches [26], [23]. In these approaches, the set of edges and a suitable approximation of a given image are obtained by minimizing, over the image domain , the functional (3) where is a piece-wise smooth approximation of is the total length of the edges, is the gradient operator and and are appropriate constants. Edges obtained by minimizing the functional (3) and by computing local maxima of (2) often coincide. Step edges at a given scale are usually well detected by minimizing the functional (3), but thin roof edges are not detected and are smeared out. Inthispaperweadopttheviewofdetectingandlocalizingedges as local maxima of the energy (2), investigating, in addition, how to combine the output of different V1-like filters with different scales, directions and parity for an “almost ideal” detection of step edges, of thin roof edges and of trihedral junctions at fine and coarse scales. It will be shown that step edges are best detected by considering the energy (2) composed only by the output of odd filters, but summed over all directions and scales. The observation that better performances are obtained considering only odd filters, is in complete agreement with the early proposal of Canny [5]. On the contrary, thin roofedges are bestlocalizedby summing the energy from narrow even and odd filters only in the direction of maximal response. Trihedral junctions are localized by computing the local curvature, which can be obtained by combining even and odd filters appropriately, and their sides are precisely identified by the output of directional filters. III. FILTERING (1) where and are the convolution of the original image with a quadrature pair of one-dimensional filters in the direction. A quadrature pair of one-dimensional filters consists of one even and one odd-symmetric filters with zero mean, same norm and orthogonal to each other. These two filters are one the Hilbert transform of the other. Subsequent approaches [18] suggested the local energy to be (2) In this section properties of some spatial filters often used in computer vision are briefly recalled: Gabor, log-Gabor, and gaussian filters will be considered. These filters can be coupled in order to form a quadrature pair [24]. A quadrature pair of one-dimensional (1-D) filters consists of one even and one oddsymmetric filters with zero mean, same norm and orthogonal to each other. These two filters are one the Hilbert transform of the other. A 1-D Gabor filter is a gaussian function modulated by a sinusoidal wave. (4) i.e., the energy summed over different directions and scales . In these approaches, edges are identified as local maxima of the energy (possibly normalized) of (2). In one dimension, maxima of local energy are also points of maximal phase congruency [43], i.e., points of particular interest in the image. Local maxima of the energy (2) correctly identify edges [18], is the where is a parameter setting the spatial spread and frequency of the modulating sinusoidal wave. Gabor filters have Fourier transform (5) 1502 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 Fig. 1. Detection of step edges with odd and even filters. (a) One-dimensional intensity profile with bars of different width having the right edge slightly smoothed. (b) Energy profile using odd and even 1-D gaussian filters and in (c) using only odd 1-D gaussian filters. (d)–(f) as in (a)–(c) for the second bar of panel (a). In (e) and (f), dot and dash-dot lines refer to Gabor and log-Gabor filters. Filters had nine different sizes with ! ranging from 3–18 pixel/cycle (see Section III). has its maximum in defined by its Fourier transform. . A log-Gabor filter is (6) has its maximum in and is a conAlso, stant determining the frequency bandwidth. The odd and even log-Gabor filters in the spatial domain are defined as the back transform of a quadrature pair of filters, see for instance [32] F F (7) The pair of gaussian filters is obtained by back-transforming a quadrature pair of filters. (8) . The size These filters have their maximum for of a given filter is taken as the period corresponding to or . The size of a gaussian filter is simply . Even and odd gaussian filters do not have ripples, but have a broader spectrum. The Fourier transform of log-Gabor filters is symmetric when plotted on a semilog scale. Gabor filters have Fourier transform maximally concentrated around and in the space domain they have significant ripples and oscillations introduced by the sinusoidal modulation. When edge detection is performed considering the energy summed over the output of odd and even filters, as in (1), Gabor, log-Gabor, and gaussian filters provide rather similar results (see Fig. 1). When only odd filters are used, as it will be done in the next section, gaussian filters provide best results, due to the absence of ripples. One-dimensional filters can be extended to two dimensions in several ways. Two-dimensional filters with a Fourier transform, which in polar coordinates can be factorized in the product of two functions one depending on radius and the other on the angle , are called separable. These filters can be designed and implemented using the ring-wedge technique (see for instance [18]). Two-dimensional Gabor and log-Gabor filters were implemented using this technique. Two-dimensional gaussian filters were constructed in the space domain multiplying the 1-D profile by a gaussian function in an orthogonal direction. The ratio between the variance of the two gaussian functions was 1.2. Two-dimensional gaussian Filters constructed in this way do not have ripples, which are present in 2-D Gabor and log-Gabor filters. It is useful to recall that the output of a directional odd gaussian filter is a good approximation for the computation of a derivative in the same direction. Similarly, the output of an even, zero-mean gaussian filter, is a good approximation of a second derivative. These remarks will be useful in a later section, when the local curvature of the image intensity has to be computed. IV. DETECTION OF STEP EDGES In this section we address the issue of the detection of step edges at all scales, i.e., sharp and blurred edges. The detection of edges, composing the contour of large features (spanning at least five and more pixels), can be efficiently solved by detecting maxima of (1) or (2) as shown previously [18]. The detection of boundaries of features with a dimension of 2–4 pixels poses some problems. PELLEGRINO et al.: EDGE DETECTION REVISITED 1503 Fig. 2. Detection of step edges with odd and even filters in 2-D images. (a), (d), (g): details from interior images. (b), (e), (h) Step edges detected as local maxima using odd and even filters. (c), (f), (j) Step edges detected using only odd filters. Eight orientations and nine scales, varying from three pixel/cycle to 18 pixel/cycle were used. The ratio of to was 1.2 for odd filters and 2 for even filters. A. Combination of Odd and Even Filters Let us consider an ideal 1-D intensity profile with a 128 gray and a value of 1 elsewhere. values between pixel and and in The energy (2) has three local maxima in , with the first two maxima corresponding to step edges and the maximum at corresponding to a roof edge. When becomes close to three or four, the three local maxima coalesce and cannot be reliably identified. Therefore, the detection of bars with a width between two and four pixels must be carefully investigated. Let us consider the 1-D intensity profile shown in Fig. 1(a), composed by thin bars of increasing width, with one sharp and one smooth boundary. When the energy (1) is computed by summing the output of odd and even gaussian filters the profile shown in Fig. 1(b) is obtained, where only one peak is present for bars with a width of less than four pixels. Two peaks become visible when the bar width is larger than five pixels. On the contrary, if only odd filters are used, two peaks corresponding to the two boundaries of the bar are obtained [as shown in Fig. 1(c)] even when the bar width is just two pixels. Performances of the different filters are compared in Fig. 1(e) and (f) for the intensity profile shown in Fig. 1(d), corresponding to the second bar in Fig. 1(a). Fig. 1(e) shows the energy profile obtained from (1) using even and odd Gabor (dotted line), log- Gabor (dash dotted line) and gaussian filters (continuous line). The two edges delimiting the bar are not well detected and one large maximum is present, irrespectively on how small and large filters are combined (see later section for further details). On the contrary, if only odd filters are used [see Fig. 1(f)], maxima are clearlydetected atthebarboundaries.WhenGaborandlog-Gabor are used, additional maxima are seen [indicated by the arrows in Fig. 1(f)]. These spurious additional maxima are produced by the ripples of these filters, which become evident when the filters are not used in quadrature pair. For this reason gaussian filters are preferred to Gabor and log-Gabor filters. When 2-D images are considered, edges are detected as local maxima of the energy (2) summed over eight equally spaced directions and nine different scales (see next section). Local maxima were detected by a modification of the well-known [46] nonmaximal suppression algorithm (performed, in each point, along the direction perpendicular to the filter providing the highest response). Such modification consists of an energy-driven thinning which removes possible double edges, i.e., boundaries with a thickness larger than one pixel, which may occur using the standard nonmaximal suppression. Fig. 2(a), (d), and (g) illustrates three details of interior images, with thin bars of a width of two to four pixels. Edges detected as local maxima of (2) using odd and even gaussian filters 1504 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 Fig. 3. Detection of step edges with filters at different scales. (a) and (b) Fourier transform of filters at different scales normalized to the same energy but with . (c) Fourier transform of filters normalized to the same maximal response. In (a)–(c) the dot line is the sum of all filters energy. different distribution of ! (d) One-dimensional intensity profile with representative roof and step edges with different strength and smoothness. (e) The corresponding total energy for the intensity profile of panel (d) for the three cases shown in (a) (round dot line), (b) (continuous thin line) and in (c) (continuous thick line). are shown in Fig. 2(b), (e), and (h). These edges are not as complete as when only odd filters are considered, as clearly shown in panels (b), (c), (e), (f), (h), and (j). When gaussian odd filters are used, step edges are properly localized at the feature boundaries also for the thin bars, such as those shown in Fig. 2(a) and (d). It is not surprising that the detection of step edges is best obtained by using only odd filters, as they are the natural matched filters for these features [5]. As a consequence only odd gaussian filters will be used to detect step edges. B. Combination of Different Scales In order to detect step edges at fine and coarse scales it is necessary to use small and larger filters, with different frequency properties, but it is not obvious how to weight their relative contribution. In what follows, gaussian filters with nine scales (see Section III) ranging from three were considered with pixel/cycle to 18 pixel/cycle. The choice of these nine scales was suggested by a large experimentation with natural images, as those analyzed in the present paper. The scales of odd filters in (2) can be combined by using filters with the same energy (see Fig. 3(a) and (b), where different distributions of center frequencies are shown) or with the same maximal response [Fig. 3(c)]. These filters sample the frequency content of the image in a slightly different way, as shown by the summed total energy drawn the corresponding panels (dotted lines). Fig. 3(d) illustrates an ideal 1-D intensity profile containing a variety of step and roof edges: a smooth step edge, a strong roof edge flanking two smoothed roof edges, a strong bar followed by a sharp step edge. The corresponding total energy for the three sets of filters as in a, b, and c is shown in panel e in round-dot, square-dot and continuous line, respectively. With filters having the same maximal response [as those shown in Fig. 3(c)] the total energy has ten local maxima [continuous thin line in Fig. 3(e)] corresponding to the ten features to be detected. When the filters are normalized in order to have the same energy [as in Fig. 3(a) and (b) several local maxima are lost, as shown by the dot line and the continuous thin line in Fig. 3(e)]. When edges with different contrast and opposite sign are present in the same region of the image and the output of fine and coarse filters superimpose spatially, their simultaneous detection may be difficult. Extensive experimentation has shown that some details [as those shown in Fig. 4(a), (d), and (g)] are best detected by combining scales with same maximal response [see Fig. 4(c), (f), and (j)], instead of when filters having the same energy are used [see Fig. 4(b), (e), and (g)]. V. DETECTION OF THIN ROOF EDGES In this section the detection of thin bars will be investigated. It is well known [18], [24] that the detection of thin details in real images, as the thin bars shown in Fig. 5(d) is best obtained by using both even and odd filters [see Fig. 5(f)], when the output of even filters dominates at the center of the bar and the output of odd filters reduces and eliminates spurious maxima near the bar boundaries. If only even filters are used, multiple maxima are detected at the center of the bar and at its boundaries. In this section, it will be shown that the detection of thin bars, however, is best obtained considering only the energy along the direction of maximal response and not the energy summed over all directions, like it was done instead for the detection of step edges (see Section IV). PELLEGRINO et al.: EDGE DETECTION REVISITED 1505 Fig. 4. Detection of step edge with filters at different scales in 2-D images. (a), (d), and (g) are details of an interior scene; (b), (e), and (h) show the detected step edges summing the energy over filters having the same energy and in (c), (f), and (j) with same maximal response. Eight orientations and nine scales, varying from 3 pixel/cycle to 18 pixel/cycle were used. The ratio of to was 1.2 for odd filters. A. Different Directions Are not Summed B. Detection at Different Scales Therefore, combining even and odd filters seems the best solution for the detection of thin bars, but it is not obvious whether it is convenient to sum the energy over a battery of even and odd filters with different orientations. The profile of the summed energy of the output of even and odd filters perpendicularly oriented as shown in Fig. 5(a) to a thin bar [with the intensity profile indicated by the solid line in Fig. 5(c)] has one large central peak, correctly located at the center of the thin bar [see line in Fig. 5(c)]. On the contrary, when even and odd filters are not perpendicular to the thin bar [see Fig. 5(b)] the profile of the summed energy has two smaller peaks [see line Fig. 5(c)]. As a consequence, summing over all directions is not advantageous for the detection of thin bars with a low contrast as the one shown in Fig. 5(d) and of multiple thin bars in different directions as those shown in Fig. 5(g). The thin bar of Fig. 5(d) has an average contrast of only five gray levels out of 256 and it is better detected and localized when considering the energy only along the direction providing maximal response [see Fig. 5(f)]. Similarly, the intricate pattern of thin bars of Fig. 5(g) is reasonably well detected when the energy considered is only in the maximal direction. When the energy is summed over all directions [see Fig. 5(e) and (h)] thin bars are not well detected. Roof edges with a different width were detected independently. Very thin roof edges, with a width of one or two pixels were detected by using gaussian filters with a width of four pixels cycle and are shown in green in Fig. 6(b). Medium size roof edges, with a width of three or four pixels were detected by using gaussian filters with a width of eight pixels/cycle and are shown in blue in Fig. 6(b). Larger roof edges with a width of five pixels or so were detected with a larger filter with a width of 18 pixels/cycle and are shown in Fig. 6(b) in red. Directional filters were longer than those used for detecting step edges and to was two for both even and odd filters. The the ratio of energy was computed at the three scales according to (1). Local maxima were extracted and a threshold was applied as described in the previous section. C. Classification of Roof Edges Once maxima of the energy have been located and identified, it is still necessary to classify them in roof and step edges. The usual way to classify edges [24] is to compare the absolute value of the response of the odd and even filters: a maximum of the energy is a step edge when the contribution of the odd filters to the energy is greater than the one given by the even filters. This 1506 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 Fig. 5. Detection of thin roof edges. (a) and (b): even and odd filters perpendicular (a) and oblique (b) to a thin bar. (c) One-dimensional energy profile (thick line) and the energy profile only along the direction providing maximal response (line) and energy profile summed over all directions. (d) A detail of the same image as in Fig. 6(a). (e) Thin roof edges detected as local maxima of the energy summed over all directions. (f) Same as in (e) but with the energy only along the direction providing maximal response. (g), (h), (j) as in (d), (e), (f) for a particular of an outdoor scene. Fig. 6. Detection of roof edges of different width. (a) Original image. (b) The map of roof edges extracted as described in the text. Roof edges have an increasing width from green, blue, and red. classification procedure is adequate for classifying roof edges with a width larger than one pixel. The detection and classification of roof edges with a width of one pixel is very sensitive to noise and therefore unstable. Once a pixel has been classified as a roof edge, a scale must be assigned to it. If the edge occurs only at a given scale, that scale is assigned to it. Otherwise, the smallest scale is assigned. Fig. 6(b) illustrates roof edges extracted from the original image shown in PELLEGRINO et al.: EDGE DETECTION REVISITED 1507 Fig. 7. Recovery of trihedral junctions. (a) Detail of a cube. (b) Detected step edges. (c) Normalized curvature. (d) Regions of interest of high curvature. (e) End points of the edge map within the regions of interest. (f) Restored sides of the trihedral junctions. Fig. 6(a). The great majority of roof edges are detected at the correct scale. However, the resulting edge map is more noisy than that obtained forstep edges because edges are obtained from an energy map which is not summed over different scales and directions and therefore, they are more sensitive to noise. times . In order to achieve invariance from the local contrast, should be equal to zero. However, with this choice there are many false detections. Extensive experimentation has suggested to use the quantity (10) VI. DETECTION OF TRIHEDRAL JUNCTIONS It is well known that edge detection based on the extraction of local maxima fails in the presence of trihedral junctions, such as those shown in Fig. 7(a) and edges are usually interrupted at junctions [see Fig. 7(b)]. By combining the output of V1-like filters in an appropriate way, it is possible to restore these important image features, which are inevitably lost using (2). Regions where trihedral junctions are likely to be present can be detected in several ways [1], [3], [8], [9], [17], [35], primarily by evaluating the local curvature and detecting its maxima. By using a modification of the method proposed in [17], high curvature regions are localized [Fig. 7(c)] where trihedral junctions are likely to be present [Fig. 7(d)]. End points of edge lines—in these regions—are detected [see Fig. 7(e)] and sides of trihedral junctions [see Fig. 7(f)] can be restored by using suitably the maps of the directional local maxima, i.e., the binary map of local maxima of the energy of individual directional filters. This procedure is able to appropriately restore missing junctions (indicated by arrows in Fig. 8) in complex and cluttered images. Let us now see the different steps of the proposed procedure. A. Computation of Local Curvature Given the intensity profile vature of it is of an image, the local cur- (9) Kitchen and Rosenfeld [17] have suggested to identify possible junctions and corners as local maxima of the curvature and where has been introduced in corresponding to order to reduce the distortion appearing when the gradient is zero or very small. Equation (10) is equivalent to (11) is the second derivative in the direction orthogonal where is the maximal directional derivative. to the gradient and All these quantities are obtained by the output of odd and even filters here used. B. Computation of Regions of Interest and Endpoints Points on the image with a high value of are obtained by setting a fixed threshold that allows the detection of a trihedral junction having one side with a contrast of six gray levels perpendicular to a strong sharp edge with a contrast of about 255 gray levels. This set of points is dilated by seven pixels, so to have regions wide enough to contain possible endpoints of edge lines. In these regions of interest, possible end points are identified by means of a look-up table containing all possible endpoints in a 3 3 neighborhood. To each endpoint, corresponding to a “presumed junction,” a direction is associated. Once end points and their “presumed junction” direction have been identified, it is necessary to validate or not the presumed junction, by considering the energy of directional filters. The overall adopted procedure is Given an end-point in a region of interest, the direction along which the energy has the highest value is taken as the presumed 1508 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 Fig. 8. Example of trihedral junction recovery. (a) Detail of an interior image. (b) Detected step edges. (c) Step edges plus restored junctions. (d) Detail of an MRI image of a brain slice. (e) Detected step edges. (f) Step edges plus restored junctions. (g) Synthetic image. (h) Detected roof edges. (j) Roof edges plus restored junctions. junction direction (with a versus pointing toward the region with less edge pixels). The energy is obtained by summing the output of directional filters, as those used in Section IV, summated over nine different scales (see legend of Fig. 2 for further details). The end-point is connected to another edge pixel (and hence the junction is restored) if there exists a chain of edges which are local maxima of directional filters and connect the two points. The junction is finally validated if its local average contrast is larger than eight gray levels and its total length is not more than five pixels. This procedure is able to recover correctly missing junctions in complex real images, such as the interior detail of Fig. 8(a) and the MRI image of a brain slice of Fig. 8(d). In both cases the procedure is able to recover missing junctions [see Fig. 8(c) and (f)], which are lost during the usual edge detection [see Fig. 8(b) and (e)]. Although it is not clear how to evaluate the performance of a junction detection/recovery algorithm, a possible (simple) way is to check if the procedure is able to extract the “correct” junctions in an artificial noisy image, without introducing artifacts. We performed such an evaluation using artificial images containing junctions of different contrast and blurring, adding more and more noise in order to check the robustness. Our detector behaved very well, identifying and reconstructing all the correct junctions in images containing ad- ditive normal noise up to a variance of nine gray levels. It is useful to observe that missing junctions are restored correctly, even when the direction where the end points seem to converge is not correct: this robustness is primarily due to the validation procedure using the output of directional filters. The proposed technique for the recovery of trihedral junctions can be easily extended also to restore junctions among thin bars or roof edges [see Fig. 8(g), (h), and (j)]. VII. EXPERIMENTAL RESULTS A major and well known problem for evaluating performances of edge detection algorithms is the absence of clear ground truth data (see for example [21]). Nonetheless, there are some quantitative criteria to evaluate edge detection: for instance task dependent criteria have been suggested based on the recovery of 3-D data on a structure from motion task [36], the recognition of objects [37] and the recovery of the original image from the edge map [28]. This last method is based on the reconstruction algorithm proposed in [6] and it will be used for a quantitative assessment of the proposed algorithm for edge detection. This section is divided in three parts: in the first part (Section VII-A) a qualitative comparison between previous approaches and the present scheme for edge detection is made; PELLEGRINO et al.: EDGE DETECTION REVISITED in the second part (Section VII-B), the recovery procedure [6] already adopted in [28] is used for a quantitative evaluation and comparison of the proposed scheme; in the third part (Section VII-C), performances of the proposed edge detector for the task structure from motion [36] are discussed; finally, in the fourth part (Section VII-D), a selection of experimental results on cluttered real images is presented. A. Qualitative Comparison With Previous Approaches The proposed edge detector has been designed and constructed in such a way to 1) detect step edges at all scales; 2) detect thin roof edges; 3) detect trihedral junctions; and 4) be robust against noise and be almost parameter free. The detection of thin roof edges and of trihedral junctions is obtained by separate modules, described in Sections V and VI. The detection of step edges at all scales and the robustness against noise is primarily obtained by summing the energy over different directions and scales. Step edges are then detected by looking at local maxima. This procedure has two major advantages: first, it allows the detection of step edges at multiple scales; secondly, by averaging over multiple directions and scales, edges originating from noise are eliminated and the resulting detector has very good performances even with a low and fixed threshold. This is the key feature of the proposed edge detector. It is useful, now, to make a methodological comparison with previous approaches. The classical edge detector proposed almost 20 years ago by Canny [5] performs remarkably well with its simplicity and elegance. Indeed, in recent comparisons of edge detector performances [14]–[36], Canny detector was the best or one of the best. Canny’s edge detector attempts to maximize simultaneously localization and signal-to-noise ratio. As a consequence, the best way to detect step edges is to filter the image with odd directional filters of a shape similar to the derivative of a gaussian function. This conclusion is very similar to what it is argued here in Section IV. Canny’s edge detector has two drawbacks: first, it cannot detect simultaneously step edges at two very different scales; second, trihedral junctions cannot be properly detected and are often broken in distinct segments. Different edge detectors have been discussed and compared in details in [36] and here only a briefer qualitative comparison is presented. Edge detectors proposed by Deriche [7] and by Shen and Castan [38] have the same structure of Canny’s detector, but use different directional filters. In the case of Deand for Shen riche, the directional filter is . The filter used by and Castan is Shen and Castan is discontinuous at zero and therefore, is very sensitive to noise. The detectors proposed in [34]–[38] use a single scale and a gradient based approach. SUSAN detector [40] has a rather different approach and is based on a nonlinear, single-scale filtering. Multiple scales were used by several authors [2], [10], [19]. Our approach differs from these by the way in which the different scales are processed and combined. Kovesi [18] proposes to detect edges by looking at maxima of the phase congruency and not of the energy. The phase congruency is the energy properly normalized. The energy is summed over the output of filters with different scales and directions, 1509 provided that it is above a threshold related to the energy of the output at the smallest filter. Contrary to us, however, Kovesi sums over odd and even filters and therefore his approach suffers from the problems described in Figs. 2 and 3. The approach of [33] is similar to that of [18], but at a single scale. Recently, a multifeature technique has been proposed [21] in which a classifier is trained using human labeled images as ground truth. Human labeled images represent a segmentation of the images in few regions (20–30) and the algorithm is more properly a boundary detector. Moreover, it produces a probability map instead of a binary edge map. So, a comparison between the proposed detector and that one of Martin and coauthors [21] is inappropriate. B. Quantitative Comparison With Previous Approaches: Image Recovery From Edges [34] Carlsson [6] has proposed the following procedure to recover from the edge map . First, this edge the original image map is dilated by 1 pixel, so to obtain the set . Secondly, the original gray values with are used as interpolating values for the minimization of the (discretized version of the) functional (12) The function straints , which minimizes (12) under the con(13) is the recovered image. The quality of the recovery can be evaluated by computing two errors, the mean absolute error (MAE) and root mean square error (RMSE) defined as: MAE (14) RMSE (15) These two errors will be small when the cardinality, i.e., the total number, of the interpolating edges is large and when the interpolating points occur at the most relevant features of the original image . This last criterion was used in [28] for making a quantitative comparison between edge detectors. We compared the procedure here proposed for edge detection with that of Canny on a large class of images including those used in [28] and kindly provided to us by the authors. The technique proposed by Carlsson deals only with step edges and, therefore, only step edges and step junctions where used in (12)–(13). Differences between our results and those reported in [28] are likely to originate from a refinement of the minimization of the functional (12) based on the advanced gradient descent (bold driver; see [44]). Fig. 9 illustrates a comparison of the recovery of the original image from Canny’s edge map (a), (c) and from the proposed technique (b), (d). The parameters for the Canny’s detector were optimized by an exhaustive search in the space of parameters: the sigma of the gaussian filtering was sampled from 0.2 to 3 by taking 29 equally spaced values and the high 1510 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 Fig. 9. Comparison between the Canny’s detector and the proposed detector with the recovery procedure [6]. (a) Constraints for the reconstruction algorithm obtained from Canny’s edges. (b) Constraints from the proposed algorithm’s edges (c), (d) Reconstructed images, respectively from Canny and the proposed algorithm. threshold in the hysteresis step was sampled from two to 32 gray levels by taking 16 equally spaced values. The third parameter, i.e., the low threshold, was set in such a way that the cardinality of interpolating edges was the same for the two detecdifferent settings tors. Therefore, for each image of parameters were considered for Canny’s detector (not all of them leading to feasible choices of the third parameter). The lowest RMSE and MAE (possibly originating from different settings) were chosen. The spatial location of interpolating edges is slightly different in the case of the proposed algorithm with respect to that one of Canny, which produces maps that are more dense near sharp edges and almost empty near smooth edges. As a consequence, the error of the recovered image from our edge map is lower than that one from Canny’s edges. A comparison of performances between Canny’s and our edge detector, according to the recovery procedure of [6], is shown in Table I for a variety of images. In six out of nine images, our edge detector provides a lower recovery error with respect to Canny’s. For the nine analyzed images, our detector has an average error of 11.62 (MAE) and 19.53 (RMSE), whereas Canny’s detector has an av- erage error of 12.02 (MAE) and 20.17 (RMSE). The data shown in Table I deserve some comments. Images recovered from very sparse edge maps, such as in the case of the “nuts” image, have large values of MAE and RMSE. The poor performance of the recovery is primarily due to the very low density of constraints, i.e., around 5% of the total pixels, and not because extracted edges are wrong. The recovery of images with many fine details, such as image “Sherbrooke,” is obtained with a significant error, even in the presence of a high density of constraints, i.e., almost 50%. This large error is due to the complexity of the images. In images primarily with sharp edges, Canny’s detector performs rather well: in fact, in the well-studied image of Lena, Canny’s edge detector performs slightly better than our detector. Our edge detector is superior with images with many edges at different scales. C. Quantitative Comparison With Previous Approaches: Structure From Motion [36] Shin and co-authors [36] have proposed the recovery of structure from motion (SFM) as a way to obtain a quantitative com- PELLEGRINO et al.: EDGE DETECTION REVISITED 1511 TABLE I. COMPARISON BETWEEN THE PROPOSED ALGORITHM AND THAT OF CANNY FOR THE RECOVERY [6] OF IMAGES FROM EDGES For each image, edges were extracted as here proposed and the threshold for selecting edges in the Canny detector (first column) was set so as to have the same number of constraints for the two detectors (second column). For each recovered image MAE (third column) and RMSE (fourth column) were computed. images named Lena, Back, Nuts, and Sherbrooke were kindly provided for us by the authors of [34] and were the same used in their comparison. images named "La Cournouvaille," "Stairs," "Fruits," "Street Scene #1," and "Street Scene #2," are, respectively, reproduced in Fig. 10(a), Fig. 6(a), Fig. 9(c), Fig. 11(a), and Fig. 11(e). parison between edge detectors. This comparison is made between recovered parameters from detected edges and ground truth “structure” and “motion” data, measured directly, leading to a “structure error” and a “motion error.” The “structure error” is the absolute difference in degrees between computed and measured angles and the “motion error” is the percentage error in the estimation of the rotation of a given point around a rotation axis. Eight different edge detectors on 18 different image sequences of wood blocks and Lego houses were compared in [36]. Performances of different detectors were optimized by searching for the best set of parameters, characterizing each detector. For each image sequence, performances obtained by parameters minimizing the “structure error” and the “motion error” were considered. In this comparison, only long and straight edge chains are used, as the SFM algorithm is based on long straight lines. As a consequence, short edge chains or long rounded edge chains are not considered. In addition, the used image sequences have primarily sharp edges, better detected at a fine scale, therefore detectors are compared for their ability to detect primarily long and sharp edges. The correspondence between long edge chains, allowing the recovery of structure and motion, is obtained automatically, based on a set of manually selected reference lines. The matching algorithm, essential for the task of SFM, favors thick lines, making correspondence easier. This comparison indicated that Canny’s edge detector provided the lowest errors in this SFM task, followed by Heitger’s detector. The proposed edge detector and the Canny’s detector were compared for the 18 sequences, using the software and the images kindly provided by Prof. Shin. Initially, performances of the proposed edge detector were not optimized, i.e., edges used for the SFM task were those obtained as described in Sections IV and VII-A. Performances of Canny’s detector were those obtained in [36] after parameter optimization. This comparison is shown in Table II. In eight of 18 sequences, our detector, without any parameter optimization, provides a lower error either in the structure or 1512 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 TABLE II. COMPARISON BETWEEN THE PROPOSED ALGORITHM AND THAT OF CANNY FOR THE STRUCTURE FROM MOTION TASK [42] motion recovery. Performances of the proposed detector significantly improved when the traditional nonmaximal suppression algorithm was used and slightly thicker edge chains were obtained. The modified nonmaximal suppression algorithm introduced to obtain thinner edge chains reduced the number of correspondences between lines, leading to degraded performances. With this, the “structure error” and the “motion error” of the proposed detector were drastically reduced. For the image sequence LEGO1A where our detector had the worst performance, the two errors decreased from 15.23 to 1.20 and from 12.27% to 1.80% for the structure and motion task respectively and our detector performed significantly better than Canny’s detector. As a consequence, our detector, without any optimization, performs comparably as well as Canny’s detector. D. Selection of Experimental Results Let us now see how the proposed edge detector performs in a variety of natural complex images. Step edges were detected in all images with the same parameters and in particular with the same threshold of four gray levels (see Section IV). Fig. 10(a) is an interesting image (“La Cornouvaille”), where ropes and poles produce many thin roofs with a different width. Detected step edges are shown in black and recovered junction sides are in red in Fig. 10(b). Edges are remarkably clean and occur—almost always—where an edge is perceptually observed. There is almost no edge in large perceptually homogeneous regions, such as the sky and the boat bottom. Similarly, the great majority of perceived edges are correctly de- tected. Roof edges are well detected [Fig. 10(d)] from the detail [Fig. 10(c)] representing hanging ropes and poles. Observe that the thin rope [see the white arrow in Fig. 10(d)] is not detected. As the energy is summed over many scales, the strong edge originating from the near black vertical pole, obscure the detection of the thin rope. In fact, when a low contrast roof edge is close to a high contrast edge [as in Fig. 10(c)] the first one is very often lost. This problem originates also when very small filters extending over three or five pixels have to be used. In this case, gaussian filters are not well sampled and it is not surprising that the digital filtering does not provide good results. This problem is significantly reduced and even eliminated [see Fig. 10(e)] when the same image, but at a higher resolution, is analyzed (or simply the original image is oversampled). Edges are better detected and localized [Fig. 10(f)] in the 512 512 pixel image. Fig. 11(a) and (e) reproduce two cluttered street scenes. Detected step edges and recovered junction sides are shown in black and red, respectively, in Fig. 11(b) and (f). Details of these two images are shown in Fig. 11(c) and (g). Detected edges (step edges and recovered side junctions) are shown in yellow superimposed to the original gray levels in Fig. 11(e) and (h). Also in this case the proposed scheme detects almost all visible features and is robust against noise. Fig. 12(a) illustrates a rather complex satellite image with a fine texture, originating from the terrain geology. Detected step edges and recovered junction sides are shown in black and red respectively in Fig. 12(b). All relevant local luminosity changes are correctly detected, as shown by the edges in yellow in Fig. 12(d). PELLEGRINO et al.: EDGE DETECTION REVISITED 1513 2 Fig. 10. Edge detection of the Cornouaille boat. (a) Original image at 512 512 pixels of resolution. (b) Detected step edges in black and recovered trihedral junctions in red from the sampled image at 256 256 pixels. (c) Detail from the image sampled at 256 256 pixels with many thin roofs of different width and a smoothed step edge produced by the pale cloud. (d) Step edges in black and roof edges in blue (small width), green (medium width), and red (large roof edge). Observe the thin roof edge, indicated by the arrow, not detected. (e) The same detail as in (c) but at 512 512 pixels. (f) Step edges detected from the detail shown in (e). Observe that the thin roof edge is almost completely detected. 2 2 2 Fig. 11. Edge detection in two street images. (a) and (e) Original images. (b) and (f) Detected step edges in black and recovered junction sides in red. (c) and (g) enlarged details from (a) and (e). (d) and (h) Detected step edges and recovered junctions in yellow superimposed to the images in (c) and (g). 1514 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 Fig. 12. Edge detection of a satellite image. (a) Original image. (b) Detected step edges in black and recovered junction sides in red. (c) Enlarged details from image (a). (d) Detected step edges and recovered junctions in yellow superimposed to the images in (c). Localization, accuracy and sensitivity to local changes of image intensity is rather remarkable. Finally, Fig. 13(a) and (c) illustrates two natural, highly textured, images with many details and sharp and smooth edges. All edges are almost perfectly detected as shown in Fig. 13(b) and (d). Notice the complete absence of detected edges in the flat background in both images. VIII. SUMMARY In this paper four classical problems of edge detection were addressed: 1) the detection of all step edges from a fine to a coarse scale; 2) the detection of thin bars, i.e., of roof edges; 3) the detection of trihedral junctions and of their sides; and 4) the development of an almost parameter free edge detector. The proposed scheme for edge detection uses a large variety of filters with different orientation, shape and size as already suggested by several previous works [4], [11], [18], [19], [25], [29], [30], [39]. The detection and restoration of trihedral junctions, here proposed, is based on the technique already proposed for computing the local curvature [17] and makes use of an appropriate validation procedure. As discussed in Section VII, the proposed edge detector has been inspired from previous approaches and is a refinement of the original Canny’s detector. It is indeed able to detect trihedral junctions and edges at different scales, features that the original Canny’s detector cannot spot. A quantitative PELLEGRINO et al.: EDGE DETECTION REVISITED 1515 Fig. 13. Edge detection in complex natural scenes. (a) and (b) Original images. (b) and (d) Detected step edges and recovered junctions in yellow superimposed to the images in (a) and (c). 1516 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 comparison based on the SFM task (see Section VII-B) and on the recovery of the original image from the edge map (see Section VII-C) indicates that the proposed detector performs better than Canny’s detector. The extensive experimentation performed on images of different kind (see Section VII), indicates that the proposed scheme detects all edges (with some occasional exceptions) which are perceptually present in the original image. On the other hand, all detected edges are visually present in the original image. Therefore, we believe that the proposed scheme represents a significant improvement over existing edge detectors. Let us now summarize the main issues and conclusions. A. Detection of Step Edges Step edges are detected by looking at local maxima of the summed energy (2), where the summation extends only over odd gaussian filters, along eight different directions and over nine scales ranging from 3 to 18 pixel/cycle. Filters at different scales are normalized so to have equal maximal response [see Fig. 3(c)] and not equal energy [see Section IV]. It is assumed that the noise of imaging devices has a standard deviation around 1.3 gray levels [10]; as a consequence, all edges with gray levels cannot originate from a contrast larger than random fluctuations and must be a meaningful perceptual feagray levels are ture. Edges with a contrast lower than rejected and those with a contrast between four and eight gray levels are selected according to the hysteresis criterion discussed in Section IV. This fixed threshold has been used for extracting edges in all images presented in the paper and it is the only relevant parameter of the proposed edge detector. The possibility of using such a low threshold is a consequence of the noise removal obtained by summing the output of directional filters over many directions and scales. A drawback of this approach is the possible interference between edges at different scales: indeed, a high contrast smooth edge can make the detection of a nearby low contrast sharp edge more difficult (see Fig. 10). The reasons for detecting step edges with only odd filters and not with both odd and even filters [24], [18] are substantially the same used by Canny in 1986 for detecting edges with directional filters having the shape of the first derivative of a gaussian function (see Section VII-A). B. Detection of Roof Edges The detection of thin bars or roof edges is more sensitive to noise than the detection of step edges. In fact, the detection of roof edges with a width of one pixel or so can be obtained with very narrow filters with a small scale around three or four pixels/cycle. These narrow filters cannot be well sampled and are not able to remove noise, as larger filters can. On the other side, the detection of larger bars cannot be obtained with filters in all orientations (see Fig. 6) and therefore there is less noise removal. In agreement with previous approaches [18], [33] roof edges are best detected by using both odd and even filters (see Section V). C. Detection of Trihedral Junctions The proposed detection of trihedral junctions and recovery of missing sides is largely inspired by previous approaches [17]. The major difference is the validation step based on the analysis of the output of directional filters. This procedure seems able to restore correctly the great majority of missing sides. D. Noise Robustness, Parameter Sensitivity, and Computation Time The proposed edge detector is not simple and has many parameters, such as the number of different directions (eight directions), the size of the smallest and largest filters (three and 19 and for the construction pixels/cycle), the ratio between of directional filters (1.2). Edge maps obtained by increasing the largest filter up to 40 pixels/cycle, increasing the number of directions of oriented filters up to 16 or changing the ratio and to two or modifying by 50% the parameter values for junction detection, were almost indistinguishable. In fact, at least 95% of edges were common to all these edge maps. When step edges at a very large scale have to be detected (or when dealing with very high resolution images), it may be necessary to extend the size of the largest filter. As already discussed, there is a threshold on the contrast of detected edges, corresponding to four gray levels. Changing this value will significantly change the number of detected edges. However, a rather extensive experimentation with a large variety of images shows that this threshold can be consistently used and taken as fixed.1 As a consequence, the proposed edge detector can be considered to be almost parameter free. The proposed edge detector requires about 120s for extracting edges in 256 256 pixel images, using Matlab and a PC with an Athlon 1.1 GHz processor under O.S. Windows 2000. By using a low level language and optimizing the code (and considering that most of the computations can be performed in a parallel way), times can be drastically reduced. E. When the Proposed Scheme Fails Although it is claimed that the proposed scheme for edge detection is almost ideal, it fails in two circumstances. When a low contrast edge is very close to a high contrast edge [as in Fig. 10(c)] the low contrast edge is very often lost. Also roof edges with a width of just one pixel are not reliably detected. These problems originate when very small filters extending over three or five pixels have to be used. In this case, gaussian filters are not well sampled and it is not surprising that the digital filtering does not provide good results. These two problems are almost completely eliminated when the same image but at a higher resolution is used or, more simply, when the original image is oversampled. 1In the case of very noisy images, such as those obtained during an echocardiography, this threshold could be increased. More generally, when dealing with a particular class of images, a fine tuning of the threshold could be made. One possible solution would be, in these cases, to estimate the sensor noise and set the threshold accordingly. A number of methods have been proposed to estimate the noise: for example, in [10] the sensor noise n(x; y ) is modeled as a stationary additive zero-mean white noise process: then the standard deviation of the distribution is computed by high-pass filtering an “almost flat” region of the image. PELLEGRINO et al.: EDGE DETECTION REVISITED ACKNOWLEDGMENT The authors would like to thank C. Morrone for many helpful discussions and useful suggestions and to G. Musso and A. Verri for having read and commented on the preliminary version of the manuscript. They also thank T. Nguyen, D. Ziou, D. Goldgof, and M. Shin for providing the code and the images for the comparison of edge detectors. Finally, they are grateful to L. Hall who kindly solved a complicated file transfer problem. REFERENCES [1] P. R. Beaudet, “Rotational invariant image operators,” in Proc. Int. Conf. Pattern Recognition, 1978, pp. 579–583. [2] F. Bergholm, “Edge focusing,” IEEE Trans. Pattern Anal. Machine Intell., vol. PAMI-9, pp. 726–741, 1987. [3] K. Brunnstrom, T. Lindeberg, and J. O. Eklundh, “Active detection and classification of junctions,” in Proc. 2nd Eur. Conf. Computer Vision, St. Margherita Ligure, Italy, 1992, pp. 701–709. [4] D. Burr and M. C. Morrone, “A nonlinear model of feature detection,” in Nonlinear Vision, Determination of Receptive Field, Function and Networks. Boca Raton, FL: CRC, 1992. [5] J. F. Canny, “A computational approach to edge detection,” IEEE Trans. Pattern Anal. Machine Intell., vol. 8, pp. 679–698, Sept. 1986. [6] S. Carlsson, “Sketch based coding of gray level images,” Signal Process., no. 15, pp. 57–83, 1988. [7] R. Deriche, “Using Canny’s criteria to derive a recursively implemented optimal edge detector,” Int. J. Comput. Vis., vol. 1, no. 2, pp. 167–187, 1987. [8] R. Deriche and G. Giraudon, “A computational approach for corner and vertex detection,” Int. J. Comput. Vis., vol. 10, no. 2, pp. 102–124, 1993. [9] L. Dreschler and H. H. Nagel, “On the selection of critical points and local curvature extrema of region boundaries for interframe matching,” in Proc. Int. Conf. Pattern Recognition, 1982, pp. 542–544. [10] J. H. Elder and S. W. Zucker, “Local scale control for edge detection and blur estimation,” IEEE Trans. Pattern Anal. Machine Intell., vol. 20, pp. 699–716, July 1998. [11] W. T. Freeman and E. H. Adelson, “The design and use of steerable filters,” IEEE Trans. Pattern Anal. Machine Intell., vol. 13, pp. 891–906, Sept. 1991. [12] W. T. Freeman, “Steereable filters and local analysis of image structures,” Ph.D. dissertation, Dept. Media Arts Sci., Mass. Inst. Technol., Cambridge, 1992. [13] A. Grossman, “Wavelet transforms and edge detection,” in Stochastic Processes in Physics and Engineering, S. Albeverio, P. Blanchard, M. Hezewinkel, and L. Streit, Eds. Amsterdam, The Netherlands: Reidel, 1988, pp. 149–157. [14] M. Heath, S. Sarkar, T. Sanocki, and K. W. Bowyer, “A robust visual method for assessing the relative performance of edge-detection algorithms,” IEEE Trans. Pattern Anal. Machine Intell., vol. 19, pp. 629–639, Dec. 1997. [15] M. Heath, S. Sarkar, T. Sanocki, and K. W. Bowyer, “Comparison of edge detectors: A methodology and initial study,” Comput. Vis. Image Understand., vol. 69, no. 1, pp. 38–54, 1998. [16] D. H. Hubel and T. N. Wiesel, “Receptive fields and functional architecture in two nonstriate visual areas (18 and 19) of the cat,” J. Neurophysiol., no. 28, pp. 229–289, 1965. [17] L. Kitchen and A. Rosenfeld, “Gray-level corner detection,” Pattern Recognit. Lett., vol. 1, no. 2, pp. 95–102, 1982. [18] P. Kovesi, “Image features from phase congruency,” in Videre. Cambridge, MA: MIT Press, 1999, vol. 1, pp. 1–26. [19] T. Lindeberg, “Edge detection and ridge detection with automatic scale selection,” Int. J. Comput. Vis., vol. 30, no. 2, 1998. [20] D. Marr and E. Hildreth, “Theory of edge detection,” in Proc. Royal Soc. London B, 1980, pp. 187–217. [21] D. R. Martin, C. C. Fowlkes, and J. Malik, “Learning to detect natural image boundaries using brightness and texture,” in Proc. NIPS, Vancouver, BC, Canada, 2002. [22] Y. Meyer, Wavelets—Algorithms and Applications. Philadelphia, PA: SIAM, 1993. [23] J. N. Morel and S. Solimini, Variational Methods in Image Segmentation. Boston, MA: Birkhauser, 1995. [24] M. C. Morrone and D. Burr, “Feature detection in human vision: A phase-dependent energy model,” in Proc. Royal Soc. London B, 1988, pp. 221–245. 1517 [25] M. C. Morrone and R. A. Owens, “Feature detection from local energy,” Pattern Recognit., no. 6, pp. 303–313, 1987. [26] D. Mumford and J. Shah, “Optimal approximation of piecewise smooth function and associated variational problems,” Commun. Pure Applicat. Math., no. 42, pp. 577–685, 1989. [27] D. Nair, A. Mitiche, and J. K. Aggarwal, “On comparing the performance of object recognition systems,” in Proc. Int. Conf. Image Processing, 1995, pp. 631–634. [28] T. B. Nguyen and D. Ziou, “Contextual and noncontextual performance evaluation of edge detectors,” Pattern Recognit. Lett., no. 21, pp. 805–816, 2000. [29] P. Perona and J. Malik, “Scale-space and edge detection using anisotropic diffusion,” IEEE Trans. Pattern Anal. Machine Intell., vol. 12, pp. 629–639, 1990. [30] P. Perona and J. Malik, “Detecting and localizing edges composed of steps, peaks and roofs,” in Proc. 3rd Int. Conf. Computer Vision, Osaka, Japan, 1990, pp. 55–57. [31] B. Robbins and R. Owens, “2D feature detection via local energy,” Image Vis. Comput., no. 15, pp. 353–368, 1997. [32] R. Rodriguez-Sanchez, J. A. Garcia, J. Fdez-Valdivia, and X. R. Fdez-Vidal, “The RGFF representational model: A system for the automatically learned partioning of visual patterns in digital images,” IEEE Trans. Pattern Anal. Machine Intell., vol. 21, pp. 1044–1073, Oct. 1999. [33] L. Rosenthaler, F. Heitger, O. Kubler, and R. von der Heydt, “Detection of general edges and keypoints,” in Proc. ECCV, 1992, pp. 78–86. [34] C. A. Rothwell, J. L. Mundy, W. Hoffman, and V. D. Nguyen, “Driving vision by topology,” in Proc. SCV, 1995, pp. 395–400. [35] M. A. Ruzon and C. Tomasi, “Edge, junction, and corner detection using color distributions,” IEEE Trans. Pattern Anal. Machine Intell., vol. 23, pp. 1281–1295, Nov. 2002. [36] M. C. Shin, D. B. Goldgof, K. W. Bowyer, and S. Nikiforou, “Comparison of edge detection algorithms using a structure from motion task,” IEEE Trans. Syst., Man, Cybern. B, vol. 31, pp. 589–601, Aug. 2001. [37] M. C. Shin, D. B. Goldgof, and K. W. Bowyer, “Comparison of edge detector performance through use in an object recognition task,” Comput. Vis. Image Understand., vol. 84, no. 1, pp. 160–178, 2001. [38] J. Shen and S. Castan, “An optimal linear operator for edge detection,” Comput. Vis. Graph. Image Process., vol. 54, no. 2, pp. 122–133, 1992. [39] E. P. Simoncelli and H. Farid, “Steerable wedge filters for local orientation analysis,” IEEE Trans. Image Processing, vol. 5, pp. 1377–1382, Sept. 1996. [40] S. M. Smith and J. M. Brady, “SUSAN—A new approach to low level image processing,” Int. J. Comput. Vis., vol. 1, no. 23, pp. 45–78, 1997. [41] V. Torre and T. A. Poggio, “On edge detection,” IEEE Trans. on Pattern Anal. Machine Intell., vol. 8, pp. 148–163, Mar. 1986. [42] W. Vanzella, F. A. Pellegrino, and V. Torre, Regularization and segmentation of natural images, in IEEE Trans. Pattern Anal. Machine Intell., June 2004, to be published. [43] S. Venkatesh and R. A. Owens, “On the classification of image features,” Pattern Recognit. Lett., no. 11, pp. 339–349, 1990. [44] T. P. Vogl, J. W. Mangis, A. K. Rigler, W. T. Zink, and D. L. Alkon, “Accelerating the convergence of the back-propagation method,” Biol. Cybern., no. 59, pp. 257–263, 1988. [45] A. Witkin, “Scale-space filtering,” in Proc. Int. Joint Conf. Artificial Intelligence, 1983, pp. 1019–1022. [46] D. Ziou and S. Tabbone, “Edge detection techniques-An overview,” Dept. Math Comput. Sci., Univ. Sherbrooke, Sherbrooke, QC, Canada, Tech. Rep. 195, 1997. Felice Andrea Pellegrino was born in Conegliano, Italy, in 1974. He received the Laurea degree in engineering from the University of Udine, Udine, Italy, in June 2000 and is currently working toward the Ph.D. degree in systems theory at the same university. He began his research activity at the Department of Mathematics and Computer Science (DIMI), University of Udine. From 2001 to 2003 he was Research Fellow at the International School for Advanced Studies, Trieste, Italy. His research interests include control theory, computer vision, and pattern recognition. 1518 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34, NO. 3, JUNE 2004 Walter Vanzella received the Laurea degree in computer science from the University of Udine, Udine, Italy in 1998. Since 2001, he has been Research Fellow at the International School of Advanced Studies, Trieste, Italy. His main interests are related to variational methods applied to computer vision, biological inspired computer vision, and pattern recognition. Vincent Torre received the degree in theoretical physics from Genoa University, Genoa, Italy, in 1973. In the early 1980s, along with T. Poggio and C. Koch, he pioneered in the area of computational neuroscience. For several years he was a Post Doc and Visiting Scientist in Sir Alan Hodgkin Lab, Cambridge, U.K., where he learned a variety of electrophysiological methods and became expert in modeling biological process. In the late 1980s and early 1990s, he worked on computer vision and in particular, edge detection and motion perception. Since 1997 he has been a Full Professor at the International School of Advanced Studies, Trieste, Italy, and is the Head of the Department of Neurobiology. He has a well-established expertise in electrophysiology, computer vision, computational neuroscience, and modeling biological process. He is the author of more than 100 full papers.