Comprehensive Analysis of Edge Detection in Color Image Processing

. Various approaches to edge detection for color images, including techniques extended from monochrome edge detection as well as vector space approaches, are examined. In particular, edge detection techniques based on vector order statistic operators and difference vector operators are studied in detail. Numerous edge detectors are obtained as special cases of these two classes of operators. The effect of distance measures on the performance of different color edge detectors is studied by employing distance measures other than the Euclidean norm. Variations are introduced to both the vector order statistic operators and the difference vector operators to improve noise performance. They both demonstrate the ability to attenuate noise with added algo-rithm complexity. Among them, the difference vector operator with adaptive ﬁltering shows the most promising results. Other vector directional ﬁltering techniques are also introduced and utilized for color edge detection. Both quantitative and subjective tests are performed in evaluating the performance of the edge detectors, and a detailed comparison is presented


Introduction
The subject of color image processing has gained increasing recent attention because color images convey more information about objects in a scene than gray-scale images and this information can be used to further refine the performance of an imaging system.The multichannel nature of a color image, however, adds considerable complexity to the processing system.One of the challenges facing color image processing is to extract the additional color information without incurring large complexity in the system.
One of the fundamental tasks in image processing is edge detection.High level image processing, such as object recognition, segmentation, image coding, and robot vision, depends on the accuracy of edge detection since edges contain essential image information.In a monochrome image, an edge usually corresponds to object boundaries or changes in physical properties such as illumination or reflectance.This definition is more elaborate in the case of multispectral ͑color͒ images since more detailed edge information is expected from color edge detection.According to psychological research on the human visual system, 1,2 color plays a significant role in the perception of boundaries.Monochrome edge detection may not be sufficient for certain applications since no edges will be detected in gray value images when neighboring objects have different hues but equal intensities. 3Objects with such boundaries are treated as one big object in the scene.Since the capability to distinguish between different objects is crucial for applications such as object recognition and image segmentation, the additional boundary information provided by color is of paramount importance.Color edge detection also outperforms monochrome edge detection in low contrast images. 3here is thus a strong motivation to develop efficient color edge detectors that provide high quality edge maps.
Despite the relatively short period of time, numerous approaches of different complexities to color edge detection have been proposed.It is important to identify their strengths and weaknesses in choosing the best edge detector for an application.The major performance issues concerning edge detectors are their ability to extract edges accurately, their robustness to noise, and their computational efficiency.To provide a fair assessment, it is necessary to have a set of effective performance evaluation methods.Though numerous evaluation methods for edge detection have been proposed, there has not been any standardized method.In image processing, the evaluation methods can usually be categorized into objective and subjective evaluation.While objective evaluation can provide analytical data for comparison purposes, it is not sufficient to represent the complexity of the human visual systems.In most image processing applications, human evaluation is the final step, as noted by Clinque et al. 4 The subjective evaluation, which takes into account human perception, seems to be very attractive in this perspective.The visual assessment method proposed by Heath et al. 5,6 is entirely based on subjective evaluation.In this paper, both types of evaluation methods are utilized for comparing various edge detectors.
An overview of the methodology for color edge detection is presented in Section 2, where early approaches extended from monochrome edge detection, as well as the more recent vector space approaches are addressed.The edge detectors illustrated in this section, among others, are the Sobel operator, 3,7 the Laplacian operator, 3 the Mexican hat operator, 3,8 the vector gradient operator, 9 the directional operator, 10 the entropy operator, 11 and the Cumani operator. 12Two families of vector based edge detection operators, vector order statistic operators 13,14 and difference vector operators 15 are studied in detail in Section 3 and 4, respectively.A variety of edge detectors obtained as special cases of the two families are introduced and their performances are evaluated.The evaluation results from both objective and subjective tests are listed in Section 5 followed by our conclusions in Section 6.

Techniques Extended from Monochrome Edge Detection
In a monochrome image, an edge is defined as an intensity discontinuity.In the case of color images, the additional variation in color must also be considered.Early approaches to color edge detection are extensions of monochrome edge detection.These techniques are applied to the three color channels independently and then the results are combined using certain logical operation. 3Several standard techniques can be applied in this way.One of the representative classes of edge detection is the Sobel operator.It can be realized by convolving the image with the following two convolution masks: These two masks are applied to each color channel independently and the sum of the squared convolution gives an estimated gradient in each channel.A pixel is regarded as an edge point if the maximum of the gradient magnitude values in the three channels exceeds a predetermined threshold.
Another operator that can also be used in a similar fashion is the eight-neighbor Laplacian operator.The Laplacian convolution mask is defined as follows:

