基于语义分割的密封圈缺陷检测方法研究①

2021-02-11 08:15乔昆磊王素琴朱登明
高技术通讯 2021年12期
关键词:密封圈尺度卷积

石 敏 乔昆磊 王素琴 朱登明③

(*华北电力大学控制与计算机工程学院 北京102206)

(**中国科学院计算技术研究所前瞻研究实验室 北京100190)

(***太仓中科信息技术研究院 太仓215400)

0 引言

橡胶密封圈是一种重要的工业用品,是多个行业的基础零部件,被广泛应用于石油化工、船舶、能源、航空航天、武器装备等领域。在橡胶密封圈的生产过程中,生产工艺、模具、异物、磨损等原因使得密封圈表面产生破损、裂痕、断裂等缺陷,影响密封性能,导致液压、气动系统出现漏水、漏油问题,严重时会导致液压、气动系统无法工作,并导致机械发生故障,因此密封圈在使用前必须进行缺陷检测。

目前我国的密封圈检测大部分依赖于人工检测,在进行大规模的密封圈检测时,这种方式不仅耗时长、精度不高、劳动强度大,其检测结果还会受到个人主观因素的影响。仅仅依赖人工检测,检测的效果与效率明显不能适应现在越来越高的质量要求和越来越昂贵的人工成本,所以对于无人检测系统的需求越来越迫切。

基于机器视觉的自动化缺陷检测技术由于具有检测速度快、人工成本低和检测结果稳定可靠等特点,被广泛应用于缺陷检测领域。基于机器视觉的传统检测方法一般分为目标分割、人工特征提取和统计方法3 个步骤。但人工特征提取的好坏很大程度上依赖个人经验,具有很大的不确定性,而且人工提取特征方法往往存在算法实用性和通用性不足的缺点。

本文研究的密封圈图像中存在严重的亮度不均衡、干扰噪声大、缺陷区域大小不确定以及缺陷特征与背景相似性高的问题,基于传统机器视觉的技术很难提取到合适的缺陷特征,提取的缺陷特征不具备普适性,往往导致检测效果不佳。

近年来,深度学习以其不需人工提取特征、精确度高、通用性强等特点在缺陷检测领域中越来越受到重视。但深度网络模型在训练时,庞大的网络参数需要庞大的数据量进行支持,训练的数据集动辄就是数千张,甚至是数万张照片。往往训练样本规模越大,训练的效果就越好。然而在真实的生产环境中,获取大量的缺陷产品是很困难的,而且对缺陷产品标注的人工成本较高,有些数据标注甚至还需要该领域内的专业人士才能完成。如何尽可能使用较少的训练样本实现较好的检测效果成为了缺陷检测领域的研究难点。

U-Net 网络[1]是一个编码器-解码器类型的网络模型,其通过对称式的编解码结构融合网络中的高维和低维特征,能够充分利用训练集数据,在数据集较少的情况下依然表现良好。受U-Net 网络的启发,本文提出了一种基于编解码结构的语义分割缺陷检测算法,该检测算法以编解码结构网络为基础框架,并根据密封圈图像的特点做出一系列的改进,以提升该网络对密封圈缺陷区域的分割精度。本文的主要贡献如下。

(1) 向编码器端的各个卷积模块注入不同尺度的图像特征,以增加模型的多尺度信息,同时使用膨胀卷积,增加网络的感受野并减少下采样过程中图像细节信息的损失,引入注意力机制以实现对缺陷区域的高精度分割。

(2) 将解码器端输出的不同尺度特征信息进行融合,实现了多种尺度的特征信息的互补,有利于将语义信息和位置信息融合在一起,提高模型对较小缺陷的分割精度。

1 相关工作

已有的密封圈表面缺陷检测是通过工人在光照条件下进行眼检,由于工人长时间检测导致的视觉疲劳,检测精度随之下降,具有不稳定性。随着计算机视觉理论知识的不断发展,现阶段很多机器视觉方法在工业产品的表面缺陷检测中发挥着越来越重要的作用,大幅提高了工业生产效率。

