基于MM-Net 的阀芯外表面缺陷检测

2022-02-07 09:20熊鑫州肖子遥朱肖磊
智能计算机与应用 2022年12期
关键词:瑕疵特征提取注意力

熊鑫州,肖子遥,朱肖磊,叶 沐

(上海工程技术大学 机械与汽车工程学院,上海 201620)

0 引言

阀芯作为汽车喷油器的核心部件,主要的作用就是控制燃油在喷油器中的流动,但其在加工过程中由于工艺流程、加工环境等问题容易产生阀芯外表碎屑残留、夹持力度过大导致外表夹伤等缺陷,而这些瑕疵就会直接影响燃油的流动,严重情形下还会直接造成喷油嘴通孔堵塞引发故障。原始的人工目检存在成本高、检测效率低、主观性及经验性较强等不足,基于机器视觉的无接触式自动化检测技术近年来在工业领域得到了广泛应用[1-2]。郝淑丽等人[3]通过将待检测金属图像与模板相减进行匹配,并通过灰度直方图做特征提取,以SVM 做分类器实现对细小瑕疵的识别。董家顺等人[4]根据钢管外形特点设计了由线阵相机、线阵光源等组成的整体检测平台,并用改进的K-means 算法对预处理后的灰度图片做正反求和,实现对缺陷的分割。Kan 等人[5]针对激光焊接缺陷,提出了线性回归与SVM 相结合的分级识别方法。Honeywell 公司使用线阵CCD 相机来采集图像,设计了一种基于句法模式识别理论的并行图像处理机和分类算法的瑕疵识别系统[6]。以上所提检测方法虽然能够有效识别缺陷,但存在需要手动构建特征向量或无法实现在准确识别瑕疵类型的同时确定瑕疵的具体位置等问题。随着深度学习技术的深入研究,基于深度学习的缺陷检测技术也随即成为了学界的一个热门研究方向。Huang 等人[7]围绕金属制品提出了一种CNN 缺陷检测结构,并利用对抗神经解决小样本问题。Huang 等人[8]在级联R-CNN 的基础上,提出了一种新的多尺度特征对的特征提取方法,并将其应用于金属罐头产品的缺陷检测。文献[9-11]针对钢材的外表面缺陷提出了不同的深度学习检测模型。Xu等人[12]针对金属表面缺陷,优化了原始YOLOv3[13]的模型结构,将原始模型的浅层特征与深层特征做连接融合。虽然以上这些深度学习模型能够解决手动提取特征的缺陷,但是金属表面的微小瑕疵却会引发检测准确率不高、缺陷区域无法识别或识别不精准等问题,直接影响后续的人工复核。

针对上述问题,本文提出了基于MM-Net 的阀芯外表面缺陷检测模型,该模型由基于注意力机制的金字塔逐级多层次特征提取模块、多尺度特征融合模块等4 个模块组成,多个模块的组合在有效提取金属外表面缺陷的同时实现高级语义特征与低级纹理特征的有效融合,并能在识别瑕疵类型的同时确定瑕疵在图片中的位置,最后通过实验,结果显示了该模型的有效性与可行性。

1 基于MM-Net 的阀芯外表面缺陷检测模型

为了有效确定阀芯外表面缺陷的位置以及有效识别缺陷的类型,本文基于金字塔多尺度特征融合、特征提纯以及注意力机制提出MM-Net 模型,实现对缺陷以像素水平的检测。该深度CNN 网络主要包括4 个模块,分别是:基于注意力机制的金字塔逐级多层次特征提取模块、多尺度特征融合模块、特征增强与提纯模块和特征提纯与融合模块。具体结构如图1 所示。对此拟展开研究分述如下。

图1 MM-Net 阀芯外表面缺陷检测模型Fig. 1 MM-Net spool outer surface defect detection model

1.1 基于注意力机制的金字塔逐级多层次特征提取模块