͑2͒
Again, the Laplacian mask is applied to the three color channels independently and edge points are located by thresholding the maximum gradient magnitude.
Another group of edge detectors commonly used in monochrome edge detection is based on second derivative operators, and they can also be extended to color edge detection in the same way.A second derivative method can be implemented based on the preceding operator.The Mexican hat operator uses convolution masks generated based on the negative Laplacian derivative of the Gaussian distribution:

͑3͒
Edge points are located if zero-crossing occur in any one color channel.The gradient operators proposed for gray-scale images 16 can also be extended to color images by taking the vector sum of the gradients for individual components. 9,11Similar to Sobel and Laplacian operators, the gradient operator also employs first derivative like mask patterns.Other approaches consider performing operations in an alternative color space.The Hueckel edge operator 17 operates in the luminance, chrominance color space.The edges in the three color components are also assumed to be independent under the constraints that they must have the same orientation.In studying the application of the compass gradient edge detection method to color images, Robinson 18 also utilized different color coordinates.
One common problem with the preceding approaches is that they failed to take into account the correlation among the color channels, and as a result, they are not able to extract certain crucial information conveyed by color.For example, they tend to miss edges that have the same strength but in opposite direction in two of their color components.Consequently, the approach to treat the color image as vector space has been proposed.

Vector Space Approach
Various approaches proposed consider the problem of color edge detection in vector space.Color images can be viewed as a 2-D three-channel vector field, 19 which can be characterized by a discrete integer function f(x,y).The value of this function at each point is defined by a 3-D vector in a given color space.In the RGB color space, the function can be written as f(x,y)ϭ(R(x,y),G(x,y),B(x,y)), where (x,y) refers to the spatial dimensions in the 2-D plane.Most existing edge detection algorithms use either first or second difference between neighboring pixels for edge detection.A significant change gives rise to a peak in the first derivative and zero-crossing in the second difference, both of which can be identified fairly easily.Some of these operators are considered in the following.

Vector gradient operators
The vector gradient operator employs the concept of a gradient operator, except that instead of scalar space the operator operates in a 2-D three-channel color vector space.There are several ways of implementing the vector gradient operator. 9One simple approach is to employ a 3ϫ3 window centered on each pixel and then obtain eight distance values (D 1 ,D 2 ,...,D 8 ) by computing the Euclidean distance between the center vector and its eight neighboring vectors.The vector gradient (g) is then chosen as gϭmax͑D 1 ,D 2 ,...,D 8 ͒. ͑4͒ Another approach employs directional operators.Let the image be a vector function f(x,y) ϭ(R(x,y),G(x,y),B(x,y)), and let r, g, and b be the unit vectors along the R, G, and B axes, respectively.The horizontal and vertical directional operators can be defined as: Edge can be obtained by thresholding ͓F()͔ 1/2 .The image derivatives along the x and y directions can be computed by convolving the vector function f with two spatial masks as follows: Unlike the gradient operator extended from the mentioned monochrome edge detection, the vector gradient operator can extract more color information from the image because it considers the vector nature of the color image.On the other hand, the vector gradient operator is very sensitive to small texture variations. 14This may be undesirable in some cases since it can cause confusion in identifying the real objects.The operator is also sensitive to Gaussian and impulse noise.

Directional operators
The direction of an edge in color images can be utilized in a variety of image analysis tasks. 20A class of directional vector operators was proposed to detect the location and orientation of edges in color images. 10In this approach, a color c(r,g,b) is represented by a vector c in color space.Similar to the well known Prewitt operator 21 shown below,