文献[2]提出了基于机器视觉技术的橡胶密封圈凸点缺陷检测方法,该方法利用中值滤波去除噪声干扰,然后使用Canny 算法进行边缘检测,并重点对凸点缺陷的边缘检测进行了研究。文献[3]使用Canny 算子对轴承密封圈图像进行边缘提取,并使用最小二乘法对密封圈的破损和毛刺缺陷进行识别。文献[4]提出了一种橡胶密封件裂缝缺陷的定位方法,该方法将阈值分割算法和数学形态学细化算法进行结合,进而实现从复杂的密封件图像中分割出裂缝区域并完成对裂缝缺陷的定位。文献[5]搭建了橡胶密封圈的实验平台,实现了橡胶密封圈的表面缺陷及尺寸的检测。文献[6]提出一种利用平稳小波变换(stationary wavelet transform,SWT)的磁瓦缺陷检测的方法,该方法在不同光照条件下,通过Sobel 操作去除不平坦的背景,然后分别采用索引低通滤波和非线性增强方法消除干扰,提高SWT产生的子带目标,从而提取磁瓦缺陷特征。文献[7]通过基于边缘特征的金字塔匹配算法快速提取磁材边界,再结合各向异性滤波方法进行缺陷分割,然后根据缺陷的几何形状进行分类,由于该算法比较依赖光照特性和磁片的缺陷形状,具有一定局限性。

上述基于机器视觉的表面缺陷的研究工作,主要存在以下不足:需要人工提取缺陷的特征,缺陷特征提取的好坏很大程度上依赖个人经验,具有很大的不确定性;由于密封圈图像存在严重的亮度不均衡、干扰噪声大以及缺陷特征与背景特征的相似性很高等因素,传统的机器视觉技术很难提取到合适的特征向量,往往导致检测效果不佳。

近年来,深度学习以其不需人工提取特征、精确度高、通用性强等特点在表面缺陷检测中越来越受到重视。文献[8]构建了一种用于图像裂纹缺陷检测的改进全卷积网络模型,该模型对全卷积网络(fully convolutional network,FCN)进行改进,取消了原来FCN 结构中全连接层的Droupout,增加网络深度,并在网络之后添加更高尺度的反卷积层来扩充局部精细细节。文献[9]提出了一种应用深度卷积神经网络的手机表面缺陷检测方法,首先利用工业线阵相机获取手机的原始表面图像,接着通过预处理方法自动提取出分割图像,进而在GoogleNet 网络的基础上设计了卷积神经网络(convolutional neural networks,CNN),大大减少了参数的数量而不影响检测速率。文献[10]提出了用于检测发光二极管(light emitting diode,LED)芯片图像缺陷的LEDNet架构,该架构使用了30 000 张低分辨率图像的数据集,提出的网络遵循AlexNet 架构,使用类激活映射(class activation maps,CAM)代替全连接层。这种设计仅使用每个图像标签进行学习,并使用CAM 来定位缺陷。与传统方法相比,所提出的LEDNet 显著提高了LED 缺陷检测率。

文献[11]提出一种用于金属表面缺陷的检测方法,借助自编码器在图像重建上的性能,设计一种级联自编码器体系结构,用于金属表面异常的分割和定位,再利用CNN 将分割后的缺陷区域做细分类。文献[12]以Faster R-CNN 深度学习算法为算法框架,引入聚类理论来确定anchor 方案。通过对比k-meansII 和使用代表点的聚类算法(clustering using representative,CURE)生成anchor 对检测结果的影响,提出了基于聚类生成anchor 方案的Faster R-CNN 的零件表面缺陷检测算法,并引入多级感兴趣区域(region of interest,ROI)池化层结构,减少ROI 池化过程中带来的偏差,实现高效并准确检测零件表面缺陷的目的。文献[13]提出了一种基于视觉注意力网络的工件表面缺陷检测算法,该算法通过注意力模块生成软注意力模板,为卷积模块构成的主干网络的特征图加权,增强缺陷区域特征并抑制背景区域特征,提升工件表面缺陷检测的准确率。文献[14]在轻量网络SqueezeNext 的基础上结合实例-批归一化网络(instance-batch normalization network,IBN-NET)结构,将浅层网络的批标准化(batch normalization,BN)用一定比例的实例标准化(instance normalization,IN)替代,提出SqueezeNextIBN-a 和SqueezeNextIBN-b 模型,并用于金属圆柱工件缺陷识别。

