法律状态公告日
法律状态信息
法律状态
2022-08-09
未缴年费专利权终止 IPC(主分类):G06K 9/46 专利号:ZL2016107625262 申请日:20160830 授权公告日:20200204
专利权的终止
2020-02-04
授权
授权
2017-02-15
实质审查的生效 IPC(主分类):G06K9/46 申请日:20160830
实质审查的生效
2017-01-18
公开
公开
技术领域
本发明属于随机圆检测技术领域,尤其涉及一种特定情形下提高随机圆检测速度的方法。
背景技术
快速而准确地检测圆在目标定位、机器人技术、自动化检验等众多领域都有广泛应用。Hough变换是检测圆的常用方法,主要有两方面的优点:第一,对图像中的噪声不敏感;第二,可以方便地进行并行计算。由于Hough变换所需的计算时间和存储空间过大,大量改进的Hough变换被提出。Xu等提出的随机Hough变换(RHT)是对Hough变换的重大改进,与Hough变换相比,具有存储空间需求小、快速、无限的参数空间和任意高的检测精度的优点。对于简单的图像,RHT应用于圆检测,能表现出很好的性能;但是对于复杂的图像,RHT的计算量和存储需求将会变得很大。于是,很多研究人员对RHT进行了改进。如蒋联源利用概率采样和特征点优化了选取采样点和寻找候选圆的方法,从而有效提高了检测速度。
为了避免参数累积阶段所耗费的大量存储空间和搜索时间,Chen与Chung 提出了随机圆检测算法(RCD)。其基本思想是:从图像中随机采样4点,通过定义一个距离准则,来判断这4点是否能构成一个候选圆;待找到一个候选圆后,应用证据积累的方法来进一步判断该候选圆是否为真圆。该算法不需要用于保存相关参数信息的累计器,这也是与Hough变换、RHT最大的不同点。在RCD的基础上,一些改进的方法被提出。Chung与Huang 提出一种裁剪投票策略来提高对圆的检测速度,该策略也可应用于直线和椭圆的检测。Jiang 在判断随机采样的4点是否能确定一个候选圆的过程中,通过定义一个新的距离阈值,有效减少了圆参数的计算次数,从而提高了检测速度。Chung等利用多次证据确认来提高RCD的计算速度。
在RCD中,由随机采样点计算得到的圆参数所对应的圆,能成为真圆的概率非常小。
发明内容
为解决现有技术和实际情况中存在的上述问题,本发明提供了一种特定情形下提高随机圆检测速度的方法,包括以下步骤:
(1)将图像中的所有边缘点存储到集合V中,初始化采样次数f=0;
(2)从V中随机选取4个不同点;
(3)判断这4点是否能确定一个候选圆;若能,转步骤(4);否则,转步骤(7);
(4)确认该候选圆是否为真圆,若是,转步骤(8);否则,转步骤(5);
(5)判断位于候选圆上的点数是否大于阈值Tmin,若大于,通过这4个采样点继续寻找其他的候选圆,转步骤(6);否则,转步骤(7);
(6)若能找到真圆,转步骤(8);否则,转步骤(7);
(7)f=f+1,若f>Tf,检测结束;否则,转步骤(2);
(8)判断已检测到的圆个数是否达到规定的数目,若是,结束;否则,将落在该圆上的点从V中去除,重置f=0,转(2)。
优选地,所述步骤(6)中找到真圆的方法如下:
(1)设随机采样到的4点依次为v1、v2、v3、v4,由点v1、v2、v3所确定的圆用C123表示,v4到C123边界的距离用d4→123表示,i=4;
(2)若v1、v2、v3这3点间的相互距离均大于Ta,则通过这3点计算得到一个圆参数并转(3);否则,转(4);
(3)若d4→123>Td,则转(4);否则,v1、v2、v3确定了一个候选圆C123,转(5);
(4)i=i-1,如果i=0,转(7);否则,将vi与v4的坐标值进行交换并转(2);
(5)判断候选圆C123是否为真圆,若是,则检测到一个真圆,即C123;否则,C123是一个假圆,转(6);
(6)判断位于C123上的点数是否大于阈值Tmin,若大于,则转(4);否则,转(7);
(7)开始新的一轮采样,将随机采样得到的4点分别用v1、v2、v3、v4表示,重置i=4,转(2)。
本发明提出的改进的寻找候选圆的方法比RCD多了步骤(6),步骤(6)有效提高了RCD寻找候选圆和真圆的成功率,进而提高了检测速度。
为了提高这样的圆成为真圆的概率,本发明提出一种改进的随机圆检测算法。该算法在判定一个候选圆为假圆后,检查位于该候选圆上的点数是否大于某一阈值。若大于,则检查产生候选圆的那随机采样的4点中,是否还存在未进行圆参数计算的3点。若存在,则继续将这样的3点进行圆参数计算,这些圆参数所表示的圆成为真圆的概率是很大的。实验结果给出了用本文算法计算的圆参数所对应的圆被判定为真圆的概率,从而验证了本发明算法的有效性。
附图说明
图1是本发明一种特定情形下提高随机圆检测速度的方法的随机采样点的特殊情形图。
图2是本发明一种特定情形下提高随机圆检测速度的方法的实验例1的合成图像检测图。
图3是本发明一种特定情形下提高随机圆检测速度的方法的实验例2的合成图像检测图。
图4是本发明一种特定情形下提高随机圆检测速度的方法的实验例3的合成图像检测图。
图5是本发明一种特定情形下提高随机圆检测速度的方法的实验例4的合成图像检测图。
具体实施方式
一种特定情形下提高随机圆检测速度的方法,包括以下步骤:
(1)将图像中的所有边缘点存储到集合V中,初始化采样次数f=0;
(2)从V中随机选取4个不同点;
(3)判断这4点是否能确定一个候选圆;若能,转步骤(4);否则,转步骤(7);
(4)确认该候选圆是否为真圆,若是,转步骤(8);否则,转步骤(5);
(5)判断位于候选圆上的点数是否大于阈值Tmin,若大于,通过这4个采样点继续寻找其他的候选圆,转步骤(6);否则,转步骤(7);
(6)若能找到真圆,转步骤(8);否则,转步骤(7);
(7)f=f+1,若f>Tf,检测结束;否则,转步骤(2);
(8)判断已检测到的圆个数是否达到规定的数目,若是,结束;否则,将落在该圆上的点从V中去除,重置f=0,转(2)。
所述步骤(4)中确认该候选圆是否为真圆的方法为:
(1)在证据积累过程中,对于任意的一个点,若该点不是位于中心为候选圆圆心、边长分别为2(r+Td)和
(2)在判断一个点与圆边界的距离是否小于阈值Td时,可通过平方等运算来对公式进行化简,以避开开方运算和求绝对值运算,从而提高计算速度;
(3)在证据积累过程中,若边缘点集中尚未进行积累的点数与当前已被统计位于候选圆上的点数之和,小于Mmin,则可直接判定该候选圆为假圆,从而减少了证据积累的计算量。
所述步骤(6)中找到真圆的方法如下:
(1)设随机采样到的4点依次为v1、v2、v3、v4,由点v1、v2、v3所确定的圆用C123表示,v4到C123边界的距离用d4→123表示,i=4;
(2)若v1、v2、v3这3点间的相互距离均大于Ta,则通过这3点计算得到一个圆参数并转(3);否则,转(4);
(3)若d4→123>Td,则转(4);否则,v1、v2、v3确定了一个候选圆C123,转(5);
(4)i=i-1,如果i=0,转(7);否则,将vi与v4的坐标值进行交换并转(2);
(5)判断候选圆C123是否为真圆,若是,则检测到一个真圆,即C123;否则,C123是一个假圆,转(6);
(6)判断位于C123上的点数是否大于阈值Tmin,若大于,则转(4);否则,转(7);
(7)开始新的一轮采样,将随机采样得到的4点分别用v1、v2、v3、v4表示,重置i=4,转(2)。
如图1所示,假设随机采样的4点分别为v1、v2、v3、v4,其中v1、v2、v3这3点共圆(图1中的实线圆),v4距离该圆很近。若当前是由v1、v3、v4这3点计算圆参数,该圆参数所对应的圆用C134表示(图1中的虚线圆),v2到C134的距离小于Td,则C134被认定为一个候选圆。在证据积累阶段,C134将被判定为一个假圆。这时,RCD算法将重新随机采样4点,而本文算法则对v1、v2、v3、v4这4点中的其他3点进行圆参数计算,当以v1、v2、v3这3点计算圆参数时,将会得到一个真圆。因此,这种情形下,本文算法只需少量的计算时间,就能检测到一个真圆。
为了验证本文算法的有效性,使用了大量合成图像和实际图像进行实验,结果表明本文算法的检测速度较RCD有了一定的提高。这里仅给出其中4个实验。在这4个实验中各算法的参数设置如下:实验1中,RHT中的Tr、nt[5]、Td分别取0.7、2、0.5,RCD中的Tr、Ta、Td分别取0.7、6、0.5,本文算法的Tr、Ta、Td、Tn分别取0.7、6、0.5、0.3;实验2、3、4中,各算法的Tr均取0.6,其他参数值均与实验1相同。
关于本文中的实验,还有如下4点补充说明。
(1)RHT和RCD的检测结束条件均为:当图像中的所有圆都被检测出时,即为检测结束。
(2)本文算法中,在判断一个候选圆为假圆且位于该候选圆上的点数大于Tmin时,对4个采样点中尚未计算圆参数的3点,所进行的圆参数计算次数用p1表示,即第2.3节步骤(5)中圆参数的计算次数;这p1个圆参数所对应的圆成为候选圆的个数用c1表示;这c1个候选圆被确认为真圆的个数用r1表示。相应地,本文算法中,除去这p1次圆参数之外所有的圆参数计算次数用p2表示,这p2次圆参数被计算的原因与RCD相同;这p2个圆参数所对应的圆成为候选圆的个数用c2表示;这c2个候选圆被确认为真圆的个数用r2表示。
(3)本文所有的实验程序均用C++语言编程实现,实验所使用的计算机配置是Core2双核处理器(2.93GHz)、2G内存。
(4)考虑到RHT、RCD以及本文算法均采用随机采样,因此本文所有实验中,RHT、RCD以及本文算法的检测时间都是取50次检测所花费时间的平均值。
实验例1
图2(a)是一幅大小为200像素×200像素的图像,如图2(a)所示,该图中共存在5个圆,这5个圆上共有647个边缘点。现向图2(a)中依次添加不同程度的随机噪声,噪声比为50%~300%,即添加的噪声点数为324~1941。图2(b)是向图2(a)中添加1618个噪声点后所得到的图像。分别应用RHT、RCD和本文算法对向图2(a)中添加噪声后的图像进行圆检测,这三种算法所耗费的检测时间如表1所示。用本文算法对图2(b)进行100次检测,均能准确得到各圆心坐标和半径,从这100次检测中,随机选取的一次检测结果如表2和图2(c)所示,其中图2的坐标原点为正方形框左下角所在的点、坐标轴分别平行于正方形的两条邻边。用本文算法对向图2(a)中添加噪声后的图像进行50次圆检测,得到p1、c1、r1、r1/p1、p2、c2、r2、r2/p2的平均值如表3所示。
表1 三种算法执行时间比较
表2 本文算法对图2(b)的检测结果(单位:像素)
表3 本文算法中关于创新点的相关统计数据
实验例2
图3(a)是一幅大小为250像素×250像素的图像,该图中存在4个圆(其中有3个圆是不完整的)、一条直线、一个矩形以及两个椭圆,共计1170个边缘点。现向图3(a)中依次添加不同程度的随机噪声,噪声比为40%~200%,即添加的噪声点数为468~2340。图3(b)是向图3(a)中添加2340个噪声点后所得到的图像。分别应用RHT、RCD和本文算法对向图3(a)中添加噪声后的图像进行圆检测,这三种算法所耗费的检测时间如表4所示。用本文算法对图3(b)进行100次检测,均能准确得到各圆心坐标和半径,从这100次检测中,随机选取的一次检测结果如表5和图3(c)所示。用本文算法对向图3(a)中添加噪声后的图像进行50次圆检测,得到p1、c1、r1、r1/p1、p2、c2、r2、r2/p2的平均值如表6所示。
表4 三种算法执行时间比较
表5 本文算法对图3(b)的检测结果(单位:像素)
表6 本文算法中关于创新点的相关统计数据
实验例3
图4(a)是大小为140像素×140像素的实际图像,该图像中存在4个圆。圆检测过程如图4所示,其中边缘图像图4(b)中共有1688个边缘点。用RHT、RCD和本文算法对图4(b)进行圆检测,所花费的时间分别为5.4185秒、2.1138秒和0.4958秒。在50次检测过程中,这三种算法均能正确提取每个圆的圆心坐标和半径,本文算法中的p1、c1、r1、r1/p1、p2、c2、r2、r2/p2的平均值分别为765.88、561.76、1.04、0.001358、2128706、16487.58、2.96、0.000001。
实验例4
图5(a)是大小为360像素×300像素的实际图像,该图像中存在4个圆。圆检测过程如图5所示,其中边缘图像图5(b)中共有3991个边缘点。用RHT、RCD和本文算法对图5(b)进行圆检测,所花费的时间分别为14.6197秒、12.4142秒和3.2067秒。在50次检测过程中,这三种算法均能正确提取每个圆的圆心坐标和半径,本文算法中的p1、c1、r1、r1/p1、p2、c2、r2、r2/p2的平均值分别为5141.70、3575.44、1.44、0.000280、8420882、43815.06、2.56、0.000000。
结论:在RCD中,对于随机选取的4点,如果某3点所确定的圆能使另外1点也在其边缘上,则不再对其他任意3点进行圆参数的计算。考虑到,候选圆被判定为假圆且位于该候选圆上的点数大于阈值Tmin的情形,提出了一种改进的随机圆检测算法。该算法的检测速度快于RCD。从实验结果中的p1、c1、r1、r1/p1、p2、c2、r2、r2/p2的值,可以看出,r1/p1远大于r2/p2,也就是说,提出算法所引起的那些被计算的圆参数成为真圆的概率,远大于RCD中被计算的圆参数成为真圆的概率。这也是本文算法比RCD快的原因。尽管提出算法的检测速度比RCD的检测速度快得不明显,但是提出算法可与其他改进的RCD算法相结合,从而达到更快的检测速度。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 一种双模通信装置及其传输速度改进方法,能够在不增加成本负担的情况下提高数据传输率
机译: 使用至少一种三元醇及其烷氧基化产物来提高水中特定洗涤剂配方的溶解速度
机译: 使用至少一种三元醇及其烷氧基化产物来提高水中特定洗涤剂配方的溶解速度