APP下载

基于机器视觉的试样接触疲劳实时检测方法

2021-07-08廖海伸徐高鹏

仪表技术与传感器 2021年6期
关键词:灰度滤波阈值

熊 建,廖海伸,徐高鹏,杨 岩

(重庆理工大学机械工程学院,重庆 400054)

0 引言

接触疲劳是接触类材料其接触表面在长期循环接触应力作用下形成凹坑或麻点的一种表面疲劳破坏现象,这种现象会使材料在工作中噪音增大、磨损加剧、振动及温升,进而导致材料失效,甚至引起整个机器的损坏[1-3]。在滚动接触疲劳试验中,实时地对试样接触疲劳进行快速准确的检测和记录,对材料失效判定、获取材料疲劳性能以及研究材料失效演变过程具有重要意义。

随着数字图像处理和传感器技术的发展,基于机器视觉的检测方法具有非接触、精度高、抗干扰性强,能实现定量检测等优点[4-6],国内外学者对其进行了广泛研究。杨长辉等[7]基于机器视觉设计了一套金属材料滚动接触疲劳失效在线检测系统,由于采用固定阈值提取目标,导致检测精度易受光照影响。文献[8]提出基于机器视觉的胡萝卜表面缺陷关键参数提取算法,实现了胡萝卜表面缺陷检测和在线分类。文献[9]提出基于梯度图像的全局自适应阈值法对钢表面缺陷进行检测,由于该方法在阈值的选择过程中对图像的局部特征关注不够,导致部分缺陷边缘未能正确识别,检测精度不高。马云鹏等[10]提出金属表面缺陷自适应分割算法,该算法可对多类金属表面进行分割,但分割耗时较长,对光照不均的表面分割时容易丢失细节信息。虽然基于机器视觉的检测方法在各种工业生产中有了广泛应用,但将其用于试样接触疲劳检测的研究相对较少,且存在以下不足:

(1)接触疲劳试验环境复杂,容易出现误检或漏检,影响检测精度。

(2)由于实时在线检测数据量大、干扰信息多,在保证检测精度的前提下,难以做到快速检测。

(3)现有的视觉检测方法无法对试样疲劳失效进行定量分析。

针对以上难点,本文提出了一种基于机器视觉的试样接触疲劳实时检测方法,在检测速度、精度、抗干扰能力方面较对比方法均有不同程度的提高。

1 图像采集系统与图像特征分析

图1(a)为本课题组自研的接触疲劳试验机三维图,其工作原理为:在模拟实际工况条件下,通过图像采集系统实时采集试样表面信息,其中图像采集系统示意图如图1(b)所示,图1(c)、图1(d)为试样原图,随后计算机对采集的图片进行处理分析,并根据结果判断是否疲劳失效,当试样达到疲劳失效标准后立即停机,最后结合其他试验数据即可得到所测材料的接触疲劳性能。可见,精确判定试样是否疲劳失效对提高试验结果准确率至关重要。

图1 试验设备及试样

接触疲劳主要表现为凹坑或麻点,图2(a)是在试验中实时采集的一张典型图片,该图片可分为3个部分:非接触区、接触疲劳区和工作表面区。其中,工作表面上含有较多噪音、油痕以及反光不均导致的灰度差异,这些干扰因素会影响检测精度,因此去除相关干扰很有必要。除此之外,非接触区与接触疲劳区灰度特征相近,将会增大图像阈值分割难度,且由于少数试样接触疲劳发生在工作表面边缘部分,如图2(b),使得现有算法会将其视为非接触区,从而造成漏检,因此,应首先将工作表面从原图中提取出来,对于降低漏检率以及提高检测精度都有重要意义。

(a)主试样采集图1

2 检测方法

图3记录了10组40Cr试样在滚动疲劳试验中,从试样初始状态至出现接触疲劳再到最后疲劳失效2个时间段的耗时占比统计表,可以发现,整个试验过程中70%左右的时间试样都处于无接触疲劳状态,若整个过程都对采集的图片进行精确处理无疑会增大检测时间、降低效率。

图3 滚动接触疲劳试验各阶段耗时统计

因此,针对试样接触疲劳检测,提出一种先初步检测,再决定是否对疲劳特征精确检测的策略。检测方法流程如图4所示。

图4 检测方法流程

2.1 提取工作表面区

为了准确提取出试样工作表面区以降低漏检率,设计了基于灰度值统计的分割算法。由于试样工作表面区的尺寸大小是确定的,并且试样非接触区灰度整体偏暗,而工作表面区灰度整体偏亮,图5为图2(a)原图每行像素平均灰度值统计图,经验证在图中存在的2处较为明显的突变区即为非接触区与工作表面区的交界,于是,基于灰度值统计来分割工作表面是可行的。

图5 每行像素平均灰度值统计