基于深度学习的缺陷检测方法具有自动提取缺陷特征、精度高、通用性强的优点,但深度学习模型需要庞大的数据量进行训练。然而在真实的生产环境中,获取大量的缺陷产品是困难的,而且缺陷产品标注的成本较高。本文根据密封圈图像的特点,设计一种具有编解码结构的语义分割缺陷检测算法,该算法能够充分利用训练数据集,避免特征信息的损失,在较少数据上表现良好,能够有效地提升密封圈的分割精度。本文的主要工作如下。

(1) 在编码器端增加多尺度的图像特征输入,使得网络能够获取更广泛的密封圈图像语义特征,增加网络的冗余信息以提高网络对微小缺陷的分割精度。

(2) 在编码器端使用膨胀卷积增加网络的感受野范围,减少在下采样过程中的图像细节信息的损失,同时在编码器和解码器之间引入注意力机制加强网络对缺陷区域特征的获取,提高模型对缺陷的分割精度。

(3) 在解码器端将多尺度的特征信息进行融合,实现了多种尺度特征信息的互补,有助于将语义信息和位置信息融合在一起,提高模型对较小缺陷的分割精度。

2 基于语义分割的网络模型

2.1 网络架构

针对密封圈图像的特点,本文提出了一种基于语义分割的缺陷检测网络模型。该网络模型的总体结构如图1 所示,主要包括编码模块、解码模块和注意力模块。编码模块主要用于提取密封圈的缺陷特征,解码模块用于精准定位缺陷区域位置,注意力模块用于加强模型对密封圈缺陷区域信息的捕获,抑制模型对密封圈背景或噪声信息的获取。针对密封圈图像的缺陷特征,本文进行了以下4 个方面的设计。

图1 整体网络架构

2.1.1 多尺度图像特征输入

密封圈图像的缺陷区域大小不一,有些缺陷区域较大,有些缺陷区域过小。密封圈图像中缺陷区域尺度有着明显的差异,为了解决多尺度下的缺陷区域的分割问题,通过在编码器端输入多尺度的图像特征,以此增加模型的多尺度信息和冗余信息。多尺度信息和冗余信息能够帮助网络更好地分割出密封圈的缺陷区域。本文对输入的密封圈训练集样本连续进行3 次平均池化操作(average pooling)获取形似金字塔的多尺度密封圈图像。在编码器端,分别向4 个卷积模块注入不同尺度的图像。

2.1.2 增大模型感受野

由于密封圈图像中较小的缺陷区域所占的像素数量很少,随着模型的加深,卷积层和每一个下采样层的操作都会使得较小缺陷区域逐渐减少甚至消失,使得较小的缺陷区域分割精度不高。网络的编码器具有4 个下采样层,理论上小于24=16 像素的缺陷区域将无法分割出来。

为了解决图像分割中下采样层导致的图像信息损失问题,文献[15]使用膨胀卷积(dilated convolution)扩大卷积核的感受野,提升图像分割任务的准确率。如图2 所示,膨胀卷积与普通卷积相比,就是在普通卷积核中加入膨胀系数(dilation rate),对原图像以膨胀系数减1 进行间隔采样。对于膨胀系数为d、卷积核大小为k的膨胀卷积,其感受野计算公式为

图2 普通卷积和膨胀卷积

膨胀卷积的主要优点是避免了下采样操作所带来的信息损失,增大了感受野范围,获取了图像更多的特征信息,让每个卷积层的输出都覆盖较大区域的信息,同时不会造成模型参数增多。

为了减少密封圈图像在下采样操作中所造成的缺陷特征损失,并增大网络的感受野,使模型不漏掉任何一个小的缺陷,本文在编码器端使用膨胀卷积层代替常规卷积层,编码器端从上到下分别使用膨胀系数为1、1、2、2、3 的膨胀卷积层。

