复杂腔体零件机器视觉图像亚像素边缘检测

2017-03-06 00:43张磊孙首群
软件导刊 2017年1期
关键词:边缘检测机器视觉

张磊+孙首群

摘要摘要:基于复杂腔体类铸造零件机器视觉系统中的边缘检测问题,提出了一种改进的灰度矩亚像素边缘检测方法。提出了以模糊模型代替阶跃模型,将误差函数运用到矩方法的邊缘检测算法。通过实验对检测精度和运行速度进行了对比,结果表明,改进的灰度矩边缘检测算法比传统算子具有更高检测定位精度和更快的速度,可满足图像目标高精度实时在线测量要求。

关键词关键词:机器视觉;边缘检测;亚像素;灰度矩;误差函数

DOIDOI:10.11907/rjdk.162269

中图分类号:TP317.4文献标识码:A文章编号文章编号:16727800(2017)001016604

引言

通讯零部件有许多复杂的腔体类铸造零件,其边缘打磨自动化已成为重要的研究方向。而铸造零件尺寸在线高精度检测至关重要,机器视觉检测技术以其非接触、精度高、自动化和智能化水平高等优点逐渐成为机械加工领域中的自动化检测方法。而边缘检测是机器视觉检测技术的关键和基础,边缘的定位精度直接影响到尺寸的检测精度。

机器视觉检测技术对复杂腔体进行边缘检测,在不改变工业相机像素的基础上,提高检测精度,需要运用亚像素级边缘检测方法。本文提出了将误差函数运用到矩方法的亚像素边缘检测方法,然后将此方法与灰度矩和空间矩两种常用的灰度矩方法进行对比。

1边缘检测算法

边缘轮廓是零件的重要特征,为了检测一个零件的边缘,必须检测零件图像中亮度变化明显的点(见图1)。边缘检测是基于灰度突变来分割图像的最常用方法,有许多方法用于边缘检测,如:Sobel算子、Kirsch算子和Prewitt算子,还有一些更为专业的边缘检测算法、Canny算子[1]、Log算子等,这些都是经典的像素边缘检测算法。

然而有些场合需要研究更高精度的边缘检测算法,即亚像素边缘检测。亚像素边缘检测是在硬件条件一定的情况下,用软件的方法来提高边缘检测精度,使边缘定位精度达到亚像素级。目前研究的亚像素边缘检测算法,可以归纳为3种类型:拟合法、矩方法、插值法。

拟合法是通过对假设边缘模型灰度值进行拟合来获得亚像素边缘定位。Nalwa提出的一种边缘模型为双曲线正切函数的最小二乘拟合算法、Ye提出的理想边缘模型与高斯函数卷积得到的高斯型边缘函数[2]。拟合方法对噪声不敏感,但其模型复杂、求解速度慢。Tabatabai等[3]提出了一种利用前三阶灰度矩对边缘进行亚像素边缘定位的算法后,基于空间矩、Zernike正交矩的方法也相继被提出。矩方法的优点是计算简便,可以得到解析解,但对图像噪声敏感。插值法的核心是对像素点的灰度值或灰度值的导数进行插值,增加信息,实现亚像素边缘检测。研究比较多的方法有二次插值、β样条插值和切比雪夫差值等。插值法的特点同基于矩的方法类似,计算过程简单,但容易受到噪声的影响。

矩方法是计算机视觉与模式识别中广泛使用的方法。矩作为数学上的完备描述,相当于原函数在新的坐标空间上的展开,即一个分段连续有界函数可用矩唯一表示。根据被测目标的矩特性在成像前后保持不变的原理,可以将矩方法应用到图像目标的亚像素边缘定位中。

灰度矩算法[3]由Tabatabai提出,利用前三阶灰度矩对边缘进行亚像素定位的边缘检测算法。其基本原理就是将图像的实际边缘灰度分布简化为理想的阶跃边缘模型,即矩的不变性,来确定实际边缘的位置。但是在受到大量噪声的影响下,边缘检测的准确性会受到很大的影响。因此,对灰度矩算子改进的首要任务就是改进简化的边缘模型。

2边缘模型

边缘检测是基于灰度突变来分割图像的最常用方法,边缘模型根据它们的灰度剖面进行分类。台阶边缘是指在1个像素的距离上发生两个灰度之间的理想过渡。例如,用于诸如固体建模和动画领域出现的,在计算机生成的图像中的台阶边缘。这些清晰、理想的边缘出现在1个像素的距离上,不需要提供任何使它们看上去“真实”的附加处理(如平滑)。在算法开发中,数字阶跃边缘常用于边缘模型。f(x)=hx