算法具体流程如下:

步骤1:读取图像,计算原图的高H、宽W,设H为行数,W为列数。

步骤2:在原图上构建一个高为h、宽为W的矩形框,设其上边框对应的行数为i,其中h的值为工作表面区域的高。

步骤3:计算矩形框内灰度值之和Si:

(1)

式中:G(i,j)为图像中第i行第j列对应像素点的灰度值。

步骤4:当Si取得最大值时,i所对应的值即为工作表面区域上边缘在原图中的行数,最后将此时矩形框内的区域从原图中提取出来,即可得到工作表面区。

图6是用该算法对图2处理后的结果,可见,目标区域能准确完整地分割出来,满足提取要求。

(a)图2(a)工作表面区域提取结果

2.2 疲劳特征初步检测

按照YB/T 5345—2014《金属材料滚动接触疲劳试验方法》规定的疲劳失效判定标准,当工作表面的深层剥落面积≥3 mm2视为失效[11]。为避免漏检,当所检测到的试样接触疲劳最大面积大于或等于0.1 mm2时,视其为出现麻点,同时进入精确检测阶段,否则结束本轮检测。

本文基于动态阈值的分割思想,提出一种参数改进的阈值算法进行初步检测。首先对工作表面图像进行均值滤波,随后对图像进行二值化处理。

(2)

式中:T为偏移量;G(i,j)和H(i,j)分别为滤波之前和滤波之后图像第i行第j列对应像素点的灰度值;F(i,j)为分割结果图。

该算法通过滤波器模板对图像各像素进行不同程度的平滑,然后对滤波前后图像同一位置的灰度求差,当差值大于或等于T时,该位置的像素点被选中。随后通过连通域处理、空洞填充、特征检测即可筛选得到上述算法分割后的目标区域。最后通过计算面积最大区域的值,并与0.1 mm2比较,用于判断是否进行疲劳特征精确检测。

该算法检测精度主要受滤波器模板尺寸和偏移量T影响,因此本文通过实验对上述2个关键参数的选择进行改进。

2.2.1 滤波器尺寸的选择

实验发现,滤波器模板尺寸的选择对分割效果有重要影响,图7为在不同滤波器模板尺寸下的分割效果图,当尺寸选择过小时,只能分割出一些“点”对象,随着尺寸的增大,一些小的麻点逐渐被分割出来,最后较大的深层剥落也被完整分割。经验证,当滤波器模板尺寸取161×161时,能获得相对最佳的分割效果。

图7 不同滤波器模板尺寸的分割效果

2.2.2 偏移量T的确定

如果提取的工作表面图像都有相同的灰度特征,那么取一个合适的固定T值即可达到好的分割效果。但是,提取的图像是否有接触疲劳、接触疲劳的大小以及图像的亮度等都是不确定的,取固定T值的方式会使算法的鲁棒性降低。为了解决这一问题,对大量不同工作表面图像进行分割实验,通过统计实验结果发现,合适的偏移量范围与图像的平均灰度值存在对应关系,图8为采用不同T值时该方法的分割准确率,可以看出:当偏移量T取图像平均灰度值的35%~55%范围内时均能获得较好的分割效果。本文取图像平均灰度值的45%作为偏移量T的值。

图8 不同T值时算法的分割准确率

2.3 疲劳特征精确检测

为了降低油痕、噪音、污渍等干扰因素对检测结果的影响,对进入精确检测阶段的目标图像首先进行滤波。然后在初步检测结果的基础上,融合形态学处理和Otsu算法对滤波后的图像进行分割,提高了检测速度和精度。

2.3.1 频率域滤波

图9(a)为典型工作表面图像,图像含有明显的油痕、噪音和污渍。为了去除油痕,本文设计了陷波带阻滤波器在频率域对图像进行处理。首先对图像进行傅里叶变换得到该图像关于原点对称的傅里叶谱,如图9(b)所示,谱中间部分有一段趋于垂直的高亮区域,这段区域是图像中水平油痕的谱。图9(c)是本文针对此类傅里叶谱设计的陷波带阻滤波器,深黑色部分代表0,表示不被通过,目标是去掉油痕的谱。用上述滤波器对原傅里叶谱进行处理,再经傅里叶反变换即可得到最终滤波后的图像。如图9(d)所示,经滤波后的图像大部分油痕已被去除,而图像的重要边缘和细节都被完整地保留了下来,图像清晰度未受影响,得到了较好的处理效果。

图9 频率域滤波

2.3.2 空间域滤波

为了进一步增强图像,同时去除图像噪音、污渍等干扰因素对后续分割的影响,本文采用双边滤波[12]在空间域对图像进行处理。

双边滤波是一种非线性滤波器,它不同于高斯滤波器主要考虑像素间空间邻近度,还同时加入了像素间的相似程度考虑。图10是图9(d)经双边滤波后的结果,图中大部分噪音和污渍均被去除,同时图像的边缘和细节特征仍得到了很好的保护。