2.1.3 注意力机制

在对密封圈图像的特征提取期间,某些特征可能有用,而其他特征可能是噪声点或背景对象。视觉注意力机制[16]从大量信息中快速筛选出高价值信息,获取每个特征通道的重要程度,然后依照重要程度突出有用特征并抑制用处不大的特征,将权重加权到每个通道特征上。

为了突出密封圈的缺陷特征,抑制噪声和其他无关特征,本文引入注意力机制,提升网络提取缺陷特征的能力。注意力模块如图3 所示,注意力模块首先使用全局平均池化操作对输入的特征图进行压缩,得到1×1×C的特征向量,再使用2 个全卷积层组成一个Bottleneck 结构去计算通道间的相关性。第1 个全卷积层将特征维度降低到输入的1/4,然后经过ReLu 激活后通过第2 个全卷积层将特征维度增加到原始维度。并使用sigmoid 函数获得每个特征通道的权重参数,最后通过乘法逐通道将权重参数加权到原始的特征图,完成对输入特征图的重新标定。

图3 注意力模块图

为了突出最重要的缺陷特征,提高密封圈缺陷区域的分割精度,本文使用注意力机制对来自编码器路径的特征映射通道进行加权处理,使得网络可以更好地学习缺陷特征,提升密封圈缺陷区域的分割精度。

2.1.4 多尺度融合

编解码网络结构中一个比较明显的问题就是在最后完成分割的时候,仅仅使用了最后一个卷积层的特征,信息比较单一,不足以包含丰富的细节信息。一些密封圈缺陷比较小,仅使用单一卷积层的特征,很难对较小缺陷区域精确分割。

在目标检测领域中,文献[17]提出了特征金字塔方法来检测图像中的较小目标。特征金字塔方法通过融合多尺度的特征信息,增强了图像中的细节信息,使得模型可以根据丰富的特征信息检测较小的目标。本文通过利用特征金字塔方法将解码器的多尺度密封圈缺陷特征进行融合,如图2 所示,将解码器端每次经过上采样和卷积操作后的特征图调整为与输入图像相同的尺寸。具体为将解码器端经过上采样和卷积操作后的特征图自下向上分别进行8、4、2、1 倍上采样操作,然后采用逐像素相加的方式将上述经过上采样的特征图进行合并。实现编码器端多尺度信息的融合,有助于将语义信息和位置信息融合在一起,提高模型对较小缺陷的分割精度。

2.2 损失函数

密封圈图像中的缺陷区域只占整幅图像的5%左右,背景区域占95%左右,密封圈样本数据集出现正负样本不平衡的问题,导致模型很难学习到缺陷区域的特征。为了解决样本数据集中正负样本不平衡的难题,使模型对小缺陷更加敏感、收敛速度更快、泛化能力更强,本文使用FTLc(focal Tversky loss)损失函数[18]作为模型训练的损失函数,FTLc损失函数的具体计算过程为

其中,r取值范围为[1,3],在文中r取3,c为缺陷的类别,并且

3 实验结果与分析

3.1 实验数据集构建

在所有橡胶密封圈中,O 型橡胶密封圈因其几何形状简单、生产方便、成本低廉等优点被广泛使用。O 型橡胶密封圈具有防水、防油、防气、减震等功能,它的质量好坏直接影响产品的性能和使用寿命,O 型密封圈的结构如图4 所示。本文以O 型密封圈为例对密封圈的缺陷检测进行实验。

图4 O 型密封圈实物图

本文采用的数据集为工业相机对某密封圈制造厂生产的O 型密封圈产品拍摄图。在标注数据之前,对图片数据进行预处理,提取密封圈区域,排除非密封圈区域对检测的影响并减少图片尺寸以缩短检测时间,提取的密封圈图像尺寸为800 ×800 像素。由于密封圈的缺陷区域过小,为了使缺陷的特征更加显著,本文将提取的密封圈区域图像放大1倍(即1600 ×1600 像素),然后使用PhotoShop 软件中的切片工具将图像裁剪成800 ×800 像素的图像,并筛选含有缺陷区域的图像作为训练输入样本。通过使用LabelMe 软件对密封圈样本进行标记,标注后对得到的JSON 文件进行处理获得标注图像,密封圈图像与标注图像如图5 所示。

