APP下载

高频噪声下的螺栓表面缺陷检测

2021-06-03赵全育

测控技术 2021年5期
关键词:形状螺栓滤波

严 琴, 赵全育*

(1.湖南飞沃新能源科技股份有限公司,湖南 常德 415701; 2.湖南省高强度紧固件智能制造工程技术研究中心,湖南 常德 415701)

随着国家生产力的提高与产业升级,对高质量工件的需求也在不断扩大。螺栓作为高强度紧固件,在风电、核电、军工、高铁等高端装备领域有着广泛应用。然而工厂在大批量生产螺栓的过程中,部分螺栓有一定概率会存在缺陷问题,如表面瑕疵、裂纹等,导致产品质量不达标,可能在后期使用过程中造成安全隐患。因此,针对螺栓表面的缺陷检测是螺栓生产、加工环节中至关重要的一步。

常见的螺栓缺陷检测方法除了人工检测外还包括射线检测[1]、超声波脉冲检测[2]、红外波检测[3-4]和基于机器视觉的表面缺陷检测。射线检测能够在不损伤工件的前提下观察物体表面缺陷,但射线会对检测员身体造成伤害并污染环境。超声波脉冲检测不会对人体或环境产生影响,但对工件表面平整度要求严格,应用场景受限。基于超声红外波成像方法并非在所有材质上表现良好。上述检测方法虽然具有一定优势,但均受到不同方面的制约。随着数字图像处理技术的发展与计算机、传感器等硬件成本的不断降低,利用机器视觉进行表面缺陷检测不仅检测成本低廉,而且不会受检测人员主观意识的影响,具有广泛的应用前景。

近些年国内外学者在工业产品表面缺陷检测任务上提出了许多基于机器视觉的检测方法。文献[5]在对图像进行中值滤波与离散余弦变换图像增强后,使用统计过程控制二值化算法完成了外螺纹表面缺陷检测。文献[6]通过最大类空间方差二值化算法检测加工过程中齿轮端面缺陷,由于检测对象模式单一,该方法能较好地检测出缺陷。文献[7]提出利用边缘检测算法辨别布匹瑕疵部位,取得了不错的效果。Chen等[8]创新性地提出了差影法计算检测图像与模板之间的差值信息,实现零件缺陷检测。Li等[9]通过图像处理技术和卷积神经网络检测悬链线悬挂装置缺陷。文献[10]通过多层次特征融合卷积网络获得图像特征图,以分类回归网络完成缺陷的分类与位置定位。然而,上述方法大部分只能作用在背景噪声少或模式简单的图像中,基于深度学习的视觉检测方法虽然能够较好地抵御噪声影响,但绝大部分效果优异的算法都是基于监督学习技术,训练过程需要大量人工标注的图像作为金标准,这一步骤将花费高昂成本,与实际工业生产需要获得更高收益的目的相违背。

本文针对电子扫描显微镜下的螺栓表面图像,利用局部自适应二值化算法与连通域属性分析,设计基于自定义形状描述子的滤波算法,能够自动高效地检测出具有高频噪声的螺栓表面缺陷部位,对于表面纹理复杂或噪声难以去除的工业产品检测具有借鉴意义。

1 基于机器视觉的检测算法

图1为电子扫描显微镜下有缺陷的螺栓表面,也是本文需要检测缺陷的对象。检测对象呈现出3个明显的特点:① 缺陷出现的位置与形状没有固定的模式,无法使用模板匹配等相关算法进行检测;② 缺陷颜色与背景、纹理几乎一致,因此也不能简单地通过阈值分析划分出缺陷部位;③ 由于螺栓材质以及电子显微镜的放大效果,图中的螺栓纹理有非常多的高频噪声。

图1 电子扫描显微镜下有缺陷的螺栓表面