图10 双边滤波结果

由于双边滤波器计算过程较为复杂,在处理大尺寸图像时非常耗时。为了提高检测效率,本文并不直接对频率域滤波后的图像进行双边滤波,而是在本文2.3.3节中介绍的分割算法中使用。

2.3.3 图像分割

同一图像不同位置的凹坑或麻点往往具有不同的灰度特征,同时光照不均也将导致图像局部之间出现灰度差异,采用传统全局阈值难以找到一个最佳阈值同时实现对各目标区域进行准确分割。

为了解决上述问题以提高检测精度,目前,常见的两大思路包括灰度均衡化[13]和局部阈值处理。其中,灰度均衡化由于需要对每个像素进行处理,算法复杂、效率较低,不适合实时快速检测,而图像的单个局部区域灰度特征受光照不均的影响较小,并且对局部区域处理时不受其他区域干扰。因此,局部阈值处理是解决上述问题的可行方案。基于此,本文提出一种基于初步检测结果,融合形态学处理和Otsu算法[14]的局部阈值分割方法。

Otsu算法是一种使用聚类思想的自适应分割算法,其简化公式可表示如下:

g=w0×w1×(u0-u1)×(u0-u1)

(3)

式中:w0为前景像素点数在图中的占比;w1为背景像素点数在图中的占比;u0为前景的平均灰度值;u1为背景的平均灰度值。

步骤1:对2.1节提取的工作表面图像采用2.3.1节介绍的频率域滤波算法进行滤波,以消除油痕对后续分割干扰。

步骤2:对初步检测阶段选择的最大目标区域进行形态学膨胀处理,这一过程可使目标在背景的占比尽可能最佳。

步骤3:将形态学膨胀处理后的二值化图像与频率域滤波后的图像求差,得到含有目标区域的局部图像。

步骤4:对上一步骤得到的局部图像进行双边滤波,去除图像噪音和污渍,相比直接对工作表面图像进行双边滤波,可极大缩短算法的运行时间。

步骤5:对双边滤波后的图像采用Otsu算法分割,该步骤对局部图像进行处理,很好地克服了Otsu算法处理大尺寸图像耗时问题,提高了检测效率。

步骤6:最后再次利用连通域处理、孔洞填充、特征检测、面积计算等方法,即可实现对试样接触疲劳的精确定量检测和疲劳失效判定。

本文方法简化流程如图11所示。

图11 检测方法流程图

3 实验结果与分析

为验证检测方法的可行性和有效性,在接触疲劳试验中实时采集的图片库中随机选取500张图片作为样本,其中含有接触疲劳的为140张,已达到疲劳失效标准的为48张。从2方面对实验结果进行评价,一方面是从视觉效果定性对比分析,另一方面根据实验数据定量对比分析。实验硬件如下:SZX12体视显微镜;计算机(i5-8G-win7);Visual studio 2015编译环境和halcon视觉库。

3.1 定性对比实验

3.1.1 图像滤波对比分析

中值滤波、非线性扩散滤波、引导滤波具有保边去噪的作用,在图像滤波中得到了广泛应用。本文采用上述3种具有代表性的算法作为本文滤波方法的对比算法,实验结果如图12所示。可以看出,中值滤波在去除噪音方面具有较好的效果,但在去除噪音的同时也会使图像变得模糊,特别是对小的边缘和细节影响很大;非线性扩散滤波在保护边缘方面效果较好,同时也能去掉一些小的噪音,但是往往会对边缘过度锐化,同时无法去除一些明显的油痕;引导滤波在消除噪音方面取得了很好的结果,同时也能去掉部分小的油痕,不足之处是对大的油痕处理效果不佳,同时还会将小的接触疲劳的边缘淡化;本文算法在保护边缘和消除噪音方面效果很好,优于上述3种算法,同时在保证图像清晰度和其他重要细节不被影响的前提下去除了绝大部分油痕等干扰信息,改善了后续处理效果。

图12 不同滤波算法处理结果

3.1.2 图像分割对比分析

由于近年来发表的文献中鲜有针对滚动接触疲劳视觉检测的研究,本文采用传统金属缺陷检测的常用方法将其用于试样接触疲劳检测,包括Otsu算法和基于直方图的自动全局阈值法作为本文方法的对比算法。另外,为了有一个相对直观的参照,本文采用人工标注法分割结果作为参考。实验对象包括出现细小接触疲劳的图像、发生接触疲劳但未失效的图像和发生接触疲劳且失效的图像等。为确保实验条件一致,在分割前均采用本文提出的图像滤波方法进行滤波,其部分实验结果如图13、图14、图15所示。

