划片机的视觉识别系统是以计算机为主的实时图像处理系统。如图1所示:
由光学照明系统,CCD摄像器件,图像处理软件等部分组成。
识别系统的目的是实现自动对准,在工作台精度保证的前提下,高精度的图象处理算法对视觉自动对准系统的精度起着决定性的作用,这当中的核心部分就是模式识别算法。目前常用的识别方法有统计模式识别法、特征提取法、神经网络识别、模板匹配法等。国内在这一领域起步相对较晚,科研力量主要集中在一些高校院所,侧重于理论研究,市场化效应不太明显。这就使得在机器视觉领域的发展速度上明显落后于欧美各国。
2 技术路线选择
针对国内外现状,我们在着手建立划片机自己的视觉识别技术构架时,出发点就摆在一个怎样根据设备自身特点,尽量利用现有成熟资源和理论算法,建立一个集效率和实用于一体的视觉算法集,进而形成针对全自动划片机自己的机器视觉库。
通过尝试过多种方式,包括和国外机器视觉公司合作,根据特定功能模块要求定制其成套视觉识别系统等。但是遇到的问题是必须承担国外公司昂贵的开发成本和高额利润,导致设备成本直线升高,而且在合作的过程中极有可能泄露我们自己的技术秘密。实践检验这条路子是不可行的。购买国外视觉公司的软件开发包,进行二次开发较上种方式更为合适,技术难度也较小。然而也面临着软件开发包针对性不强,实际使用过程中效果并不完全符合现场要求,单台设备成本提高及出现问题无法解决等情况。经过不断摸索,以及对当今业界几种通用算法的比较后,我们最终决定在全自动划片机上采用基于Open CV视觉函数库的模板几何特征匹配算法。
Open CV是英特尔开源计算机视觉库,是一个跨平台的由中、高层API构成的视觉函数库。它由一系列C函数和少量c++类构成,实现了图像处理和计算机视觉方面的很多通用算法,这就避免了我们在一些成熟低水平算法上的重复研究,节省了大量时间。更重要的是它对非商业用途和商业用途都是免费(FREE)的,不会对我们的设备成本造成压力。而模板的几何特征匹配是20世纪90年代后期在市场上出现的一种新的视觉定位技术。据了解,目前世界许多著名的开云棋牌官网在线客服设备厂商包括日本DISCO,东京精密,美国K&s等都在其主要设备视觉领域采用了与此相关的技术。与传统的灰度级匹配不同,几何特征匹配通过设置兴趣域并学习兴趣域内的物体几何特征,然后在图像内寻找相似形状的物体,它不依赖于特殊的像素灰度,从原理上保证了它具有优于传统视觉定位算法的一些特点。该算法在全自动划片机的研制过程中得到了验证。这种技术的应用,提高了全自动划片机的视觉识别效率和自动对准能力,使得在改变工件角度、尺寸、明暗度等条件的情况下,仍能精确定位物体,实现自动对准划切。
3 识别系统设计
3.1 设计流程
视觉识别系统的设计结构大都基本相似,关键在于识别算法的选择,划片机视觉识别系统设计结构流程如图2所示:
在该算法的应用过程当中,考虑到划片机工作现场的实际情况,为了有效地提取预存模板图像的特征点,我们对获取的划切工件模板图像进行了预处理,以便提取出图像当中的几何特征,这些预处理主要包括减小和滤除图像中的躁声、增强图像中待匹配的几何特征点等。这其中滤波和分割是提取预模板图像几何特征前的两个重要步骤。
3.2 滤波器设计原理
一般来说,现场躁声在图像中都表现为高频信号,因此一般的滤波器都是通过减弱和消除傅立叶空间中的高频分量来达到滤波的目的。然而,待划切工件中的各种结构细节,如:边缘和角,也都属于高频分量,因此,如何在滤除躁声的同时最大限度地保留图像中的结构特征,一直是图像滤波研究中的主要方向。
线性滤波器有移动平均滤波器和高斯滤波器等,非线性滤波器中最常用的有中值滤波器和SUSAN(Smallest Univalue Segment Assimilating Nucleus)滤波。其中SUSAN滤波可以在滤除图像躁声的同时很好保存物体的其他结构特征。能够满足全自动划片机自动对准系统中对定位模板图像进行躁声平滑的效果要求。SUASN方法是一类图像处理算法的总称,包括滤波,边缘提取,角点提取,所有这些算法的基本原理都是相同的。
SUSAN滤波实质上是加权平均的均值滤波,相似度测试函数为它的加权因子。式(1)定义了相似度测试函数,它衡量了像素S[i,j]与其领域内各像素S[i-m,j-n](m,n为偏移量)之间的相似程度。可以看出:相似度测量函数不仅比较了S[i-m,j-n]和S[i,j]灰度值的差异,而且还考虑了S[i-m,j-n]与S[i,j]之间距离的影响。
式中:S[i-m,j-n],S[i,j]为像素的灰度值,T是衡量灰度值相似程度的阀值,其取值对滤波结果影响较小。其中:θ可认为是高斯平滑滤波器的方差,θ取较大的值可以得到较好的平滑效果,θ取较小的值能保持图像中的细节,经过多次实验,我们认为取4.O较为合适。
相似度测量函数定义的滤波函数如式(2):
式中:S,[i,j]是像素滤波后的灰度值。由式(2)可知,相似度大的权值就大,因此对滤波结果的影响较大,相反则影响较小。SUSAN滤波不包括中心点本身,可以有效的去除脉冲躁声。
3.3 图像分析算法选择
经过滤波去除现场躁声干扰之后,下一个环节是把图像分离成互不重叠的有意义的区域,每一区域对应于某一物体的表面。分类的依据是像素的频谱特性,空间特性,灰度值,颜色等。这实际上是由图像处理过渡到图像分析的重要一环,也是一种通用的计算机视觉技术。图像分割的算法可分为两大类:基于度量空间的灰度阈值分割法和基于空间区域增长分割法。对于全自动划片机的自动对准系统而言,基于度量空间的灰度阈值分割法更为适用。相当于对图像进行二值化处理。阈值一般由图像的灰度直方图计算得到。我们采用迭代算法针对双峰直方图进行了阈值计算。效果比较满意。迭代算法是针对双峰直方图计算分割阈值的方法。既首先确定图像中最大和最小灰度值Mmax和Mmin,令初始阈值为:
根据T将图像分成目标和背景两部分,分别求出两部分的平均灰度值:
其中:i为灰度值,ni为灰度值等于i的像素个数,由此得到新的阈值:
如果:Tk+1=Tk,则迭代过程结束,否则继续。
以上图像预处理过程利用Open CV视觉函数库中都能得到很好实现。
几何特征点集是能正确反映定位标志位置点的集合,特征的选择对最终的模板匹配有重要影响。几何特征点数目越多匹配精度越高。但速度相对会慢。数目越少匹配精度会差。但速度相对会快。因此,我们经过多次实验尽量选择了最合适的几何特征点,兼顾了匹配的速度和精度。在此系统的应用背景下,定位模板的几何边缘点是很好的选择。为提取定位模板的几何特征点集,首先利用迭代算法对图像进行分割,然后利用SUASAN边缘和角点提取算法得到定位模板的几何边缘点。
3.4 几何边缘角点提取原理
SUSAN几何边缘提取,是在给定大小的窗口中对像素进行运算,得到窗口中心点处的角点初始响应,再在所有初始响应中寻找局部极大值,得到最终的几何边缘点集,其算法如下:
(1)由以下两公式计算窗口中灰度值与窗口中心像素相似的像素个数n(x0y0):
(2)由下式得到角点的初始响应:
(3)重复(1)(2)得到图像中所有像素处的角点初试响应,最后寻找局部极大值得到边缘点集和角点的位置。几何阈值对输出的结果有一定影响,它不仅影响输出角点的数量,更重要的是它还影响输出角点的形状,例如,当减小几何阈值时,被检测出的角点将会更尖锐。灰度差阈值T对输出的角点的几何形状的影响不大,但它会影响输出角点的数量。因为灰度差阈值定义了窗口中容许的最大灰度变化,而在划切工件中,图形模板与其背景图像融合处灰度变化是最大的,所以当减小灰度阈值时,算法可以检测出图像中更微小的边缘几何变化,输出更多的角点。
显而易见,在划片机的自动对准系统中,如果以模板图像的几何特征点作为依据,那么特征点的数量将会显著减小,运算时间也大大缩短,可以大幅度提高自动对准的速度。
4 结束语
以上算法均在基于Open CV视觉函数库的基础上得到很好的实现,整个图像处理过程在PC机上完成,使用VC++6.0开发工具实现。经过不断现场实验,我们最终认为:以0pen CV视觉函数库为基础,经过SUSAN滤波,迭代分割和SUSAN几何边缘角点提取算法得到的定位模板图像的特征点效果理想,它不仅全面保留了图形的轮廓特征,还极大地减小了特征点的数量,并可有效地提高划片机图像匹配自动对准的精度和速度。