图5 原图与缺陷标注图

本文原始数据集含有378 张密封圈缺陷样本。数据集的样本不足会导致卷积神经网络出现过拟合现象,影响模型对密封圈缺陷区域的分割精度。为了解决数据集样本不足的问题,本文对训练样本进行数据增强,通过对数据集样本旋转一定的角度、水平翻转扩充数据,最终获得含有700 张图像的数据集,其中随机划分600 张用作训练数据集,100 张用作测试数据集。

3.2 实验环境及模型参数设置

本文实验的硬件环境为:Ubuntu 18.04 LST64位操作系统,32 GB 内存,显卡是NVIDIA Tesla V100,处理器是Intel(R) Core(TM)i7-7700K CPU 3.60 GHz。软件环境采用Keras 深度学习框架。模型采用Adam 优化器更新参数,学习率设置为0.0001,训练与测试的批尺寸取2。

3.3 评价指标

在评估分割性能的时候,背景像素作为负样本,缺陷像素作为正样本。两类像素比例差距较大,背景像素占有较大的比例。因此,在本文的分割算法中,使用了精确率(Precision)、召回率(Recall)和相似性系数(Dice similarity coefficient,Dice)评估模型性能,各个指标的具体计算公式为

式中,TP(true positiv)表示真正例,即被模型预测为正的正样本;TN(true negative)为真负例,即被模型预测为负的负样本;FP(false positive)为假正例,即被模型预测为正的负样本;FN(false negative)为假负例,即被模型预测为负的正样本。Dice系数表示模型预测的像素集合与标签图的像素集合的相似性;Precision表示被检测出的真正缺陷像素占被检测到的缺陷像素的比例,也称为查准率;Recall表示被检测出的真正的缺陷像素占所有缺陷像素的比例,也称为查全率。

3.4 实验结果及对比分析

为了说明本文针对密封圈图像特点而设计的策略可以有效提高算法的分割性能,本文做了多组对比实验来说明多尺度输入(Multi-Input)、注意力(Attention)机制、膨胀卷积(Dilation-Conv)和多尺度融合(Multi-Fusion)可以在不同程度上提高算法的分割性能。多种改进策略的分割算法的比较如表1所示,表中N1~N5 分别表示加入不同模块的语义分割模型。

表1 多种改进策略分割算法的比较

由表1 中的N1 和N5 实验数据可知,加入多尺度融合操作使得模型Dice值提升5.5%,Precision值提升6.4%,Recall值降低1.3%;由N2 和N5 可知,加入多尺度输入操作使得模型Dice值提升5.2%,Precision值提升5.1%,Recall值降低0.2%;由N3 和N5 可知,加入注意力机制使得模型Dice值提升2.2%,Precision值提升0.8%,Recall值降低1.2%;由N4 和N5 可知,加入膨胀卷积使得模型Dice值提升5.5%,Precision值提升0.2%,Recall值提升1.1%。

由以上分析可知,加入多尺度输入、注意力机制、膨胀卷积和多尺度融合等方法可在Recall值减少较低幅度下有效提升Dice和Precision值,实现缺陷区域较为准确的分割,有效减少对背景区域的误判。

为了更好地验证本文所提算法的性能,将所提出的算法与经典算法U-Net、FCN-8s、FCN-32s、Seg-Net、PSPNet 以及Tabernik 等人[19]于2019 年提出的缺陷检测网络模型进行比较,不同分割算法的比较结果如表2 所示。

表2 不同分割算法的比较

由表2 可知,本文提出的分割算法取得最高的Dice值为93.5%,以及最高的Precision值为92.4%,均高于U-Net、FCN-8s、FCN-32s、SegNet、PSPNet 和Tabernik 提出的缺陷检测网络模型所取得的Dice值和Precision值。在Recall值上,本文所提出的分割算法略低于U-Net。