图13为采用不同算法处理出现细小接触疲劳图像的结果,可以看出:传统Otsu算法未能得到正确的分割结果,其原因是目标区域在图像中的占比过小;而自动全局阈值错误地将整幅图像全部分割(由于白色与背景色相同,仅此处以黑色代表被分割的对象),经分析,是因为处理的工作表面图像的直方图为单峰,该算法未能得到一个正确的分割阈值;图13(d)为本文方法分割结果,该方法正确地将细小接触疲劳从图像中分割出来,与人工标注法相比,得到了非常接近的实验结果。

图13 出现细小接触疲劳的不同算法处理结果

图14和图15为采用不同方法处理结果。可见传统的Otsu算法无法得到正确的分割结果;自动全局阈值能准确定位接触疲劳所在位置,但是出现了少分割现象,在以图14体现的实验结果上表现的尤为明显,这会导致对接触疲劳的面积测量偏小,影响检测精度;本文方法处理结果与人工标注法结果高度接近,取得了很好的分割效果。

图14 发生接触疲劳但未失效的不同算法处理结果

图15 发生接触疲劳且失效的不同算法处理结果

综合以上分析可得:针对试样表面目标区域的分割,传统Otsu算法难以正确分割;基于直方图的自动全局阈值法分割结果受图像的直方图影响较大,且容易出现少分割现象,导致检测结果偏小;本文方法在处理含有不同接触疲劳的图像时均取得了很好效果,满足实时检测要求。

3.2 定量对比实验

采用体视显微镜在20倍放大倍数下对样本图片对应的试样进行拍照,然后对试样接触疲劳区进行人工标注,如图16所示,根据比例尺计算出接触疲劳区的面积作为真实值,最后将本文方法的检测值经标定换算后与真实值进行对比。表1是随机抽取的12组对比数据,分析总的实验数据可以得出:本文方法针对含有接触疲劳试样的平均测量误差为0.08 mm2,平均相对误差为2.496%。经分析验证,测量误差主要来源于相机的标定误差和CCD线阵相机拍摄的图片与试样真实表面存在细微差别。除此之外,由于采用人工的方式对显微图像进行标注来计算真实面积,这一过程受人为主观影响,也是测量误差的来源之一。

图16 显微镜及其拍摄图

表1 试样接触疲劳面积测量实验结果

为了进一步验证本文方法的可行性,在相同的实验环境下,选取文献[7]和文献[17]作为对比方法,从漏检率、误检率[18]、检测精度和平均耗时4个方面进行评价,并做以下定义:

(4)

式中:Dr、Lr和Pr分别为试样接触疲劳检测的漏检率、误检率和检测精度;N1、N2和N分别为含有接触疲劳的样本数、无接触疲劳的样本数和样本总数;x、y分别为漏检和误检个数;S1、S2分别为试样接触疲劳面积检测值和真实值;tA、tT分别为每个样本的平均检测时间和总样本的检测时间。

表2为不同方法的检测结果。从结果可以看出,针对试样接触疲劳检测,本文方法相较于仅采用改进的动态阈值、文献[7]和文献[17]等方法在检测精度上有不同程度的提高,在漏检率和误检率上也有较大幅度降低。在检测时间方面,由于本文采用了先初步检测再确定是否对疲劳特征精确检测的策略,在平均耗时方面相比对比文献方法有很大降低。但本文方法仍然有较高的误检率,经验证主要是因为检测算法会将少数大的油斑误判为接触疲劳。

表2 不同方法的检测结果对比

4 结论

针对滚动接触疲劳试验中试样接触疲劳检测存在的问题,本文提出了一种基于机器视觉的综合检测方法。具有以下优点:

(1)基于灰度值统计设计了算法将试样工作表面准确分割出来,降低了漏检率和后续处理工作量。

(2)提出了一种先初步检测再确定是否对疲劳特征精确检测的策略,极大地降低了检测时间。

(3)设计了陷波带阻滤波器并结合空间域滤波方法对图像有针对性地分阶段滤波,改善了试样接触疲劳检测易受油痕、噪音以及污渍影响的问题。

(4)在初步检测结果的基础上,融合形态学处理和Otsu算法,提出了一种局部阈值分割法,克服了光照不均的影响,降低了算法计算量的同时提高了检测精度。

实验结果表明,本文方法提高了检测速度和检测精度,大幅降低了漏检率和误检率,满足试样接触疲劳实时检测要求,后续研究将针对油斑对检测算法的干扰,进一步降低误检率。

猜你喜欢

灰度滤波阈值
采用改进导重法的拓扑结构灰度单元过滤技术
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于自适应阈值和连通域的隧道裂缝提取
比值遥感蚀变信息提取及阈值确定(插图)
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
室内表面平均氡析出率阈值探讨
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于随机加权估计的Sage自适应滤波及其在导航中的应用