APP下载

基于机器视觉的影像测量仪自动寻边技术研究

2013-12-23陈晓红游林儒刘少君

组合机床与自动化加工技术 2013年2期
关键词:测量仪中心线边缘

陈晓红,游林儒,刘少君

(华南理工大学 自动化科学与工程学院,广州 510640)

0 引言

机器视觉技术主要用于机器人轨迹,自治车辆的导航和自动焊接设备上对焊的跟踪。把机器视觉引入到影像测量仪的控制过程,可以提高影像测量仪的智能性和产品的高技术含量。影像测量仪是通过CCD 获取被测物图像来进行尺寸测量的装置,它的应用之一是用于测量数控机床加工出来的零件尺寸,指导数控系统的加工过程,如采用数控雕刻机和影像测量仪加工手机玻璃。玻璃加工过程如下:通过影像测量仪实现玻璃尺寸的自动检测并进行数据分析,然后通过以太网传输至相对应的数控雕刻机上,雕刻机数控系统接收到数据后自动设置相应的运动控制信息,从而实现玻璃的加工。如图1 所示。

为了保证玻璃测量精度,相机的视野范围一般无法包含物体的整个轮廓。当需要知道物体的全部轮廓信息时,就要应用到自动寻边的技术。所谓自动寻边,就是要实现相机自动寻找被测物(这里特指玻璃)的边缘,具体的描述就是:根据相机第一次获得的边缘图像,准确查找出当前图像的边界,同时根据当前图像的边界信息预测出某一方向上图像边界的下一步走向,将图像边界的下一步信息传递给系统,系统通过坐标变换和运动控制将相机移动到相应的位置上,然后再重复上一步的动作,以此类推,直到相机遍历完图像的整个边界。自动寻边的核心是对路径进行提取和跟踪。跟踪算法有很多,如文献[1]是采用粒子滤波和Mean-shift 相结合的混合跟踪算法,文献[2]采用卡尔曼滤波算法进行预测跟踪,而文献[3]采用“切向跟踪,法向靠近”的轨线跟踪算法。根据工业生产实时性的要求,本文在“切向跟踪,法向靠近”算法的基础上,提出了改进的切向跟踪算法。在手机玻璃生产过程中,自动寻边算法的研究具有很强的实用价值,它不仅使得影像测量仪可以快速地测量玻璃的尺寸信息,还是对玻璃边缘崩边检测的前提,可以极大地提高玻璃产品的质量。

图1 数控雕刻机与影像测量仪

1 影像测量仪自动寻边算法

手机玻璃的生产对尺寸和瑕疵检测精度要求都很高,为了保证产品质量和生产效率,必须采用自动寻边技术。要实现影像测量仪的自动寻边,关键是要研究如何准确地获取玻璃的边缘信息。利用数字图像处理技术,采用滤波、边缘检测和跟踪等算法对获得的图像进行处理,可有效地提取玻璃的边缘信息,并根据要求对边缘信息进行矢量化处理,将处理后的信息传递给数控机床。

1.1 图像预处理

由于成像环境的不同,从图像的获取、传输到处理的各个环节都会有噪声的干扰。因此,在对图像进行处理前必须进行滤波预处理,它是后续进行边缘检测、分割、识别和其它处理的前提[4],也是为自动寻边系统提供准确边缘信息的保证。

多数线性滤波方法都具有低通特性,在去除噪声的同时也使图像的边缘变得模糊,因此采用非线性滤波方法——中值滤波来滤除噪声。中值滤波是指将以某点(x,y)为中心的小窗口内所有像素的灰度按单调上升(或下降)进行排序,并以排序后的中间值作为(x,y)处的灰度值。它对脉冲干扰及椒盐噪声的抑制效果较好,且在抑制噪声的同时能有效防止边缘模糊。但考虑到在较恶劣的成像环境下,单纯使用中值滤波并不能很好地滤除噪声。根据图像中的噪声一般都为孤立噪声的特点,提出采用中值滤波结合形态学滤波的方法来消除噪声。形态学的基本运算是膨胀和腐蚀。腐蚀可以把小于结构元素的物体(如毛刺,小凸起)去除。选取不同大小的结构元素,就可以在原图像中去掉不同大小的物体。但是,结构元素越大,计算量就越大。为了既能减少计算量,又能取得较好的滤波效果,采用3* 3 的方形结构元素,并进行3 次腐蚀操作。

采用这种双结合的滤波方法比单一采用某种方法的效果更为出色,滤波效果对比如图2 所示。

图2 滤波效果对比图

1.2 中心线提取

