屈力刚,朱 哲,张丹雅,张 杰
(沈阳航空航天大学 机电工程学院,沈阳 110136)
在工业领域中,弹簧是一种重要的零部件,它具有结构固定,制造价格低,应用范围广的特点。在弹簧零件的制造过程中,质量检测是关键环节之一。弹簧零件具有常见的表面缺陷,如凹凸不平、毛刺、凹点、气泡,应在制造过程中予以识别和筛选,实时操作。传统的弹簧表面缺陷检测需人眼逐个检查,有效率不高,精度低的问题存在。
目前,基于影像技术的表面缺陷检测已经广泛在工业中实施,具有精确性、经济性、高效性等优点,可以实现弹簧零件表面缺陷检测的非触摸、高精度、在线化、全自动化等要求。利用影像检测技术能很好的得到弹簧零件表面轮廓线、位置点的边缘特征。通过影像处理软件中的特征边缘检测算法,将获取的缺陷影像数据进行分类,并通过逻辑功能判定工件是否合格,实现高效的自动匹配的检测工艺线。
本文提出一种横向边缘检测算法对线状缺陷进行影像边缘检测,并在经典模糊C均值聚类算法(FCM)的基础上,研究出一种改进的快速FCM算法对块状缺陷进行影像分割检测。在对特定种类的表面缺陷特征提取上,有很强的稳定性和高效性。在判定弹簧零件是否符合规格上,采用常见的简单描述子中的区域面积和边界周长,设定一阀值对弹簧缺陷影像进行分析判断,拥有较高的准确率。
本文影像检测系统包括:影像采集系统、计算机、影像处理软件系统和转换接触设备等,如图1所示。下文主要对影像采集系统和影像处理软件系统进行深入研究,建立满足提取弹簧零件表面缺陷这一检测对象精度要求的高精密度影像检测系统,为提取出一幅清晰度高的的弹簧影像打下了良好的基础。在不影响被测对象的高精度要求的情况下,尽可能将成本降到最低,其中主要的创新点在影像处理系统中对影像采用横向缺陷检测算法识别和提取弹簧的线状缺陷,采用改进的快速FCM算法识别和提取小区域圆弧类缺陷,能够有效的保证常用的弹簧零件表面缺陷的检测精度。
图1 影像检测系统
利用弹簧零件影像采集系统获取的影像,它的质量好坏会直接对后续处理过程的精准度产生影响,因此本文采用沈阳航空航天大学与海克斯康联合实验室的高精度OPTIVE PERFORMENCE 662复合式影像测量仪对影像进行获取,如图2所示。影像测量仪外形尺寸为1050×1612×1563mm,工作台最大承重为50kg,设备重量为1240kg,测量范围为610×610×200mm,最大运行速度为340mm/s。整体花岗岩结构,精密滚珠丝杠和直线导轨,XYZ轴均为中央驱动,可提供CNC自动连续转台,具有良好的稳定性,灵活性。配置低噪音、无干扰的高分辨率和高清晰度的SONY工业级黑白CCD相机(44万像素752×582),拥有固定光学倍率,10:1电动变焦和双CCD设计,实现影像精确再现,其中共聚焦白光传感器(CWS)测量抓取轮廓和剖析点。光照采用白色LED同轴光,4×90°白色LED平行透射光和白色三环4象限12分段表面环形光,实现高精度尺寸测量。配备PC-DMIS Vision软件,适合在复杂的条件下配合光学传感器使影像过滤噪声并获取特征,以确保影像质量。
图2 海克斯康OPTIVE PERFORMENCE 662复合式影像测量仪
影像预处理包含影像滤波、影像增强、细化等内容。弹簧影像预处理之后,它的影像质量会产生很大的提高,影像边缘会更清晰,不但改善了影像的质量效果而且对影像处理系统进行分析、处理和识别更加便捷。影像预处理是弹簧表面缺陷检测的重点,对检测的精确度起到关键作用。预处理中对滤波算法的选取十分关键,对于不同的影像噪声需要选取针对性的恰当滤波算子,这样能使影像噪声的消除效果得到满意的结果。
经过海克斯康测量仪获取的弹簧影像,已经有良好的影像效果,但由于高频电器设备如电器开关、高频设备和高压传输线等产生的工业干扰,或者由大气中雷暴产生的电磁脉冲辐射,会使影像产生脉冲噪声也称为椒盐噪声,它是随机分布在影像上的白点或者黑点。常用的去除这种噪声的手段是使用中值滤波,它第一次在一维信息处理上使用,接着在二维影像信息处理上使用,它是一种非线性滤波,是指以某点为中心的N×M大小的矩阵内的所有像素的灰度值从大到小的依次排列,其算法原理是围绕(i,j)像素点做中心,取其范围内的N×M个像素点构成的矩阵,将模板内的N×M 个像素点的灰度值由小到大排列,设中心像素点(i,j)灰度值是g(i,j),那么g(i,j)取N×M矩阵内的排序中值,若窗口中有偶数个像素,则取两个中间值的平均。中值滤波做为低通滤波器之一,保留影像边缘的同时消除噪声点是它的特性,对孤立点和线噪声的消除效果明显。还有一种均值滤波法是空间域滤波算法之一,设一幅影像f(x, y)为N×N的矩阵,影像像素点g(x, y)是均值滤波处理后的,它的像素点灰度值由(x, y)中心点范围内的N×N矩阵的灰度值总和平均值求得,即用下式得到处理后的影像:式中x, y=0,1,2,...,N-1,W是以(x, y)点为中心的N×N矩阵,W坐标点的总和为L。均值滤波法虽然能很好的消除随机噪声,但对消除椒盐噪声效果不好,而且会破坏影像边缘点。所以,中值滤波在椒盐脉冲噪声较大的情况下,能很好的去除弹簧影像产生的脉冲噪声,对于噪声的消除具有较强的鲁棒性。本文选取了海克斯康测量仪采集到的凹凸不平、毛刺、凹点、气泡的缺陷影像各一个,采用中值滤波进行预处理后的影像分别如图3~图6所示。
图3 凹凸不平
图4 毛刺
图5 凹点
图6 气泡
弹簧影像最重要的特征就是边缘像素点,影像边缘是指集合阶跃性或尖峰性变化的灰度值的像素点,在两个体、个体与背景及区域与区域之间具有这种集合。它是影像分割、形状特征和缺陷特征提取等的关键点。显然,表面缺陷检测的关键在于边缘的提取及检测,为其提供所需的二维轮廓线。边缘检测是关键的影像处理技术之一,还没有普遍适用的边缘检测算法增强提取边缘的鲁棒性、准确性、效率性等问题,需要根据具体的影像轮廓性质选取恰当的算法。边缘检测是用像素点构成的对象边缘,刻画影像的边缘来提取影像特征,分析有价值的信息是否存在影像中,因此边缘检测在影像处理方面有重要应用。
本文凹凸不平和毛刺两种弹簧表面缺陷是一条或几条的线状缺陷,针对这两种表面缺陷,提出了横向边缘检测算法,以M×N的灰度影像矩阵为例,表示式如下:
其中f(x,y)代表灰度影像。
梯度能定义弹簧影像中像素点灰度值变化率最大的方向。梯度大小计算如下:
公式中的x是弹簧影像的水平坐标,在单变量实值函数中,梯度是导数值,在一个线性函数中,是线的斜率。因为弹簧影像每行平行于x轴线。计算每行的像素点的梯度值,其中每一个像素的非常小,然后我们将其近似为0。因此,划痕梯度大小被简化为式(4):
线条型缺陷属于尖屋顶状边缘,它位于灰度值从递增到递减的转折点。对于屋顶状边缘,梯度值在转折点处取极大值。如果像素点落在弹簧影像的轮廓上,那么一个变化区域将在它的周围出现,其中灰度值的变化率和变化方向是我们需要的,用梯度向量的幅值和方向表示。所以,可以用这种规律选取特征像素点。
如果某行有k(k=1,2,...,n)个梯度值值等于最大梯度值,例如:,其中0≤x1<x2<…<xk≤N,然后将分别与进行比较。如果和同时成立,则取为该行的最大梯度值;反之如果不同时成立。则剔除为该行的最大梯度值。
求弹簧影像所有像素点数值的梯度平均值:
其中式(6)中round表示向最接近的整数舍入。
最后,使用新的像素值函数G(x,y)来获取缺陷部位的线条,如式(7)所示。
影像处理系统使用MATLAB软件,对预处理后的弹簧影像二值化后,运用改进的算法进行边缘检测。通过对比使用横向边缘检测算法前后的影像缺陷边缘效果,能明显看出该算法在获取线状缺陷中有良好的应用,分别如图7~图10所示。
图7 二值化后的凹凸不平影像
图8 改进算法处理后的凹凸不平影像
图9 二值化后的毛刺影像
图10 改进算法处理后的凹凸不平影像
在接下来的过程中,我们继续分割标记其他缺陷。影像分割是将一幅影像按照规则分成若干部分和子集。它是影像技术中表面缺陷特征提取的基础,是实现自动化影像处理必须要完成的流程。影像分割是为了获取在弹簧影像中有价值的缺陷,让影像分析、识别等高级处理过程中数据处理时间明显下降,并留存弹簧缺陷特征。因此,图像分割算法是检测的基础和关键。前面提及的边缘检测方法对线状缺陷有良好的检测效果,但是当弹簧零件中含有块状等圆弧状缺陷时,难以提取边缘。而弹簧零件中也常含凹点、气泡等缺陷,需要检测其交点或圆弧端点,这些问题在一般边缘检测算法中不能完成。
模糊C均值聚类(FCM)算法是经典的模糊聚类分割算法,最初是由杜恩提出的,在他的研究中,他试图通过根据每个像素点的灰度值分割影像来定位集群;此方法随机为每个像素分配初始隶属函数。然后进行迭代,通过最小化目标函数可以获得最终符合要求的像素点和聚类中心点,其定义如式(8)、式(9)所示:
其中i为聚类中心数,n表示影像中的总像素数,U=[Uik]是像素点矩阵,uik表示第i个聚类中第k个像素点;vi(i=1,2,…,c)是在聚类中心集合V={v1,v2,…,vc}中表示第i个聚类中心点; c表示聚类中心数量;n。加权指数m控制集合的模糊性;xk表示第k个像素点;|xk-vi| 表示第k个像素点和第i个聚类中心点之间的欧几里德距离(实际直线距离)。方程中的目标函数可以使用拉格朗日乘数重写如下:
取关于uik和vi的第一阶导数J'm(U,V)并将结果取零。我们可以重新得到uik和vi,如下所示:
如前所述,在使用FCM时,其算法初始聚类中心集是随机选取的,从而造成算法的性能强烈依赖聚类中心集的初始化,对含噪声的弹簧图像缺陷分割是不可靠的。基于空间约束,阿米德等人提出了一个改进的目标函数(FCMS)来解决这个问题:
其中xr表示邻域Nk(Nk=L×L)中的像素点xk的像素灰度值;NR表示Nk中的像素数;
式(15)是来自它所在的领域信息的等价公式。
参数α是一个控制邻域效果的常量。我们可以获得像素点uik和聚类中心点vi的迭代公式,分别参见方程(16)和方程(17),最小化方程(13)和方程(14)中的目标函数,推导出标准化的FCM。
FCMS实现了比FCM方法更好的分割结果。但是,仍有进一步改进的余地,影像像素点的隶属关系接近它的邻域。因此,我们可以使用上面已知信息改善像素点的值,见方程(18):
表1 的中心噪声
表1 的中心噪声
0.30 0.40 0.20 0.20 0.80 0.20 0.30 0.40 0.30
表2 的中心噪声
表2 的中心噪声
0.60 0.70 0.80 0.80 0.20 0.80 0.60 0.70 0.70
表3 的中心同质
表3 的中心同质
0.40 0.30 0.20 0.20 0.40 0.20 0.40 0.30 0.30
表4 的中心同质
表4 的中心同质
0.80 0.70 0.60 0.80 0.60 0.80 0.70 0.70 0.60
其中uik表示3×3窗口中的中心像素点,是邻域中像素的平均成员资格,并且u'ik是在方程式中uik的修正值。
表1、表2中的中心噪声隶属度与其相邻像素明显不同。相反,在表3、表4中同质像素点与其相邻像素接近,同质像素中噪声的修正隶属度u'ik倾向于它们自己的平均值uik,这表明它们相当接近大多数局部相邻像素点。基于其局部相邻像素的隶属度来聚类噪声像素点,这显著改善了噪声影像的分割结果。
因此,使用快速FCM算法获取的聚类中心被设置为初始中心以减少迭代次数。弹簧影像中的缺陷分割的步骤描述如下。
第2步:使用快速FCM算法计算初始聚类中心vi。
第3步:使用方程(17)计算uik隶属度。并使用方程18计算u'ik;通过计算过后的uik和u'ik代人方程16,获取新的聚类中心vi。
获得最终分割结果,从而获取缺陷影像,对预处理后的弹簧影像二值化后,运用快速FCM算法进行影像分割。通过对比使用算法前后的影像缺陷边缘效果,能明显看出该算法在获取块状缺陷中有不错的效果,分别如图11~图14所示。
图11 二值化后的凹点影像
图12 改进算法处理后的凹点影像
图13 二值化后的气泡影像
图14 改进算法处理后的气泡影像
为了搭建一套弹簧表面缺陷影像检测系统,制定了一套检测流程框架,实现影像的实时采集、图像的准时处理、缺陷特征提取及缺陷分类算法功能,对本文弹簧缺陷影像及逻辑顺序进行了详细的分析。特征提取是弹簧缺陷识别的前提,缺陷特征的选择和缺陷分类算法是影响缺陷判别结果的主要因素,目标缺陷特征是否准确拾取,对识别结果和分类算法的运算量有重要影响。因此,尽量具有一定的特征属性是必须的,也应该少一些多余信息。
综合上述问题,对弹簧缺陷图像进行特征提取,缺陷判断,误差分析是必要的。首先特征提取出弹簧缺陷边缘,弹簧缺陷中毛刺、凹凸不平属于只有周长的近似线段,而凸点、气泡属于近似圆形的多边形则有周长和面积;然后判断线状缺陷和块状缺陷,分别计算出弹簧线状缺陷的周长和块状缺陷的周长和面积,通过分析缺陷的周长或者面积来判断,缺陷特征的参数是否在规定范围内,从而判断弹簧件是否符合规格。在缺陷判断部分,采用横向边缘检测算法,对所有弹簧件进行线状缺陷检测判断,在采用快速FCM分割算法,对剩余的弹簧件进行块状缺陷检测判断。误差分析部分,采用统计方法,将分离的缺陷图的各个独立污点及缺陷的大小进行计算并记录,将得到的缺陷大小值与用户设定允许缺陷大小值进行比较,然后选择是否留存。弹簧表面缺陷的基本特征是几何特征,用来描述缺陷的形状特性,一般来说,几何特征分为两种:一种为简单描述子,如区域面积、边界长度、质心、外接矩形长宽比等;另一种为形状描述子,如欧拉数、紧凑性、圆度、不变矩、离心率等。
本文采用常见的简单描述子中的区域面积和边界周长,来检测判断弹簧缺陷影像。
周长检测算法是线状缺陷检测算法,它记录弹簧缺陷影像的轮廓像素点数量,数目越多,边缘提取的就越多,弹簧不合格的概率也就更大。设长度阈值为T,缺陷边缘点数量和大于T时,弹簧为不合格,小于T时为合格。
面积检测算法是在弹簧缺陷分割后,直接找到最大目标缺陷的面积,设单个缺陷面积阀值为Q,如果单个目标缺陷的面积大于Q,就可以确定为次品予以剔除。然后剩余块状缺陷弹簧影像的缺陷面积选择扫描标号法。扫描标号法是影像中不同的块状缺陷个体都有一一对应的号码,在同一弹簧零件中,块状缺陷个体的标号是一致的,而不同弹簧零件中是截然不同的,在块状缺陷面积检测中,为了方便计算同一标号块状缺陷的总面积,需对每一个块状缺陷特征标号,对相同标号的面积进行累加,得到相同标号缺陷的面积之和,即是一个弹簧缺陷影像的面积。使用这种方法能精准高效的求得单个弹簧缺陷总面积,即使图像不规则,该方法也非常有效。设缺陷总面积阀值为W,如果相同标号缺陷的面积之和大于W,就认为该弹簧为次品并予以剔除。
边界周长L为缺陷的外轮廓所占的像素点总数:
缺陷面积为S缺陷目标区域内的像素点总数:
通过以上方法的分析,制定了一套弹簧零件表面缺陷检测的操作流程框架,如图15、图16所示。
图15 弹簧零件表面缺陷自动检测流水线
图16 弹簧零件表面缺陷自动检测的流程图
在本节最后,为了评估自动弹簧零件表面缺陷检测系统的性能和方法的正确性,我们每次选取100个样品进行了三次实验。实验中的方法是在AMD Ryzen5 1600 Six-Core Processor,3.20 GHz个人计算机上利用MATLAB实现的。通过表5实验结果可以看出,本文算法对于弹簧的线状和块状缺陷都有很高的正确率,都达到了96%以上的正确率,说明本文的算法是切实可行的。
表5 弹簧缺陷分类实验结果统计表
本文通过对弹簧表面缺陷检测日益增长的需要,制定了一套影像检测系统,对采集到的弹簧影像进行图像预处理,并针对具体缺陷特征,提出了横向边缘检测算法用于线状缺陷边缘定位检测,提出了快速FCM分割检测算法用于块状缺陷的影像分割检测。设计了一套弹簧零件表面缺陷检测的流程框架。通过实验验证,这种方法的缺陷检测准确率可以达到96%以上,这使得弹簧表面缺陷在线影像检测成为可能。该文章也对于其它环状零件的表面缺陷识别有许多参考价值。