陈金贵,陈 昊,张 奔
(1.韦士肯(厦门)智能科技有限公司,福建 厦门 361012;2.南昌航空大学 信息工程学院,南昌 330063)
轴承作为一种重要的机械基础件,广泛的应用在汽车、机械、航空等行业,轴承滚子为滚动轴承的重要组成部分,当轴承滚子表面有缺陷时,将极大影响滚动轴承的性能,从而造成一系列重大事故[1]。在生产过程中实时的检测出轴承滚子表面缺陷,分析缺陷产生的原因,进而改进生产工艺,提高轴承滚子生产的成品率,能够有效防止滚动轴承发生故障。传统的轴承滚子检测方法,主要依靠人工目捡,但其效率低下,而且极易受到主观情绪的影响,造成一定程度的误检。人工检测的种种不足,促进了无损检测的发展,主要有声波法[2]、涡流法[3]、机器视觉法[4]等,其中机器视觉以其高效、低成本的特性,广泛的应用于轴承滚子的缺陷检测中。
文献[5]根据光学单缝衍射原理,设计了一套圆锥滚子缺陷检测系统,但是该系统检测的缺陷种类较为单一;文献[6]提出最大类间方差法和局部阈值分割方法对圆锥滚子图像进行缺陷分割,并使用SVM对分割后的图像进行分类,但是该方法仅对滚子的顶部和底部进行检测,且没有对缺陷检测的准确性进行定量的分析。
针对以上检测方法存在的不足以及满足实际工业生产的要求,本文设计了一套图像采集装置,针对采集到的轴承滚子图像,采用改进Niblack算法提取出缺陷区域。实验结果表明,所提方法对缺陷有较好的识别效果。
由于轴承滚子是一个圆柱体,传统的打光方式照射在滚子上,光照强度较低时,缺陷区域和背景区域区分不明显,如图1a,使得图像计算的复杂度大大增加;当光照强度较高时,会在滚子的表面产生强烈的反光现象,如图1b所示,严重影响较小缺陷的检测。
(a)光照强度低 (b)光照强度高图1 传统光源打光方式对比图
针对以上问题,本文在深入研究轴承滚子表面特性以及光源设备属性,同时也满足轴承滚子缺陷检测的实时性要求,设计了一套轴承滚子表面图像采集装置,如图2所示。
图2 实验采集转置
轴承滚子图像采集转置主要由面阵相机、蓝色背光源、转台、电磁铁、遮光罩、光电感应开关、工控机以及转台控制器等组成。如图2可知,轴承滚子放置在转台的中心位置处,其下方有一个受传感器控制的电磁铁,用于固定住轴承滚子;在转台的侧边放置一个蓝色背光源,并调节至合适的亮度,可以克服普通光源过亮和过暗带来的不利影响,并且缺陷区域可以较清晰的显示出来;本装置中工业相机固定在一个可以调节的滑台,包括纵向丝杆滑台和横向丝杆滑台,分别用来调节相机的高度工作距离,通过此滑台可以较为方便的更换不同尺寸的工件;在轴承滚子、蓝色背光源、面阵相机、转台等装置外部还放置了一个遮光罩,用于消除外界光线对图像采集的干扰。
轴承滚子图像采集系统的工作原理是:当轴承滚子运动到转台的中心位置时,位于转台底部的电磁铁开启固定住轴承滚子,同时转台开始转动,面阵相机同时开始采集,并将获取到的图像实时传输到工控机的图像处理单元。通过调节转台的转速和相机的曝光时间对应关系,相机可以采集到清晰又不拖影的图像。
使用上述图像采集装置对轴承滚子进行图像采集时,由Phong[7]光照模型以及相机光电转换模型,得出图像的灰度值表达式为:
F(x,y)=α·k(x,y)·Il(x,y)+α·Im(x,y)+β
(1)
其中,α和β为相机参数决定的定值,Il为光源强度[8],Im为环境光反射强度。k为轴承滚子表面的反射系数。由图像采集系统的特点可知,由于遮光罩的存在,使得Im近似为0,而光源强度Il与距离的平方成反比[9],所以采集到的图像具有以下特点:
(1)所获取的图像包含背景区域:面阵相机在采集图像的过程中除了获得轴承滚子区域外,还包含着与缺陷检测无关的背景区域。
(2)行图像灰度值大小不同:由于轴承滚子是一个圆柱体,背光源照射出的光线,因与轴承滚子表面距离的不同,各个区域获取的光照强度也相应不同,具体表现为沿水平方向轴承滚子表面图像灰度值呈现非线性的变化。
(3)列图像灰度值相同:由于背光源照射出来的光线近似平行光线,对于轴承滚子表面的每一列,其获取的光照强度以及光线反射到相机内的角度均相同,因此当轴承滚子表面不存在缺陷时,对于轴承滚子一列图像其灰度值有以下关系:
Fc(x,y)=m(x,y)
(2)
σc(x,y)=0
(3)
而当轴承滚子表面存在缺陷时,缺陷区域的灰度值比无缺陷区域的灰度值小,对于轴承滚子一列图像存在以下关系:
σc(x,y)=r
(4)
其中,σc为轴承滚子列图像的标准差,m(x,y)为轴承滚子列图像的灰度值均值,r不为0的常数,其中:
(5)
(6)
为减少缺陷检测的计算时间,首先将轴承滚子区域从原始图像中分离出来。由于采集到的轴承滚子图像因机械装置自身精度的原因影响,使得轴承滚子位置存在着一定的偏差,因此还需要对采集到的轴承滚子图像进行相应的位置矫正。提取轴承滚子区域图像的流程图如图3所示。
图3 提取轴承滚子图像流程图
经过上述处理流程之后效果见图4所示,其中图4a为采集系统获取的初始图像,其经过二值化后的图像见图4b,然后其进行提取和位置矫正后得到最终的轴承滚子图见图4c。
(a)原图像 (b)轴承滚子区域 (c)滚子图像图4 获取轴承滚子图像
根据1.2小节所述可知,轴承滚子图像沿水平方向灰度值呈现非线性变化,所以传统的全局阈值分割算法将不再适用处理轴承滚子图像。为了解决上述不足,本文使用改进的自适应系数Niblack算法[10]用于轴承滚子表面缺陷的提取。此算法主要使用子窗口的均值和方差与整幅图像的均值相结合的方式,来动态调整每个子窗口的标准差比例系数,从而实现对图像的分割,但是该算法复杂度较高且计算量较大。因此本文对此进行了以下改进:
(1) 由1.2节分析可知采集到图像无缺陷列图像的标准差为0,首先将图像分为n个子窗口,每个子窗口的大小为m×1,其中m、n分别为图像的行数和列数。所以图像的归一化标准差可以表示为:
(8)
σAdaptive为所有子窗口归一化标准差,σw为子窗口的标准差,σmax为所有子窗口中标准差最大值,maxlevel为图像灰度值最大值。
(9)
(10)
由式(10)、式(11)可知:
(11)
则自适应阈值函数可以表示为:
T(x,y)=m(x,y)+B
(12)
(13)
轴承滚子图像经过上述算法处理之后如图5所示,该方法可以较好的分割出缺陷区域。
(a)圆锥滚子图 (b)二值化处理后的图像图5 二值图像
为了充分验证本算法的有效性,本文用上述采集装置获取图像,对所述方法进行了定性定量比较分析。
(1)图像采集单元结果与分析:用所述采集系统获取到的图像如图6所示。通过观察可以发现,采集到的轴承滚子区域整体灰度值较均匀,并且缺陷区域较为明显。
(2)缺陷分类:轴承滚子的圆柱表面在生产的过程中,由于生产模具、人为因素,以及外界环境的干扰等影响不可避免的会产生缺陷,常见的缺陷主要表现有以下类型和特点:
(a)划痕 (b)凹坑 (c)斑点 (d)锈斑图6 图像采集系统采集的轴承滚子缺陷
① 划痕
此类缺陷表现为出现在轴承滚子表面数量较少的直线状摩擦痕迹,如图6a所示。
② 凹坑
此类缺陷主要是因为轴承滚子受到模具损坏、温度差异等影响,出现在轴承滚子表面凹陷现象,如图6b所示。
③ 斑点
此类缺陷由于外界环境的腐蚀,产生在轴承滚子表面点状并且异于滚子表面颜色的微小痕迹,如图6c所示。
④ 锈斑
此类缺陷表现为轴承滚子表面形状和面积大小不一的黄褐色斑痕,如图6d所示。
本实验在MATLAB-R2016b环境下搭建了轴承滚子缺陷检测的实验平台,所使用的轴承滚子图像的大小为436×72。
本文提出的算法中,只存在一个可控参数B,B值的选取,将直接影响着图像分割的效果。当B值过大时,分割阈值过大,将导致部分缺陷检测不出来,反之,分割阈值过小,将会产生大量的噪声,产生许多伪缺陷。所以B值的选取对缺陷识别的准确率非常重要。
图7给出了不同B值时轴承滚子表面缺陷分割的效果图,从图中可以看出,当B值过小时,会产生大量的噪声,产生许多伪缺陷,如图7中a2、b2、c2、d2所示,而当B值过大时则会导致检测出的缺陷面积比实际缺陷面积小,甚至会无法检测出缺陷,如图7中b5所示。当B=15时图像分割的效果最好,能够检测出缺陷,而且能够抑制伪缺陷的产生如图7中a4、b4、c4、d4所示。
(a)斑点缺陷 (b)划痕缺陷
(c)锈蚀缺陷 (d)划痕缺陷(从第2列到第5列B的取值依次为:5,10,15,20)图7 不同B值时轴承滚子表面缺陷识别的效果图
3.3.1 算法分割效果对比
为了充分验证本算法的分割效果,本文选用应用比较广的二维Otsu算法[11]、Bernsen算法[12]、Niblack算法[13]三种算法作为本文算法的对比算法。其中Bernsen算法使用的领域模板尺寸的大小为7×7,、Niblack算法使用领域模板尺寸大小为21×21,k取值-0.1。
(a)凹坑缺陷 (b)斑点缺陷
(c)锈蚀缺陷 (d)划痕缺陷
图8从左到右依次为原图、二维Otsu算法、Bernsen算法、Niblack算法、本文算法的阈值分割效果图
如图8所示,在对轴承滚子的各类缺陷进行分割时,二维Otsu算法、Bernsen算法、Niblack算法对于高对比度的缺陷区域都能够很好的分割出来,但是二维Otsu算法受限于其全局性特点,将图像边缘的阴暗区域也分割出来如图8中a2、b2、c2所示,并且无法分割出划痕缺陷图7中d2这类对比度较低的缺陷;Bernsen算法、Niblack算法虽较二维Otsu算法分割效果有了较大改善,但是对于边缘低对比度区域仍出现了大量的过分割如图8中c3、c4所示,而且不能够分割出划痕这类线条状缺陷如图8中d3、d4所示;本文算法虽然在处理凹坑这类缺陷出现了微量的过分割现象如图8中a5所示,但是对于斑点、划痕这两类较为微小的缺陷都能够实现较好的分割效果如图8中b5、d5所示,并且对缺陷位于边缘灰度值对比度较低区域的缺陷也能够实现较好的分割如图8中c5所示。
3.3.2 运行时间对比
本文重复运行上述算法各50次,取其运行时间的均值,得出了表1所示各种算法耗时表。从表1可以看出,二维Otsu算法得益于全局阈值特性,在处理速度上表现出较高的实时性;Bernsen算法由于需要计算局部对比度,运行时间相较二维Otsu算法明显变长;而Niblack算法因为要计算局部均值和标准差,其运行时间大大增长;本文算法只需要计算局部均值,运行时间虽然比二维Otsu算法要长些,但仍低于Bernsen算法、Niblack算法这类局部算法。
表1 本文算法与其他算法的耗时对比(单位:ms)
3.3.3 缺陷检测的准确率
本文用所述的图像采集装置,采集了200幅合格轴承滚子表面图片,200幅缺陷轴承滚子表面图像,其中划痕、凹坑、斑点、锈斑各50幅,用来检测本文算法的准确率,实验结果如表2所示。
表2 轴承滚子表面缺陷的检测精度
通过表2,可以发现本文算法对于凹坑、锈蚀这类灰度值较低且对比度明显的缺陷识别率可以达到100%;而对于斑点这类面积较小的缺陷出现了一定程度的错检;同时处理划痕此类对比度较低的缺陷也有少量的错检;而对于没有缺陷的轴承滚子,受限于采集装置本身密封性影响以及面阵相机本身噪声影响,出现了少数的误检。通过对表2四类缺陷以及正常轴承滚子识别率分析和计算,可以发现本文算法对缺陷有较高的识别效果。
本文针对现阶段的轴承滚子表面缺陷检测存在的不足,首先设计了轴承滚子表面图像采集系统,其采用蓝色背光源侧面照射的方式,克服传统打光方式的局限性,并通过转台的转动,实现对表面图像的实时采集;然后采用直方图阈值分割方法将轴承滚子区域提取出来;最后根据无缺陷滚子图像沿着垂直方向灰度值基本不变的特点,采用改进Niblack算法对轴承滚子图像的缺陷区域进行分割。实验表明该算法可以较好的识别轴承滚子各类缺陷,尤其对于边缘处对比度较低区域缺陷有很好的分割效果。但是本算法仍然存在着以下不足之处:①本算法只适用于一种材质轴承滚子,对于其他材质的轴承滚子不能够实现动态调整参数;②对于斑点、划痕这类微小、对比度低的缺陷的识别率有待于进一步提高。因此,如何对不同材质的轴承滚子实现参数的动态调整和提高微小、低对比度类缺陷的识别率是接下来研究的重点。