论文:A Novel Subpixel Circle Detection Method Based on the Blurred Edge Model
期刊:IEEE Transactions on Instrumentation and Measurement, 71:1-11, 2021.
作者:Weihua Liu, Xianqiang Yang, Xuebo Yang, Hao Sun, Xinghu Yu, Huijun Gao
单位:Research Institute of Intelligent Control and Systems, Harbin Institute of Technology; Ningbo Institute of Intelligent Equipment Technology Company Ltd; School of Computer Science and Technology, Harbin Institute of Technology
1、主要解决问题:
在计算机视觉和工业应用中,圆检测是重要的特征提取手段,高精度圆检测对于自然场景中圆的标记测量、圆形目标跟踪、球的识别等目标测量和检测任务具有重要意义。例如,锡膏打印机和自动光学检测需要识别圆形标记位置,以便精确地定位印刷电路板(PCB),而圆的检测精度直接影响到这些设备检测的精度。在集成电路中,一方面,PCB上的元件变得越来越复杂,标记识别的偏差会引起放置偏差,因此高精度的圆标记测量至关重要。另一方面,由于PCB具有不同的颜色、形状和尺寸,标记圆的差异也会较大,因此圆检测的高稳定性也很重要。
对此上述问题,图1中传统的圆检测算法基于像素级边缘提取,在获得目标圆边缘后,采用拟合方法获得圆的亚像素信息,在这种方法中,边缘提取精度会导致圆检测结果的偏差,并且像素级的检测方法制约了圆形检测的精度。
传统圆检测方法:
论文提出了一种基于模糊模型的亚像素圆检测算法。在EDCircles算法基础上设计了候选圆的评分及筛选策略,并将二维子像素边缘定位问题转化为一维问题,应用模糊边缘模型获得子像素边缘的精确位置,还提出了一种基于Huber损失函数的鲁棒圆拟合算法,该算法能较好地抑制异常点的影响。
2、研究方法:
论文以EDCircles算法为基础进行目标圆的检测,虽然此算法检测速度快,但是鲁棒性低,在检测一个圆目标时会产生多个结果。
针对EDCircles算法检测得出的目标圆及干扰圆,论文提出了圆圈分数计算的方法,由极性项、半径项和轮廓项组成圆圈分数计算公式,对检测得出的圆进行得分计算。如图2所示,根据公式计算较符合检测目标的圆得分更高,干扰项则得分更低,选择得分最高的目标圆作为最终检测结果。
检测到多个圆时给出不同圆的分数:
为了提高检测精度,论文提出了一种基于模糊边缘模型的亚像素圆拟合方法,如图3所示。该方法包含三个步骤:
1)计算图像梯度,使用EDCircles获得所有圆的粗略边界位置,并根据梯度计算边缘的方向。
2)沿着边缘梯度的垂直方向选择长度为L的区域作为子像素拟合区域,使用一维子像素边缘拟合算法计算精确的子像素边缘位置。
3)将所有子像素边缘位置拟合到一个圆,并使用鲁棒最小二乘法获得精确的参数。
图像的边缘梯度:
传统的边缘模型如图4所示,其中阶跃模型不能很好符合梯度边缘线性变化的情况,而线性模型又过于复杂,模型参数难以计算。
传统边缘模型:
为了既能符合图像边缘线性变化的情况,又能减少模型计算参数,论文使用了图5的模糊边缘模型,它的优点是在任何地方都可导,这就便于模型参数的优化计算,且计算结果近似于实际图像中的边缘梯度。
模糊边缘模型:
在EDCircles算法鲁棒性差、拟合结果有偏差的问题中,论文采用Huber损失函数对圆进行拟合。Huber函数根据拟合误差的大小选择不同的损失函数,当误差大于阈值时,采用L2损失函数;当误差小于阈值时,使用L1损失函数。从图6可以看出,论文选用的Huber损失函数相比于仅使用L2损失函数得到更好好的拟合结果。
圆拟合结果:
L2(蓝线)、Huber(红线)和Original(绿线)。
在实验验证方面,论文选用了手工标注的数据集,选用现在较先进的EDCircles、CHT、ALS和基于ZMs的亚像素圆检测算法来与论文改进后的算法进行比较。从图7中可以看出,论文的方法有效地解决了干扰圆的误检测问题。首先提取图片中有可能的圆结果,然后使用分数评价系统过滤掉由EDCircles产生的误差圆,最终得到一个更符合实际圆边界的检测结果,并且在几个方法中,论文的检测结果是最准确,也是拟合最好的。
不同自然图像的结果:
(a)原始图像 (b)EDCircles ©ZM (d)CHT (e)ASL (f)论文方法
然后进行抗噪性能测试,自动生成样本图像,并添加具有不同信噪比(SNRs)的噪声,比较添加噪声的识别结果和原始识别结果中,圆心位置以及半径的变化。从表1可以看出,论文的方法在噪声干扰下,受影响是最小的,并且偏差有小于0.1像素,这也说明论文算法的精度达到了十分之一像素级。
不同信噪比下的真值偏差:
在抗变光稳定性分析中,比较了几种方法在光照亮度1~30变化的条件下,圆检测结果的圆心坐标的位置变化,以及圆的半径变化。由图8可以看出,论文的方法圆心坐标位置和半径的变化幅度较小,且检测异常的情况也比较少,总体来说抗变光稳定性还是优于其他的算法。
不同亮度下的检测结果:
(a)x坐标变化; (b)y坐标变化; ©半径变化; (d)EDCircles、ZM和论文的方法的方框图。
为了评估论文的方法处理不同标记点的检测效果,选择了工厂安装的PCB板上的几幅典型图像进行测试。从图9可以看出,与其他方法相比,论文的方法无论是在标准圆或是在非标准圆中,在所有标记点上都表现得更好,而其他算法在某些标记上有偏差。并且在边界的拟合精确程度上,论文方法的拟合精确度也更高,更贴近真实的边界。
不同标记的检测结果:
(a)原始图像; (b)EDCircles; ©ZM; (d)CHT; (e)ASL; (f)论文方法
论文绘制了评分系统中不同系数下圆圈检测的受试者工作特征曲线(ROCs),数据集由论文中使用的所有标记图像组成,阳性和阴性样品的比例为1:1。在图10中示出了不同阈值下的真阳性率(TPR)与假阳性率(FPR)的对比。可以看出,当系数为0时,它等价于随机分类。当系数不为0时,评分系统起关键作用,所提出的方法在圆检测方面表现很好。
不同系数值下的ROC曲线:
最后比较了不同拟合区域长度L下论文方法的运行时间,从图11可以看出,L的长度对运行时间几乎没有影响。总的来说,亚像素计算占用90%以上的时间,运行时间在200 ms左右。
不同L长度下的运行时间:
3、结论:
论文提出了一种基于模糊边缘模型的亚像素圆检测方法。该方法主要包括三个部分:目标圆获取、亚像素边缘拟合和鲁棒圆拟合。在目标圆获取中,提出了基于极性、输入半径和轮廓的圆评分公式,从EDCircles检测出的多个圆结果中筛选出目标圆;亚像素边缘拟合将二维边缘计算转化为一维问题,首先根据梯度方向确定搜索区域,然后利用模糊边缘模型拟合边缘,根据模型参数计算子像素边缘位置;最后,鲁棒圆拟合应用Huber损失函数来拟合圆,提高了对异常点的鲁棒性。通过实验验证表明,与现有方法相比,该方法具有更强的鲁棒性和准确性。