为了实现对玻璃边缘线的准确跟踪,需要取得边缘路径的特征点,即获取边缘的中心线。常用的提取中心线的算法有:①基于模板提取光条的骨架:如方向模板法、细化;②提取光条的几何中心法:如阈值法、逐行搜索法等[5]。其中,细化处理法实际是一种求图像骨架的过程,形态学中轴变换就是提取图像骨架的一种运算方法。中轴变换可以形象地描述为:设想在t = 0 时刻,将目标边界各处点燃,火的前沿以匀速向目标内部蔓延,当前沿相交时火焰熄灭,火焰熄灭点的集合就构成了中轴[6]。二值图像的形态学骨架是通过选定合适的结构元素对图像进行连续腐蚀和开运算来求得的。利用中轴变换实现细化是非常耗时的,它不得不遍历对象的每一个像素。如果选取的模板的形状不适当的话,就会导致细化后的图像线条出现分叉,还会带来计算量的增加。因此,针对以上出现的问题,采用改进的行列交叉搜索法来提取中心线。

首先对经过滤波处理后的图像进行阈值化和CANNY 边缘检测,边缘检测后提取出的线条边缘为单像素。传统的逐行搜索法是直接搜索同一行边缘线的左右两个边缘点,然后再求取这两个边缘点的坐标中心点,以此类推,直到搜索完整幅图像,所有中心点的集合即为中心线[7]。当边缘线都是直线的情况下,采用该方法可以得到较好的效果,然而当边缘线是曲线的话,在拐弯处就会出现畸变,从而影响后续的方向和切线判断。

本文提出改进的逐行搜索法,即行列交叉搜索法,不管是直线还是曲线,都能很好地提取出中心线。由于轨线在摄像机视窗内的模式有很多种,不同的模式需要用不同的方式进行扫描。通过对视窗内的图像的大量观测,根据图像与边缘的交点情况可以分为如图3 所示16 种模式:

图3 边界线的16 种模式

第一种和第二种情况相对比较简单,前者采用逐列搜索法,后者采用逐行搜索法即可。而对于第三种情况,可以采用以下方式进行搜索。

图4 中心线提取分析图

(2)从第一行开始到A 点所在的行采用逐行搜索法,分别扫描获取左右两个边缘点,从而可得到每一行的中心点。

(3)从第一列开始到C 点所在的列采取逐列搜索法,分别扫描获取上下两个边缘点,从而可得到每一列的中心点。

(4)将这两部分搜索得到的点集合起来,就可以得到完整的边缘中心线了,图5 两种方法提取的中心线对比图。

第四种情况跟第三种情况类似,只需将首次搜索的列改为最后一列。其它几种模式可参照这两种模式进行搜索,以此类推。

行列交叉搜索法的关键是要找出恰当的行列分界点。这种方法虽然要考虑多种情况,但它的操作简单,计算量小,效率高并且所得的中心线能够很好地体现边缘信息。

图5 中心线提取对比图

1.3 轨线跟踪和预测算法

提取了中心线之后,接下来就是要对边缘的走向进行跟踪和预测。跟踪方向和跟踪步长的确定是跟踪算法的两个关键点。一般情况下在相机的视场中,边缘中心线与图像窗口边缘有两个交点,如图6所示。当相机获取第一幅图像时,可以选取任一交点(图中选点N)作为相机运动的指引点,同时设该点到相机视场中心点O 的向量为初始方向向量n0。此后每获得一幅图像,都要计算中心线与视场边缘的交点以及交点到相机中心点O 的向量,若该向量与前一向量nm-1的方向夹角θ 小于或等于90°的话,则该方向是相机前进的方向,将该向量储存为当前向量nm,以此类推。明确了相机的走向之后,为了确保每次获得的边缘信息都尽量处于图像的中心位置,还需要根据中心线的切线方向来确定下一步相机中心点的具体位置。

图6 路径跟踪方向分析图

为了获得切线方程,必须先通过曲线拟合的方法得到中心线的方程。常用的曲线拟合方法是用多项式进行最小二乘拟合。如取φ0= 1,φ1= x,…,φm= xm,即取{1,x,…,xm}为基函数的代数多项式拟合时,则相应的正规方程组[8]为:

只要逐个计算出方程组的系数矩阵和右端顶的各个元素,就可以形成正规方程组,然后求出正规方程组的解a0,a1,…,am,就可得到拟合多项式:

由于实验中采用的摄像机的视场范围为5mm* 4mm,即视场范围较小,玻璃的边缘线不会出现剧烈的变化,可以采用二次多项式来近似地拟合中心线。那么上述方程组可简化为:

