An effective voting method for circle detection
Introduction
The Hough transform (HT) has been widely used in image processing to detect patterns (Illingworth and Kittler, 1988). When we apply HT to pattern detection, the voting process plays an important role. In the standard Hough transform (SHT), each edge point will vote for all candidate patterns passing through this point. These voting results are accumulated and recorded in the parameter space. The value of the accumulator of the target pattern will be the highest ones (the maximum voting number). SHT changes the pattern detection in the image space into the problem of peak detection in the parameter space. However, the large computation and storage requirements are the main drawbacks of SHT.
Many techniques were proposed to improve the performance of SHT, such as the fast Hough transform (FHT) (Li et al., 1986) and the adaptive Hough transform (AHT) (Illingworth and Kittler, 1987). Atiquzzaman (1992) changed the processed image from one resolution into multi-resolution (from lower resolution to higher resolution), and increased the efficiency of SHT. However, quantization error will be extended in various resolution scales.
Recently, the concept of probability was used to modify SHT, such as the probabilistic Hough transform (PHT) (Kiryati et al., 1991) and the randomized Hough transform (RHT) (Xu et al., 1990). PHT and RHT are similar to each other. Let us see the case for applying RHT to circle detection. If nrht is the point number needed to obtain the parameters that describe the desired pattern (e.g. nrht is three for a circle pattern: the center coordinates xc, yc, and the radius rc), RHT makes a set of nrht edge points mapped into only one point in the parameter space, i.e., a parameter is determined uniquely with nrht edge points in the image and these nrht points are picked at random. A circle pattern can be described bywhere (xi, yi) are edge points on the circle, (xc, yc) are the center coordinates and rc is the radius of the circle. Since we need three points to obtain a set of circle parameters, i.e., every three points in the image can be used to form a circle. Each point set (pi, pj, pk) is selected randomly from the edge points of the processed image, where pi = (xi, yi), pj = (xj, yj) and pk = (xk, yk). With (pi, pj, pk) and Eq. (1), we can obtain the circle parameters (xc, yc, rc). In the parameter space, when (xc, yc, rc) are obtained, the value of the accumulator, Hrht(xc, yc, rc), will increase by one. If the value of Hrht(xc, yc, rc) is equal to the predefined threshold, we will check if the parameters (xc, yc, rc) forms a true circle in the image; otherwise, we will continue to select next point set. If we want to find out all desired patterns by RHT, we will need “enough” iteration times to select all point sets on those patterns.
Kiryati et al. (2000) analyzed the performance of RHT. They pointed out that RHT has high performance for images with low noises (or simple backgrounds), but the performance will get lower when noises are increasing. That is because the ratio, (the number of points on patterns)/(total point number of the whole image), is lower. A modified Hough transform (MHT) for line detection was proposed to improve the probability problem of RHT (Chutatape and Guo, 1999). However, MHT was not proposed for circle detection.
In the voting process of SHT, each point in the image votes to all possible candidates in the parameter space, i.e., SHT is a kind of a one-to-many (one point mapping to many accumulators) method. Other methods, such as RHT, are the so-called many-to-one method, i.e., the nrht point set votes to one accumulator of parameter space. However, for both kinds of methods, an edge point in the image may vote to more than one candidate in the parameter space.
In this paper, we propose an efficient voting method for circle detection. The proposed method takes a rule to decide three points from the edge image for a circle candidate instead of random selection. This method also makes every edge point in the image only vote to the most possible candidate in the parameter space. From the experimental results, our method can reduce the computation and the storage requirements of SHT and obtain better performance than RHT does.
Section snippets
The proposed method
In both of one-to-many and many-to-one voting method, an edge point may vote to more than one candidate. These methods will cause redundant computation and false detection. If we can make every edge point just vote to one circle candidate, the efficiency of circle detection will be higher.
For an image, we let P be the set of N edge points in the image,and V be the voting set,where vpi is the voting record of the circle candidate
Discussion and experiments
In this section, we compare our method with SHT and RHT. Some experimental results for synthetic and real images are also proposed.
Conclusions
In this paper, we proposed an effective voting method for circle detection. The proposed method can reduce the computation and the storage requirements of SHT for circle detection. This method improves the efficiency of circle detection by letting each pixel only belong to one candidate of circle parameters. We also use two selected points to decide the third point instead of randomly selecting all three points. That will improve the efficiency of RHT. Synthetic images and real images are used
References (8)
- et al.
A modified Hough transform for line detection and its performance
Pattern Recognition
(1999) - et al.
A survery of the Hough transform
Comput. Vision Graphics Image Process.
(1988) - et al.
A probabilistic Hough transform
Pattern Recognition
(1991) - et al.
Randomized or probabilistic Hough transform: Unified performance evaluation
Pattern Recognitions Lett.
(2000)