论文部分内容阅读
[摘 要]为了有效检测金属圆孔异物缺陷,分析Hough变换(HT)以及随机Hough变换原理(RHT),提出一种改进型随机Hough变换(PRHT)的方法获取内孔边缘像素点集合,采用圆拟合方法和残差分析,循环剔除点集合中无效点,最终获取圆心点与半径,同时对圆孔缺陷进行检测。经实验结果分析,本算法对于圆孔缺陷有良好检出效果。
[关键词]圆孔;Hough变换;缺陷检测
中图分类号:TP391.41 文献标识码:A 文章编号:1009-914X(2017)20-0171-02
引言
Paul Hough于1962年提出一种可以运用于边缘检测中的算法,称作Hough变换[1]。算法采用空间投影思想,对原始图案中像素点按照对偶性将像元映射至一个二维平面,在该平面内通过对像素点解析并统计其共性,得出原始图像所存在的像素特征。即将某类像元信息由函数表示,以聚类的方式确定目标。这种能按一定要求收集像素特性的思想使算法在数字图像技术中担当重要角色,在实际运用中有良好效果。
随着研究者对算法不断探索创新,Hough变换由早先用于检测直线扩展到复杂形状领域,其中最多是用于圆形检测。早期检测往往需要掌握边界函数,这种方法免去了区域定位,更重要地是即使边缘不完整或者去噪效果不理想都不会影响实验效果。但是要找到某种函数对复杂图案边缘进行描述往往是做不到的,针对这一问题学者们展开深入探讨。
1 经典Hough变换圆检测原理
在圆检测中,可以将圆参数方程当做边缘函数[2],那么可以做一个以圆点(a,b),半径大小r的圆表达式。
(1.1)
根据式(1.1)的未知数反转,把X -Y 作为常量,a-b-r 作为未知数,即把X -Y 平面上的点转换到a-b-r 参数空间,就是一个圆锥的方程。即以圆形表达式自变量二维空间下坐标值为圆锥顶点,将圆心点二维坐标和圆半径设置为一个三维空间下立体坐标系并作为空间变量。这就实现了从二维空间到三维空间,从面圆到立体圆锥,从圆检测问题到找锥面交点问题的转化。
上述圆检测原理在实现问题转化的同时,也暴露出一些问题:随着图像像素分辨率提高,参数空间将成倍放大,算法复杂度显著提高,采用投票累加思想会占用大量存储空间。因此面对处理复杂图像时,计算速度会大幅增加,如果去噪处理效果不理想将会导致检测率下降。
2 随机Hough变换
由于传统Hough变换存在一系列不足,1993年Xu等人提出随机Hough变换(RHT,Randomized Hough Transform)思想,该变换主要通过图像空间中样本点进行随机抽样与参数空间的动态链接表来降低计算复杂度和内存需求[3]。RHT原理是以三个随机不共面边缘像素点为基准,找到相应圆形信息并投射到参数空间进行统计,将达到参考值时的参数作为圆参数,最后选择满足在圆上点数达到共圆比例阈值的圆当作检测结果。
随机Hough变换的基本算法如下:
1)初始化参数空间,构造图像边缘点集合与采样次数。
2)采样次数大于采样阈值时,算法结束。
3)在采样次数小于采样阈值时,在边缘点集合中随机选取三个不共线像素点。
4)判断这三个点所选圆参数解存在与否,结果为真作为候选圆执行下一步,结果为假执行2)。
5)如果候选圆参数相应图像空间点数达到共圆比例阈值,接着执行下一步,未达到认为候选圆为不是真圆,转到2)执行。
6)检测到的真实圆如满足检测条件,算法结束。否则,将参数圆对应的像素点从图像边缘点集合中移除,重置采样次数,转到2)继续执行。
在算法中加入三点随机机制是将单点对多点变为多点对单点的改进,降低了算法复杂度,使运算得到加速。但是随机Hough变换也有缺点,对于复杂图像或者噪声点增加,无目标随机采样会引入许多冗余参数,会产生众多冗余累积,计算性能降低。
3 改进的随机Hough变换
为了满足实时性要求,本文提出适用于工位一缺陷的改进随机Hough算法。采用改进的随机Hough圆检测算法减少同心圆环的计算量,算法步骤如下:
1)由几何学内容可知,构成圆的点集中最多只能有两个点在同一条直线上。根据这个原理首先对参数空间进行初始化,同时构造图像边缘点集合和重置采样次数。对图像空间边缘像素点集合中采样的三个点进行判断,如果三点共线则重新进行采样,三点是否共线可以根据任意两点之间斜率是否相等来进行判断。
2)以几何学中圆上任意两点构成的弦过圆心为依据,通过圆上A(x1,y1),B(x2,y2),C(x3,y3)三点,做直线AB中垂线m,做直线AC中垂线n,直线m,n交于一点,该点即为圆心O(x0,y0),对式1.1做变换,把X-Y平面点投射至参数空间,改进计算参数空间方程式為:
(3.1)
通过式3.1求解方程中圆心坐标(a,b)和半径r。相比于式1.1求解方法,方程中减少了未知数的乘法与乘方运算,从而减少了算法复杂度,使内存占有率减小,提高了计算性能。
为了提高算法效率,减少候选圆与边缘点计算的时间,可以根据几何学中圆形固有的特点来缩小样本点的选择范围。根据圆形有内接正方形与外切正方形的特点,该圆上边缘点一定位于内接正方形与外切正方形范围之内,而范围之外的点不可能属于候选圆上,如图1黑色区域所示。计算采样点到圆心之间的距离,通过设置共圆比例阈值来判断采样点是否为候选圆上的点。本算法是以更少随机采样点,实现减小冗余采样概率来对RHT进行优化。改进后对于高分辨率图像,计算性能提升较为明显。
4 基于圆拟合的圆孔缺陷检测
利用缺陷图形形态学方法,对金属圆孔边缘轮廓进行追踪,得到边缘像素点集合,边缘轮廓坐标上每点Pt往前第3个像素点Pt-3与往后第3个像素点Pt+3连线的中点坐标,若该中点像素为黑色,则其对应的轮廓点位于边缘轮廓下凹的位置上;计算同一段下凹位置上各轮廓点到其往前第3个像素点Pt-3与往后第3个像素点Pt+3连线的距离dt,最大距离对应的轮廓点为缺陷点坐标[39-40]。最终将外边缘点与拟合圆点进行对比求得所有缺陷[4]坐标点。 5 实验结果分析
本实验中采用PRHT算法获取圆孔轮廓像素点的集合,采取最小二乘圆拟合方法,对获取到的近圆形轮廓像素点进行拟合,根据残差分析,循环剔除不满足条件点,最后拟合出圆,获取圆心点跟半径,将外边缘点与圆心进行距离计算,小于半径阈值的点可以判定为缺陷,同时描绘缺陷点。(图2)
图2中,蓝色线为圆孔边缘识别线,中心十字为圆孔中心标记,边缘红色的为识别的异物或突起。异物或突起的检测阈值用户可根据检测需求设置,图2(a)中可以只检出下方明显缺陷,其余小突起不检出。圆检测结果如表1所示,本实验采取的算法对内孔缺陷有良好的检出效果,对圆孔检出率达到100%,满足工业检测[5]要求。
6 结论
本文从检测算法角度出发,对传统Hough变换与随机Hough变换进行了简单阐述,随后对随机Hough算法进行改进以减少计算量,提高算法性能,介绍了采用图形学进行缺陷检测的原理。最终对金属圆孔采用改进型RHT获取内孔边缘像素点集合,采用圆拟合方法和残差分析,循环剔除无效点,得到圆心点跟半径,同时对缺陷进行判定和描绘。最后根据实验效果和数据结果分析,证明本章采用的算法满足端塞的内孔缺陷检测。
参考文献
[1] Yao A, Gall J, Gool L V. A Hough transform-based voting framework for action recognition[C]Computer Vision and Pattern Recognition. IEEE, 2010:2061-2068.
[2] 段汝娇,赵伟,黄松岭,等.一种基于改进Hough变换的直线快速检测算法[J].仪器仪表学报,2010,31(12):2774-2780.
[3] Kultanen P, Xu L, Oja E. Randomized Hough transform (RHT)[J]. 2009, i(4):631-635 vol.1.
[4] 魯昌华,徐胜海,刘春.数字图像处理技术在PCB板检测中的应用[J].仪器仪表学报,2001,22(s2):426-429.
[5] 许运来.基于CCD的子弹表面检测方法研究[D].哈尔滨工程大学,2009.
[关键词]圆孔;Hough变换;缺陷检测
中图分类号:TP391.41 文献标识码:A 文章编号:1009-914X(2017)20-0171-02
引言
Paul Hough于1962年提出一种可以运用于边缘检测中的算法,称作Hough变换[1]。算法采用空间投影思想,对原始图案中像素点按照对偶性将像元映射至一个二维平面,在该平面内通过对像素点解析并统计其共性,得出原始图像所存在的像素特征。即将某类像元信息由函数表示,以聚类的方式确定目标。这种能按一定要求收集像素特性的思想使算法在数字图像技术中担当重要角色,在实际运用中有良好效果。
随着研究者对算法不断探索创新,Hough变换由早先用于检测直线扩展到复杂形状领域,其中最多是用于圆形检测。早期检测往往需要掌握边界函数,这种方法免去了区域定位,更重要地是即使边缘不完整或者去噪效果不理想都不会影响实验效果。但是要找到某种函数对复杂图案边缘进行描述往往是做不到的,针对这一问题学者们展开深入探讨。
1 经典Hough变换圆检测原理
在圆检测中,可以将圆参数方程当做边缘函数[2],那么可以做一个以圆点(a,b),半径大小r的圆表达式。
(1.1)
根据式(1.1)的未知数反转,把X -Y 作为常量,a-b-r 作为未知数,即把X -Y 平面上的点转换到a-b-r 参数空间,就是一个圆锥的方程。即以圆形表达式自变量二维空间下坐标值为圆锥顶点,将圆心点二维坐标和圆半径设置为一个三维空间下立体坐标系并作为空间变量。这就实现了从二维空间到三维空间,从面圆到立体圆锥,从圆检测问题到找锥面交点问题的转化。
上述圆检测原理在实现问题转化的同时,也暴露出一些问题:随着图像像素分辨率提高,参数空间将成倍放大,算法复杂度显著提高,采用投票累加思想会占用大量存储空间。因此面对处理复杂图像时,计算速度会大幅增加,如果去噪处理效果不理想将会导致检测率下降。
2 随机Hough变换
由于传统Hough变换存在一系列不足,1993年Xu等人提出随机Hough变换(RHT,Randomized Hough Transform)思想,该变换主要通过图像空间中样本点进行随机抽样与参数空间的动态链接表来降低计算复杂度和内存需求[3]。RHT原理是以三个随机不共面边缘像素点为基准,找到相应圆形信息并投射到参数空间进行统计,将达到参考值时的参数作为圆参数,最后选择满足在圆上点数达到共圆比例阈值的圆当作检测结果。
随机Hough变换的基本算法如下:
1)初始化参数空间,构造图像边缘点集合与采样次数。
2)采样次数大于采样阈值时,算法结束。
3)在采样次数小于采样阈值时,在边缘点集合中随机选取三个不共线像素点。
4)判断这三个点所选圆参数解存在与否,结果为真作为候选圆执行下一步,结果为假执行2)。
5)如果候选圆参数相应图像空间点数达到共圆比例阈值,接着执行下一步,未达到认为候选圆为不是真圆,转到2)执行。
6)检测到的真实圆如满足检测条件,算法结束。否则,将参数圆对应的像素点从图像边缘点集合中移除,重置采样次数,转到2)继续执行。
在算法中加入三点随机机制是将单点对多点变为多点对单点的改进,降低了算法复杂度,使运算得到加速。但是随机Hough变换也有缺点,对于复杂图像或者噪声点增加,无目标随机采样会引入许多冗余参数,会产生众多冗余累积,计算性能降低。
3 改进的随机Hough变换
为了满足实时性要求,本文提出适用于工位一缺陷的改进随机Hough算法。采用改进的随机Hough圆检测算法减少同心圆环的计算量,算法步骤如下:
1)由几何学内容可知,构成圆的点集中最多只能有两个点在同一条直线上。根据这个原理首先对参数空间进行初始化,同时构造图像边缘点集合和重置采样次数。对图像空间边缘像素点集合中采样的三个点进行判断,如果三点共线则重新进行采样,三点是否共线可以根据任意两点之间斜率是否相等来进行判断。
2)以几何学中圆上任意两点构成的弦过圆心为依据,通过圆上A(x1,y1),B(x2,y2),C(x3,y3)三点,做直线AB中垂线m,做直线AC中垂线n,直线m,n交于一点,该点即为圆心O(x0,y0),对式1.1做变换,把X-Y平面点投射至参数空间,改进计算参数空间方程式為:
(3.1)
通过式3.1求解方程中圆心坐标(a,b)和半径r。相比于式1.1求解方法,方程中减少了未知数的乘法与乘方运算,从而减少了算法复杂度,使内存占有率减小,提高了计算性能。
为了提高算法效率,减少候选圆与边缘点计算的时间,可以根据几何学中圆形固有的特点来缩小样本点的选择范围。根据圆形有内接正方形与外切正方形的特点,该圆上边缘点一定位于内接正方形与外切正方形范围之内,而范围之外的点不可能属于候选圆上,如图1黑色区域所示。计算采样点到圆心之间的距离,通过设置共圆比例阈值来判断采样点是否为候选圆上的点。本算法是以更少随机采样点,实现减小冗余采样概率来对RHT进行优化。改进后对于高分辨率图像,计算性能提升较为明显。
4 基于圆拟合的圆孔缺陷检测
利用缺陷图形形态学方法,对金属圆孔边缘轮廓进行追踪,得到边缘像素点集合,边缘轮廓坐标上每点Pt往前第3个像素点Pt-3与往后第3个像素点Pt+3连线的中点坐标,若该中点像素为黑色,则其对应的轮廓点位于边缘轮廓下凹的位置上;计算同一段下凹位置上各轮廓点到其往前第3个像素点Pt-3与往后第3个像素点Pt+3连线的距离dt,最大距离对应的轮廓点为缺陷点坐标[39-40]。最终将外边缘点与拟合圆点进行对比求得所有缺陷[4]坐标点。 5 实验结果分析
本实验中采用PRHT算法获取圆孔轮廓像素点的集合,采取最小二乘圆拟合方法,对获取到的近圆形轮廓像素点进行拟合,根据残差分析,循环剔除不满足条件点,最后拟合出圆,获取圆心点跟半径,将外边缘点与圆心进行距离计算,小于半径阈值的点可以判定为缺陷,同时描绘缺陷点。(图2)
图2中,蓝色线为圆孔边缘识别线,中心十字为圆孔中心标记,边缘红色的为识别的异物或突起。异物或突起的检测阈值用户可根据检测需求设置,图2(a)中可以只检出下方明显缺陷,其余小突起不检出。圆检测结果如表1所示,本实验采取的算法对内孔缺陷有良好的检出效果,对圆孔检出率达到100%,满足工业检测[5]要求。
6 结论
本文从检测算法角度出发,对传统Hough变换与随机Hough变换进行了简单阐述,随后对随机Hough算法进行改进以减少计算量,提高算法性能,介绍了采用图形学进行缺陷检测的原理。最终对金属圆孔采用改进型RHT获取内孔边缘像素点集合,采用圆拟合方法和残差分析,循环剔除无效点,得到圆心点跟半径,同时对缺陷进行判定和描绘。最后根据实验效果和数据结果分析,证明本章采用的算法满足端塞的内孔缺陷检测。
参考文献
[1] Yao A, Gall J, Gool L V. A Hough transform-based voting framework for action recognition[C]Computer Vision and Pattern Recognition. IEEE, 2010:2061-2068.
[2] 段汝娇,赵伟,黄松岭,等.一种基于改进Hough变换的直线快速检测算法[J].仪器仪表学报,2010,31(12):2774-2780.
[3] Kultanen P, Xu L, Oja E. Randomized Hough transform (RHT)[J]. 2009, i(4):631-635 vol.1.
[4] 魯昌华,徐胜海,刘春.数字图像处理技术在PCB板检测中的应用[J].仪器仪表学报,2001,22(s2):426-429.
[5] 许运来.基于CCD的子弹表面检测方法研究[D].哈尔滨工程大学,2009.