1. 引言
随着科学技术的进步,现代工业正朝着智能化、自动化的方向迅速发展。高度自动化的制造体系对工业设备的稳定性提出了更高的要求,因此,故障诊断技术在现代制造业中显得尤为重要。研究发现,机械磨损是造成设备失效的主要因素,大约有80%的机械故障是由磨损引起的 [1]。在设备高强度运转过程中,磨损会加剧机械零部件的损耗,降低设备的工作效率、精度,影响设备正常运行,甚至会发生灾难性事故 [2]。因此,通过技术手段对磨损进行有效地、实时地监测对于维持设备稳定、高效地运转有着重要的实际意义。
铁谱分析技术设备故障诊断中的重要技术手段。铁谱图像中的磨粒形态与分布能够反映设备的磨损状态。铁谱分析技术可以通过数字图像处理技术对磨粒进行识别,从而判断设备的磨损状态。到目前为止,研究人员在建立磨粒自动分类系统方面做了大量的工作。K. Jardine人利用面积、周长和伸长参数来区分磨损碎屑,结果表明,这些形态特征能有效地分辨某些种类的磨损碎屑,但是有几种大于20微米的异常碎片无法准确识别 [3]。Li Q等人采用了基于磨粒形状检测的支持向量机算法 [4]。Peng Z等人提出了一种称为FECNN的卷积神经网络模型,用于识别包括切削、球形、疲劳和滑动颗粒在内的单个磨损颗粒的图像 [5]。Fengguang Jia等人提出了一种用于铁谱磨粒图像分析的新型识别网络,以DenseNet121为基础网络,采用迁移学习方法构建DCNN模型(FWDNet),获得了90.15%的准确率 [6]。
不同的磨损机理产生的磨粒各异,因而可以通过磨粒分析来识别引起磨损故障的磨损机理。与润滑油分析有关的磨损机理可以分为以下几类:粘着磨损、磨料磨损、疲劳磨损和腐蚀磨损 [7]。本文构建了新的分类器来识别上述磨损类型及正常磨损。为了提高磨损类型识别的精度,本文采用EfficientNet-B0 [8] 作为磨损类型识别的基本模型,将卷积注意力模块(Convolutional Block Attention Module, CBAM) [9] 融合到EfficientNet-B0中,构建CBAM-EfficientNet-B0,从而提高网络模型磨粒信息的表达能力。这是EfficientNet和CBAM模块在磨损类型识别的首次应用。
2. 本文方法
2.1. EfficientNet
EfficientNet是一个通过缩放三个参数(即深度、宽度和分辨率)而开发的高效的分类网络。网络有不同的版本,从B0到B7,逐渐增加了子块的数量。本文选择EfficientNet-B0作为特征提取器。在该网络中,输入图像分辨率为224 × 224,EfficientNet是基于MBConv模块建立的网络。MBConv模块的示意图如图1所示。EfficientNet-B0的网络结构图如图2所示。
Figure 1. Schematic diagram of MBConv module
图1. MBConv模块示意图
如图1所示,MBConv模块由左右两个部分组成,左边是该模块的主干部分,右边是该模块的残差边。首先对输入特征层进行卷积核大小为1 × 1的卷积操作以实现升维,然后进行标准化和激活函数。接着进行卷积核大小为3 × 3或5 × 5的深度可分离卷积,之后进行标准化和激活函数。再进行添加注意力机制,注意力机制部分也包括两个部分,左边是SE (Squeeze Excitation)注意力模块,右边是需要添加注意力的特征层。在SE模块中,首先对输入特征层进行全局平均池化,然后利用缩减比对神经元数量进行缩减,其宽度或神经元数量由缩减比决定。缩减比越高,瓶颈中的神经元数量越少,反之亦然。接着进行1 × 1卷积降维和1 × 1卷积升维,此时获得的特征层通道数和输入特征层通道数相等,可以代表注意力机制输入的特征层每个通道的权重,最后进行相乘操作实现了注意力机制的施加。最后通过一个卷积核大小为1 × 1的卷积进行降维操作,标准化操作后增加残差边得到最后的输出特征层。
Figure 2. EfficientNet-B0 network structure diagram
图2. EfficientNet-B0网络结构图
EfficientNet由1个Stem、16个MBConv模块、Con2D、GlobalAveragePooling2D和Dense组成。Stem用于进行特征的初步提取,由卷积、标准化和激活函数构成。该网络的核心是16个MBConv模块。MBConv模块是EfficientNet特有的特征提取结构,在模块堆叠的过程中完成高效的特征提取。Conv2D + GlobalAveragePooling2D + Dense是该网络的分类头,全连接后用于最终的分类。
2.2. 融合CBAM模块的EfficientNet-B0网络
CBAM (Convolutional Block Attention Module)是一种新的卷积注意力模块,创新地提出了通道注意力模块(Channel Attention Module, CAM)与空间注意力模块(Spatial Attention Module, SAM)融合的注意力机制。该注意力模块对于前馈卷积神经网络来说简单又有效,同时又具有轻量化、通用性强的优点,可以无缝集成到任何卷积神经网络中以从中间的“输入特征图”中获得后续的“精炼特征图”,从而提高网络的分类精度的效果。CBAM的结构如图3所示。
Figure 3. CBAM network structure diagram
图3. CBAM网络结构图
CAM的网络结构图如图4所示。CAM较SE做了修改,不是通过全局平均池化将特征进行下采样,而是将输入特征图分解为2个后续的维度向量,其中一个向量由全局平均池化层生成,另一个向量由全局最大池化层生成。全局平均池化层主要用于聚合空间信息,而全局最大池化层以图像中对象边缘的形式保留了更丰富的上下文信息,从而得到更精细的通道注意力。简而言之,平均池化具有平滑效果,而最大池化具有更锐利的效果,但更精确地保留了对象的自然边缘。研究表明,使用全局平均池化层和最大池化比仅使用平均池化得到的结果更好。然后分别经过共享多层感知机(Multilayer Perceptron, MLP)。将MLP输出的特征进行基于逐元素的加和操作,再经过Sigmoid激活操作,生成最终的通道注意力特征图。将该通道注意力特征图和输入特征图做逐元素的乘法操作,生成空间注意力模块需要的输入特征。
Figure 4. CAM network structure diagram
图4. CAM网络结构图
SAM的网络结构图如图5所示。空间注意模块由三部分组成,第一部分为通道池化层,输入层被分解成两个通道即最大池化和平均池化,然后将这两个通道汇集作为下一层的输入。因此,这个卷积层是一个空间维度保持卷积。第二部分是批量标准化(BatchNorm, BN)层,用于对卷积的输出进行归一化和缩放。第三部分是Sigmiod激活层。Sigmoid是一种概率激活,它将所有值映射到0到1之间的范围内。然后使用简单的元素乘积将这个空间注意掩码应用于输入张量中的所有特征图。
原EfficientNet-B0网络中虽包含通道注意力机制SE,但CBAM中的CAM较SE做了改进,同时原网络未考虑空间信息注意力,而CBAM中包含了这一机制,将CBAM引入到EfficientNet-B0网络可以进一步提升网络的特征提取能力从而使网络的识别精度更高。
Figure 5. SAM network structure diagram
图5. SAM网络结构图
改进后的EfficientNet-B0将CBAM融入到了EfficientNet-B0中,并将其命名为CBAM-EfficientNet-B0。CBAM-EfficientNet-B0的结构图如图6所示。
Figure 6. CBAM-EfficientNet-B0 network structure diagram
图6. CBAM-EfficientNet-B0网络结构图
如图6所示,CBAM-EfficientNet-B0主要由EfficientNet-B0和CBAM模块组成。在CBAM-EfficientNet-B0中,EfficientNet-B0模型用于提取磨粒特征,将CBAM模块插入在16个MBConv模块之后用于将提取到的特征进行细化。当输入磨粒图像的特征图F输入到CBAM模块时,CBAM模块首先将特征图F发送到通道注意力模块进行处理,得到输入磨粒图像的通道注意力特征图Mc。然后,将Mc与F相乘得到空间注意力模块所需的精炼磨粒特征图F’。然后,将F’送入空间注意力模块,生成磨粒图像的空间注意力特征图Ms,Ms乘以F’生成CBAM模块的输出磨粒图像特征图。该模型输入为图像分辨率为224 × 224的三通道图像,识别结果作为输出。
3. 实验过程及结果分析
3.1. 数据集
本文创建了包括正常磨损、粘着磨损、磨料磨损、疲劳磨损和腐蚀磨损的五类磨损类型的磨粒图像数据集,一共包含3076张图像,按照9:1的比例划分训练集和测试集。磨粒数据集具有类间差异小、类内差异大的特点。各类磨损图像样本如图7所示。磨损类型标签的数据分布如表1所示。
Figure 7. Sample images of five wear types
图7. 五种磨损类型样本图像
Table 1. Wear type label data distribution table
表1. 磨损类型标签数据分布表
3.2. 实验环境
本文算法运行系统为Windows10,采用深度学习开源框架PyTorch,程序使用Python语言进行编写,并使用GPU处理器加快模型的训练速度,本文所使用的计算机配置如表2所示。在此硬件环境上,基于PyTorch框架实现CBAM-EfficientNet-B0网络,算法运行的软件环境如表3所示。
Table 2. Computer configuration used in this article
表2. 本文所使用的计算机配置
Table 3. Software operating environment
表3. 软件运行环境
3.3. 评价指标
为了评价提出的磨损类型识别模型CBAM-EfficientNet-B0的分类性能,本文采用准确率(Accuracy)、混淆矩阵(Confusion matrix)、精确率(Precision)、召回率(Recall)和F1分数(F1-score)来作为评价标准 [10]。
对于图像分类模型,识别准确率是非常重要的评价指标。识别准确率为全部分类正确的样本数除以总的样本数量的概率值,计算表达式如公式(1)所示。
(1)
其中,
表示被正确预测的样本数量,
表示测试集的总样本数量。
混淆矩阵的作用是帮助分析每个类别的每个类别的误分类情况。混淆矩阵大小为(n, n)的方阵,其中n表示类别的数量。该矩阵的行和列分别表示预测值和真实值。
精确率表示测试集中被预测为正样本的数量中被正确预测的概率。召回率表示测试样本中的正样本被正确预测的概率。精确率和召回率的计算表达式如公式(2)和公式(3)所示。
(2)
(3)
其中TP、FP和FN分别代表真阳性、假阳性和假阴性。真阳性表示识别类型为阳性,预测为阳性;假阳性表示识别类型为阴性,预测为阳性;假阴性表示识别类型为阳性,预测为阴性。精度和召回率是相互独立的,精度高意味着误识别率低,召回率高意味着漏识别率低。
F1分数为精确率和召回率的调和平均数,表示了图像识别模型的精确程度,该指标综合考虑了分类模型的性能,其表达式如公式(4)所示。
(4)
3.4.实验设置及结果分析
网络的训练流程如图8所示。首先对输入图像进行预处理,使其分辨率置为224 × 224,并结合ImageNet预训练模型对系统初始化。训练过程预设为200轮epoch,采用余弦退火 [11] 衰减策略进行学习率的调整。余弦退火算法促进学习率周期变化。设置最大学习率为1e−3,最小学习率为1e−6。前100轮epoch的Batchsize设置为32,后100轮epoch的Batchsize设置为16。为进一步提升模型的性能,试验时采用迁移学习和在线数据增强策略,并采用随机梯度下降优化器 [12] 来优化损失函数。
模型训练的损失函数曲线如图9所示。从图9可以看出,本文提出的算法训练过程中Loss值逐渐平稳,最后达到收敛。
接下来使用磨损类型测试数据集图像评估CBAM-EfficientNet-B0模型的识别性能。用于在测试数据集中识别磨损类型的CBAM-EfficientNet-B0的混淆矩阵如图10所示。
从混淆矩阵可以清晰地看出各类磨损情况,磨损类型的误识别主要发生在粘着磨损和腐蚀磨损之间。这是由于磨粒数据集中粘着磨损和腐蚀磨损之间的差异极小且细微。对CBAM-EfficientNet-B0在测试集上的定量评估结果如表4所示。
由表可知,提出的CBAM-EfficientNet-B0对测试数据集中的磨损类型识别取得了很好的效果。从单个类型识别的角度来看,CBAM-EfficientNet-B0对5种磨损类型的识别精确率高于86.96%,召回率高于85.71%,F1值高于90.57%。识别效果最好的磨损类型为正常磨损,CBAM-EfficientNet-B0对正常磨损识别的精确率、召回率和F1值分别为100%、98.28%和99.13%。从总体品种识别的角度来看,我们发现CBAM-EfficientNet-B0对测试数据集识别的总体准确率为92.55%,平均精确率为92.49%,平均召回率为93.12%,平均F1值为92.64%,表明CBAM-EfficientNet-B0具有较稳定的识别所有磨损类型的能力。
Figure 9. Loss curve of model training
图9. 模型训练的Loss曲线
Figure 10. Confusion matrix of CBAM-EfficientNet-B0
图10. CBAM-EfficientNet-B0的混淆矩阵
Table 4. CBAM-EfficientNet-B0 quantitative evaluation result
表4. CBAM-EfficientNet-B0定量评估结果
为了更好地评估CBAM-EfficientNet-B0模型的识别性能,在磨粒测试数据集上将CBAM-EfficientNet-B0模型与其他经典分类网络MobilenetV3、Resnet50、VGG16、ViT和EfficientNet-B0进行了比较。本文平均精确度、平均召回率、准确率作为评价指标,使用不同模型的定量评价结果如表5所示。
Table 5. Quantitative evaluation results of different models
表5. 不同模型的定量评价结果
从表5中可以清楚地看出,EfficientNet-B0与MobilenetV3 [13]、Resnet50 [14]、VGG16 [15] 和ViT [16] 相比,EfficientNet-B0对磨损类型的平均精确度、平均召回率、准确率都是最高的,说明EfficientNet-B0对磨损类型的识别能力更强。EfficientNet-B0对磨损类型的总体识别准确率为90.04%,比MobilenetV3、Resnet50、VGG16、ViT分别提高了9.62%、6.82%、9.97%和8.92%。本文算法基于EfficientNet-B0进行改进,改进后较改进前的平均精确度、平均召回率、准确率均有所提高,分别提升了3.20%、3.15%和2.51%。这是因为在网络中加入CBAM注意力机制起到了显著提高磨损类型识别的作用。
4. 结论
铁谱磨粒图像的智能识别和分类能够反映磨损状态,为设备的状态维修和故障诊断提供依据。在本研究中,数据集包含五种磨损类型的磨粒图像,包括正常磨损、粘着磨损、磨料磨损、疲劳磨损和腐蚀磨损。本文利用基于深度学习的计算机视觉技术,提出了磨损类型识别模型CBAM-EfficientNet-B0对五种磨损类型进行识别。经实验测试,本文提出的CBAM-EfficientNet-B0能够准确识别5种磨损类型。在测试数据集上与对比实验中使用的其他模型相比,CBAM-EfficientNet-B0在评价指标上具有明显的优势。
该研究为深度学习技术在设备的状态维修和故障诊断中的应用提供了新的有效策略和理论基础,为磨损类型的自动识别提供了技术支持。建议今后的工作可以进一步丰富磨损类型数据集,比如疲劳磨损又分为点蚀、剥落和剥层三种表现形式,细分种类为精准故障诊断研究提供充分的数据基础。在未来的研究中,将优化CBAM-EfficientNet-B0模型的速度,并尝试在移动端进行模型部署。