Title:CIRCLE DETECTION ON IMAGES BY LINE SEGMENT AND CIRCLE COMPLETENESS
Circle detection from digital images is a necessary operation in many robotics and computer vision tasks to facilitate shape and object recognition. We propose and analyzea novel method, based on line segment detection and circle completeness verification, to detect circles in images. The key idea is to use line segments instead of raw edge pixels to get the circle candidates followed by a verification step to measure the circle’s completeness. Experimental results on several synthesized and hand-sketched as well as natural images with various complication favor the accuracy, robustness and efficiency of our approach against other well-known techniques. Our method can deal with incomplete, cocentric, discontinuous and occluded circles with noise and deformation. Moreover, in this paper, we create CDBD, the first benchmark dataset for circle detection with ground truth circles labeled by human, which will establish standard quantitative results in future research regarding circle detection.
摘要:
在许多机器人技术和计算机视觉任务中,从数字图像进行圆圈检测是必需的操作,以促进形状和物体识别。我们提出并分析了一种基于线段检测和圆完整性验证的新颖方法来检测图像中的圆。关键思想是使用线段而不是原始边缘像素来获取候选圆,然后执行验证步骤来测量圆的完整性。在具有各种复杂性的几种合成,手工绘制的以及自然图像上的实验结果显示了我们的方法相对于其他知名技术的准确性,鲁棒性和效率。我们的方法可以处理带有噪声和变形的不完整,同心,不连续和封闭的圆。此外,在本文中,我们创建了CDBD,这是第一个用人工标记的地面真相圆进行圆检测的基准数据集,它将为圆检测的未来研究建立标准的定量结果。
1.Introduction:
Automatic circle detection is a fundamental problem in computer vision and has a wide variety of applications such as traffic sign detection, robot vision, pupil and iris localization, vectorization of hand-sketched drawings, automatic inspection of manufactured products and components, people counting in surveillance video, etc. In consequence, the circle extraction problem has been extensively studied in the literature and most of the proposed methods belong to either of the two categories, Circular Hough Transform (CHT) and Random Sampling Consensus (RANSAC).
自动圆圈检测是计算机视觉中的一个基本问题,具有多种应用,例如交通标志检测,机器人视觉,瞳孔和虹膜定位,手绘图矢量化,制成品和组件的自动检查,监视视频中的人数计数等。因此,文献中对圆提取问题进行了广泛研究。 文献中所提出的大多数方法都属于圆形霍夫变换(CHT)和随机采样一致算法(RANSAC)两类。
The CHT, in its original form [1–3], is the most universally applied approach for detecting circular shapes. Commonly, an edge map of the image is generated and an expected circle radius is given. The CHT collects the contributions, or votes, from the edge pixels (or edgels for short) for an accumulator describing the parameter space (or sometimes called the Hough space) which represents the circle’s center. Then, circles are extracted by finding the local maxima of the parameter space. Despite of its popularity and simplicity, the CHT has several disadvantages. First of all, the CHT is not robust to noise because the accumulator may add up votes from noisy regions and finally return some false peaks. Morevoer, the memory demand for the Hough space is high and the computation time could also be an issue when the CHT updates the parameter space or searches for local maxima. If the target radius is unknown, the situation becomes worse as the CHT has to deal with a three dimensional parameter space. Another limitation of the CHT is the Hough grid’s size. Too coarse grid can lead to a large number of votes being obtained falsely because many different structures can locate in a single bucket and too fine grid can lead to structures not being found. To overcome such problems, many modifications have been proposed to improve the CHT’s performance [4–10] but they are still not robust to noise as noise are accumulated into the parameter space.
CHT的原始形式[1-3]是检测圆形形状的最普遍使用的方法。通常,会生成图像的边缘图并给出预期的圆半径。 CHT从边缘像素(或简称为Edgels)收集用于表示累加器的贡献或选票,该累加器描述了代表圆心的参数空间(有时称为Hough空间)。然后,通过找到参数空间的局部最大值来提取圆。尽管CHT受欢迎且简单,但它有几个缺点。首先,CHT的抗噪声能力不强,因为累加器可能会将嘈杂区域的选票相加,最终返回一些虚假的峰值。此外,当CHT更新参数空间或搜索局部最大值时,对Hough空间的内存需求很高,并且计算时间也可能成为问题。如果目标半径未知,则由于CHT必须处理三维参数空间,因此情况变得更糟。 CHT的另一个限制是霍夫网格的大小。太粗的网格会导致错误地获得大量选票,因为许多不同的结构可能位于单个存储桶中,而太细的网格则会导致找不到结构。为了克服这些问题,已经提出了许多修改以提高CHT的性能[4-10],但是由于噪声被累积到参数空间中,因此它们对噪声仍然不可靠。
In addition to the CHT-based methods, the RANSAC-based [11] approaches are a viable alternative option. They essentially generate hypothesis of a circle and immediately test it rather than accumulate it. The Randomized Circle Detection (RCD) [12] is a typical approach in this class. It iteratively picks four edge points at random where three of them are for generating a circle candidate and the remaining one is for validation purpose. The process is repeated and the circle candidates with large support are returned. The RANSAC paradigm, however, has two main disadvantages. First, it makes an early decision which can lead to a lot of false detection especially with presence of noise. Second, a substantial large number of possible candidates have to be generated and verified, which is not practical in many scenarios. For example, consider an image with 300 edgels (which is a relatively small number in real case), among which 100 edgels belong to a circle. According to the RCD, the probability of a 4-tuple of randomly chosen pixels that all come from the 100-edge-pixel circle is . That is to say, in the worst case, times should be run to just find one circle, not to mention that real image usually contains dozens of thousands of edgels. As a result, several adjustments have been proposed such as random line pooling [13], gradient evidence [14], symmetric property [15] for screening of circle candidates. Other refinement methods including generic algorithms [16] and electro-magnetism optimization [17] are designed to improve the accuracy. According to [18] and our experiments, RANSAC-based methodology yields a large set of false positives.
除了基于CHT的方法之外,基于RANSAC的方法[11]是可行的替代选择。它们本质上是产生一个圆的假设,并立即对其进行检验而不是对其进行累加。随机圆检测(RCD)[12]是此类中的一种典型方法。迭代地随机选择四个边缘点,其中三个边缘点用于生成圆形候选对象,其余一个边缘用于验证目的。重复该过程,并返回具有大量支持的圈子候选者。但是,RANSAC范例有两个主要缺点。首先,它会尽早做出决定,这会导致很多错误检测,尤其是在存在噪声的情况下。其次,必须生成和验证大量可能的候选对象,这在许多情况下不切实际。例如,考虑具有300个Edgels(在实际情况下,这是相对较小的数字)的图像,其中100个Edgels属于一个圆。根据RCD,所有来自100个边缘像素圆的随机选择像素的4元组的概率为. 也就是说,在最坏的情况下,应该运行1 /0.01185≈84次才能找到一个圆,更不用说实际图像通常包含成千上万的Edgels。 结果,提出了几种调整方法,例如随机线合并[13],梯度证据[14],用于筛选圆形候选对象的对称性[15]。 其他改进方法包括通用算法[16]和电磁优化[17],旨在提高准确性。 根据[18]和我们的实验,基于RANSAC的方法会产生大量误报。
In this paper, we propose a new method to detect circles from images. Our approach consists of two steps, circle candidate generation and verification. In particular, we start by line segment detection from the edge image, then use pairs of detected line segments to generate an initial set of circle candidates. Non-maximum suppression is applied to this initial set via mean-shift based clustering while the cluster centers are considered as the final set of circle candidates. These circle candidates are then individually verified by both the ratio between number of edgels to their radii and their completeness. Our contribution stands out from the existing methods due to the following:
在本文中,我们提出了一种从图像中检测圆的新方法。 我们的方法包括两个步骤,圈出候选者生成和验证。 特别地,我们从边缘图像的线段检测开始,然后使用检测到的线段对来生成初始的一组候选圆。 非最大抑制通过基于均值漂移的聚类应用于此初始集,而将聚类中心视为最终的候选圆集。 然后,通过边的数量与其半径之间的比率以及完整性来分别验证这些候选圆。 由于以下原因,我们的贡献在现有方法中脱颖而出:
Although we share some similar ideas with existing works such as [19–21] which links edgels to segments or arcs, finds the circle candidates and verifies them based on inliers and outliers, etc., the major difference is that in our work, we generate the candidates after considering a (large) number of candidates (obtained from all pairs of line segments) while in other works, candidates are generated locally from a (small) set of arcs or segments and those local circular arcs are merged together using various (still local) approaches with some parameters. These merging operations are unstable, harder to be controlled and do not guarantee error-free. This difference, though subtle, makes the whole algorithm much more robust. It is because under noise, a subset of edgels from a true circle may result in a very different circle. Moreover, our method has no problem with discontinuous circle while others may fail with it because fitting circle locally to a small arc could result in totally different circle from fitting “globally”. Another issue is that the verification by inliers and outliers can reject (most of) the candidates with insufficient amount of supporting evidence, but it does not guarantee to prune the cases where candidates have enough supporting edgels, yet are false positives. The testing images in existing papers are too simple, so it is not difficult for them to deal with. However, the natural images (especially those in our CDBD) are complicated and the methods based on local estimation and linking produce lots of false detection (based on our empirical experiment).
尽管我们与[19-21]等现有作品有一些相似的想法,这些作品将边线链接到线段或弧线,找到候选圆并根据内在值和离群值等对其进行验证,但主要区别在于我们在工作中在考虑(从所有对线段对中获得)大量候选物后生成候选物,而在其他工作中,从一组(小)弧或线段中局部生成候选物,并且使用各种方式将这些局部圆弧合并在一起(仍然是局部的)具有一些参数的方法。这些合并操作不稳定,难以控制,并且不能保证没有错误。这种差异虽然微妙,但却使整个算法更加健壮。这是因为在噪声的作用下,来自真实圆的Edgels的子集可能会导致非常不同的圆。此外,我们的方法对于不连续的圆没有问题,而其他方法则可能会失败,因为局部将圆拟合到小弧可能会导致圆与“整体”拟合完全不同。另一个问题是,由局内人?和局外人?进行的验证可以拒绝(大多数)没有足够证据的候选人,但不能保证对候选人拥有足够佐证但虚假肯定的情况进行删减。现有论文中的测试图像过于简单,因此处理起来并不困难。但是,自然图像(尤其是CDBD中的图像)非常复杂,基于局部估计和链接的方法会产生很多错误检测(基于我们的经验实验)。
2.圆检测算法
从左至右,从上到下,依次为:输入图,边缘图,线段抽取,从线段对生成圆中心,圆中心候选,最终检测圆
The mathematical theory behind our method is that if A and B are two points on a circle centered at C, the line perpendicular to the chord AB at its middle point, or sagitta, must go through C. As a result, if we have two chords AB and MN, the intersection of and gives us the circle’s center C with the radius r to be the average of the lengths of the line segments CA, CB, CM and CN. Our approach consists of the following steps (Fig. 1):
1. Circle candidate generation
(a) Given an image I, compute its edge map E.
(b) Compute the normal for each edgel on E.
(c) Detect line segments on E.
(d) For every pair of line segments (), compute a circle candidate and verify it by the edgels on bothand .
(e) Perform non-maximum suppression via mean-shift clustering on the generated circle candidates, with each cluster represented by its center.
2. Circle candidate verification based on supporting edgels and circle’s completeness
我们的方法背后的数学理论是,如果A和B是以C为中心的圆上的两个点,则垂直于和弦AB在其中点或矢状点的线必须穿过C。因此,如果我们有两个弦AB和MN,和的交点给出圆心C,半径r为线段CA,CB,CM和CN长度的平均值。 我们的方法包括以下步骤(图1):
1.圆候选生成
(a)给定图像I,计算其边缘图E。
(b)计算E上每个Edgel的法线。
(c)检测E上的线段。
(d)对于每对线段(,),计算一个候选圆,并通过和上的edgels对其进行验证。
(e)通过均值平移聚类对生成的候选圆执行非最大抑制,每个聚类以其中心表示。
2. 根据支持的Edgel和圈子的完整性进行圈子候选者验证
2.1. Circle candidate generation
For the edge map extraction, we use the Canny’s edge detector [22]. The normal of each edgel can be approximated by the image gradient, or by performing local PCA on the edgels themselves. We test both and they give similar performance. The next step of the algorithm is to detect line segments from these edgels, which is the linear approximation of the raw edgels to get more information about the local geometric structure. Another benefit of using line segments is their robustness to noise. There are several algorithms to detect line segments from edgels and we choose the LSD [23] because of its false detection control. An example of line extraction is shown in Fig. 1 (first row, last column).
2.1圆候选对象生成
对于边缘图提取,我们使用Canny的边缘检测器[22]。每个edgel的法线可以通过图像梯度或通过对edgels本身执行局部PCA来近似。 我们对两者进行测试,它们的性能相似。 该算法的下一步是从这些Edgel中检测线段,这是原始Edgel的线性近似,以获得有关局部几何结构的更多信息。使用线段的另一个好处是其抗噪声能力强。有多种算法可以检测Edgels中的线段,由于其错误的检测控制,我们选择了LSD [23]。 行提取的示例如图1所示(第一行,最后一列)。
The algorithm continues by choosing all pairs of line segments(,), computing and as the sagittas, respectively. The intersection C of and gives the circle’s center. The radius r is averaged by the distances from C to the four endpoints of and . A circle is verified against the edgels making up and based on a distance tolerance , normal tolerance α and inlier percentage γ = 0.8 (i.e. at least 80 percent of the edgels on both and are within distance and α degrees from the circle).
通过选择所有线段对(,),分别将和 计算为矢状点,该算法得以继续。 和的交点C给出了圆心。 半径r由C到和的四个端点的距离平均。根据距离公差,法线公差α和线性百分比γ= 0.8(即和上至少80%的edgels都在距离圆和α度以内),对构成l_i和l_j的边线验证圆。)
Fig. 1 (second row, first column) is an example of circle candidates generated from valid pairs of line segments. As we can see, choosing all pairs of line segments creates many circles which may have duplicates. To remove such these duplicates, we apply non-maximum suppression via mean-shift clustering [24]. Note that in our method, we perform a twostep clustering corresponding to the circle’s centers and radii because the clustering approach usually performs better at a low dimensional space. The mode corresponding to each cluster represents the circle candidate. The final set of circle candidates is typically small enough to be considered individually (as shown in Fig. 1 (second row, second column)).
图1(第二行,第一列)是根据有效线段对生成的候选圆的示例。 如我们所见,选择所有成对的线段都会创建许多可能有重复的圆。 为了去除这些重复项,我们通过均值漂移聚类应用非最大抑制[24]。 请注意,在我们的方法中,我们执行与圆心和半径相对应的两步聚类,因为聚类方法通常在低维空间中表现更好。 与每个聚类相对应的模式表示候选圆。 最终的候选圆形集通常足够小,可以单独考虑(如图1所示(第二行,第二列))。
2.2. Circle candidate verification
After all the circle candidates have been generated, they will be individually fitted using least-squares fitting (R. Bullock, 2006 at http://www.dtcenter.org/met/users/ docs/write_ups/circle_fit.pdf) and verified against the supporting edgels based on two criteria: the number of support and the completeness. Recall that the inliers of a circle candidate are obtained from the edgels satisfying the distance and normal tolerances. For each circle candidate, we do the connected component analysis on its inliers and discard the small components whose sizes are less than 10 percent of the largest component. The reason for doing this is to purify the circle’s inlier set. For the minimum number of edgels on a circle, if we use a global threshold Tg, the scale problem arises because circles with different radii have different circumferences. The global threshold Tg is not suited for circles with small radii. To overcome this scale issue, we use a ratio threshold Tr similarly to the approach in [12] where a circle with radius r is expected to have 2πrTr edgels. As a result, circles with large radii require more supporting points and vice versa.
2.2 候选圆验证
生成所有候选圆之后,将使用最小二乘拟合分别对其进行拟合(R. Bullock,2006年,网址为http://www.dtcenter.org/met/users/docs/write_ups/circle_fit.pdf)并进行验证与支持Edgels相对照的依据是两个标准:支持的数量和完整性。回想一下,候选圆的内线是从满足距离和法线公差的边线获得的。对于每个候选圆,我们对其内部值进行连通分量分析,并丢弃尺寸小于最大分量的10%的小分量。这样做的原因是要净化圈子的内部组合。对于圆上最少数量的Edgel,如果使用全局阈值Tg,则会出现比例问题,因为半径不同的圆具有不同的周长。全局阈值Tg不适合半径较小的圆。为了克服这个尺度问题,我们使用比率阈值Tr类似于[12]中的方法,在该方法中,半径为r的圆应具有2πrTredgels。因此,半径较大的圆需要更多的支撑点,反之亦然。
In addition to the number of supporting edgels, the second criterion is the circle’s completeness. Intuitively, complete circle is more reliable than incomplete circle. We define the circle completeness as the angular coverage of the supporting edgels, which is calculated over the connected components of the supporting edgels. We only accept circles whose completeness is at least Tc degrees (e.g. Tc = 180◦). We start by detecting all 360-complete circles first, then 270-complete circles, 180-complete-circles, etc. until Tc-complete circles. This heuristics experimentally works very well. The verified circles for the illustration example are shown in Fig. 1.
除了支撑边的数量外,第二个标准是圆的完整性。 直观上,完整圆比不完整圆更可靠。 我们将圆的完整性定义为支撑edgels的角度覆盖范围,该范围是在支撑edgels的连接组件上计算的。我们仅接受完整性至少为Tc度的圆(例如Tc = 180°)。 我们首先检测所有360度完整圆,然后检测270度完整圆,180度完整圆等,直到检测到Tc度完整圆。 这种启发式方法在实验上效果很好。 图示示例的已验证圆圈如图1所示。
3.实验结果
Our algorithm has four parameters: distance tolerance , normal tolerance α, circle ratio Tr and circle completeness Tc. In all of our experiments, we set to 0.5 percent of the image’s minimum size, α to 20◦, Tr to 0.6 and Tc to 180◦. We set 180◦ as default because we are targeting the natural images where circles less than 180◦ are relatively rare. For comparison purpose, we compare our approach with other two popular paradigms, the Circular Hough Transform (CHT) [1, 3] and the Randomized Circle Detection (RCD) [12]. For the CHT, we use the built-in imfindcircles from MATLAB with sensitivity as 0.9. For the RCD, there is no publicly available implementation, so we implement the approach described in [12] with all the parameters set to the given default values. All the experiments were run on a PC with Intel Core i5 3.2 GHz CPU and 8 GB RAM.
我们的算法有四个参数:距离公差,法线公差α,圆比Tr和圆完整度Tc。 在我们所有的实验中,我们将图像的最小尺寸设置为0.5%,α设置为20°,Tr设置为0.6,Tc设置为180°。 我们将180º设置为默认值,因为我们的目标是自然图像,其中小于180º的圆圈比较少见。 为了进行比较,我们将我们的方法与其他两种流行的范例进行了比较,即圆形霍夫变换(CHT)[1,3]和随机圆检测(RCD)[12]。 对于CHT,我们使用MATLAB的内置imfindcircles,其灵敏度为0.9。 对于RCD,没有公开可用的实现,因此我们将所有参数设置为给定的默认值来实现[12]中描述的方法。 所有实验均在装有Intel Core i5 3.2 GHz CPU和8 GB RAM的PC上运行。
According to our knowledge, there is no publicly available benchmark for circle detection. In order to make the evaluation of this fundamental problem more rigorous and objective, we create the Circle Detection Benchmark Dataset (CDBD)2. Our dataset consists of more than a thousand of images with labels “circles” and “round objects” from the ImageNet [25] and images from the papers listed in the references section. The CDBD includes synthesized, hand-sketched and natural images with various levels of complication, noise and deformation. We asked several people to label all the circles in each image. We will enrich this dataset in the future.
据我们所知,尚无公开的圆圈检测基准。 为了使对这一基本问题的评估更加严格和客观,我们创建了“圈子检测基准数据集”(CDBD)2。 我们的数据集包含一千多个来自ImageNet [25]的带有“圆形”和“圆形物体”标签的图像,以及来自参考部分列出的论文的图像。 CDBD包括合成的,手工绘制的和自然的图像,具有各种程度的复杂性,噪声和变形。 我们要求几个人标记每个图像中的所有圆圈。 将来我们将丰富此数据集。
Fig. 2 illustrates some examples of images from the CDBD. The first three rows contain synthesized images with deformation, noise and discontinuous circles, respectively. As we can see, the CHT can tolerate deformation to a certain degree while the RCD generates lots of false positives. In natural images, our algorithm really outperforms the other two. The number of edgels from natural images is typically big (from a few thousands to a few dozens of thousands) and the complication increases tremendously, which challenges the other two methods as there are more uncertainties in the circle verification. As we can see from Fig. 2, the CHT does not work well as noisy edgels can contribute a significantly high number of (irrelevant) votes which making the parameter space too evenly distributed and local maxima cannot be robustly located. Since our algorithm works on line segments, it can capture a certain degree of higher geometry information and reduce the solution space substantially. Moreover, the line segments help us to correctly compute the circles’ parameters while in the RCD method, due to its early decision, circles’ parameters (centers and radii) are not correctly estimated. We refer the readers to our supplementary materials for more results.
图2示出了来自CDBD的图像的一些示例。前三行分别包含具有变形,噪声和不连续圆的合成图像。如我们所见,在RCD生成大量误报的同时,CHT可以容忍一定程度的变形。在自然图像中,我们的算法确实优于其他两个算法。自然图像中的Edgels数量通常很大(从几千个到几十万个),并且复杂度大大增加,这对其他两种方法提出了挑战,因为圆验证中存在更多不确定性。从图2中可以看出,CHT不能很好地工作,因为嘈杂的Edgel可以贡献大量(不相关的)投票,这使得参数空间分布过于均匀,无法稳固地定位局部最大值。由于我们的算法适用于线段,因此它可以捕获一定程度的较高几何信息,并大大减少求解空间。此外,线段可以帮助我们正确地计算圆的参数,而在RCD方法中,由于其早期决定,圆环的参数(中心和半径)无法正确估算。我们建议读者阅读我们的补充材料以获取更多结果。
For quantitative evaluation, the three algorithms (ours, the CHT and the RCD) are respectively executed against all images in the CDBD using the default parameters and their precision, recall as well as running time are recorded. Let Cg and Cr be the set of circles from ground truth labels (by humans) and from a circle detection algorithm, respectively. Recall that and (we use a pseudo count 1 to avoid zero division). The metric for comparing two circles is the Euclidean distance between their parameters (centers and radii). Two circles whose distance is less than 1 percent of the maximum image size are considered identical. The mean precision of our approach, the CHT and the RCD is 63.25, 13.74 and 8.34, respectively. The mean recall of them is 73.37, 62.24 and 59.29, respectively. The execution time of them is 7.46, 9.21 and 4.32 seconds, respectively. Our algorithm absolutely shines over the CHT and the RCD with respect to both mean precision and recall. Furthermore, the recalls of the CHT and the RCD are much higher than the precision indicating that they produce a lot of false positives and randomness while the precision our method keeps pace with its recall, which means that our algorithm is more robust and reliable. In terms of time performance, the unoptimized MATLAB’s implementation of our algorithm is still faster than the highly optimized and built-in imfindcircles and, with trade-off between the running time and the accuracy, ours is comparable with the RCD.
为了进行定量评估,使用默认参数对CDBD中的所有图像分别执行了三种算法(我们的,CHT和RCD),并记录了它们的精度,召回率和运行时间。 令Cg和Cr分别是来自人工标注和圆圈检测算法的圆圈集合。 回顾,(我们使用伪计数1来避免零除)。比较两个圆的度量是两个参数(中心和半径)之间的欧几里得距离。距离小于最大图像尺寸的1%的两个圆被视为相同。我们的方法,CHT和RCD的平均精度分别为63.25、13.74和8.34。平均召回率分别为73.37、62.24和59.29。它们的执行时间分别为7.46、9.21和4.32秒。我们的算法在平均精确度和查全率方面绝对超越了CHT和RCD。此外,CHT和RCD的召回率远高于精度,这表明它们会产生大量误报和随机性,而我们的方法与召回率保持一致,这意味着我们的算法更加健壮和可靠。在时间性能方面,未经优化的MATLAB对算法的实现仍比高度优化和内置的imfindcircles快,并且在运行时间和精度之间进行权衡,我们的算法与RCD相当。
Limitations: Our approach also has limitation. Fig. 2 (the fourth row) (the two letters ‘O’) is an example of the misdetection due to the scale issue for either of our algorithm, the CHT or the RCD. Our algorithm fails to detect the small circles because the LSD fails to detect line segments approximating the high curvature circles. In the future, we plan to extend our algorithm to work in a hierarchical coarse to fine multi-scale fashion. For example, we could use scale-adaptive thresholds with looser thresholds for small and low contrast circles while tighter thresholds aim at larger and higher contrast circles.
局限性:我们的方法也有局限性。 图2(第四行)(两个字母“ O”)是由于我们的算法CHT或RCD的规模问题而导致误检的示例。 我们的算法无法检测到小圆,因为LSD无法检测到接近高曲率圆的线段。 将来,我们计划扩展我们的算法,使其以分层的粗略到精细的多尺度方式工作。 例如,我们可以将标度自适应阈值与较小和较低的对比圆一起使用较宽松的阈值,而较紧的阈值则针对较大和较高的对比圆。
4.结论
Our novel circle detection algorithm has two main stages: circle candidate generation and verification. To get circle candidates, pairs of line segments are used to estimate circle parameters followed by the two-step mean-shift clustering. The verification is performed based on the number of supporting edgels (which is relative to the circle radius) and the circle’s completeness. In order to more rigorously evaluate the performance of circle detection algorithms, we have created CDBD, which is, to our best knowledge, the first benchmark dataset for circle detection and we plan to keep enhancing it in the future. With the experiments on synthesized, hand-sketched and natural images with various configurations as well as the quantitative results, our method shows a significant improvement from the existing methods on the precision, recall and demonstrates a comparable time performance. In the future, we will further optimize our system and explore GPU and/or parallel computing to achieve real-time performance.
我们新颖的圆检测算法具有两个主要阶段:圆候选生成和验证。为了获得候选圆,使用线段对来估计圆参数,然后进行两步均值漂移聚类。根据支撑边的数量(相对于圆半径)和圆的完整性进行验证。为了更严格地评估圆圈检测算法的性能,我们创建了CDBD,据我们所知,CDBD是用于圆圈检测的第一个基准数据集,并且我们计划在将来继续对其进行增强。通过对具有各种配置的合成,手工绘制和自然图像的实验以及定量结果,我们的方法在精度,查全率方面比现有方法有了显着改进,并显示了可比的时间性能。将来,我们将进一步优化系统,并探索GPU和/或并行计算以实现实时性能。