͑13͒
the row and column directional operators ͑i.e., in the horizontal and vertical directions͒, each have one positive and one negative component.For operators of size (2wϩ1) ϫ(2wϩ1) the configuration is the following: where the parameter w is a positive integer.These positive and negative components are convolution kernels, denoted by V Ϫ , V ϩ , H Ϫ and H ϩ , whose outputs are vectors corresponding to the local average colors.To estimate the color gradient at the pixel (x o ,y o ), the outputs of these components are calculated as follows: Local colors and local statistics affect the output of the operator components ͓V ϩ (x,y), V Ϫ (x,y), H ϩ (x,y) and H Ϫ (x,y)͔.To estimate the local variation in the vertical and horizontal directions, the following vector differences are calculated: The scalars ʈ⌬H(x o ,y o )ʈ and ʈ⌬V(x o ,y o )ʈ give the variation rate at (x o ,y o ) in orthogonal directions ͑i.e., are the amounts of color contrast in the horizontal and vertical di-rections͒.The local changes in the color channels ͑i.e., R, G and B͒ can not be combined properly by simply adding the R, G and B components of ⌬H and ⌬V.This approach leads to a mutual canceling out effect in several situations ͑e.g., when contrast is in phase opposition in different chan-nels͒.Instead, the local changes in R, G and B are assumed to be independent ͑i.e., orthogonal͒, and the intensity of the local color contrast is obtained as the magnitude of the resultant vector in the RGB space ͑using the Euclidean norm͒, as shown in Equations ͑17͒ and ͑18͒.Therefore, the magnitude B of the maximum variation rate at (x o ,y o ) is estimated as the magnitude of the resultant vector: and the direction of the maximum variation rate at (x o ,y o ) is estimated as:

͑18͒
where, k is an integer, and: where ʈ.ʈ denotes the Euclidean norm.In this formulation, the color contrast has no sign.To obtain the direction of maximal contrast, a convention is adopted to attribute signs to the quantities ⌬VЈ(x o ,y o ) and ⌬HЈ(x o ,y o ) in Equation ͑18͒.These quantities are considered positive if the luminance increases in the positive directions of the image coordinate system.The luminance quantities are estimated here by the norms: ʈH ϩ ʈ, ʈH Ϫ ʈ, ʈV ϩ ʈ and ʈV Ϫ ʈ.Typically the luminance has been estimated by the luminance quantity, using the norm ʈcʈ 1 ϭrϩgϩb.However, the norm ʈcʈ 2 ϭ(r 2 ϩg 2 ϩb 2 ) 1/2 also has been used to estimate luminance. 22Here ʈ.ʈ 2 is denoted simply by ʈ.ʈ.Another possibility would be to consider the local color contrast with respect to a reference ͑e.g., the central portion of the operator c o ͒, instead of the luminance quantity.However, this last possibility could present some ambiguities ͓e.g., in vertical ramp edges ʈH Ϫ Ϫc o ʈϭʈH ϩ Ϫc o ʈ, then ⌬HЈ(x o ,y o ) would have positive sign, irrespective of the actual sign of the ramp slope͔. 10ote the similarity between the color gradient formulated above and a Prewitt-type (2wϩ1)ϫ(2wϩ1) monochromatic gradient. 21The larger the parameter w, the smaller the operator sensitivity to noise, and also to sharp edges.This happens because there is a smoothing ͑low pass͒ effect associated with the convolution mask.Therefore, the larger the size of the convolution mask, the stronger the low pass effect and the less sensitivity the operator has to high spatial frequencies.Also, note that H Ϫ , H ϩ , V Ϫ and V ϩ are in fact convolution masks, and could easily implement the latest vector order statistics filtering approaches.