多级特征提取模块为了获取阀芯外表面图片上更多需要关注的目标瑕疵的细节信息,能够抑制其他无用背景信息的干扰,通过自动计算不同特征层、特征区域的重要程度分配不同大小的权重,特征层或特征区域越重要、所分配的权重就越大。本文采用基于注意力优化的ResNet50 特征提取网络提取不同层次的阀芯外表面特征见表1。由表1 可知,该特征提取子网络主要由1 个输入层和5 个卷积块组成。

表1 特征提取网络Tab.1 Feature extraction network

首先,将预处理后的原始图片输入至特征提取网络,尺寸为1 024×640×1(1 024,640,1 分别表示图片的宽、高和通道数),再通过A-Conv1~A-Conv5 从下至上地提取包含不同纹理以及语义等信息的多尺度特征,A-Conv1~A-Conv5 均由基于注意力优化的残差卷积单元(residual unit)组成(A-ConvX),每一个A-ConvX块会对图像做2 倍的降采样,随着特征图尺度的下降,通道数会成倍增加,细节如图2(a)所示。其中,残差卷积单元由一系列卷积层、特征归一化层(BN)和激活函数层(采用ReLU作为激活函数)组成,注意力机制单元由空间注意力模块和通道注意力模块组成,利用通道注意力模块增加含有目标瑕疵特征图的通道权重,利用通道注意力模块增加特征图上瑕疵所在区域的权重。

图2 3 个模块的结构设计Fig. 2 Structural design of three modules

对于通道注意力模块,先分别通过全局平均池化(global average pooling,GAP)和全局最大池化(global max pooling,GMP)对输入的残差单元的特征FConvX进行空间方向的压缩聚合,提取各通道的全局特征(特征图大小为1×1×C),同时产生2 个向量:,再各通过2 个1×1 的多层感知器(MLP)分别对2 个向量做卷积,增加通道间的相关性,并将获得的特征向量送入Sigmoid激活函数,将向量中的值映射到[0,1]之间,生成注意力向量,且两注意力向量长度相等;最后,进行逐元素地对应相加求和合并,生成最终的通道注意力特征向量Fc。向量中的数值为对应通道的权重,值的大小显示了输入残差单元不同通道特征的重要程度,数值越大说明与之相对应的特征通道信息越重要。Fc的计算方式如下:

其中,φ(·)AvgP,φ(·)MaxP分别表示全局平均池化与全局最大池化操作;“ ⊕”表示两特征图上的特征元素对应相加;σ(·)表示Sigmoid函数。

通道注意力模块虽然能够显示不同通道特征的重要程度,但却不能提供瑕疵在特征图上的位置信息。因此,本文引入空间注意力模块来辅助定位瑕疵特征的目标位置信息,并抑制特征图上的其他背景及噪声信息的干扰。在空间注意力模块中,首先利用平均池化和最大值池化获得输入的特征图上(FConvX)各像素点沿空间维度的均值和最大值,并组成2 个新的特征向量和,接着对两特征通过相加进行求和,再通过Sigmoid函数,获得最终的空间注意力特征Fs。Fs的值越大,说明特征图上对应像素点信息对检测越重要。Fs的计算公式可表示为:

其中,φ(·)Avg,φ(·)Max分别表示平均池化和最大池化。

由此得到的基于注意力机制和残差块的特征提取方式如下:

其中,“ ⊗”表示特征图上对应像素点相乘。

1.2 多尺度特征融合模块

由多层次特征提取模块自上而下地生成含有不同上下文信息及空间分辨率的5 个特征图Fj(j =1,2,…,5),由于部分阀芯的外表面瑕疵本身具有的像素信息较少,或瑕疵区域很小,在下采样的过程中极易被丢失,为了准确地识别缺陷,有必要利用尽可能多的纹理以及语义信息。为此采用特征融合模块(Feature merging module,FMM)对由多层次特征提取模块自上而下所生成的含有不同上下文信息及空间分辨率的4 个特征图Fj(j =2,…,5)进行进一步的融合(由于F0层含有的重要信息较少、所以特征融合时不做考虑),特征融合模块如图3 所示。通过融入使各级特征包含更多的缺陷细节信息和高级语义信息,便于缺陷的定位和细节恢复。4 个特征层可以用特征集F =(F2,F3,F4,F5)表示,FMM 会合并相邻的特征图并生成新的特征集F' =(),具体过程如下:

