圆检测方法及装置的制作方法

文档序号:6601780阅读:291来源:国知局
专利名称:圆检测方法及装置的制作方法
技术领域
本发明涉及自动检测和生物特征识别技术领域,特别涉及工业以及医疗图像应用中的圆检测方法。
背景技术
圆检测是在诸如自动检测和生物特征识别等工业以及医疗图像应用的关键技术之一。现有的圆检测方法多数通过在图像中寻找圆的半径以及圆心来实现圆检测。例如,霍夫变换(HT,Hough Transform)是一种常用的分析特征提取算法,HT算法可以用于在图像中提取直线,圆以及椭圆等分析特征,并且HT算法对噪声,干扰,形变等具有较好鲁棒性。 圆霍夫变换(CHT,Circle Hough Transform)是一种常用的圆检测算法,其目标是在图像中检测出给定半径的圆。然而如果圆的半径是未知的,在使用CHT算法进行圆检测时,则需要对所有可能的半径分别运行CHT算法,建立一个三维(3D)参数空间,其中使用二维参数代表圆心的位置,使用第三个参数代表半径。由于计算的复杂度随着参数空间的维数呈几何增长,因此,CHT算法的计算复杂度较高,计算速度慢而且需要较大的存储空间。

发明内容
为了解决上述问题,本发明的实施例提供了一种圆检测方法及装置,可以实现快速且高精度的圆检测。本发明实施例所述的圆检测方法包括对图像进行边缘检测得到图像的边缘点集;对图像的边缘点集进行分析,得到图像质量分析结果;根据图像质量分析结果选择圆检测算法;以及使用所选择的圆检测算法对图像进行圆检测。其中,对图像进行边缘检测得到该图像的边缘点集包括使用坎尼算子对图像进行过滤获得图像的边缘点集;以及根据先验知识以及连通规则从获得的图像的边缘点集中剔除噪声灰度点,获得优化的边缘点集。根据图像质量分析结果选择圆检测算法包括设定表征图像质量的至少两个阈值范围;选择至少两种具有不同鲁棒性的圆检测算法;设定圆检测算法选择条件;以及根据图像质量分析结果以及设定的圆检测算法选择条件选择进行圆检测的圆检测算法。设定圆检测算法选择条件包括分别设定在图像质量属于每个阈值范围时所对应采用的圆检测算法,其中在图像的质量较好时设定选择鲁棒性相对较差但是计算复杂度相对较低的圆检测算法;而在图像质量较差时设定选择鲁棒性较好的圆检测算法。具体而言,设定表征图像质量的至少两个阈值范围包括设置四个阈值范围Tl, T2,T3以及T4,其中,图像质量属于Tl时,代表图像质量非常好;图像质量属于T2时,代表图像质量一般好;图像质量属于T3时,代表图像质量较差;以及图像质量属于T4时,代表图像质量非常差。选择至少两种具有不同鲁棒性的圆检测算法包括选择梯度对向量检测算法,随机圆检测RCD算法以及积分差分算子算法。此时,分别设定在图像质量属于每个阈值范围时所对应采用的圆检测算法包括设定当图像质量属于Tl时选择梯度对向量检测算法进行圆检测;当图像质量属于T2时选择梯度对向量检测算法与RCD算法相结合的圆检测算法;当图像质量属于T3时选择RCD算法进行圆检测;以及当图像质量属于T4时选择 RCD算法与积分差分算子相结合的圆检测算法;而根据图像质量分析结果以及设定的圆检测算法选择条件选择进行圆检测的圆检测算法包括若图像质量分析结果显示图像质量属于阈值范围Tl,则选择梯度对向量检测算法;若图像质量分析结果显示图像质量属于阈值范围T2,则选择梯度对向量检测算法与RCD算法相结合的圆检测算法;若图像质量分析结果显示图像质量属于阈值范围T3,则选择RCD算法;以及若图像质量分析结果显示图像质量属于阈值范围T4,则选择RCD算法与积分差分算子相结合的圆检测算法;且使用所选择的圆检测算法对图像进行圆检测包括若选择梯度对向量检测算法,则对图像的边缘点集执行梯度对向量检测算法,并将梯度对向量检测算法的执行结果作为圆检测的结果;若选择梯度对向量检测算法与RCD算法相结合的圆检测算法,则先对图像的边缘点集执行梯度对向量检测算法,得到圆的半径以及圆心的参考范围,再根据圆的半径以及圆心的参考范围对图像的边缘点集执行RCD算法;若选择RCD算法,则对图像的边缘点集执行RCD算法, 并将RCD算法的执行结果作为圆检测结果;若选择RCD算法与积分差分算子相结合的圆检测算法,则先对图像的边缘点集执行RCD算法,再对RCD算法的执行结果执行积分差分算子算法完成圆的精确定位。本发明实施例所述的圆检测装置包括图像边缘化单元,用于对待检测图像进行边缘检测得到该图像的边缘点集;图像质量分析单元,用于对图像的边缘点集进行分析,得到表征图像质量好坏的图像质量分析结果;圆检测算法选择单元,用于根据图像质量分析单元输出的图像质量分析结果选择圆检测算法;以及圆检测单元,用于用所选择的圆检测算法对图像进行圆检测。其中,图像边缘化单元进一步用于根据先验知识以及连通规则从获得的图像的边缘点集中剔除噪声灰度点,获得优化的边缘点集。上述圆检测算法选择单元包括阈值与圆检测算法设定模块,用于设定表征图像质量的至少两个阈值范围,以及选择至少两种具有不同鲁棒性的圆检测算法;圆检测算法选择条件设定模块,用于分别设定在图像质量属于每个阈值范围时所对应采用的圆检测算法;圆检测算法选择模块,用于根据图像质量分析结果以及设定的圆检测算法选择条件选择进行圆检测的圆检测算法。本发明给出的圆检测的方法以及装置通过在进行圆检测之前先对图像的质量进行分析,并根据图像的质量选择不同的圆检测算法进行圆检测,可以有效地平衡圆检测效率以及圆检测精确度两个指标,一方面保证圆检测的精确度,而另一方面提高圆检测的效率。因此,本发明实施例所述的圆检测的方法可以实现快速且高精度的圆检测,可实现虹膜定位、肿瘤检测以及识别圆形器官等应用。