Compound edge detectors
The simple color gradient operator can also be used to implement compound gradient operators. 10A well known example of a compound operator is the derivative of Gaussian (⌬G) operator. 21In this case, each channel of the color image is initially convolved with a Gaussian smoothing function G(x,y,), where is the standard deviation, and, after then this gradient operator is applied to the smoothed color image to detect edges.Torre and Poggio 23 stated that differential operations on sampled images require the image to first be smoothed by filtering.The Gaussian filtering has the advantage that it guarantees the bound-limitedness of the signal, so the derivative exists everywhere.This is equivalent to regularizing the signal using a low pass filter prior to the differentiation step.
The low pass filtering ͑regularization͒ step is done by the convolution of a Gaussian G(x,y,) with the image signal.In a multispectral image, each pixel is associated to a vector c(x,y) whose components are denoted by c i (x,y), and iϭ1,2,3.This convolution is expressed as follows: where I and I i denote the image itself and the image component i.The image edges are then detected using the operator described before, and at each pixel the edge orientation (x,y) and magnitude B(x,y) are obtained.The filtering operation introduces an arbitrary parameter, the scale of the filter, e.g., the standard deviation for the Gaussian filter.A number of authors have discussed the relationship existing between multi resolution analysis, Gaussian filtering and zero-crossings of filtered signals. 23,24he actual edge locations are detected by computing the zero-crossings of the second-order differences image, denoted by ZC(x,y), obtained by applying first-order difference operators twice.Once the zero-crossings are found, they still must be tested for maximality of contrast.In practice, the image components are only known at the nodes of a rectangular grid of sampling points (x,y), and the zerocrossing condition ZC(x,y)ϭ0 often does not apply.The simple use of local minima conditions leaves a margin for uncertainty.The zero-crossing image locations can be located by identifying how the sign of ZC(x,y) varies in the direction of maximal contrast, near the zero-crossing location. 12Therefore, the condition ZC(x,y)ϭ0 must then be substituted by the more practical condition: where the sampling points (x i ,y i ) and (x j ,y j ) are eightadjacent, and the derivatives required for the computation of ZC(x,y) are approximated by convolutions with the masks proposed by Beaudet. 25Notice that (x i ,y i ) and (x j ,y j ) are in the direction of maximal contrast calculated at (x o ,y o ), the center of the eight-adjacent neighborhood.
To improve the spatial location ͑mostly with larger operator sizes w͒, a local minimum condition is also used ͓i.e., ͉ZC(x o ,y o )͉Ͻ, Ӎ0͔.With the compound detector, the Gaussian noise can be reduced due to the Gaussian smoothing function.Though this operator improves performance in Gaussian noise, it is still sensitive to impulsive noise.

Entropy operator
The entropy operator is employed for both monochrome and color images.It yields a small value when the chromaticity in the local region is uniform, and a large value when there are drastic changes in the chromaticity.The entropy in a processing window ͑i.e., 3ϫ3͒ centered on vector where H R , H G , and H B denote the entropies in the R, G, and B directions, respectively, and

͑22͒
Let X o ,X 1 ,...,X N , (XϭR,G,B) denote the values in each corresponding channel inside the processing window, and H X is defined as: Edges can be extracted by detecting the change of entropy H in a window region.Since the presence of noise can disturb the local chromaticity in an image, the entropy operator is sensitive to noise. 14

Second derivative operators
A more sophisticated approach which involves second derivative operator is suggested by Cumani.Given a vector field f(x,y) for a color image, the squared local contrast of f at point Pϭ(x,y) in the direction of the unit vector n(n 1 ,n 2 ) is defined as: The eigenvalues of the 2ϫ2 matrix ( F E G F ) coincide with the extreme values of S( P,n) and are attained when n is the corresponding eigenvector.The extreme values are and the two corresponding eigenvectors n ϩ and n Ϫ are given as Possible edge points are considered as point P where the first directional derivative D s ( P,n) of maximal squared contrast ϩ ( P) is zero in the direction of maximal contrast n ϩ ( P).The directional derivative is defined as:

͑35͒
The edge points are determined by computing zerocrossings of D s ( P,n).Since the local directional contrast must be a maximum or minimum, the sign of D s along a curve tangent at P in the direction of n ϩ is checked and the edge point is located if it is found to be a maximal point.The ambiguity of the gradient direction in the above method causes some difficulties in locating edge points.Cumani suggested the subpixel technique with bilinear interpolation to solve the problem.Alshatti and Lambert 26 suggested a modification in solving the ambiguities by estimating the eigenvector n ϩ , which can avoid the computational costly subpixel approximation.Other techniques 3 have also been proposed to reduce the complexity of the Cumani operator.Similar to the vector gradient operator, the second-order derivative operator is very sensitive to texture variations and impulsive noise, but it produces thinner edges.The regularizing filter applied in this operator causes a certain amount of blurriness in the edge map.
3 Vector Order Statistic Operators