将中心线上的点代入到方程中,就可以求出方程的系数a0,a1和a2,则中心线的拟合多项式为:

文献[7]中是采用“切向跟踪,法向靠近”原则,然而该方法用在自动寻边上的效率很低。因为它需要遍历轨线上的每一个像素点,而自动寻边只需要确保物体的全部轮廓信息通过拍摄多幅连续的图像能够拼接起来即可。这里涉及到一个关键问题,就是当前图像与下一张图像之间必须是连续的,并且两张图像的重复部分应该尽量少,即图像的衔接问题。下面提出一种改进的切向跟踪法来实现轨线的跟踪。

已知中心线Q 的拟合多项式为式(4),设点M(x0,y0)是Q 上任意一点。记f(x)= (x,y),由向量值函数的导向量的几何意义可知,向量T = f'(x0)就是曲线Q 在点M 处的一个切向量,从而曲线Q 在点M处的切线方程为:

整理可得点M 处的切线方程为:

为了保证前后两幅图像是连续的,必须确保两幅图像的首尾衔接处留有一定的余量,即点M 的取值必须尽量靠近边缘但又不能偏离边缘。通过观察大量的图像可知,边缘线的走向可分为以下四种情况:从左往右,从右往左,由上往下,由下往上。首先分析第一种情况,假设相机的运动方向是从左向右,且图像的长和宽分别为H 和W,如图7 所示,令:

图7 中心点预测分析图

自动寻边结束的标志是相机遍历完玻璃的整个轮廓,即当相机的当前位置与初始位置的距离小于某一阈值(可设为)时,则可认为是自动寻边结束的标志。

2 自动寻边的实现

基于以上算法,整个自动寻边图像处理和控制系统软件是在linux ubuntu10.04 系统平台上,采用Opencv 结合C 语言开发完成。软件工作流程图如图8 所示。

图8 软件工作流程图

图9 操作平台及界面图

首先利用图像采集卡获取当前玻璃图像,根据一定的算法进行图像处理,自动寻找玻璃图像的边缘信息。在这个过程中根据需要对玻璃进行尺寸测量和崩边检测。然后根据边缘信息预测相机中心的下一步位置信息,再进行坐标转换,把图像坐标转换为实际坐标。最后把位置信息传递给影像测量仪运动控制系统,作为控制参数引导摄像机进行移动,操作平台及界面如图9 所示。用该软件实现对100mm* 50mm 的玻璃进行试验,当遍历完整个轮廓,其操作时间为2.67s。而采用传统算法,即采用中轴变换和切向跟踪算法进行寻边,所需时间达到34s。可见,与传统算法相比,改进的寻边算法地速度更快,并且在遍历过程中没有出现漏检测,图像的首尾衔接性很好,能够完整、高效地反映物体的轮廓信息。实验对比表明,采用改进的行列交叉搜索法和切向跟踪法可以更加快速、准确地进行自动寻边,可以更加高效率地为数控雕刻机提供精确的运动控制信息,符合影像测量仪智能性和工业生产实时性的要求。

[1]蒋旻,许勤,尚涛. 粒子滤波和Mean-shift 的跟踪算法[J]. 计算机工程,2010,36(5):21-22.

[2]仲训杲. 激光焊接路径跟踪卡尔曼滤波预测算法研究[D]. 广州:广东工业大学,2011.

[3]徐世杰. 基于机器视觉的二维图纸线条跟踪的研究[D]. 哈尔滨:哈尔滨工程大学,2004.

[4]钟平,陈益民,张伟. 基于机器视觉激光切割自动寻边技术研究[J]. 纺织高校基础科学学报,2006,19(4):394-397.

[5]熊会元,宗志坚,高群. 精确提取线结构光条纹中心方法[J]. 计算机工程与应用,2009,45(10):235-237.

[6]江萍,徐晓冰,方敏. 基于形态学骨架提取算法的研究及其实现[J]. 计算机应用,2003(23):136-137.

[7]孙宏伟. 基于链码的视觉轨线跟踪[D]. 哈尔滨:哈尔滨工程大学,2009.

[8]李红. 数值分析[M]. 武汉:华中科技大学出版社,2003.

猜你喜欢

测量仪中心线边缘
曲线间中心线的自动创建方法
立式水轮发电机组“三条线”浅析
水平度与垂直度精密测量仪
基于单片机的便捷式LCF测量仪
揭秘身高体重测量仪
宽电容测量仪的设计
一张图看懂边缘计算
基于Meanshift和Hough变换的秧苗行中心线提取
由X线中心线的特征来定标X线机中心线指示的方法
在边缘寻找自我