为了更加直观地对不同算法的分割性能进行比较,本文对密封圈图像在不同分割算法下的预测图与标准图进行比较。如图6 所示,SegNet、FCN-8s 以及Tabernik 提出的缺陷检测网络模型均出现欠分割问题,只能分割出部分缺陷区域,未能实现对缺陷区域的完整分割。而U-Net 和PSPNet 则存在过分割问题,易把密封圈的背景区域和纹理区域误检为缺陷区域。与以上算法相比,本文算法能够对缺陷区域进行较为精确的分割,并能较大幅度减少将背景区域和纹理区域误检为缺陷区域的概率,具有更少的误检率。本文算法在背景较为复杂的密封圈缺陷区域分割任务中,仍具有较好的分割效果,在保证一定的高准确率的同时,具有更少的误检率。

图6 不同分割算法效果图

3.5 KolektorSDD 数据集下的实验结果及分析

为了验证本文所提出的算法模型的泛化性与可推广性,本文在公共数据集KolektorSDD上对本文所提算法模型进行检验。KolektorSDD 数据集是由电子换向器图像构成的,该数据集一共包括399 张电子转向器图像,其中52 张存在缺陷,剩余347 张无缺陷,图像的分辨率为1408 ×512 像素。将KolektorSDD 数据集随机划分为训练集和测试集,其中训练集共含有319 张图像,其中有缺陷图42 张,无缺陷图277 张;测试集共含有80 张图像,其中10 张有缺陷,70 张无缺陷。

在保持实验环境和模型参数设置不变的情况下,使用公共数据集KolektorSDD 进行实验,并将本文算法与U-Net、FCN-8s、FCN-32s、SegNet、PSPNet进行比较,不同分割算法的比较结果如表3 所示。

表3 KolektorSDD 数据集下不同分割算法的比较

由表3 数据可知,本文提出的分割算法取得最高的Dice值即97.5%,以及最高的Precision值98.2%和最高的Recall值96.2%,均高于U-Net、FCN-8s、FCN-32s、SegNet、PSPNet所取得的Dice、Precision和Recall值。实验结果显示,本文所提算法在KolektorSDD 数据集上表现良好,具有较好的可推广性和泛化性。

4 结论

针对密封圈的缺陷区域过小以及缺陷特征与密封圈背景特征相似性较高等造成的密封圈缺陷检测困难等问题,本文提出了一种基于语义分割的密封圈缺陷检测方法。一方面,向编码模块输入不同尺度的密封圈图像,以此增强模型的多尺度信息和提高模型对不同尺度特征的适应能力。此外,使用膨胀卷积层替换常规卷积层,增大模型的感受野,使得模型不漏掉较小的缺陷,提高模型对较小的缺陷区域的分割精度。另一方面,通过注意力机制的级联网络结构,加强模型对密封圈缺陷区域信息的捕获,抑制模型对密封圈背景或噪声信息的获取,最后在解码器端融合不同尺度的特征信息,有效地将语义信息和位置信息融合,实现多个特征信息的互补。实验结果表明,在对密封圈缺陷区域的分割实验中,与其他方法相比,本文所提出的方法能够有效地对较小的、边缘不清晰的密封圈缺陷进行分割,并能避免将密封圈的背景区域和纹理区域误检为缺陷区域。本文算法的不足是算法的Recall值略低于U-Net网络,这可能是因为本文使用的数据集样本较少或密封圈中的缺陷过小以及与背景的对比度较低等因素。在后续的工作中将考虑该算法的不足之处,进一步提高算法的性能和召回率。

猜你喜欢
密封圈尺度卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
从滤波器理解卷积
轧机工作辊平衡缸端盖及密封圈的在线更换
基于傅里叶域卷积表示的目标跟踪算法
宇宙的尺度
低迁移量环保食品罐密封圈的制备及其性能研究
基于加速老化试验的O形密封圈存储寿命预测
橡胶密封圈
9