图3 特征融合模块Fig. 3 Feature fusion module

Step 1低分辨率的F5先通过线性插值进行2倍的上采样,并利用大小为1×1 的卷积调整通道数,使得F5的通道数和分辨率与F4相同,再通过对应像素点相加实现F5与F4的融合,生成新的特征为F4'。

Step 2利用FMM 将F4'与F3融合得到特征,并用相同的方法得到特征F2'。

1.3 特征增强与提纯模块

最高级别的特征含有丰富的语义特征,以及更强的分辨能力,同时高级的特征神经元具有更大的感受野,能够获得更多的语义信息,有利于对阀芯表面大型瑕疵的检测。为了更加充分利用该层的特征信息,提高检测精度,本文提出了基于子像素卷积(sub-pixel convolution)和注意力机制的特征增强和提纯模块(Feature Enhancement and purification module,FEP),FEP 的核心结构如图4 所示。FEP的核心思想是利用子像素卷积实现对特征图F5长、宽的改变,便于和各低维度特征能够直接实现融合,并通过通道注意力模块对由子像素卷积产生的特征图做进一步提纯,从而生成更有鉴别能力的特征。具体过程如下:

图4 特征增强与提纯模块Fig. 4 Feature enhancement and refinement module

Step 1假设输入特征图的尺度为w × c × h,先通过子像素卷积改变输入特征图的形状,用C1表示改变形状后的特征图,C1的尺度为2w ×2c ×h/4,为了使C1中更多有效信息得到保留,并抑制无效信息流动到下一阶段,再次引入注意力机制。在注意力模块中,将利用1×1 的卷积改变特征图的通道数,使其和C1的通道数相同,随后通过图2(c)的注意力模块获得A1,再通过A1和特征图的对应通道相乘获得最终结果。此处需用到的数学公式为:

Step 2再采用与Step1 相类似的方法分别获得

1.4 特征提纯与融合模块

特征融合模块虽然实现了特征的自上而下的融合,但是最高特征层只是将高级语义特征向下输出,由于没有下层纹理等细节信息的向上融合,就不能从其他特征中获益,因而并不适用于对小目标的检测场景。为了进一步融合高维特征与低维特征,使得所提取的特征更丰富,以及高层语义特征中能够融合到低层纹理信息,本文采用特征提纯与融合模块(Feature purification and fusion module,FPF),如图5 所示。

图5 特征提纯与融合模块Fig. 5 Feature purification and fusion module

具体过程如下:

Step 1通过大小为3×3 的卷积核对低水平特征Flow做卷积的下采样操作得到,卷积核每次在特征图上的移动步长为2,卷积完成后特征图的大小的通道数和高水平特征Fhigh相同。

其中,Αc与Αs分别表示通道注意力和空间注意力操作,“ *”为卷积操作。

为了整个网络的参数能够通过不断迭代调整到最优值,本文采用二元交叉熵损失函数,即:

其中,y,分别表示样本的真实值与预测值,N为一个batch size中的样本数。

2 实验与分析

2.1 工作站配置

为了验证本文所提出MM-Net 模型在阀芯外表面缺陷检测的有效性与可行性,接下来通过实验和对比分析进行验证测试。验证测试在实验室的工作站上进行,工作站的配置细节见表2。

表2 工作站配置Tab.2 Workstation configuration

2.2 数据集与评价指标

为了验证本文所提模型的有效性,根据企业的实际需求将瑕疵类型分为:脏污、夹伤、外表粗糙、电化学腐蚀、划伤五类,其中脏污、夹伤、电化学腐蚀、划伤对阀芯本身的影响是不可逆的,而外表粗糙可通过打磨返修后二次使用。所采集的图片分辨率为2 048×2 448,图片格式为JPG 格式,位深度为8,通道数为1,各类别瑕疵图片数目见表3。

表3 各类瑕疵样本数Tab.3 The number of samples of various defects

