COMPUTER
VISION,
GRAPHICS,
AND
IMAGE
PROCESSING
An Edge Extraction
Technique MINSOO
Department
of Electrical
(1984)
=,24-45
for Noisy Images
SUK
Science, Korea Advanced Seoul, Korea
Institute
of Science and Technology,
AND
SOONHO HONG Ministry
of National
Defense,
Seoul, Korea
Received February 22,1982; revised September 21,1982 Extracting edges from noisy images has an important significance in practical applications which utilize some type of visual input capability. This paper describes a new edge extraction technique specifically developed for noisy images which eliminates the necessity of noise removal preprocessing or postprocessing. The algorithm is based on parallel statistical tests for which indeterminate decisions are allowed. A number of well-chosen examples are shown to demonstrate the capabilities of the new algorithm for noisy images as well as noise free images.
1. INTRODUCTION
Most edge extraction techniques employ some type of gradient measure and often fail to provide satisfactory results for noisy images [l-8]. With recent advances in pattern recognition, scene analysis, and artificial intelligence, there has been an increasing number of systems developed for practical applications which incorporate some type of visual input capability [9-121. The input images in such practical applications are often very noisy, for example, in radar or ir detector imagery. In this paper, we describe a new edge extraction technique based on parallel statistical tests for which indeterminate decisions are allowed. The primary focus in the development of this technique has been on developing an edge extraction technique which can be applicable to noisy images as well as noise free images. To illustrate the shortcomings of conventional techniques and the capabilities of the proposed algorithm, a radar image was processed by the wellknown Sobel edge operator [l] and by the new algorithm. Figure 1 shows the results obtained by both techniques demonstrating that the result obtained by applying the new algorithm is an improvement. The fundamental limitations of the existing edge extraction techniques based on a gradient measure are as follows: (1) They are basically point operators and thus do not take into account noise characteristics which are usually of a statistical nature. (2) The gradient operation itself is quite noise sensitive. To overcome these difficulties, the following features are incorporated in the proposed algorithm: (1) The pixels in a window area are considered as a whole. (2) A connected edge segment is detected rather than individual edge points. (3) A statistical test approach is taken in which the noise characteristics can be incorporated. (4) A number of independent statistical tests are applied to make the decision more reliable. 24 0734-189X/84
$3.00
Copyright Q 1984 by Academic Press, Inc. All tights of reproduction in my form reserved.
EDGE EXTRACTION
FOR NOISY IMAGES
25
FIG. 1. An example demonstrating the capabilities of the new algorithm. (a) Input radar image. (b) Edges obtained by applying Sobel operator (threshold = 200). (c) Edges obtained by applying Sobel operator (threshold = 240). (d) Edges obtained by applying new algorithm (threshold ES, = 3).
Some statistical approaches to edge detection [13,14] have been proposed previously. Among them, perhaps, the algorithm proposed by Chow and Kaneko [13] is closest in concept to the new algorithm described in this paper. The Chow-Kaneko algorithm is based on a bimodality test of the pixels within each window by means of mixture density identification. It has been reported by Haralick [18] that the Chow-Kaneko algorithm works poorly with moderate noise, producing a highly broken-up segmentation. On the other hand, the new algorithm employs a bimodality test which is based on multiple, parallel statistical tests. Since more than one statistical test is applied to each window, and the final decision of bimodality is made by examining all of the test results, we can allow an indeterminate decision for individual tests. The redundancy provided by the multiple, parallel statistical tests is the essential concept of the new algorithm. The redundancy increases reliability and consistency of the test, and thus makes the algorithm more suitable for noisy images. The computation time of the Chow-Kaneko algorithm increases exponentially as the window size becomes smaller. Thus, in practice, the algorithm is most efficient when a relatively large window, such as a 64 X 64 or 32 X 32 window, is used. In
26
SUK
AND
HONG
this sense, the algorithm is most suitable for images consisting of a few well-defined regions such as cineangiograms. The effect of window size on the computation time of the new algorithm is much less than that of Chow-Kaneko. The small variation of computation time can be explained by the fact that when a smaller window size is chosen the increase in computation time due to a larger number of windows is o&et by the decrease in the number of pixels to be processed within each window. Even for very complex images, the new algorithm produces excellent results with a window size of 6 X 6. For simpler images, we can reduce the computation time somewhat by choosing a bigger window. For comparison, it has been found experimentally on a VAX 11/780 that the new algorithm using a 16 x 16 window and the Chow-Kaneko algorithm using a 64 x 64 window take the same order of computation time. A detailed description of the new algorithm is followed by a number of examples which test the algorithm for different types of images. Finally, a circle finding algorithm is described and the results of its practical application are given. 2. EDGE
EXTRACTION
ALGORITHM
Some of the features which make the proposed algorithm applicable to noisy images are the following. (1) Instead of detecting individual edge points, the proposed algorithm detects connected edge segments. This eliminates most of the spurious edge points due to noise. (2) A statistical test approach is taken instead of conventional gradientlike point operators. The noise can be adequately characterized in statistical terms and they can be imbedded in the test procedures. (3) To increase the reliability and consistency, a number of parallel statistical tests are applied to test the existence of a significant connected edge segment within a given window. Thus, even though some of the tests produce erroneous results due to the effects of noise, the flnal decision based on the results of all tests has a much higher probability of being correct. The redundancy in the test procedure is the essential concept of the algorithm. (4) For each test, a “no-decision” category is added to “acceptance” or “ rejection” of the hypothesis. In the presence of noise, it is reasonable to allow a “no decision” than to force a definite decision when in doubt. This is a luxury made possible by the redundancy in the test procedure. An outline of the proposed algorithm is shown in Fig. 2. The two most important steps of the algorithm are modality test and edge detection. The modality test is done by performing a number of statistical tests for the pixels of a given window. The decision on the existence of a significant connected edge segment in the window is made by examining all of the test results. For the windows for which it is decided that there exists a significant connected edge segment, the connected edge points are detected, producing a line or a curved line segment. A detailed description of the steps involved in the algorithm is given below. A. Window Selection To insure the continuity of edge points, an overlapping sliding window movement scheme as shown in Fig. 3 is adopted. The window size must be chosen such that it is (1) large enough to include enough pixels so that the statistical tests are valid, and (2) small enough so that a given window contains only one signif%Xnt connected edge segment.
EDGE EXTRACTION
FOR NOISY IMAGES
Input
27
Image
I Window Selection
I Modality Test
Histogram sholding
Output
Thre and
Edge
Image
FIG. 2. Block diagram of the new edge extraction algorithm.
B. Modality
Test
The primary objective of this step is to test the existence of a connected edge segment in a given window. The decision problem is formulated as testing the following hypothesis: H: There exists a connected edge segment of significance inside the given window. The conventional approach to this type of problems is to evaluate a test statistic from samples, and if it falls into the acceptance region defined by a critical value, then the hypothesis is accepted; otherwise it is rejected. However, for noisy samples, it is often very dif%xlt to make a definite decision to accept or to reject the hypothesis based on a single statistical test. To overcome the diikulties associated with the noise in the samples, the following statistical test schemeis adopted for the proposed algorithm, which incorporates the
28
SUK AND HONG
Ll!II! hl
w13
.
.
.
.
.
FIG. 3. Movement of windows. An overlapping sliding window movement scheme is adopted (IV,, + Iv** + ‘.. -) Iv,, + W& + . . ).
concept of redundancy and indeterminate
decision:
(1) Apply N independent statistical tests, Tests 1 through N. (2) For each test, choose two critical values, one for accepting and the other for rejecting the hypothesis. The critical values are set conservatively enough so that the test will result in a “no decision” for the case when the information conveyed by the particular test statistic is ambiguous. (3) The final decision on whether to accept or to reject the hypothesis is made after all the results of N independent tests are weighted. The above approach is possible because even though one or more tests result in “no decision,” we can reasonably expect that some of the remaining tests will result in definite decisions. The statistical test scheme explained above is illustrated in Fig. 4, and the descriptions of the individual tests used and the final decision scheme adopted follow.
1
the
Window
Samples
I
-
Test
I
-
reject
1 do not reject
0
H
H
__c
I
1
Statistic
Test
Evaluate
Statistic
Test
N
2
2
TN
T
Decision
Decision
N
2
N 2
DN
D2
I
I
"no-edge"
FIG. 4. Modality test scheme. Redundancy and indeterminate decision are the essential parts of the scheme.
of
__c
Evaluate
@
"edge" "no-edge"
30
SUK AND HONG
Statistical Tests The statistical tests used in the modality
test can be categorized into three groups:
(1) A simple test to prescreen windows for which the hypothesis clearly fails. (2) Tests based on the gray level distribution of the pixels in the window. (3) Tests based on the spatial variation of the gray levels within the window. The tirst test is incorporated to speed up the algorithm by eliminating those windows for which the hypothesis clearly fails. The tests of the second and third groups are applied only if the simple test does not reject the hypothesis for the given window. 1. A simple test for prescreening windows. Before applying more sophisticated statistical tests, a simple test is applied to eliminate windows for which the hypothesis clearly fails. Depending on the complexity of the input image, this simple test will eliminate a lot of windows, thus reducing computation time significantly. Test 0: Simple Parametric Test for Unimodality Step 1. Compute test statistic DIFFG = MAXG - MING where MAX G = (maximum intensity within the window) and MING = (minimum intensity within the window). Step 2. Reject H if DIFFG < TO Otherwise, apply Tests 1 through 6. Critical value used in actual implementation: T, = 10. Note that the critical value TOshould be set low enough so that only those windows which are clearly unimodal are eliminated. 2. Tests based on the gray level distribution. The purpose of the tests in this group is to test the unimodality of the gray level distribution of the pixels. When unimodality is accepted, we conclude that there is no significant connected edge segment inside the window; when unimodality is rejected, we conclude otherwise. We also make a “no decision” whenever the test statistic falls in between two critical values. In actual implementation, only two particular unimodal density functions, uniform density and Gaussian density, were tested. This assumption is not too restrictive considering the fact that the window size is not large and that we allow “no decision” as a valid test result. The &i-square fit test is used for the unimodality test of the histogram. The range of gray levels is divided into intervals and the observed frequency in each interval is compared with the expected number in that interval. An outline of the test procedures is given below. Test 1: Unimodality Test-Uniform Distribution Test 2: Unimodality Test-Gaussian Distribution Step 1. Generate the gray level histogram of the pixels of the window. Find Variance, Mean. Step 2. Divide the range (MAX G-MING), into n intervals.
EDGE EXTRACTION
31
FOR NOISY IMAGES
Step 3. Calculate the test statistic x2
= i (Oi- EJ2 Ei
i=l
where Oi = observed frequency in interval i, and Ei = expected number in interval i. Step 4. Decide “no edge” if x2 < xt, : y “edge” if x2 > ~2,: y “no decision” otherwise, where q > a2 and v = (n - 1)
for the uniform case, and
v= (n - 3)
for the Gaussian case.
Critical values used in actual implementation: a1
= 0.5
and
a2 = 0.005.
Outputs: Decision 1 and Decision 2 (“edge,” “no edge,” “ no decision”), and Test statistic 1 - xf and Test statistic 2 - xi. The only difference between Tests 1 and 2 is in Step 2. For both the uniform and Gaussian cases, the range is divided into n intervals each having equal probability, thus making Ej = (number of pixels in the window)/n. The intervals for the uniform case are of equal length, while those for the Gaussian case are of unequal lengths. 3. Tests based on spatial variations. In the first two tests introduced, the spatial distributions of gray levels have been largely ignored. Complementing these tests, four ANOVA-like [15-171 tests which explore the spatial variations of gray levels are introduced. From each window, several different subareas are selected. The number of subareas is dependent on the window size. Six subareas for a 6 X 6 window and eight subareas for an 8 X 8, 12 X 12, or 16 X 16 window are suggested. Figure 5 shows the six subareas chosen for a 6 x 6 window. The existence of a connected edge segment in the window is tested by examining the homogeneity of means and
4 ’~
5
I
2
3
6
FIG. 5. Six subareas of a 6 x 6 window used in tests of group 2.
32
SUK
AND
HONG
the homogeneity of variances of subareas. If the means and variances are homogeneous, we conclude that there is not a significant connected edge segment; while if the homogeneity is rejected, we conclude otherwise. The specific tests used are Test 3: Homogeneity of Means (analysis of variances-one classification, fixed model) Test 4: Homogeneity
of Means (shortcut method)
Test 5: Homogeneity
of Variances (maximum
F ratio)
Test 6: Homogeneity
of Variances (Co&ran’s
test)
way
A brief summary of the tests is outlined below. Test 3: Homogeneity of Means (ANOVA) step 1. Calculate means and variances of each subarea.
s:,s;,...,s;
where s = (the number of subareas). Step 2. Calculate sum of squares between subareas and within subareas,
where p = (the number of pixels within each subarea). Step 3. Calculate the test statistic F. wxt
= SL
As - 1) ss$, = ss.&s(p - 1) F = SSget /SS.$,.
if F > Faz~s-l~s~p-l~ Step 4. Decide‘klge” “no edge” if F < Fa,:s-l:stp-lj “no decision” otherwise, where ai > a2. Critical values used in actual implementation: al = 0.25 and a2 = 0.01. Outputs: Decision 3 (“edge,” “no edge,” “no decision”). Test statistic 3 -F.
EDGE EXTRACTION
FOR NOISY IMAGES
Test 4: Homogeneity of Means (shortcut method). Step 1. Compute the test statistic SC.
SC= MAx(/.+p~,...,~s) - MIN~P~,,P,,.-A) Step 2. Calculate the critical values k,: s:s(P-r) where ka:s:scp-lj = k*/a for aI and az, and k* is obtained from an ANOVA table [15]. Step 3. Decide “edge” if SC > ka2:s: scp-1j “no edge” if SC < kg1: s: stp- 1j “ no decision” otherwise, where at > az. Critical values used in actual implementation: a1 = 0.05 and a2 = 0.01. Decision 4 (“edge,” “no edge,” outputs: “no decision”), Test statistic4 - SC. Test 5: Homogeneity of Variances (Maximum F ratio). Step 1. .Calculate test statistic Q. Max(S;&...,S,2)
Q- Min(S~,S~,...,S~) Step 2. Decide “edge” if Q > q,,, “no edge” if Q < q,,, “no decision” otherwise, where a, > a2. Critical values used in actual implementation: al = 0.05 and a2 = 0.01. Outputs: De&ion 5 (“edge,” “no edge,” “no decision”), Test statistic 5 - Q. Test 6: Homogeneity of Variances (Cochran’s test). Step 1. Calculate test statistic G. G = M=(S,2, S&J:) i si’ i=l
Step 2. Decide “edge” if G > gn2, “no edge” if G < g,,, “no decision” otherwise. where al > az. Critical values used in actual implementation: a, = 0.1 and a2 = 0.01. Outputs: Decision 5 (“edge,” “no edge,” “no decision”), Test statistic 5 - G.
33
34
SUK AND HONG
Final Decision
Scheme
A final decision on whether there exists a significant connected edge segment in the given window is made by examinin g the results of all six statistical tests. Two different ways of reaching a final decision from the individual test results are considered. The first approach, Mode 1, is based on the concept of majority vote, while the second approach, Mode 2, is based on the concept of edge strength. Mode 1: Majority vote approach. For this approach, we consider only the decisions made by individual tests. The values of the test statistics are not utilized. For test i, a unique number vi, which reflects the contribution of that test to the final decision, is assigned as v.I = ci = 0 = -ci
if the decision made by Test i is “‘edge” if the decision made by Test i is “no decision” if the decision made by Test i is “no edge.”
Let V be the total number of votes gathered for the pixels of the window, i.e., v = VI + v1 + * - * + v,, where t is the number of tests used in the algorithm. Then the final decision is made by comparing the value V to an appropriate threshold V& Decide “edge” if V > V,, “no edge” otherwise. For most of applications
Ci = 1 and V, = 0 are normal choices for C and V. Mode 2: Edge strength approach. In this approach, we take both the decision and test statistic of each test into consideration to reach a final decision. For Test i,
we assign a number ES, which reflects the “edge strength” of the pixels of the window. Let ZJ, CL,, and C& be the test statistic, the first critical value, and the second critical value of Test i, respectively. Then the estimate of the edge strength based on the results of Test i is given as ES, = - C;,/q = 0 = 17./c&
if the decision made by Test i is “no edge” if the decision made by Test i is “no decision” if the decision made by Test i is “edge.”
We limit each ES, to be in between - 3 and 3, i.e., - 3 < ES, < - 1 for “no edge,” ES, = 0 for “no decision,” and 1 < ES, < 3 for “edge.” The final decision on the existence of a significant connected edge segment is made by comparing the total of the ES, to an appropriate threshold value ES,. Let ES = ES, + ES, + . . - + ES,, then the final decision is made as follows: Decide “edge” if ES > E!& “no edge” otherwise. Throughout the examples which are shown in Section 3, the Mode 2 decision scheme is used. Since the modality test employs six different statistical tests in
"no FIG.
edge"
Window
total
6. Computational
Y "edge"
edge I
steps of the modality test.
strength
Compute
Classificatio
Selection
36
SUK AND HUNG
parallel, one might get an impression that the test procedure is computationally very complex. However, a lot of partial computations can be shared by different tests, and the overall computational complexity is a lot simpler than one might expect.To show this, the detailed computational stepsof the modality test are given in Fig. 6. C. Histogram
Thresholding
and Edge Detection
When a given window is determined to contain a significant connected edge segment,the edgesegmentis detectedby the algorithms described below. In addition to the assumption that the window sizeis small enough so that there is only one connected edge segment of significance in a window, it is assumedthat a connected edge segmentalways begins at a point on one of the four boundaries of the window and ends at a point on a boundary; thus the pixels of the window are divided into two disjoint subareasby the edgesegment.For the special caseof a line edge(which is different from the step edgesexplained before), that line forms one subarea while the rest of the points of the window form another subarea, or the line separatestwo subareas. starting Point
Window
4
I. 4
I
(a)
(b) FIG. 7.’ (a) Determination of the beginning point of the connected edge segment, and (b) the chain code scheme used in the algorithm.
EDGE EXTRACTION
FOR NOISY IMAGES
37
Before detection of edge points, the two subareas of the window corresponding to each side of the connected edge segment are found.by thresholding the gray levels. An appropriate threshold value can be found from the gray level histogram by using Algorithm Threshold described below. In this algorithm, an interval of the histogram which has the least frequency of occurrence is found; then a value corresponding to the minimum frequency of occurrence within that interval is selected as the threshold. The pixels corresponding to one subarea, i.e., pixels having values less than the threshold, are marked by - 1 for further processing as shown in Fig. 8b. In the next step, the boundary between two subareas is detected by Algorithm Detect. First, the beginning point of the edge segment is found by searching the pixels on the boundary from the upper-left corner in a counterclockwise direction looking for two adjacent pixels having different signs. Figure 7a shows four different
(b)
FIG. 8. Stylized example of edge segment detection. (a) Original gray levels. (b) After histogram thresholding. (c) Edge output in chain code.
38
SUK
AND
HONG
situations corresponding to the casesin which the beginning point is situated on one of the four boundaries of the window. This figure also showsthe corresponding edge directions of the beginning points which are chain coded by the schemeshown in Fig. 7b. After locating the beginning point, a systematicsearching of the edge segment is initiated. From the current reference edgepoint, the &neighbor pixel in the direction of MOD 8( D - 2), where D is the chain coded edgedirection of the reference point, is examined first. If that pixel does not belong to the edge segment,i.e., it belongs to the subarea which does not contain the beginning point, then the remaining S-neighbor pixels of the reference point are examined in a clockwise direction. When a new point belonging to the edge segmentis found, the reference point is moved to that point. Algorithm-Threshold Step 1. Divide the range of the histogram into n intervals as shown in Fig. 9. 11,I*, . -* ,I”. Step 2. Count the frequency A$of each interval. Step 3. Find the interval corresponding to Min(& &,...,&pd Let that interval be Zti. Step 4. Set the threshold value T to be the gray level corresponing to the minimum frequency within Zti. If there are more than one such value, selectone at which any two such minima are maximally separated. Step 5. Replace the pixels with gray level lessthan Tby -1. Output: The thresholded window in which pixels of one subregion have been replaced by - 1. Refer to Fig. 8b. Algorithm-Detect -Notation P;: the current reference point (ith edge point) Di: chain coded edge direction of Pi Pui: the value of Pi Si: next search direction in chain code at Pi
hT&k+ 2
FIG. 9. Division
4
of histogram
6 into n intervals.
EDGE EXTRACTION
FOR NOISY IMAGES
39
Pi*: next search point defined by Si and Pi P: : the value of P,*.
Step 1. Find the beginning point as described in the text. Step 2. For 4, Set Si + MOD8(0, - 2) Step 3. If Pi* is outside of the window, then Stop. Else continue. Step 4. Test whether pi* satisfiesthe following condition: if sign(PJ = 0 or 1 (i) Sign(P: + 1) = 1 (ii) Sign(P;f + 1) = 0 if sign(P,,) = - 1. Step 5. If the condition in Step 4 is satisfied, then Pi+l + Pi*, Di+ 1 * Si, i + i + 1; go to Step 2. Else if all &neighbors of Pi are examined, then Pi + PieI, Di + MOD 8(Di + 4); go to Step 2. (In caseof (i - 1) = 0, Stop.) Else Si + Mod8(Si + l), go to Step 3. Output: Chain coded edge image. Refer to Fig. 8c. An illustrative example of the edge segmentdetection step is shown in Fig. 8. 3. EXAMPLES
AND APPLICATIONS
To demonstrate the capabilities of the algorithm, a number of standard images from the USCIPI (Image Processing Institute, USC) image data base have been processedby the proposed edge extraction algorithm. All of the images used in the examplesare of size256 x 256 with 8 bits per pixel. To simulate noisy images,various amounts of random noise were added to some of the original images. The distributions of the noise added are Gaussian with zero mean and standard deviation a,. Here a, is chosen as a fraction of uO,the standard deviation of the original image to which the noise is added. For example, the noise figure 20% meansthat noise with a Gaussiandistribution of mean zero and standard deviation 0.2~~is added to an image of which the standard deviation is a,,, Note that we used Mode 2 of the final decision scheme.The only input parameter to be specifkd by the user is the threshold value ESa.It has been found experimentally that the results are rather insensitive to the particular choice of ES,. The results for the images of APC and HOUSE are shown in Figs. 10 through 13. The input images are monochrome except for HOUSE which is the blue component of a color image. In some examples results obtained by applying the Sobel edge operator are also shown for comparison. For the Sobel operator cases,the threshold values which produce the best results for each image were chosen interactively. Fig. 10 illustrates the effects of different window sizes.As expected,some amount of fine detail is lost as the window size becomeslarger. However, it is clear that the degradation in performance is not sign&ant up to window sizesas large as 16 x 16. This has been found to be true for other types of images as well. The overall computation time CT
FIG. 10. The effects of window size (threshold ES, = 3). (a) Original APC image. (b) Edges obtained by applying new algorithm (window size = 6 X 6). (c) Edges obtained by applying new algorithm (window size = 8 X 8). (d) Edges obtained by applying new algorithm (window size = 12 X 12). (e) Edges obtained by applying new algorithm (window size = 16 X 16).
EDGE EXTRACTION
FOR NOISY IMAGES
41
is given by CT = NW X TW, where NW is the number of windows selectedand TW is the computation time required to processa single window. As the window size becomes smaller, NW will become larger, while TW will become smaller as the number of pixels within each window becomessmaller. Thus the overall increase in CT for smaller window sizeis not that severe.For example, the running time for the APC image on a VAX 11/780 is in the order of 30 set for 16 X 16 window sizeand in the order of 80 set for 6 x 6 window size.Thus, the use of a 16 x 16 window is suggested for most practical applications, while for complex images a smaller window should be employed. The smallest window size suggestedis 6 X 6. Please note that CT is also dependent on the scenecontent of input images. For simple images, a lot of windows are eliminated by Test 0, thus reducing CT significantly. Figures 11 and 13 demonstrate that the new algorithm yields excellent results for noisy images. Applications:
Circle Finding
To test the algorithm in practical applications, a circle finding algorithm has been developed and tested.
FIG. 11. (a) Noise-added APC image (40%). (b) Edges obtained by applying new algorithm (threshold ES, = 1, window size = 6 X 6). (c) Edges obtained by applying Sobel operator (threshold = 200).
42
SUK AND HONG
FIG. 12. (a) Original HOUSE image. (b) Edges obtained by applying new algorithm (threshold ES,, = 3, window size = 6 X 6). (c) Edges obtained by applying Sobel operator (threshold = 170).
Algorithm-
Circle Finding Step 1. From the input image, find the corresponding binary edge image A(x, y). Step 2. Compute the correlation R(x, y) of -4(x, y) and AT(x, y), where AT is the transpose of A. Step 3. Find the center (x,, yO) of the circle by locating the maximum of the correlation R(x, y). Step 4. Find the radius R of the circle by finding the maximum of Q, where Q =(the number of edge points within the annulus defined by two circles CP_ r and CP+ ,)/(the circumference of the circle C,). The circle CP has a radius of p and is centered at (x0, ya). The radius of the circle, R, is the p which maximizes Q.
EDGE EXTRACTION
FOR NOISY IMAGES
43
FIG. 13. (a) Noise-added HOUSE image (30%). (b) Edges obtained by applying new algorithm (threshold E!$ = 1, window size 6 X 6). (c) Edges obtained by applying Sobel operator (threshold = 200).
We tested the algorithm for a white blood cell image and its noise added versions. The input image is of size 64 X 64. A few samples of the images used in this test are shown in Fig. 14, and the results are summarized in Table 1 by showing the estimates of center location as the amount of noise added varies. 4. SUMMARY
AND CONCLUSIONS
Extracting edges from noisy images has an important significance in practical applications which utilize some type of visual input capability. Most of the conventional gradient based edge operators are not adequate for this type of application due to the inherent noise associated with sensors. The usual approach to overcome the difficulties caused by noise has been to apply noise removal preprocessing to the images before extracting edges. We have presented a new edge extraction algorithm, specifically developed for noisy images. The algorithm is based on parallel statistical tests with an option of indeterminate decisions, followed by edge detection. The examples shown in this
44
SUK AND HONG
FIG. 14. Applications-Circle Finding. (a) White blood cell image. (b) Noise-added image (50%). (c) Edges obtained by applying new algorithm to image (b). (d) Edges obtained by applying Sobel operator to image (b). TABLE 1 Results of Circle Finding Algorithm Center location estimated using new edge extraction technique
Amount of noise added (%) Original 10 20 30 35 40 45 50
.
Center location estimated using Sobel edge operator
(36927)
t35,27)
(36 27)
(36 27) (3%27)
(36927)
(3627)
(35,27)
(36927)
W,W
(3%27)
(36,30) (35930) (32,32)
(3627) (36927)
Note. Center location = (36,27).
EDGE EXTRACTION
FOR NOISY IMAGES
45
paper clearly demonstrate the capabilities of the new algorithm. At first glance, the algorithm appears to be computationally complex since multiple statistical tests are used. However, we have shown that the complexity of the new algorithm is not much greater than that of many other well-known algorithms, since many of the quantities needed in different tests are common so that they need to be computed only once and can be shared among different tests. Furthermore, the new algorithm does not require any preprocessing or postprocessing even for noisy images. 1. W. K. Pratt, Digital Image Processing, 2. A. Rosenfeld and A. C. Kak, Digital
REFERENCES pp. 479-492, Wiley, New York, 1978. Picture Processing, pp. 275-284, Academic Press, New York,
1976.
B. J. Schachter and A. Rosenfeld, Some new methods of detecting step edges in digital pictures, Commun. ACM 21(2), 1978,172-176. 3. Ugo Montanan, On the optimal detection of curves in noisy pictures, Commun. ACM 14 (5). 1971, 3.
335-345. 5.
6. 7.
8. 9. 10.
11. 12. 13.
A. Martelli, Edge detection using heuristic search methods, Computer Graphics Image Processing 1, 1972,169-182. A. Martelli, An application of heuristic search methods to edge and contour detection, Commun. ACM 19 (2), 1976, 73-83. E. L. Hall, Computer Image Processing and Recognition, Academic Press, New York, 1979. G. B. Shaw, Local and regional edge detectors: Some comparisons, Computer Graphics Image Processing 9, 1979, 135-149. G. Falk, Scene Analysis Based on Imperfect Edge Data, Proceedings, 2nd International Joint Conference on Artificial Intelligence, pp. 8-15, Sept. 1-3, 1971. G. G. Dodd and L. Rassol, Computer Vision and Sensor-Based Robots, Plenum, New York, 1979. B. Raphael, The Thinking Computer-Mind Inside Mutter, Chaps. 7 and 8, Freeman, San Francisco, 1976. A. L. Gilbert, M. K. Giles, G. M. Flacks, R. B. Rogers, and Y. H. U. A real-time video tracking system, IEEE Truns. Pattern Anal. Mach. Intell. PAMI- (1) 47-56 (1980). C. K. Chow and T. Kaneko, Boundary detection of radiographic images by a threshold method, Front.
Pattern
Recognition
1972,
61-82.
14. Y. Yakimovsky, Boundary and object detection in real world images, J. Assoc. Comput. Much. 23, 1976, 599-618. 15. A. H. Bowker and G. J. Lieberman, Engineering Statistics, 2nd ed., Prentice-Hall, Englewood Cliffs, N.J., 1972. 16. F. J. Rohlf and R. R. Sokal, Statistical Tables, Freeman, San Francisco, 1969. 17. N. L. Johnson and F. C. Leone, Statistics and Experimental Design in Engineering and Ph.wicul Sciences, Vol. II, pp. 53-54, Wiley, New York, 1964. 18. R. M. Haralick, Edge and region analysis for digital image data, Computer Graphics Image Processing 12,1980, 60-73.