h+kx≥l (1)图2阶跃模型

实际中,数字图像处理都存在被模糊且带有噪声的边缘,模糊程度主要取决于聚焦机理(如光学成像中的镜头)中的限制,而噪声水平主要取决于成像系统的电子元件。在这种情况下,边缘被建模为一个更接近灰度斜坡的剖面(见图3),斜坡的斜度与边缘的模糊程度成反比。在这一模型中,不再存在一条细的(1像素宽)轨迹。相反,一个边缘点是斜坡中包含的任何点,而一条边缘线段将是一组已连接起来的这些点。f(x)=h

4.1稳定性

本文设计的实验方法如下:选择一块边缘区域,在此区域内添加不同强度的白高斯噪声,运用本文方法获得一系列边缘位置(见图8),再分别在此区域内运用灰度矩和空间矩算子,然后得到边缘位置,并对这3种方法进行对比。本文得到的位置方差为1.5011e-4,灰度矩和空间矩的方差分别为6.5303e-4和0.008 3。接下来的实验中,还是在此区域内,添加散斑噪声,分别用3种方法检测边缘(见图9)。本文方法得到的方差为6.6293e-5,灰度矩为1.4400e-4,空间矩为0.001 2。通过实验方法可以得出本文方法,不管在高斯噪声下,还是散斑噪声下,测量结果都拥有更好的稳定性和鲁棒性。

4.2运行速度

在本实验中,实验所用的电脑配置为Intel Xeon CPU E3-1231 3.4GHz处理器,8GB内存,64位操作系统,运行OpenCV2.49进行图像处理程序。对3种算法分别进行运行速度的实验,测试区域为11×11像素大小的区域。本文方法测试的结果为101us,灰度矩和空间矩所需的时间分别为260us和310us。本文算法的运行速度优于其它两种算法。

表1运行速度算法改进灰度矩灰度矩空间矩白高斯噪声方差1.5011e-46.5303e-40.008 3散斑噪声方差6.6293e-51.4400e-40.0012平均速度(us)2462603105结语

本文以提高通讯零件边缘检测精度为目标,提出了将误差函数与灰度矩算子相结合的一种新型亚像素边缘检测算法。本文通过误差函数拟合边缘模糊边缘模型,获得改进的边缘检测模型,然后运用灰度矩算法,获得亚像素边缘的位置。实验结果表明,本文改进的灰度矩算法对测量结果拥有更好的稳定性,对噪音影响拥有更强的鲁棒性。在运行速度上,本文算法也拥有一些优势。因此,本文算法适合复杂腔体铸造件的亚像素边缘检测的在线测量。

参考文献:

[1]J CANNY.A computational approach to edge detection[J].IEEE Trans.Pattern Anal,1986,8(6):679698.

[2]E P LYVERS,O R MITCHELL.Precision edge contrast and orientation estimation[J]. IEEE Trans.Pattern Anal.Mach.Intell,1988,10(6):927937.

[3]A J TABATABAI,O R MITCHELL.Edge location to subpixel values in digital imagery[J].IEEE Trans.Pattern Anal.Mach.Intell,1986(2):188201.

[4]Q C SUN, Y Q HOU.A robust edge detection method with subpixel accuracy[J].Optik,2014(125):34493453.

[5]M HAGARA,P KULLA.Edge detection with subpixel accuracy based on approximation of edge with erf function[J].Radioengineering,2011,20(2):516524.

[6]張永宏,胡德金.基于灰度矩的CCD图像亚像素边缘检测算法研究[J].光学技术,2004,30(6):693695.

[7]伍济钢,宾鸿赞.薄片零件机器视觉图像亚像素边缘检测[J].中国机械工程,2009(3):297300.

[8]王社阳,宋申民.改进的空间矩亚像素边缘检测算法[J].哈尔滨工业大学学报,2006,38(6):870872.

[9]徐晓刚,于金辉.复杂物体轮廓提取[J].中国图象图形学报,2001,6(5):455459.

[10]张富强,刘增力.基于图像检测的三种相似性检测算法的比较[J].信息技术,2016(7):2327.

[11]罗玮,张荣福.基于图像处理的钢坯缺陷检测研究[J].软件导刊,2016,15(8):177179.

责任编辑(责任编辑:孙娟)

猜你喜欢
边缘检测机器视觉
大场景三维激光扫描仪在研究生实践教学培养中的应用