图1为本发明实施例所述的圆检测方法流程图;图2为本发明实施例所述的根据对图像边缘点集的分析结果选择圆检测算法进行圆检测的方法;图3为本发明实施例所述的圆检测装置内部结构示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对发明进行详细描述。本发明的实施例提出了一种新的圆检测方法,根据待检测图像的质量选择适合的圆检测算法进行圆检测,在保证检测精度的同时减少圆检测所需的时间,即可以实现快速且高精度的圆检测。图1显示了本发明实施例所述圆检测方法,主要包括如下步骤步骤101 对待检测图像进行边缘检测得到该图像的边缘点集。在本步骤中,可以使用传统的图像边缘检测算法,例如,坎尼算子 (CannyOperator)对图像进行过滤以获得图像的边缘点集。更进一步,在得到图像的边缘点集之后,还可以根据先验知识以及连通规则、边缘点分布密度等方法从获得的图像的边缘点集中剔除噪声灰度点,以获得优化的边缘点集。在这里,先验知识具体是指预先知道的待检测的圆的大小范围,这样,根据先验知识就可以首先在通过边缘检测得到的边缘点集内保留该大小范围内的边缘点,而剔除不属于该大小范围内的边缘点,然后还可以进一步根据连通规则从这些边缘点中剔除噪声灰度点,从而对图像的边缘点集进行优化,获得一个优化的边缘点集。具体而言,连通规则是指通过判断在一个孤立点八个方向的2点像素距离内是否存在点来确定该孤立点是否为噪声灰度点,如果该孤立点八个方向的2点像素距离内不存在点,则认为该孤立点为噪声灰度点,应当从边缘点集中剔除。步骤102 对图像的边缘点集进行分析,得到表征图像质量好坏的图像质量分析结果。在本步骤中,可以使用傅里叶谱分析进行全局图像质量分析,然后结合分块灰度图的标准方差进行图像的局部质量评估。通过得到的能量强度和方差值,对图像的边缘点集进行分析。步骤103 根据图像质量分析结果选择进行圆检测的圆检测算法。步骤104 使用所选择的圆检测算法对图像进行圆检测。在上述步骤103中,如果对图像边缘点集的分析结果显示图像的质量较好,则可以选择鲁棒性相对稍差(即对干扰、噪声以及形变比较敏感的算法),但是计算复杂度相对较低的圆检测算法,以提高圆检测的效率;而如果对图像边缘点集的分析结果显示图像的质量较差,则可以选择鲁棒性相对较好,但是计算复杂度可能较高的圆检测算法以保证圆检测的精确度。具体而言,本实施例给出了一种较佳的根据图像质量分析结果选择圆检测算法进行圆检测的方法,可以实现快速以及高精度的圆检测。该方法如图2所示,具体包括如下步骤步骤1031 设定表征图像质量的至少两个阈值范围。例如,以设定四个阈值范围为例,在本步骤中可以设置四个阈值范围T1,Τ2,Τ3以及T4,其中,图像质量属于Tl时,代表图像质量非常好;图像质量属于T2时,代表图像质量一般好;图像质量属于T3时,代表图像质量较差;以及图像质量属于T4时,代表图像质
量非常差。在实际的应用中,上述四个阈值可以根据统计实验数据获得的经验值来设定。步骤1032 选择至少两种具有不同鲁棒性的圆检测算法。例如,在本步骤中可以选择现有的实现圆的粗检测的梯度对向量检测(gradient pair vector detection)算法以及随机圆检测(RCD,Radom CircleDetection)算法,其中,梯度对向量检测算法的计算量较小,但是对图像质量的要求较高,即要求图像中的圆与其背景应当是清晰可辨的,否则将无法得到图像的梯度向量;RCD算法则对图像质量的要求虽然没有梯度对向量检测算法高,但是RCD算法的计算复杂度较高,导致圆检测的所花费的时间较长。也就是说,RCD算法与梯度对向量检测算法相比具有较好的鲁棒性,与梯度对向量检测算法相比可以应用于质量更差的图像的圆检测。另外,还可以进一步选择根据圆的粗检测结果进行圆的精确定位的积分差分算子 (Integral-Difference Operator)算法。积分差分算子通常用于在圆的粗检测结果之上实现圆的精确定位,可以获得较高的精确度。步骤1033 设定圆检测算法选择条件,即分别设定在图像质量属于每个阈值范围时所对应采用的圆检测算法。具体而言,在本步骤中,可以在图像的质量较好时设定选择鲁棒性相对较差但是计算复杂度相对较低的圆检测算法,从而可以较好地提高圆检测的效率;而在图像质量较差时设定选择鲁棒性较好的圆检测算法,从而可以较好地保证圆检测的精确度。仍以设定四个阈值范围为例,可以设定当图像质量属于Tl时选择计算复杂度较低的梯度对向量检测算法进行圆检测;当图像质量属于T2时选择梯度对向量检测算法与 RCD算法相结合的圆检测算法,即先执行梯度对向量检测算法,再根据梯度对向量检测算法的执行结果执行RCD算法完成圆检测;当图像质量属于T3时直接选择鲁棒性较好的RCD算法进行圆检测;以及当图像质量属于T4时选择RCD算法与积分差分算子相结合的圆检测算法,即先执行RCD算法,再对RCD算法的执行结果执行积分差分算子算法完成圆的精确定位。步骤1034 根据图像质量分析结果以及设定的圆检测算法选择条件选择进行圆检测的圆检测算法。下面仍以设定四个阈值范围为例详细说明上述根据图像质量分析结果以及设定的圆检测算法选择条件选择圆检测算法进行圆检测的方法。若图像质量分析结果显示图像质量属于阈值范围Tl,则选择梯度对向量检测算法,即在步骤104对图像的边缘点集执行梯度对向量检测算法,并将梯度对向量检测算法的执行结果作为圆检测的结果。若图像质量分析结果显示图像质量属于阈值范围T2,则选择梯度对向量检测算法与RCD算法相结合的圆检测算法,即在步骤104先对图像的边缘点集执行梯度对向量检测算法,得到圆的半径以及圆心的参考范围,再根据圆的半径以及圆心的参考范围对图像的边缘点集执行RCD算法。由于通过梯度对向量检测算法已获得了圆心和半径的参考范围, 因此,在执行RCD算法时可以大大降低RCD算法的计算量,从而大大减少RCD算法的执行时间,提高圆检测的效率。若图像质量分析结果显示图像质量属于阈值范围T3,则选择RCD算法,即在步骤 104对图像的边缘点集执行RCD算法,并将RCD算法的执行结果作为圆检测结果。若图像质量分析结果显示图像质量属于阈值范围T4,则选择RCD算法与积分差分算子相结合的圆检测算法,即在步骤104先对图像的边缘点集执行RCD算法,再对RCD算法的执行结果执行积分差分算子算法完成圆的精确定位,从而在图像质量很差时也可以保证圆检测的精确度。除了上述圆检测方法之外,本发明的实施例还提供了实现上述方法的圆检测装置,其内部结构如图3所示,主要包括图像边缘化单元,用于对待检测图像进行边缘检测得到该图像的边缘点集;图像质量分析单元,用于使用智能算法对图像的边缘点集进行分析,得到表征图像质量好坏的图像质量分析结果; 圆检测算法选择单元,用于根据图像质量分析单元输出的图像质量分析结果选择圆检测算法;圆检测单元,用于用所选择的圆检测算法对图像进行圆检测。其中,上述图像边缘化单元还可以进一步根据先验知识以及连通规则、边缘点分布密度等方法从获得的图像的边缘点集中剔除噪声灰度点,获得优化的边缘点集。另外,上述圆检测算法选择单元具体包括阈值与圆检测算法设定模块,用于设定表征图像质量的至少两个阈值范围,以及选择至少两种具有不同鲁棒性的圆检测算法;圆检测算法选择条件设定模块,用于分别设定在图像质量属于每个阈值范围时所对应采用的圆检测算法;圆检测算法选择模块,用于根据图像质量分析结果以及设定的圆检测算法选择条件选择进行圆检测的圆检测算法。从上述本发明实施例给出的圆检测的方法以及装置可以看出,通过在进行圆检测之前先对图像的质量进行分析,并根据图像的质量选择不同的圆检测算法进行圆检测,可以有效地平衡圆检测效率以及圆检测精确度两个指标,一方面保证圆检测的精确度,而另一方面提高圆检测的效率。因此,本发明实施例所述的圆检测的方法可以实现快速且高精度的圆检测。作为补充说明,下面将简单描述梯度对向量检测算法的原理以及实现过程。当图像中的圆与背景相比比较清晰时,例如,图像中圆的内部比较暗,而背景比较亮,或者圆的内部比较亮,而背景比较暗时,可以采用梯度对向量检测算法进行圆的粗检测,具体包括步骤201 计算图像的梯度向量。步骤202 从计算得到的图像的梯度向量中找出方向相反且基于圆心对称的梯度
对向量。由于圆具有中心对称的特性,因此,当图像中的圆与背景相比比较暗时,图像的梯度向量应当包括多个从圆的边缘沿圆的半径指向圆外部的向量;而当图像中的圆与背景相比比较亮时,图像的梯度向量包括多个从圆的边缘指向圆心的向量。而且由于圆形具有中(7)
可以根据圆上任意三个点的坐标值计算得到圆心坐标的值以及半径的长度,其中根据下面的公式(8)计算圆心横坐标的值,根据公式 (9)计算纵坐标的值,根据公式(10)可以计算得到半径的长度
X22+^2-X12-J^12 2(y2-yi)X32 +KW 2(y,-yi) (g)
2 —---\ ζ
123 4((χ2 - X1Xyi -J1)-^- ^1)(^2 — Ji))
2(x2 - ) x22+y22-X12-乃2
_ 2(x3-x,) χ]+y]-X21 ^y2x (9)
123 4((x, - χ )(7, -^1)-(x3- )(^ - ^i))
条直线上,则上述圆上的三点还应当满足如下
心对称特性,因此,若图像中存在圆,则在图像的梯度向量中必然存在指向相反方向的向量对。梯度对向量检测算法就是根据上述特性从图像的梯度向量中寻找夹角为180度的梯度对向量,同时保证该梯度向量对对于圆心是对称的,从而完成圆检测。步骤203 根据找到的梯度对向量计算圆心的位置以及半径的值。步骤204 如果上述步骤得到多个圆心的位置以及多个半径的值,则计算上述多个圆心的平均位置以及计算多个半径的平均值,从而确定圆周上点的集合以及圆的圆心以及半径的参考范围。从上述梯度对向量检测算法可以看出,虽然梯度对向量检测算法的计算复杂度较低,但是该算法仅适合于图像中的圆形图案比较清晰的情况(例如背景比圆更亮或更暗)。 而若图像的质量不佳,即图像中的圆形并不清晰时,可能无法得到梯度向量,因此上述方法并不适用于质量较差的图像。下面再简单描述RCD算法的原理以及实现过程。已知圆周上的点可以用如下的公式(1)表示(x-a)2+ (y-b)2 = r2 (1)其中,(a,b)代表二维图像中圆的圆形的坐标,r代表半径的长度。如果令c = r2-a2-b2,则推导上述公式(1)可以得到如下公式O)2ax+2bx+c = x2+y2 (2)如果在公式(1)所代表的圆上找出3个点,C1 (xi; Y1),C2(X2,y2)以及C3(X3,y3)并代入上述公式O),则可以得到Iau3Xi +26123少丨 +C123 =X12 + yf (3)Ian3iX2 +2bmy2 +C123 = + yl (4)
IamX3 +2^23^3 ~ xI ^r yl (5)其中,C123 二么-A223 -Z4。上述公式(3),以及(5)可以表达为下述公式(6)
2乃η( \(2 2 Λ X1
Ix21bl23=2 2 X2 +y2、2而2力hV cI 23 )2 . 2 lX3 J已知一个圆上的任意三点均不在-公式(7)所示的条件(X2-X1) (Yfy1)-(X3-X1) (Y2-Y1) Φ 0根据克莱姆法则(Cramer' s Rule
权利要求
1.一种圆检测方法,包括对图像进行边缘检测得到该图像的边缘点集;对所述图像的边缘点集进行分析,得到图像质量分析结果;根据所述图像质量分析结果选择圆检测算法;以及使用所选择的圆检测算法对所述图像进行圆检测。
2.根据权利要求1所述的圆检测方法,其特征在于,所述对图像进行边缘检测得到该图像的边缘点集包括使用坎尼算子对所述图像进行过滤获得所述图像的边缘点集;以及根据先验知识以及连通规则从获得的图像的边缘点集中剔除噪声灰度点,获得优化的边缘点集。
3.根据权利要求1所述的圆检测方法,其特征在于,所述根据所述图像质量分析结果选择圆检测算法包括设定表征所述图像质量的至少两个阈值范围;选择至少两种具有不同鲁棒性的圆检测算法;设定圆检测算法选择条件;以及根据所述图像质量分析结果以及设定的圆检测算法选择条件选择进行圆检测的圆检测算法。
4.根据权利要求3所述的圆检测方法,其特征在于,所述设定圆检测算法选择条件包括分别设定在所述图像质量属于每个阈值范围时所对应采用的圆检测算法,其中,在所述图像的质量较好时设定选择鲁棒性相对较差但是计算复杂度相对较低的圆检测算法;而在所述图像质量较差时设定选择鲁棒性较好的圆检测算法。
5.根据权利要求4所述的圆检测方法,其特征在于,所述设定表征所述图像质量的至少两个阈值范围包括设置四个阈值范围Tl,T2,T3以及T4,其中,图像质量属于Tl时,代表图像质量非常好;图像质量属于T2时,代表图像质量一般好;图像质量属于T3时,代表图像质量较差;以及图像质量属于"Γ4时,代表图像质量非常差。
6.根据权利要求5所述的圆检测方法,其特征在于,所述选择至少两种具有不同鲁棒性的圆检测算法包括选择梯度对向量检测算法,随机圆检测RCD算法以及积分差分算子算法。
7.根据权利要求6所述的圆检测方法,其特征在于,所述分别设定在所述图像质量属于每个阈值范围时所对应采用的圆检测算法包括设定当图像质量属于Tl时选择梯度对向量检测算法进行圆检测;当图像质量属于T2时选择梯度对向量检测算法与RCD算法相结合的圆检测算法;当图像质量属于T3时选择RCD算法进行圆检测;以及当图像质量属于T4 时选择RCD算法与积分差分算子相结合的圆检测算法;所述使用所选择的圆检测算法对所述图像进行圆检测包括若选择梯度对向量检测算法,则对所述图像的边缘点集执行梯度对向量检测算法,并将梯度对向量检测算法的执行结果作为圆检测的结果;若选择梯度对向量检测算法与RCD算法相结合的圆检测算法,则先对所述图像的边缘点集执行梯度对向量检测算法,得到圆的半径以及圆心的参考范围, 再根据圆的半径以及圆心的参考范围对所述图像的边缘点集执行RCD算法;若选择RCD算法,则对所述图像的边缘点集执行RCD算法,并将RCD算法的执行结果作为圆检测结果;若选择RCD算法与积分差分算子相结合的圆检测算法,则先对所述图像的边缘点集执行RCD 算法,再对RCD算法的执行结果执行积分差分算子算法完成圆的精确定位。
8.一种圆检测装置,包括图像边缘化单元,用于对待检测图像进行边缘检测得到该图像的边缘点集; 图像质量分析单元,用于对所述图像的边缘点集进行分析,得到表征所述图像质量好坏的图像质量分析结果;圆检测算法选择单元,用于根据所述图像质量分析单元输出的图像质量分析结果选择圆检测算法;圆检测单元,用于用所选择的圆检测算法对所述图像进行圆检测。
9.根据权利要求8所述的圆检测装置,其特征在于,所述图像边缘化单元进一步用于根据先验知识以及连通规则从获得的图像的边缘点集中剔除噪声灰度点,获得优化的边缘点^^ ο
10.根据权利要求8所述的圆检测装置,其特征在于,所述圆检测算法选择单元具体包括阈值与圆检测算法设定模块,用于设定表征所述图像质量的至少两个阈值范围,以及选择至少两种具有不同鲁棒性的圆检测算法;圆检测算法选择条件设定模块,用于分别设定在所述图像质量属于每个阈值范围时所对应采用的圆检测算法;圆检测算法选择模块,用于根据所述图像质量分析结果以及设定的圆检测算法选择条件选择进行圆检测的圆检测算法。
全文摘要
本发明公开了一种圆检测方法,包括对图像进行边缘检测得到该图像的边缘点集;对图像的边缘点集进行分析,得到图像质量分析结果;根据图像质量分析结果选择圆检测算法;以及使用所选择的圆检测算法对图像进行圆检测。本发明还公开了执行上述圆检测方法的装置。本发明通过在进行圆检测之前先对图像的质量进行分析,并根据图像的质量选择不同的圆检测算法进行圆检测,可以有效地平衡圆检测效率以及圆检测精确度两个指标,一方面保证圆检测的精确度,而另一方面提高圆检测的效率,从而实现快速且高精度的圆检测。
文档编号G06T7/00GK102236894SQ201010163128
公开日2011年11月9日 申请日期2010年4月30日 优先权日2010年4月30日
发明者张鹏飞 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1