边缘检测算法通过求取像素值的变化识别出图像中的边缘部分,一般而言,由于无缺陷的物体表面结构简单,且与具有缺陷部分的表面有明显差异,因此物体表面的缺陷可以当作边缘被检测。但图1展示的螺栓表面纹理复杂,与缺陷部分无明显差异,理论上普通的边缘检测算法无法达到本文缺陷检测目的。图2验证了理论猜想结果,以图1左上角图像为实验对象(图2~图9均是以该图作为处理对象),图2(a)为进行均值滤波预处理后在水平方向与竖直方向分别用Canny算子求取梯度后,再融合的边缘检测结果,图2(b)为用Sobel算子进行边缘检测的结果。从图2中可以发现,背景噪声与缺陷部分均被无差异地检测出大量边缘,导致无法分辨缺陷具体位置,即使Canny算子处理前已经使用了均值滤波,Sobel边缘检测算法中也会自动进行高斯滤波,但在这种大面积都是对比度明显的高频噪声情景下,滤波预处理也无法消除纹理本身呈现出高频噪声的特性。考虑到深度学习技术使用受限、普通机器视觉检测算法不适用于当前图像,本文创新性地提出了在高频噪声下基于连通域自定义形状描述子的滤波算法,以低成本、高精度的方式实现螺栓表面缺陷的快速自动检测。

图2 边缘检测结果(右侧图像为左侧图像红色框内放大效果)

2 高频噪声下的缺陷检测方法

本文的检测方法主要分为4个步骤,流程如图3所示。首先对输入图像进行去噪预处理,考虑到数字图像的主要噪声为光学、电子器件引入的非线性噪声,这一部分噪声属于由外界引入的不必要污染,与螺栓表面复杂纹理呈现出的高频噪声不同,本文采用中值滤波进行预处理,接下来通过局部自适应二值化与基于连通域的滤波以及一系列后处理过程完成螺栓表面缺陷检测,得到最终的检测结果。

图3 检测方法整体流程

2.1 局部自适应二值化

一幅图像能否被正确地解析,很大程度上取决于二值化效果的好坏。一般的二值化算法直接根据图像均值或全局属性设定阈值,但在实际生产中,不同的螺栓颜色深浅有区别,不同区域的亮度差异明显,因此直接设置全局阈值效果不佳,在对原始图像进行灰度处理后,全局二值化算法的结果如图4所示。图4中仅背景被有效分离,而螺栓表面的缺陷与非缺陷区域却无法区分。

图4 全局二值化结果(为便于显示,人工增加了外部边缘)

因此,文本采用局部自适应二值化算法[11]对螺栓表面图像进行处理。该算法通过计算图像内不同矩形块的像素均值确定当前小范围内的阈值,同时利用积分图手段提升算法速度。积分图计算方法为

I(x,y)=F(x,y)+I(x-1,y)+I(x,y-1)-I(x-1,y-1)

(1)

式中,F(x,y)代表图像在(x,y)位置处的灰度值,计算完积分图后,再通过式(2)便能在常数时间内获得像素在邻域(x1,y1)到(x2,y2)范围的平均灰度值,从而确定当前矩形范围内的局部阈值。

I(x1-1,y2)+I(x1-1,y1-1)

(2)

使用局部自适应二值化算法处理完成后再进行黑白翻转,效果如图5所示。与图4全局二值化的结果相比,该方法能显著提升缺陷区域的视觉效果,为后续缺陷检测提供基础。

图5 局部自适应二值化结果

2.2 基于连通域的滤波

完成图像的局部自适应二值化后,图像纹理部分的噪声与缺陷均被提取,但这些噪声不同于普通图像在产生与传输过程中的脉冲噪声、感光片颗粒噪声或量化噪声。当前场景下的噪声属于背景纹理,因此单个噪声的面积占比较大,若试图用形态学操作去除噪声,则会同时过滤掉需要检测的缺陷。仔细观察图5二值化后的结果可以发现,噪声相比较于瑕疵部位面积更小,而且缺陷表现为细长状,噪声则多为点状。针对这种情况,本文提出一种计算简单、高效的滤波算法,通过自定义形状描述子对二值化后图像中的所有连通域进行滤波,排除掉不符合形状描述子的区域,准确地去除高频噪声。

在连通域上定义的形状描述子包括了面积与偏心率两个属性,面积A统计该连通域内的像素个数,偏心率E则通过式(3)求得。

(3)

式中,W,H分别为任意形状连通域最小外界矩形的宽和高,若连通域越细长,则离心率E越趋近0。因此,设定面积阈值CA与离心率阈值CE后,便能确定形状描述子S:

(4)

