Evaluating Rust Grades Based on Attention Mechanism and Bilinear Pooling
-
摘要: 水工机械装备(如闸门、拦污栅等)长期服役于水域环境,其结构表面会不可避免地产生锈蚀。对于重要的关键受力结构件,如果不能准确检测其锈蚀的严重程度,会导致其维修加固不及时,进而直接威胁受损结构周围人员的生命安全。目前,对水工机械装备锈蚀特征识别主要以人工目视检测为主,容易导致视觉疲劳、主观性较强、锈蚀程度的检测准确率不高等问题。为此,本文提出以VGG–16(visual geometry group,VGG)网络为基础、融合注意力机制和双线性池化的锈蚀等级评估方法。首先,利用RGB(red green and blue)和HSV(hue saturation and value)两种色彩空间中不同分量包含锈蚀图像特征不同的特点,将不同色彩空间作为不同支路网络的输入,使其能够充分利用不同色彩空间的图像特征;其次,在两个支路网络中嵌入注意力机制,通过注意力机制的可训练权重对锈蚀图像的特征进行重标定,调整权重,聚焦于最相关的特征进行学习;再次,采用双线性池化融合不同支路提取的特征,使网络聚焦于最相关的细粒度图像特征,提高网络模型对锈蚀图像细微差异特征的利用;最后,通过盐雾锈蚀实验获取锈蚀图像数据,并在数据集上对本文方法进行消融和对比分析。结果表明,相较于原模型及其他主流算法,改进后模型的分类准确率达到了0.953,精确率、召回率、F1系数等评价指标均有大幅提升,本文方法对于不规则锈蚀图像特征能够取得更好的评估效果,可以转化应用于工程实践。Abstract: Hydraulic machinery and equipment (such as gates, trash racks, etc.) inevitably suffered from corrosion on their structural surfaces due to the long-term usage in the water environment. If the severity of corrosion cannot be accurately detected, the maintenance and strengthening of important key stress-bearing structural components may fail to be timely implemented, which further threatens people’s life around the damaged structure. Currently, the identification of corrosion features of hydraulic machinery and equipment mainly depends on manual visual inspection, resulting in strong subjectivity, poor detection accuracy limited by visual fatigue. To address this issue, a corrosion-rating evaluation method is proposed by incorporating the attention mechanism and bilinear pooling into the VGG–16 (visual geometry group, VGG) backbone. Considering that different components in the RGB (red green and blue) and HSV (hue saturation and value) color spaces present distinctive features on the rust image, a multi-branch neural architecture is designed to learn informative features by taking different color spaces as inputs. The attention mechanism is embedded in the branch network to recalibrate the features of the rust image by the learnable weights, focusing on the learning of task-oriented features to support the evaluation. The bilinear pooling is applied to fuse the extracted representations of branch networks to enhance the fine-grained features, which improves the ability to utilize the contrastive details. A rust image dataset is constructed to validate the proposed approach using the salt spray corrosion test . Experimental results demonstrate that the proposed approach outperforms the selective baselines, achieving a 0.953 detection and other measurements, including the precision, recall andF1 scores, are also greatly improved. Most importantly, the proposed approach can achieve better performance for irregular corrosions, which has huge potential for the application of the engineering practice.
-
Keywords:
- rust image /
- VGG–16 /
- attention mechanism /
- bilinear pooling /
- rust grade
-
水工机械装备(如闸门、拦污栅等)长期服役于水域环境,受水流冲击、泥沙冲磨、水体浸泡、干湿交替、水生物侵蚀等水域特殊环境因素影响,其结构表面会不可避免地产生锈蚀[1]。通常采用防护措施和定期维修制度来延长其使用寿命。美国材料与试验学会(American Society of Testing Materials, ASTM)曾提出评定锈蚀性能并确定喷涂修复计划的相关指南[2];中国也制定了类似于ASTM的锈蚀等级评测标准[3];其中,锈蚀程度是确定修复计划的重要指标因素[4]。
水工机械装备的锈蚀程度轻微时,对其承载能力、刚度和稳定性影响极小;但当其锈蚀程度严重时,若不及时采取维修加固措施,则会缩短其使用寿命,威胁受损结构周围人员的生命安全。如:美国加利福尼亚州福尔瑟姆坝溢洪道弧形钢闸门,由于闸门锈蚀严重,支臂不能有效承载扭曲弯矩,闸门在关闭时突然发生垮塌[5];中国江西省某水电站运行30多年后发电主闸门因锈蚀严重而全部换新[6]。
传统上,目视检查是大型水工机械装备常规的检测方式,专业人员对锈蚀部位进行外观检测,并结合国家标准样图完成综合测评[7]。然而,实际操作中人们很难近距离接触锈蚀区域并进行目测评估,检测结果具有很强的主观性。近年来,数字图像技术已开始应用于大型金属结构的锈蚀特征检测,如:Liao等[8]研究了非均匀光照条件下铁桥表面锈蚀区域的检测,使用灰度变异系数和HIS(hue intensity and saturation)色彩空间下的色相分量作为检测时分组处理的判断依据。宋伟等[9]结合直方图均衡化、形态学处理和RGB色彩空间建立了基于图像处理技术的防震锤锈蚀缺陷检测方法;为了使数字图像技术更加实用,还需要结合模式识别技术来实现锈蚀区域及锈蚀程度的智能检测和评估。
深度学习通过逐层特征变换,将原样本空间的特征表示变换到新特征空间,使得样本数据的内在规律和层次表示更易描述[10]。深度学习的特质为锈蚀图像的锈蚀严重程度智能评估提供了新的思路。韩冬等[11]采用改进的轻量化网络对岸桥表面的锈蚀进行检测,能够分类识别高、中、低3种尺度的岸桥腐蚀;王达磊等[12]通过改进的UNet网络对锈蚀图像进行分割,通过锈蚀面积、锈蚀率等指标实现了锈蚀的定量评估;Atha等[13]构建CNN(convolutional neural networks)模型,使用滑动窗口法对裁剪后的图像块进行训练,实现了锈蚀图像区域的二值分类。上述方法针对大面积的锈蚀缺陷取得了一定效果,但对于时间跨度较小的细微锈蚀图像特征,其识别准确率很难满足工程实用要求,且实时性较差,泛化性不强。在深度学习领域,LeNet–5[14]、ZFNet[15]和VGG[16]系列神经网络是较为经典的网络模型,ZFNet在AlexNet的基础上发展而来,并在2013年大规模视觉挑战赛(Imagenet Large Scale Visual Recognition Challenge,ILSVRC)获得了优异的成绩[17];VGG–16网络是牛津大学和DeepMind公司共同研发的用于ImageNet数据集[18]分类的一种卷积神经网络,在2014年大规模视觉识别挑战赛中获得了优异的分类性能[19]。为此,本文将VGG–16网络的特征标记模式进行改进并用于锈蚀图像特征提取,采用RGB和HSV两种锈蚀色彩空间作为输入,以VGG–16作为规整网络并嵌入注意力机制和双线性池化模块,通过注意力机制的可训练权重对锈蚀图像特征进行重新标定,结合双线性池化使网络聚焦于最相关的细粒度图像特征进行深度学习,从而实现对时间跨度较小的细微锈蚀图像特征锈蚀等级的准确评估。
1. 基础理论
1.1 传统VGG–16模型
研究者在经典卷积神经网络的基础上通过探索卷积神经网络的深度与网络模型性能之间的关系,发现采用多个连续较小的卷积核替代大卷积核,以及采用更深的网络层次(即VGGNet)可以在一定程度上提升模型的性能,从而大幅降低错误率[20]。因此,本文所提网络模型将VGG–16作为骨干网络并在此基础上进行改进。
VGG–16的网络结构如图1所示,它由13个卷积层、5个最大池化层和3个全连接层构成,其中,卷积层和池化层可以划分为不同的块,从左到右依次编号为block1~5。block1和2均包括2个卷积层和1个最大池化层,block3~5均包含3个卷积层和1个最大池化层。该模型要求输入的原始图片矩阵大小为224×224×3;网络结构中所有卷积层的卷积核大小均为3×3,步长为1;最大池化层均采用2×2的池化核,步长为2;激活函数选用ReLU函数。3个全连接层依次布置在block5之后,前两层对应提取图像中的高层特征信息,第3层的结果输入Softmax分类器进行概率输出以便实现图像的分类。
1.2 注意力机制
在图像的识别与分类领域中,注意力机制使用可训练的权重对特征进行重标定,调整不同通道或者不同空间位置之间的权重,使得网络模型聚焦于最相关特征进行深度学习,抑制弱相关和不相关的特征信息[21–22]。本文引入了通道注意力模块和空间注意力模块,分别嵌入到两路网络block2和3之间,提高分类模型对锈蚀颜色和纹理特征的提取能力。
1.2.1 通道注意力机制
通道注意力需要对
$C$ 个特征通道分配权重,本文将SENet(squeeze and excitation networks)的挤压激励模块作为通道注意力的基础模块,并采用一个卷积核大小为1×1的卷积层替代全连接层以减少参数量。通道注意力机制分为压缩、激励和特征重标定3个步骤[23]。在压缩步骤中,采用全局平均池化对输入的特征图进行操作,从而将全局通道特征压缩成一个通道描述符
${{{{\boldsymbol{z}}}}_c} \in {{\mathbb{R}^{1 \times 1 \times C}}$ ,如下式所示:$${\qquad {{{{\boldsymbol{z}}}}_c} = {F_{{\rm{sq}}}}({{\boldsymbol{u}}_c}) = \frac{1}{{H \times W}}\sum\limits_{i = 1}^H {\sum\limits_{j = 1}^W {{{\boldsymbol{u}}_c}} } (i,j) }$$ (1) 式中:
$ {{\boldsymbol{u}}_c} $ 为输入通道$ c $ 的特征图,$ {{\boldsymbol{u}}_c} \in {\mathbb{R} ^{H \times W \times C}} $ ,其特征图的高度和宽度分别为H和W;${F_{{\rm{sq}}}}$ 为压缩函数;${{{{\boldsymbol{z}}}}_c}$ 为通道$ c $ 的压缩输出特征图。在激励步骤中,对压缩步骤之后的输出特征图
$ {{\boldsymbol{z}}_c} $ 使用卷积核大小为1×1的卷积和ReLU激活函数进行非线性表达,再由Sigmoid函数生成通道注意力权重 ,从而对各个通道建立联系,计算公式如下:$${\qquad {M_c} = {F_{{\text{ex}}}}({{\boldsymbol{z}}_c}) = {\text{Sigmoid}}\left( {{\text{ReLU}}\left( {{f^{1 \times 1}}\left( {{{\boldsymbol{z}}_c}} \right)} \right)} \right) }$$ (2) 式中,
${M_c}$ 为通道$ c $ 的注意力权重,${F_{{\text{ex}}}}$ 为激励函数,${f^{1 \times 1}}\left( {{{\boldsymbol{z}}_c}} \right)$ 表示使用大小为1×1的卷积核对特征图${{\boldsymbol{z}}_c}$ 进行卷积操作。在特征重标定步骤中,将原始的输入特征图
${{\boldsymbol{u}}_c}$ 与通道注意力权重${M_c}$ 进行逐元素相乘实现特征映射,从而得到通道注意力加权图${F_{{\text{cout}}}} \in {{\mathbb{R}}^{H \times W \times C}}$ :$$ {F}_{\text{cout}}={F}_{\text{scale}}({{\boldsymbol{u}}}_{c},{M}_{c})={M}_{c}\cdot {{\boldsymbol{u}}}_{c} $$ (3) 式中,
$ {F_{{\text{scale}}}} $ 为变换函数。本文采用的通道注意力模块的网络结构如图2所示。
1.2.2 空间注意力机制
空间注意力模块需要对
$ H \times W $ 个特征点分配权重,本文采用大小为1×1的卷积核对输入特征矩阵进行特征提取,从而使网络模型获得不同区域锈蚀形貌的多样化特征和关联信息。空间注意力机制分为压缩、激励和特征重标定3个步骤。在压缩步骤中,采用全局最大池化对输入的特征图进行操作,从而将全局通道特征压缩成一个通道描述符
${{\boldsymbol{z}}_s} \in {{\mathbb{R}}^{H \times W \times 1}}$ ,计算方式如下所示:$$ {{\boldsymbol{z}}_s} = {F_{{\text{sq}}}}\left( {{{\boldsymbol{u}}_s}} \right) = {\text{MaxPool}}({{\boldsymbol{u}}_s}) $$ (4) 式中:
$ {{\boldsymbol{u}}_s} $ 为输入通道序号为$ s $ 的特征图,$ {{\boldsymbol{u}}_s} \in {\mathbb{R}^{H \times W \times C}} $ ,${{{s}}} \in[1, C] $ ,其特征图的高度和宽度分别为H和W,通道数为C;$ {F_{{\text{sq}}}} $ 为压缩函数;$ {\text{MaxPool}} $ 为全局最大池化;$ {{\boldsymbol{z}}_s} $ 为通道$ s $ 的输出特征图。在激励步骤中,首先,对压缩步骤之后的特征图
$ {{\boldsymbol{z}}_s} $ 使用卷积核大小为1×1的卷积操作,以捕获水平和垂直方向上的锈蚀图像信息;然后,对该空间描述符进行Sigmoid激活操作,将特征值压缩至0~1,生成空间注意力权重图${M_s} \in {{\mathbb{R}}^{H \times W \times 1}}$ ,${M_s}$ 的计算公式如下:$${\qquad {M_s} = {F_{{\text{ex}}}}({{\boldsymbol{z}}_s}) = {\text{Sigmoid}}\left( {{f^{1 \times 1}}\left( {{{\boldsymbol{z}}_s}} \right)} \right) }$$ (5) 式中:
${F_{{\text{ex}}}}$ 为激励函数;${f^{1 \times 1}}\left( {{{\boldsymbol{z}}_s}} \right)$ 表示使用大小为1×1的卷积核对特征图$ {{\boldsymbol{z}}_s} $ 进行卷积操作。在特征重标定步骤中,将原始的输入特征图
$ {{\boldsymbol{u}}_s} $ 与空间注意力权重$ {M_s} $ 进行逐元素相乘实现特征映射,从而得到空间注意力加权图${F_{{\text{sout}}}} \in {{\mathbb{R}}^{H \times W \times C}}$ :$$ {F}_{\text{sout}}={F}_{\text{scale}}({{\boldsymbol{u}}}_{s},{M}_{s})={M}_{s}\cdot {{\boldsymbol{u}}}_{s} $$ (6) 式中,
$ {F_{{\text{scale}}}} $ 为变换函数。本文采用的空间注意力模块的网络结构如图3所示。
1.3 双线性池化
在锈蚀图像分类任务中,相邻锈蚀等级的图像由于时间相隔较短而形貌差异小,相同锈蚀等级图像由于时间跨度较长而形貌差异大。因此,可以将锈蚀图像等级分类评估视为一种细粒度图像分类任务[24]。本文引入细粒度图像分类中常用的双线性池化模块,以提升网络模型对于具有细微差异的锈蚀等级类别的分类效果。
双线性池化模型采用两个结构相同的网络分别提取特征,并对同一位置上的两个特征采用双线性池化进行特征融合,其模型表达式为:
$$ M = \left( {{f_{\text{A}}},{f_{\text{B}}},P,E} \right) $$ (7) 式中:
$M$ 为双线性模型;${f_{\text{A}}}$ 和${f_{\text{B}}}$ 为特征提取函数,分别对应CNN网络A和CNN网络B;$P$ 为池化函数;$E$ 为分类函数。特征提取函数
$f$ 可以表示为一个函数映射:$f:{\boldsymbol{L}} \times {\boldsymbol{I}} \to {\mathbb{R}^{C \times D}}$ ,将输入图像${\boldsymbol{I}}$ 和位置区域${\boldsymbol{L}}$ 映射成一个$C \times D$ 维的特征,$C$ 为特征图的通道数,$D$ 为深度。采用一个双线性操作将两个特征提取函数得到的两组特征在每一空间位置l$({\boldsymbol{l}} \in {\boldsymbol{L}})$ 按照矩阵的外积进行组合,得到一个双线性特征$ {{\boldsymbol{B}}_k} $ ,其计算公式如下:$$ {{\boldsymbol{B}}_k}\left( {{\boldsymbol{l}},{\boldsymbol{I}},{f_{\text{A}}},{f_{\text{B}}}} \right) = {{\boldsymbol{f}}_{\text{A}}}{({\boldsymbol{l}},{\boldsymbol{I}})^{\text{T}}}{{\boldsymbol{f}}_{\text{B}}}({\boldsymbol{l}},{\boldsymbol{I}}) $$ (8) 式中:k为大于等于1的自然数,其值的范围由空间位置l 的个数所确定;
${{\boldsymbol{f}}_{\text{A}}}({\boldsymbol{l}},{\boldsymbol{I}}) $ 为输入图像I至网络A,在空间位置l 输出的特征图;${{\boldsymbol{f}}_{\text{B}}}{({\boldsymbol{l}},{\boldsymbol{I}}) $ 为输入图像I至网络B,在空间位置l 输出的特征图。池化函数
$P$ 通过累加操作将所有位置的双线性特征融合,得到原始图像的一个全局特征。假设对于每个位置${\boldsymbol{l}}$ ,特征提取函数输出的特征维度分别为${\boldsymbol{a}} \in {\mathbb{R}^{C \times X}}$ 与${\boldsymbol{b}} \in {\mathbb{R}^{C \times Y}}$ ,则池化的双线性特征是${\boldsymbol{x}} = {{\boldsymbol{a}}^{\text{T}}}{\boldsymbol{b}}$ ,池化函数$P$ 输出的全局特征大小为$X \times Y$ ,将其转换成为一个$XY \times 1$ 的双线性向量$ {\boldsymbol{\varPhi}} ({\boldsymbol{I}}) $ 作为所提取的特征,$ {\boldsymbol{\varPhi}} ({\boldsymbol{I}}) $ 计算公式如下:$$ {\boldsymbol{\varPhi}} ({\boldsymbol{I}}) = \sum\limits_{{\boldsymbol{l}} \in {\boldsymbol{L}}} {{{\boldsymbol{B}}_k}} \left( {{\boldsymbol{l}},{\boldsymbol{I}},{f_{\text{A}}},{f_{\text{B}}}} \right) = \sum\limits_{{\boldsymbol{l}} \in {\boldsymbol{L}}} {{{\boldsymbol{f}}_{\text{A}}}} {({\boldsymbol{l}},{\boldsymbol{I}})^{\text{T}}}{{\boldsymbol{f}}_{\text{B}}}({\boldsymbol{l}},{\boldsymbol{I}}) $$ (9) 最后,对双线性特征向量
$ {{{\boldsymbol{x}}}} = {\boldsymbol{\varPhi}} ({\boldsymbol{I}}) $ 采用平方根变换${\boldsymbol{y}} \leftarrow sign\left( {\boldsymbol{x}} \right)\sqrt {\left| {\boldsymbol{x}} \right|} $ ,并进行${L_2}$ 正则化${\boldsymbol{z}} \leftarrow \dfrac{{\boldsymbol{y}}}{{{{\left\| {\boldsymbol{y}} \right\|}_2}}}$ ;将向量${\boldsymbol{z}}$ 输入到分类函数中得到分类结果,本文中分类函数$E$ 采用Softmax分类器。本文采用的双线性池化模型的框架如图4所示。
2. 锈蚀等级评估模型与流程
2.1 评估模型构架
基于VGG–16设计了一种用于锈蚀图像等级评估的分类模型,其基本网络架构如图5所示,模型分为双色彩空间图像输入、嵌入注意力机制的VGG–16特征提取网络及双线性池化分类3个部分。
图像输入部分中,根据文献[25]可知,RGB中的蓝色分量可反映局部锈蚀亮度变化,HSV中的饱和度分量可反映整体锈蚀颜色变化。因此,选择将锈蚀图像分为RGB和HSV两种色彩空间分别输入到VGG–16网络A、VGG–16网络B中进行特征提取,以充分利用原始图像的信息。
特征提取部分中,将传统VGG–16网络去除全连接层后在block2和3之间拆分开,其中:前半部分每个block均含2个卷积,称为VGG16–F;后半部分每个block均含3个卷积,称为VGG16–L。本文在VGG–16网络A的VGG16–F与VGG16–L之间嵌入空间注意力模块,在RGB空间图像中提升网络对于局部锈蚀细节的学习;在VGG–16网络B的VGG16–F与VGG16–L之间嵌入通道注意力模块,在HSV空间图像中提升网络对于整体锈蚀颜色的学习。
双线性池化分类中,采用双线性池化模块将两路网络输出的网络特征图进行融合,并将结果输入到Softmax分类器进行分类识别,完成锈蚀图像等级分类评估。
2.2 锈蚀图像等级评估流程
基于注意力机制和双线性池化的锈蚀图像等级分类评估总体流程如图6所示,主要包含3个主要步骤:数据集的建立、深度神经网络的设计与训练、分类结果的评价与分析。首先,通过盐雾箱加速钢板产生锈蚀并采集图像建立数据集,将其划分为训练集和测试集;然后,采用训练集对设计的锈蚀等级分类网络进行训练,并结合测试集对模型进行调整;最后,通过测试集的分类精度对结果进行分析,同时引入不同的网络模型进行对比,并对本文所提网络进行消融实验。
2.3 评价指标
为了客观地评估本文所构建的锈蚀等级分类评估模型,选择准确率
$S_{\rm{ACC}} $ 、精确率$S_{\rm{PRE}} $ 、召回率$S_{\rm{REC}} $ 、F1系数作为评价指标,其计算公式如下:$${\qquad S_{\rm{ACC}} = \frac{{{{TP + TN}}}}{{{{TP + TN + FN + FP}}}}} $$ (10) $$ S_{\rm{PRE}} = \frac{{{{TP}}}}{{{{TP + FP}}}} $$ (11) $$ S_{\rm{REC}} = \frac{{{{TP}}}}{{{{TP + FN}}}} $$ (12) $$ F1 = \frac{{{\text{2}} \times {{S_{\rm{PRE}}}} \times {{S_{\rm{REC}}}}}}{{{{S_{\rm{PRE}} + S_{\rm{REC}}}}}} $$ (13) 式中,TP为预测结果为某个锈蚀、实际也为该锈蚀类别的样本数,FP为预测结果为某个锈蚀、实际却为其他锈蚀类别的样本数,FN为预测结果为其他锈蚀、实际却为该锈蚀类别的样本数,TN为预测结果为其他锈蚀类别、实际也为其他锈蚀类别的样本数。
3. 实验与结果验证
3.1 实验设置
实验采用BS90C型盐雾试验箱对24块长、宽、高分别为160 mm、120 mm、5 mm的Q235钢板进行加速锈蚀,采用分辨率为500万像素的CCD(charge coupled device)相机采集钢板表面图像,实验设备如图7所示。实验采用循环式交替喷雾方法,喷雾采用质量分数为5%的氯化钠溶液。实验持续66 d,总共得到1 584张大小为2 592像素×1 944像素的钢板表面锈蚀图像。
以24 h为1个时间单位,对66 d的样本图片进行切片,切片结果与国际样图对比如图8所示。
图8中,依据国际标准《GB/T 8923.1—2011/ISO 8501—1:2007》[26],将锈蚀钢板样本划分为4个等级:A级锈蚀,钢材表面存在大量氧化皮,锈蚀锈迹较少且程度较轻;B级锈蚀,钢材表面出现大面积锈渍,氧化皮已出现剥落情况;C级锈蚀,钢材表面出现少量严重的点状锈斑;D级锈蚀,钢材表面点状锈斑增多且表层出现大面积脱落。为了后续描述方便,将无锈、A级锈蚀、B级锈蚀、C级锈蚀、D级锈蚀分别定义为LV_0、LV_1、LV_2、LV_3、LV_4。
由图8可以发现:早期阶段(7月14日—7月24日)试样表面逐渐失去光泽并出现局部锈迹,随着时间推移局部锈迹越来越多;中期阶段(7月25日—9月5日)试样表面已经完全失去光泽,锈蚀已基本覆盖所有表面,呈现出橙红色的氧化物,颜色逐渐加深;后期阶段(9月6日—9月21日)钢材试样中疏松的锈蚀氧化物逐渐消失,试样表面变得十分粗糙,局部位置锈斑突起且表层出现脱落。实验现象与国标描述完全一致,通过像素扫描对比发现,实验项目中获取的所有锈蚀样本图片与国标中的标准样图像素重合度均高达95%以上,本文实验中的锈蚀样本图片可以作为扩容后的标准样图进行模型训练。
3.2 构建训练样本
为了使深度学习模型的训练样本更加聚焦于锈蚀等级(国家标准GB T8923.1—2011)[3]的典型样图,同时又尽可能完全覆盖整个锈蚀历程的所有样图,设置区间内训练样本的图片数量与实验时间近似服从正态分布,由此构造出深度学习模型的训练样本集。
以2级锈蚀(LV_2)为例,通过像素扫描对比发现,盐雾锈蚀实验历程中第12天至第37天的锈蚀图片其典型像素特征明显高于国家标准GB T8923.1—2011锈蚀等级样图2级锈蚀像素特征。因此,将盐雾锈蚀实验历程中第12天至第37天的锈蚀图片作为2级锈蚀的训练样本;为了聚焦国家标准中的2级锈蚀样图,设置第12天至第37天内训练样本的图片数量近似服从正态分布。训练样本数量设置如图9所示。据此将原始数据集划分为无锈蚀、A~D级锈蚀共5个类别,并依次对其绑定标签。
将所有的图像去除背景后按照256像素×256像素的大小分块,共得到31 680张带类别标签的小尺寸图像。在每个类别中随机选取400张图像,总共得到2 000张锈蚀图像样本数据集,将其按照8∶2的比例划分训练集(1 600张)和测试集(400张)。所有模型均在相同配置的计算机环境下运行(Windows10+Python3.6 +Pytorch1.0),使用内存为24 G的GeForce RTX 3090显卡进行加速。损失函数为多分类交叉熵函数,批大小为16,训练轮数为50,初始学习率为0.001,采用MultiStepLR动态学习率调整策略实现学习率的自动更新。
3.3 对比实验
为验证本文所提方法在锈蚀图像等级分类中的有效性,选择图像处理中经典网络模型ZFNet[15]、LeNet–5[14]、VGG–16[16]进行对比测试,对于相同测试集进行分类评估,其评价指标均值见表1。由表1可知,与ZFNet和LeNet–5等骨干网络相比,VGG–16在准确率、精确率、召回率、F1系数等指标上均有明显优势。
表 1 不同网络模型评价指标均值对比Table 1 Comparision of evaluation indicator mean of different network models网络模型 骨干网络 精确率 召回率 F1系数 准确率 ZFNet ZFNet 0.834 0.812 0.784 0.843 LeNet–5 LeNet 0.842 0.844 0.840 0.865 VGG–16 VGG–16 0.902 0.902 0.904 0.915 本文方法 VGG–16 0.948 0.948 0.946 0.953 不同深度学习网络模型在测试集上的准确率和损失函数值变化如图10所示。由图10可以看出:前20个训练周期内各模型的准确率和损失函数值均存在一定程度的波动,经过50轮训练周期后所有网络均趋于稳定。其中:ZFNet前期波动幅度大、收敛速度较慢,准确率最低;LeNet–5虽然波动幅度小,但是收敛较慢且准确率较低;VGG–16波动幅度大且波动时间长,在40轮训练后仍存在小幅波动;本文方法前期训练波动也较大,但在经过10轮训练之后迅速收敛且后期波动幅度小,收敛后在准确率与稳定性上均有较大优势。
为进一步验证本文方法的有效性,图11绘制其在训练集和测试集上的准确率和损失函数值。由图11可以看出,模型在测试集第8个测试周期中的准确率和损失函数均有大幅波动,随后迅速回归平稳。分析可知,导致此次波动的主要原因是有部分测试样本为锈蚀图片的奇异样本,奇异样本和常规样本对比示例如图12所示。由图12可知,奇异样本与常规锈蚀样本在特征上存在较明显差异。由此可见,本文方法具有良好的泛化推广能力。从整体上看,测试集的准确率和损失函数值均优于训练集,这是因为测试集的样本数目远小于训练集。
本文方法识别结果的混淆矩阵如图13所示。由图13可以看出:模型对未生锈图像(LV_0)的识别效果最好,其识别准确率达到1.000;模型对1级锈蚀(LV_1)和4级锈蚀(LV_4)的识别准确率均达到0.959以上;对于工程中常见且目测难以区分的2级锈蚀(LV_2)和3级锈蚀(LV_3),识别准确率也达到0.870以上;整体平均识别准确率达到了0.953,具有良好的锈蚀识别能力。
3.4 消融实验
在消融实验中对比以下7个网络结构:1)输入为RGB图像的VGG–16网络;2)输入为HSV图像的VGG–16网络,简写为VGG16_HSV;3)单个VGG–16网络先后输入RGB与HSV图像,对两个输出采用双线性池化特征融合,简写为BCNN_S;4)两个VGG–16网络分别输入RGB与HSV图像,对两个输出采用双线性池化特征融合,简写为BCNN_D;5)单个VGG–16网络block2和3之间嵌入混合注意力机制,先后输入RGB与HSV图像,对两个输出采用双线性池化特征融合,简写为BACNN_M;6)在两个VGG–16网络的block5后分别融入空间注意力或通道注意力机制,随后分别输入RGB与HSV图像,对两个输出采用双线性池化特征融合,简写为BACNN_D;7)本文方法,双线性池化和注意力机制卷积神经网络(bilinear pooling and attention mechanism convolutional neural network,BACNN)。
其中:VGG–16和VGG16_HSV用于对色彩空间的消融验证;BCNN_S和BCNN_D用于对双线性池化的消融验证;BACNN_M和BACNN_D用于对注意力机制的消融验证;BACNN融合了色彩空间模块、双线性池化模块与注意力机制模块。
消融对比实验中,7个网络结构的模型在相同测试集上的测试准确率如图14所示,损失函数值如图15所示。由图14和15可以得出以下结论:
1)对于色彩空间模块,当锈蚀图像以RGB色彩空间作为输入时,VGG–16网络准确率更高;而以HSV色彩空间为输入时,VGG16_HSV网络损失函数值下降更快,波动性更小。
2)对于双线性池化模块,当双线性网络采用参数完全共享的VGG–16(BCNN_S)时,网络出现异常,模型损失函数值在训练周期内逐步上升,准确率逐步下降;而当采用参数完全不共享的两个VGG–16(BCNN_D)时,其性能得到明显改善。由此可见,两种色彩空间特征并不兼容。
3)对于注意力机制模块,BACNN_M网络中采用混合注意力机制,其模型准确率相较于上述4个模型显著降低,并且训练周期内未收敛;BACNN_D结构中两个网络分别采用空间注意力和通道注意力机制,与上述5个模型进行对比,BACNN_D网络模型收敛速度和识别准确率均得到改善。
本文构建的BACNN网络充分利用上述6种网络特点,在BACNN_D的基础上将注意力模块嵌入于block2和3之间,其性能得到明显提升,在10个训练周期后网络迅速收敛并趋于平稳,识别准确率达到了0.953。
为进一步验证BACNN网络中各模块的作用,将其与VGG–16和BCNN_D进行对比验证。在3个网络中分别输入相同的400张测试集锈蚀图像,采用精确率指标、召回率指标和F1系数评估不同网络的识别性能,验证结果见表2。
表 2 不同网络对不同锈蚀等级图像的识别性能对比Table 2 Comparison of the recognition performance of different networks for different rust grade images等级 精确率 召回率 F1系数 VGG–16 BCNN_D BACNN VGG–16 BCNN_D BACNN VGG–16 BCNN_D BACNN LV_0 1.000 1.000 0.990 1.000 1.000 1.000 1.000 1.000 0.990 LV_1 1.000 1.000 0.990 1.000 1.000 0.990 1.000 1.000 0.990 LV_2 0.710 0.740 0.840 0.780 0.610 0.920 0.750 0.670 0.880 LV_3 0.830 0.720 0.940 0.780 0.880 0.870 0.810 0.790 0.900 LV_4 0.970 0.990 0.980 0.950 0.940 0.960 0.960 0.960 0.970 由表2可以看出:传统VGG–16网络难以区分2级和3级锈蚀,其分类精确率不到0.800;当单独引入双线性池化后,仅改善了2级锈蚀的精确率和3级锈蚀的召回率。在双线性模块中嵌入注意力机制构成BACNN网络,该网络对2、3级细粒度锈蚀图像进行了深度学习,使得其识别精确率由0.710上升到0.840,召回率由0.780上升到0.870,F1系数由0.750上升到0.880,大大提高了2、3级细粒度锈蚀图像的识别性能。
最后,验证消融实验中7个网络的平均识别性能。在7个网络中分别输入相同的400张测试集锈蚀图像,采用精确率指标,召回率指标、F1系数和准确率评估不同网络的识别性能,验证结果见表3。
表 3 不同网络对锈蚀图像的平均识别性能对比Table 3 Comparison of the average recognition performance of rust images by different networks网络模型 精确率 召回率 F1系数 准确率 VGG–16 0.902 0.902 0.904 0.915 VGG16_HSV 0.862 0.862 0.862 0.883 BCNN_S 0.052 0.200 0.084 0.204 BCNN_D 0.89 0.886 0.884 0.903 BACNN_M 0.788 0.762 0.764 0.795 BACNN_D 0.916 0.916 0.930 0.928 BACNN 0.948 0.948 0.946 0.953 由表3可以看出,本文方法准确率达到0.953,精确率和召回率达到0.948,F1系数为0.946。相较于传统VGG–16和单一模块改进网络,本文构建的融合双线性池化和注意力机制的BACNN网络,在锈蚀图像的平均识别性能的各指标提升方面均有明显优势,有效提高了锈蚀图像的分类识别性能。
4. 结 论
本文针对目前细微锈蚀图像特征识别准确率较低,且以人工目视检测为主的现状,基于VGG–16网络提出融合注意力机制与双线性池化的锈蚀等级评估方法。以水工机械装备的常用材料Q235钢为样本,通过盐雾锈蚀实验获取锈蚀图像数据集,并进行消融和对比实验,贡献如下:
1)采用VGG–16作为规整网络,以RGB和HSV两种色彩空间特征作为输入,通过嵌入注意力机制和双线性池化模块,使网络聚焦于最相关的细粒度图像特征进行深度学习,由此加快了网络模型的收敛速度,有效提升了网络模型对细粒度锈蚀图像锈蚀等级的评估指标,并增强了模型的泛化性。
2)通过盐雾锈蚀实验获取锈蚀图像数据集,并进行消融和对比实验,从多个角度进行综合分析得出,相较于原模型及其他主流算法,改进后网络模型的分类准确率达到了0.953,召回率和精确率达到了0.948,F1系数为0.946,多个评价指标均显示所提方法在锈蚀图像等级评估中整体性能更优。
本文实验的光照条件、空间分辨率等区别很小,工程实际应用中通过成像传感器获取的水工机械装备锈蚀图像的光照条件和图像分辨率可能存在差异,如何进一步提升网络模型的泛化推广能力,使其适用于不同数据来源是未来进一步拓展研究的重点。
-
表 1 不同网络模型评价指标均值对比
Table 1 Comparision of evaluation indicator mean of different network models
网络模型 骨干网络 精确率 召回率 F1系数 准确率 ZFNet ZFNet 0.834 0.812 0.784 0.843 LeNet–5 LeNet 0.842 0.844 0.840 0.865 VGG–16 VGG–16 0.902 0.902 0.904 0.915 本文方法 VGG–16 0.948 0.948 0.946 0.953 表 2 不同网络对不同锈蚀等级图像的识别性能对比
Table 2 Comparison of the recognition performance of different networks for different rust grade images
等级 精确率 召回率 F1系数 VGG–16 BCNN_D BACNN VGG–16 BCNN_D BACNN VGG–16 BCNN_D BACNN LV_0 1.000 1.000 0.990 1.000 1.000 1.000 1.000 1.000 0.990 LV_1 1.000 1.000 0.990 1.000 1.000 0.990 1.000 1.000 0.990 LV_2 0.710 0.740 0.840 0.780 0.610 0.920 0.750 0.670 0.880 LV_3 0.830 0.720 0.940 0.780 0.880 0.870 0.810 0.790 0.900 LV_4 0.970 0.990 0.980 0.950 0.940 0.960 0.960 0.960 0.970 表 3 不同网络对锈蚀图像的平均识别性能对比
Table 3 Comparison of the average recognition performance of rust images by different networks
网络模型 精确率 召回率 F1系数 准确率 VGG–16 0.902 0.902 0.904 0.915 VGG16_HSV 0.862 0.862 0.862 0.883 BCNN_S 0.052 0.200 0.084 0.204 BCNN_D 0.89 0.886 0.884 0.903 BACNN_M 0.788 0.762 0.764 0.795 BACNN_D 0.916 0.916 0.930 0.928 BACNN 0.948 0.948 0.946 0.953 -
[1] Christine Lozano,Maggie Langston,Gary S.Prinz.Corrosion tolerant pre-stressed CFRP fatigue retrofits for improved waterway lock reliability[R].Fayetteville:Maritime Transportation Research and Education Center,2018. [2] ASTM International.Standard practice for evaluating degree of rusting on painted Steel Surfaces.ASTM:D610–08[S].West Conshohocken:ASTM Internation,2019. [3] 中国国家标准化管理委员会.涂覆涂料前钢材表面处理 表面清洁度的目视评定:GB/T 8923.1–2011[S].北京:中国标准出版社,2011. [4] Sun Bo,Xu Chang,He Jun,et al.Cleanliness prediction of rusty iron in laser cleaning using convolutional neural networks[J].Applied Physics A,2020,126(3):1–9. doi: 10.1007/s00339-020-3363-5 [5] Anami K,Ishii N,Knisely C W.Added mass and wave radiation damping for flow-induced rotational vibrations of skinplates of hydraulic gates[J].Journal of Fluids and Structures,2012,35:213–228. doi: 10.1016/j.jfluidstructs.2012.07.008 [6] 王超.考虑锈蚀形态的弧形闸门数值模拟研究[D].合肥:合肥工业大学. Wang Chao.Numerical simulation of radial gate considering corrosion morphology[D].Hefei:Hefei University of Technology [7] 李鹏飞,吉同元,秦网根.船闸闸门检测与评估技术[J].水运工程,2019(1):141–145. doi: 10.3969/j.issn.1002-4972.2019.01.025 Li Pengfei,Ji Tongyuan,Qin Wanggen.Detection and assessment technique of ship lock gate[J].Port & Waterway Engineering,2019(1):141–145 doi: 10.3969/j.issn.1002-4972.2019.01.025 [8] Liao Kuowei,Lee Yiting.Detection of rust defects on steel bridge coatings via digital image recognition[J].Automation in Construction,2016,71:294–306. doi: 10.1016/j.autcon.2016.08.008 [9] 宋伟,左丹,邓邦飞,等.高压输电线防震锤锈蚀缺陷检测[J].仪器仪表学报,2016,37(增刊1):113–117. Song Wei,Zuo Dan,Deng Bangfei,et al.Corrosion defect detection of earthquake hammer for high voltage transmission line[J].Chinese Journal of Scientific Instrument,2016,37(Supp 1):113–117 [10] 张勇,郑贤德,季明江,等.基于鱼侧线感知原理和深度学习的水下平动目标方向识别[J].机械工程学报,2020,56(12):231–239. doi: 10.3901/JME.2020.12.231 Zhang Yong,Zheng Xiande,Ji Mingjiang,et al.Direction identification of underwater translational target based on fish lateral line perception principle and depth learning[J].Journal of Mechanical Engineering,2020,56(12):231–239 doi: 10.3901/JME.2020.12.231 [11] 韩冬,唐刚,赵政坤.基于改进MobileNetV2SSDLite岸桥表面锈蚀检测[J].激光与光电子学进展,2021,58(16):1615006. doi: 10.3788/LOP202158.1615006 Han Dong,Tang Gang,Zhao Zhengkun.Surface rust detection of quay bridge based on improved MobileNetV2SSDLite[J].Laser & Optoelectronics Progress,2021,58(16):1615006 doi: 10.3788/LOP202158.1615006 [12] 王达磊,彭博,潘玥,等.基于深度神经网络的锈蚀图像分割与定量分析[J].华南理工大学学报(自然科学版),2018,46(12):121–127. doi: 10.3969/j.issn.1000-565X.2018.12.015 Wang Dalei,Peng Bo,Pan Yue,et al.Segmentation and quantitative analysis of corrosion images based on deep neural networks[J].Journal of South China University of Technology(Natural Science Edition),2018,46(12):121–127 doi: 10.3969/j.issn.1000-565X.2018.12.015 [13] Atha D J,Jahanshahi M R.Evaluation of deep learning approaches based on convolutional neural networks for corrosion detection[J].Structural Health Monitoring,2018,17(5):1110–1128. doi: 10.1177/1475921717737051 [14] LeCun Y,Bottou L,Bengio Y,et al.Gradient–based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278–2324. doi: 10.1109/5.726791 [15] Zeiler M D,Fergus R.Visualizing and understanding convolutional networks[C]//European Conference on Computer Vision.Cham:Springer International Publishing,2014:818–833. [16] Simonyan K,Zisserman A.Very deep convolutional networks for large–scale image recognition[EB/OL].(2014–09–04)[2022–07–01].http://arxiv.org/abs/1409.1556. [17] Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[J].Communications of the ACM,2017,60(6):84–90. doi: 10.1145/3065386 [18] He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Deep residual learning for image recognition[EB/OL].(2015–12–10)[2022–07–01].https://arxiv.org/abs/1512.03385. [19] Peng Yuxin,He Xiangteng,Zhao Junjie.Object–part attention model for fine–grained image classification[J].IEEE Transactions on Image Processing,2018,27(3):1487–1500. doi: 10.1109/TIP.2017.2774041 [20] Liu Zhihao,Wu Jingzhu,Fu Longsheng,et al.Improved kiwifruit detection using pre-trained VGG16 with RGB and NIR information fusion[J].IEEE Access,2019,8:2327–2336. doi: 10.1109/ACCESS.2019.2962513 [21] Zhu Ge,Wei Zizun,Lin Feng.An object detection method combining multi-level feature fusion and region channel attention[J].IEEE Access,2021,9:25101–25109. doi: 10.1109/ACCESS.2021.3057086 [22] 吕杰,罗芳颖,袁泽剑.目标搜索与识别的视觉注意网络与学习方法[J].机械工程学报,2019,55(11):123–130. doi: 10.3901/JME.2019.11.123 Lü Jie,Luo Fangying,Yuan Zejian.Visual attentional network and learning method for object search and recognition[J].Journal of Mechanical Engineering,2019,55(11):123–130 doi: 10.3901/JME.2019.11.123 [23] 李文涛,张岩,莫锦秋,等.基于改进YOLOv3–tiny的田间行人与农机障碍物检测[J].农业机械学报,2020,51(增刊1):1–8. doi: 10.6041/j.issn.1000-1298.2020.S1.001 Li Wentao,Zhang Yan,Mo Jinqiu,et al.Detection of pedestrian and agricultural vehicles in field based on improved YOLOv3–tiny[J].Transactions of the Chinese Society for Agricultural Machinery,2020,51(Supp 1):1–8 doi: 10.6041/j.issn.1000-1298.2020.S1.001 [24] Lin T Y,RoyChowdhury A,Maji S.Bilinear CNN models for fine-grained visual recognition[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision.Santiago:IEEE,2016:1449–1457. [25] 郭增伟,李龙景,姚国文.交变荷载与腐蚀环境耦合作用下拉索钢丝腐蚀行为特征及预测[J].重庆大学学报(自然科学版),2018,41(7):48–57. doi: 10.11835/j.issn.1000-582X.2018.07.007 Guo Zengwei,Li Longjing,Yao Guowen.Corrosion behavior analysis of wire-steel in cables and its prediction under combined effect of cycling loading and eroded environment[J].Journal of Chongqing University(Natural Science Edition),2018,41(7):48–57 doi: 10.11835/j.issn.1000-582X.2018.07.007 [26] 陈云,药宁娜,徐利民,等.输电线路铁塔表面锈蚀等级划分的探讨[J].华北电力技术,2015(4):30–34. Chen Yun,Yao Ningna,Xu Limin,et al.Discussion on rusting grade classification of transmission line steel tower[J].North China Electric Power,2015(4):30–34