Introduction
One important family of operators for image processing is based on order statistics. 27It has played an important role in monochrome image processing and it was also extended to color image filtering and edge detection. 28This approach is inspired by the morphological edge detectors 29,30 that have been proposed for the monochrome images.This class of color edge detectors is characterized by linear combinations of the sorted vector samples.Different sets of coefficients of the linear combination give rise to different edge detectors that vary in performance and efficiency.The primary step in order statistics is to arrange a set of random variables in ascending order according to certain criteria.In color space, since we are dealing with 2-D, multichannel variables, there is no universal way of defining an ordering.A number of ways have been proposed to perform multivariate data ordering 28 and they can be classified into marginal ordering ͑M -ordering͒, reduced aggregate ordering (R-ordering͒, partial ordering ͑P-ordering͒, and conditional ordering ͑C-ordering͒.In M-ordering, the ordered vectors do not correspond to the original vectors, and P-ordering is difficult to implement for digital image processing.C-ordering considers only one color component.R-ordering is hence more appropriate for color image processing.R-ordering reduces each multichannel variable to a scalar value according to a distance criterion.Let the image vectors in a window W denote X i , iϭ1,2,...,n and D(X i ,X j ) be a measure of distance between vectors X i and X j .The reduced scalar quantity associated with X i is defined as The arrangement of d i in ascending order (d (1) рd (2) р... рd (n) ) corresponds to the same ordering to the multivariate variables: In the ordered sequence, X (1) is the vector median and vectors appearing at high ranks are referred to as outliers because they diverge the most from the data population.

Edge Detectors
The vector range ͑VR͒ edge detector is the simplest color edge detector based on order statistics.It expresses the deviation of the vector outlier in the highest rank from the vector median in W as follows: where VR is small in a uniform area since all vectors are close together, and it gives large output when discontinuities exist.Edges can be obtained by thresholding the VR outputs.
The VR detector, though simple and efficient, is sensitive to noise, especially to impulsive noise.It will respond to a noise pixel at the center of W with n pixels.To improve noise performance, a more general class of operators, vector dispersion edge detector ͑VDED͒, is defined as a linear combination of the ordered vectors:

͑39͒
where ʈ•ʈ denotes the appropriate norm.Note that VR is a special case of VDED with ␣ 1 ϭϪ1, ␣ n ϭ1, and ␣ i ϭ0, i ϭ2,...,nϪ1.The preceding equation can be further generalized by employing several sets of coefficients and combining the resulting vector magnitude in a suitable way.The coefficients can be chosen in a way to attenuate noise.One proposed class of operator is the minimum vector dispersion ͑MVD͒ detector, and it is defined as: The choice of k and l depend on n, the size of W. These two parameters control the trade-off between complexity and noise attenuation.This more computationally involved operator can improve edge detection performance in the presence of both impulsive and Gaussian noise.It can eliminate 14 up to kϪ1 impulse noise pixels in W. Let there be kϪ1 impulsive noise pixels in a window of n pixels.By their nature, impulsive noise differ from the rest of the pixels by a large amount.Therefore, after ordering, the impulsive noise pixels have the highest ranks, X (nϪkϩ2) ,X (nϪkϩ3) ,...,X (n) .Since the distance between these noise pixels and the rest of the pixels are large, Equation ͑40͒ can be reduced to MVD ϭD͓X (nϪkϩ1) ,͚ iϭ1 l X (i) /l͔.Notice that none of the noise pixels appears at this equation, and thus would not affect the edge detection process.The MVD is also robust in Gaussian noise due to the l-points average term.
An alternative design of the generalized VDED operators utilizes the adaptive nearest-neighbor ͑NN͒ filter. 31The coefficients are chosen to adapt to local image characteristics.Instead of constants, the coefficients are determined by an adaptive weight function for each window W. The operator is defined as the distance between the outlier and the weighted sum of all the ranked vectors:

͑41͒
The weight function w i is determined adaptively using transformations of a distance criterion at each image location and it is not uniquely defined.There are two constraints on the weight function: 1.Each weight coefficient is positive, w i у0.

The weight function is normalized, ͚ iϭ1
n w i ϭ1.
Since the operator should also attenuate noise, it is important to assign a small weight to the pixels with high ranks ͑i.e., outliers͒.A possible weight function can be defined as follows: One special case for this weight function occurs in highly uniform areas where all pixels have the same distance.The preceding weight function can not be used since the denominator is zero.Since no edge exists in this area, the difference measure NNVR is set to zero.The MVD operator can also be incorporated with the NNVR operator to further improve its performance in the presence of impulse noise as follows:

.,k,kϽn. ͑43͒
A final annotation on the class of vector order statistic operators concerns the distance measure D(X i ,X j ).By convention, the Euclidean distance measure ͑L 2 norm͒ is adopted.The use of L 1 norm is also considered because it reduces the computational complexity by computing the absolute values instead of squares and square root, and it shows no notable deviation in performance.A few other distance measures are also considered in the attempt to locate an optimal measure, namely, the Canberra metric implementation, the Czekanowski coefficient, and the angular distance measure.Their performances are addressed later.The Canberra metric implementation 32 is defined as: The Czekanowski coefficient 32 is defined as: where the m is the number of vector components, in the case of color image, mϭ3, corresponding to the three channels ͑R, G, and B͒.The angular distance measure 13 is defined as:

͑46͒
where ʈ•ʈ denotes the magnitude of the color vector x i .
Based on these three distance measures, a variety of color edge detectors can be established.

Difference Vector Operators
The class of difference vector ͑DV͒ operators can be viewed as first derivative like operators.This group of operators is extremely effective from the point of view of the computational aspects of the human visual system.In this approach, each pixel represents a vector in the RGB color space, and a gradient is obtained in each of the four possible directions ͑0, 45, 90, and 135 deg͒ by applying convolution kernels to the pixel window.Then a threshold can be applied to the maximum gradient vector to locate edges.The gradients are defined as: where ʈ•ʈ denotes the L 2 norm, and X and Y are three dimensional vectors used as convolution kernels.The variation in the definitions of these convolution kernels give rise to a number of operators.Figure 1 shows the partition of the pixel window into two subwindows within which each convolution kernel is calculated in all four directions.The basic operator of this group employs a 3ϫ3 window involving a center pixel and eight neighboring pixels.Let each pixel denotes v(x,y), and the convolution kernels for the center pixel v(x 0 ,y 0 ) in all four directions are defined as: This operator requires the least amount of computation among the edge detectors considered so far.However, as with the VR operator, the DV operator is also sensitive to impulsive and Gaussian noise. 15As a result, more complex operators with subfiltering are designed.A larger window size is required in this case to allow more data for processing.Although there is no upper limit on the size of the window, usually a 5ϫ5 window is preferred since the computational complexity is directly linked to the size of the window.In addition, when the window becomes too large it can no longer represent the characteristics of the local region.For an nϫn window ͑nϭ2kϩ1, kϭ2,3,...͒, the number of pixels in each of the subwindows illustrated in Figure 1 is Nϭ(n 2 Ϫ1)/2.A filter function can be applied to these N pixels in each subwindow to obtain the respective convolution kernels:

͒, ͑57͒
where dϭ0,45,90,135.͑58͒ Depending on the type of noise one wishes to attenuate, different filters can be utilized.Four types of nonlinear image filters based on order statistics are employed in our work.
The first type of color edge detector incorporates the vector median filter. 33This filter outputs the vector median of the N vector samples in the subwindow using the concept of vector order statistics introduced earlier, where the N vector samples are arranged in ascending order using R-ordering, v (1) рv (2) р...v (N) , and the vector with the lowest rank, v (1) , is the vector median.We can make this operator more efficient by locating the vector with the minimum reduced distance calculated in R-ordering instead of ordering all N samples since only the vector median is of importance here.The output of the filter is: The vector median filter is very effective for reducing impulse noise because it can reject up to NϪ1 impulse noise pixels in a subwindow.However, since only the median vectors are used for edge detection, some edges may be rejected as noise and not able to be detected.The second type of filter is the vector mean filter.This filter reduces the effect of Gaussian noise by averaging all the vector samples: Due to the simplicity of the averaging operation, the vector mean operator is much more efficient than the vector median operator.The vector mean operator may cause certain false edges since the pixels used for edge detection are no longer the original pixels.
The third type of filter, the ␣-trimmed mean filter, is a compromise between the preceding two filters.It is defined as: where ␣ is in the range ͓0,0.5͒.When ␣ is 0, no vector is rejected and the filter reduces to vector mean filter.When ␣ is 0.5, all vectors except vector median are rejected and the filter reduces to vector median filter.For other ␣ values, this operator can reject 200␣% of impulse noise pixels, and it outputs the average of the remaining vector samples.Therefore the ␣-trimmed mean filter can improve noise performance in the presence of both Gaussian and impulse noise.
The last type of filter to be addressed is the adaptive nearest-neighbor filter. 34As introduced in the last section, the output of this filter is a weighted vector sum with a weight function that varies adaptively for each subwindow: where the weight function w i was given in Eq. ͑42͒, and it assigns a higher weight to the vectors with lower ranks, and a lower weight to the outliers.This filter is also effective with mixed Gaussian and impulsive noise and it bears approximately the same complexity as the ␣-trimmed mean filter since they both need to perform the R-ordering.Again since edge detection is performed on the outputs of the filter instead of the original pixels, there may be a reduction in resulting edge qualities.Another group of operators denotes a similar concept as the subfiltering operators where prefiltering is used instead.Any one of the preceding filters can be used to perform prefiltering on an image with a 3ϫ3 window, and then the DV operator with the same window size is used for edge detection.Unlike the previous group, in this family the pixel window is not divided into subwindows during filtering, and the filter is applied only once to the whole window.The advantage with this group of operators is that it is considerably more efficient than the previous group since the filtering operation, which accounts for most of the complexity, is performed only once instead of eight times ͑two for each of the four directions͒ for each pixel.
One last proposed variation for the DV operators considers edge detection in only two directions, horizontal and vertical, instead of four directions: It is anticipated that such a design will be as powerful as the other DV operator due to the facts that ͑1͒ human vision is more sensitive to horizontal and vertical edges than to others and ͑2͒ the horizontal and vertical difference vectors are able to detect most of the diagonal edges as well, which in turn can reduce the thickness of these edges by eliminating the redundancy from the diagonal detectors.In addition, the amount of computation involved with this operator is slightly reduced.

Evaluation Procedures and Results
To investigate further the performance of the vector order statistic operators and the DV operators, we must determine how these two classes of operator compare to each other and how the individual edge detectors in each class rank among themselves.Both quantitative and qualitative measures are used to evaluate the performance of the edge detectors in terms of accuracy in edge detection and robustness to noise.The quantitative performance measures can be grouped into two types, probabilistic measures and distance measures.The first type is based on statistics of correct edge detection and false edge rejection.The second type is based on edge deviation from true edges.The first type of measure can be adopted to evaluate the accuracy of edge detection by measuring the percentage of correctly and falsely detected edges.Since a predefined edge map ͑ground truth͒ is required, synthetic images are used for this experiment.The second type of measure can be adopted to evaluate the noise performance by measuring the deviation of edges caused by noise from the true edges.Since numerical measures are not sufficient to model the complexity of human visual systems, qualitative evaluation using subjective tests is required in most image processing applications.Also, evaluation based on synthetic images has limited value because they can not be extrapolated to real images easily. 35As a result, real images are also used in the evaluation process.All the images used for evaluation are defined in the RGB color space.A total of 24 edge detectors from the class of the vector order statistic operators and the difference vector operators are implemented and their performance are evaluated along with the Sobel edge detector.Table 1 provides a list of the 25 edge detectors for later reference.

Probabilistic Evaluation
Several artificial images with prespecified edges are created for accessing the probabilistic performance of selected edge detectors.To analyze the responses of the edge detectors to different types of edge, these images contain vertical, horizontal, and diagonal edges; round and sharp edges; edges caused by variation in only one, only two or all three components; isoluminant and nonisoluminant areas.In this experiment, noise is not added to the images.The resulting edge maps from each detector are compared with the predefined edge maps, and the number of correct and false edges detected are computed and are represented as hit and fault ratio, as shown in Table 2.The hit ratio is defined as the percentage of correctly detected edges and the fault ratio is the ratio between the number of false edges detected and the number of true edges in the predefined edge map.These two parameters are selected for this evaluation because they characterize the accuracy of an edge detector.
From the results in Table 2, a few conclusions can be drawn: When prefiltering is performed ͑fDVadap, fDV␣-trim͒, this undesirable effect does not exist, and these operators show good performances.

Noise Performance
Real images with corrupted mixed noise are used for this experiment.The mixed noise contain 4% impulsive noise and 30% Gaussian noise, with 5% variance for both types of noise.The edge maps of the images corrupted with noise are compared with the edge maps of the original image for each edge detector.The noise performance is measured in terms of the peak SNR ͑PSNR͒ values, and the results are given in Table 3.The PSNR is a easily quantifiable measure of image quality, although it provides only a rough evaluation of the actual visual quality the eye may perceive in an edge map.
A few observations can be made from the results: • The simple operators such as Sobel, VR and DV are sensitive to both impulsive and Gaussian noise.The noise performance can be improved with added complexity.• In the case of vector order statistic operators, the MVD and NNMVD operators show more robustness in the presence of noise.We can also confirmed that the noise performance improves with the increase complexity of the operators, which are controlled by the two parameters k and l. • For the class of DV operators, the added filtering improve the performance drastically.Since mixed noise is present, we used adaptive and ␣-trimmed filter for this experiment.The use of adaptive filter as prefilters on the whole window demonstrates the best performance in noise suppression.Hence we can conclude that the adaptive filter outperforms the ␣-trimmed filter and the prefiltering method is better than the subfiltering method in terms of noise suppression.Operators in only the horizontal and vertical directions show very slight deviation in PSNR values from ones in all four directions.

Subjective Evaluation
Since subjective evaluation is very important in image processing, we have applied the aforementioned operators to a collection of real and artificial images ranging from face features to outdoor scenes.The subjective evaluation enables us to investigate further the characteristics of the obtained edge maps through the involvement of human factors.In the subjective evaluation, images to be compared are viewed simultaneously, under identical viewing conditions by a set of observers.The operators are rated in terms of several criterion: ease in recognizing objects; continuity of edges; thinness of edges; performance in suppressing noise.The results obtained are in good agreement in all cases with our selected criterion.
After examining large quantities of edge maps produced by each edge detector, the following conclusions can be drawn: • As suggested in the quantitative tests, the performance of Sobel, VR, and DV operators are very similar in that they all produce good edge maps for noiseless images.• The MVD and NNMVD operators produce thinner edges and are less sensitive to small texture variations because of the averaging operation, which smooths out small variations.Also as expected, these two groups of operators are able to extract edges even in noise corrupted images.• The two groups of DV operators with subfiltering and prefiltering all demonstrate excellent performance for noise corrupted images.The vector mean operator performs best in impulsive noise, vector median operator performs best in Gaussian noise, and adaptive and ␣-trimmed operators perform best in mixed noise.The subfiltering operator with adaptive filter is able to produce fair edge maps for real images despite its unsuccessful attempts with synthetic images during the numerical evaluation.However, the visual assessments are in agreement with the numerical tests in that the group of prefiltering operators outperform the group of subfiltering operators of the same filter.• One last note on the difference vector operators is that the operators with only horizontal and vertical directions produce thinner diagonal edges than those in all four directions.

Conclusion
Recently, many effective methods for color edge detection have been proposed and this paper presented a comparative study of some of the representative edge detectors.Two classes of operators, vector order statistic operators and VD operators were studied in detail because both of these are effective with multivariate data and are computationally efficient.Several variations were introduced to these two classes of operators to achieve better noise suppression and higher efficiencies.We discovered that both classes offer a  mean of improving noise performance at the cost of increasing complexity.The performance of all edge detectors was evaluated both numerically and subjectively.The results presented demonstrate a superiority of the DV operator with adaptive prefiltering over other detectors.This operator scores high points in numerical tests and the edge maps it produces are perceived favorably by human eyes.Note that different applications have different requirements on the edge detectors, and though some of the general characteristics of various edge detectors were addressed, it is still better to select edge detectors that are optimum for the particular application.

Figure 2
Figure2shows one of the images used in the experiment, ''Lenna.''This image is corrupted by 4% of impulse noise and 30% of Gaussian noise.Figures3-6provide the edge maps produced by four selected operators.Figure7is another real image used, ''Flower,'' and four of the edge maps are shown in Figures8-11.One of the synthetic images, ''Ellipse,'' is shown in Fig.12and Figs.13-16show a set of edge maps of ''Ellipse.''

Table 1
Edge detectors for evaluation.

Table 2
Numerical evaluation with synthetic images.

Table 3
Noise performance.