式(4)中的D为二值图像中的连通域,若连通域D满足形状描述子设定的阈值,将保留该连通域,否则将该连通域内的所有像素值均设置为0。本文在对样本进行测试后,最终使用八邻域的连通域标记法。形状描述子将根据阈值滤除可能为噪声的连通域。使用连通域滤波后的结果如图6所示,可以发现,噪声已经被基本去除。

图6 基于连通域的滤波结果

检测流程的后处理步骤将完善检测结果并消除背景与纹理分隔边界被当成缺陷而没有被过滤的部分。在实际应用中,可以抽取检测对象少量样本统计连通域面积、离心率等形状相关属性,从而确定适用于当前场景的形状描述子。

2.3 后处理

得到已经滤除噪声的图像后,缺陷内部可能有细微断裂现象,为了获得完整的缺陷信息,使用形态学开操作填充缺陷部位内部小孔洞。此时还需要去除背景边界,首先用全局二值化算法处理原图像获得大致的感兴趣区域,接着利用形态学闭操作平滑边界,最后通过腐蚀,适当向外扩展背景区域,得到感兴趣区域的掩膜图像。每一步的处理结果如图7所示。

图7 感兴趣区域的掩模图像(为便于显示,人工增加了外部边缘)

将掩膜图像与图6进行“与”操作,获得了如图8所示的缺陷部位图像。

图8 经过后处理的连通域滤波结果

2.4 实验结果与分析

利用所提出的算法对实际工业生产中的螺栓表面进行缺陷检测,检测图像为电子扫描显微镜下螺栓R角处放大500倍后的成像,原始图像大小为2048像素×1536像素,裂纹缺陷实际宽度大体集中在0.3~7.5 μm。长度范围跨度较大。最终检测结果改变色彩通道后与原图融合,示例效果如图9所示。

图9 最终缺陷检测结果

实验结果表明,基于连通域自定义形状描述子的滤波算法能够成功地检测出螺纹表面缺陷,仅在少量图像上存在细微的假阳性反应,如图10中红色方框内的区域。对比图10原图与检测结果图可以发现,少量属于纹理的噪声被当作缺陷检出。

图10 假阳性结果示例

针对这种情况,可以在实际工业生产中调整形状描述子阈值,在缺陷检测敏感度与检出率之间找到平衡。以本文数据为例,在图像预处理和局部自适应二值化后,随机抽取少量待检测图像,对图像连通域的属性进行统计分析。统计分析后得到的连通域面积与离心率分布直方图如图11所示,从图11中可以观察到,连通域面积分布大部分集中在500以内,而连通域离心率则集中在0.5~1.0之间,即大部分噪声的形状接近圆形,与前文分析一致。可见噪声与缺陷部位能够通过由面积和离心率定义的形状描述子进行区分。

为了更好地找到关于连通域面积属性的阈值,将区间500以上的部分重新作图进行分析,结果如图12所示,实验中最终选定的面积阈值CA为1300,离心率阈值CE为0.5。因此,检测结果中少量的假阳性反应可能是由于部分噪声面积超过了1300或离心率小于0.5所致,在实际生产中,可以根据检测任务的要求与检测对象的连通域属性统计结果,具有针对性地选择形状描述子阈值,甚至能够自定义形状描述子,从其他属性进行阈值选择,从而筛选出待检测部位。

图12 连通域面积分布直方图

3 结束语

针对螺栓表面缺陷检测任务中图像存在高噪声的问题,创新性地提出了基于连通域的滤波方法,利用噪声与缺陷区域形态上的区别,通过连通域面积与离心率综合确定连通域形状描述子,从而过滤噪声,保留需要检测的缺陷部分,取得了较好的检测效果。本文方法通过对图像的二值化、滤波与形态学操作完成缺陷检测,计算快速并且不需要训练数据,符合工业生产检测需求,并为高频噪声下的图像检测提供了新的思路。实际应用中还能针对具体场景自定义连通域形状描述子,对不同类型的区域实现高效滤波。

猜你喜欢

形状螺栓滤波
挖藕 假如悲伤有形状……
M16吊耳螺栓断裂失效分析
预紧力衰减对摩擦型高强螺栓群承载力的影响
你的形状
螺栓紧固杂谈
火眼金睛
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于四元数互补滤波的无人机姿态解算