由于原始图片过大,如果直接输入模型进行训练和测试,会因为图片分辨率过高影响训练与推理速度,所以先利用OpenCV 的threshold、findContours等模块对图片做预处理提取ROI 区域。预处理后的分辨率为1 024×640,各类预处理后阀芯外表面的瑕疵图片如图6 所示。

图6 预处理后的各类瑕疵特征Fig. 6 Various defect features after preprocessing

由于深度学习是基于大数据的,在训练过程中需要大量的图片提取足够丰富的特征供整个模型学习,防止模型产生欠拟合。本次实验采用旋转、缩放、裁剪、Mosiac 及CutMix 对原始各瑕疵流类型的样本量进行数据增广,增广后的样本总量为35 000张,并按照9 ∶1 的比例划分为训练集及测试集。文中选择以精确率(Precision)、召回率(Recall)和平均交并比(MIoU)作为最终模型检测性能的评价指标。

2.3 结果分析

模型训练的初始学习率为0.001,学习率的衰减方式为余弦退火衰减,优化器为带有动量的SGD 算法,其中的衰减系数设置为0.9,Batch size为8,整体模型共迭代800 个Epochs。

图7 显示了夹伤、划伤两种不同缺陷类型的检测结果。从结果上看,MM-Net 均取得了良好的分割效果,较为准确地识别了缺陷在图片中的位置。

图7 基于MM-Net 的部分阀芯外表面检测结果Fig. 7 Detection results of part of the outer surface of the valve core based on MM-Net

为了进一步验证与评估本文所提检测模型MMNet 对阀芯外表面缺陷检测的性能,本文将MM-Net模 型 与 FCN、UNet、DeepLabv3、EncNet、SegNet、PSPNet 模型进行对比实验,实验结果见表4。

表4 基于不同模型的阀芯外表面缺陷检测结果对比Tab.4 Comparison of detection results of spool outer surface defects based on different models

由表4 可以看出,在阀芯外表面缺陷检测的检测时间上除了FCN 的时间(0.065 s)大于本文所提模型MM -Net 的0.056 s 外,UNet、DeepLabv3、EncNet、SegNet 及PSPNet 的检测时间均小于MMNet,主要原因是本文采用了基于attention 机制的模型特征提取模块,在特征提取的同时需要完成对特征的提纯,并采用多尺度特征融合模块、特征增强与提纯模块及特征提纯与融合模块对特征做进一步的提纯和融合,整体结构模型较UNet、DeepLabv3 等模型更为复杂,推理检测时间更长。但在精度(Precision)上,MM-Net 比剩余模型中精度最高的PSPNet 模型高1.82%,召回率(Recall)和MIoU上MM-Net 均比剩余模型中召回率和MIoU最高的DeepLabv3 分别高出4.41%和4.23%,说明本文所提的MM-Net 算法提取到了更有效的阀芯外表面特征,多个模块的组合增强了模型本身的学习能力,也更有效地实现了瑕疵特征的提纯与融合。

3 结束语

针对现有阀芯外表面检测方法所存在的缺陷,并根据阀芯外表面缺陷的类型与结构特点,本文提出基于MM-Net 的缺陷检测方法,所提出的MMNet 由多个特征提取模块、特征提纯与融合模块组合而成,多个模块的组合也实现了对更精细、更丰富特征的提取,通过消融实验验证了将MM-Net 应用于阀芯外表面检测的有效性,在检测时间相近的情况下,MM-Net 在准确率、召回率、MIoU三个方面均表现出了优势。但多个模块的组合也使整体模型较为复杂,后续可围绕整体模型的轻量化做进一步研究。

猜你喜欢
瑕疵特征提取注意力
让注意力“飞”回来
登记行为瑕疵与善意取得排除的解释论
哦,瑕疵
基于Gazebo仿真环境的ORB特征提取与比对的研究
哦,瑕疵
基于Daubechies(dbN)的飞行器音频特征提取
“扬眼”APP:让注意力“变现”
Bagging RCSP脑电特征提取算法
A Beautiful Way Of Looking At Things
毫无瑕疵的推理