融合注意力与残差网络的石油管材失效宏观影像智能识别方法*
2024-01-30朱丽娟刘芯言许梦飞
朱丽娟, 冯 春, 刘芯言, 许梦飞,2,吉 楠, 王 鹏, 周 扬,2, 李 露
(1.中国石油集团工程材料研究院有限公司, 油气钻采输送装备全国重点实验室 陕西 西安 710077;2.西安石油大学材料科学与工程学院 陕西 西安 710065)
0 引 言
石油管材是油气钻采与输送的唯一通道,其服役过程失效事故多发,影响大,严重威胁了油气田的安全生产。石油管材失效分析推动了石油管材设计、生产和运维等失效预防与控制措施改进,大幅降低了事故率,为石油工业生产提质增效夯实了牢固基础。在石油管材失效分析过程中,宏观影像分类识别是失效模式诊断与失效机理分析的前提。然而,传统的石油管材失效宏观影像分析主要依靠专家经验,受学科差异、从业经验以及外在因素影响,诊断结果离散度大、诊断效率低,这将直接影响石油管材失效分析的分析决策效率与结论精准性。
随着近年来硬件算力的飞速提升和学习算法的迭代优化,在面对指数级增长的数据时,深度学习作为一种灵活高效的机器学习方法为图像识别提供了全新的思路[1]。该方法在大幅度提升图像识别精度的同时,提高了模型的可迁移性和鲁棒性,降低了实际应用与部署难度[2-3]。目前,深度学习在语音识别、图像分类、自然语言处理等领域都有重要的应用,它能够提取数据中高层次的丰富特征,但是随着网络层数增多,反向转播求取梯度的时候,容易发生梯度消失或梯度爆炸,甚至会发生网络退化的问题,即深层网络的性能不如浅层网络的性能。为了解决这些问题,研究人员先后提出了残差网络(ResNet)[4]、基于跳跃链接的密集连接网络(DenseNet)[5]以及高精度的ResNext网络[6]。其中,ResNext具有高精度与少超参数数量,且与其他网络相比,未增加网络参数复杂度。为了解决影像识别中的实际问题,研究人员融合深度学习与缺陷分类后,提出了新的影像识别方法,该方法已广泛应用于构件缺陷的分类。其中,基于卷积神经网络的冷轧薄板表面缺陷分类[7]与基于深度学习方法的紧固毛刺缺陷分类[8]效果良好。陈立潮等人提出一种融合迁移学习的AlexNet卷积神经网络模型,用于不锈钢焊缝缺陷分类[9],攻克了焊缝缺陷特征提取的主观单一性和客观不充分性的难题,大幅提升了分类的准确性。闫雪等人提出了一种变形ResNet-18神经网络模型用于航空发动机制件表面缺陷分类[10]。针对图像筛选任务,欧剑港等人提出了一种基于深度卷积神经网络的ResNet-50图像筛选改进算法[11]。为了降低缺陷分类任务的计算成本,史杨潇等人提出了一种新型的混合卷积(MixConv)轻量型网络用于钢铁表面的缺陷分类[12]。肖文凯等人为了提高焊缝无损缺陷检测的性能,提出了一种缺陷自动检测算法DRepDet[13]。
深度学习在失效影像智能识别的实际部署尚不完善。大多数初期研究工作集中在基于机器学习的失效断口影像诊断,比如采用灰度共生矩阵和基于统计的特征提取算法建立识别模型[14-20]。基于灰度共生矩阵,结合局部线性嵌入[15]、相关性分析[16]等特征降维技术,可取得优异的断口图像等特征提取效果。为解决采用计算灰度共生矩阵时,纹理图像的灰度量化过程会导致部分图像信息丢失的问题,李凌等[17]定义了模糊灰度共生矩阵,采用隐马尔可夫进行分类,大幅提高了识别率。李志农等[18-19]利用基于图像几何流最佳稀疏表示的正交变换(Grouplet变换)来处理金属断口图像,分别提出了结合关联向量机的Grouplet-RVM方法和结合核主成分分析的Grouplet-SVM方法,在金属断口识别率和速度方面都有一定提升。为了提高断口图像识别率,黎明等[20]提出基于局部纹理特征与全局纹理特征的多特征融合算法。然而,由于石油管材失效宏观影像中类型多样、断裂形态不一、表面可能存在有腐蚀产物等原因,严重加大了浅层算法提取特征的困难。因此,石油管材领域的复杂场景可能导致传统的图像识别算法实现的精度较低且难以转换,算法/模型泛化能力差。因此,亟需研发基于深度学习的失效影像智能诊断技术。
在本研究工作中,针对现有识别方法存在的精度不佳、泛化能力不强等问题,开展融合注意力与残差网络的石油管材失效宏观影像智能识别方法研究。本研究首先通过数据增强手段,构建包括断裂、腐蚀、磨损、形变等4类石油管材失效宏观影像数据集。其次,基于块结构设计,集成分组卷积与空洞卷积等技术,构建不同空洞率的残差网络,进而减少模型的计算量,增加网络推理效率,提高模型的失效影像特征学习能力。然后,基于残差块堆叠设计思路,集成空间注意力机制和通道注意力机制,构建融合注意力与残差网络的石油管材失效宏观影像智能识别的深度残差神经网络模型,赋予网络对石油管材失效宏观影像特征权重分配功能,有效提升神经网络捕获宏观影像关键特征信息的能力。最后,通过分类检测得到最终的检测结果。本研究工作建立的模型能有效提高石油管材失效宏观影像(断裂、腐蚀、磨损、形变)的种类智能识别效率和精度,为石油管材失效智能诊断、失效分析预测与预防提供技术支撑。
1 石油管材失效宏观影像智能识别方法
1.1 石油管材失效典型宏观影像及其数据增强
众所周知,数据在深度学习中至关重要,高质量的数据集是提高模型训练质量和预测精度的基础。深度学习领域存在很多经典数据集,这些数据集涵盖了根据应用场景的不同,使用专业设备拍摄的大量图像数据。以应用于影像识别领域的大型可视化数据库ImageNet数据集[8]为例,其涵盖1 400万余幅可见光图片,包括了2万多个典型类别,并有明确类别标注和位置标注的图片量以百万计,这均为模型的训练打下了坚实的数据基础。
在一些特定的情况下,需要根据网络的具体使用场景来制作数据集,但是这些数据集的规模无法使网络性能达到最好。因此,扩充数据集规模便成了当务之急。而数据增强是大幅度扩张数据样本规模的一种有效手段,为了使扩增的训练数据接近真实分布的数据,可以基于已有的训练样本数据生成更多的训练数据,从而保障了模型的泛化能力,促进检测精度的提升。此外,数据增强也增加了一定的噪声数据,能使模型学习更多鲁棒性的特征,这不仅提高了模型的鲁棒性,还能够提升其泛化能力。常用的数据增强手段有两类:一类是基于几何变换的数据增强,具体包括翻转、裁剪、平移和添加噪声等,这种方法可以消除训练集和测试集的尺度、位置和视角差异等;另一类是基于颜色空间变换的数据增强,具体包括调整亮度、对比度、饱和度、灰度转换等,这种方法可以消除训练集和测试集的光照、色彩、亮度差异等。
本研究工作中,以断裂、腐蚀、磨损、形变等4类石油管材失效典型宏观影像为研究对象,如图1所示,开展失效宏观影像智能识别方法研究,并采用上述2类数据增强手段在线扩充失效影像数据集。
图1 石油管材失效典型宏观影像
1.2 基于块结构构成的残差网络模型
凭借卷积神经网络在特征提取中的显著优势,深度学习为图像分类领域提供了许多出色的模型。针对具有多种纹理特征的石油管材宏观失效影像目标,为实现更高效准确分类,本文在ResNet模型基础上进行改进,提出了一种新的块结构XBlock,通过组卷积提高了模型的运行速度,结合不同扩张率的空洞卷积扩大模型的感受野,使得模型可以更快更准确地捕捉不同粒度的特征,进一步实现石油管材宏观影像特征细节的提取。
首先,通过对ResNet中BottleNeck和BasicBlock的研究,设计出了一种更加有效并且计算量更小的块结构,本研究工作中将其命名为XBlock。本研究工作中设计的XBlock和原始的BottleNeck块的结构均采用2个1×1的卷积进行特征维度升维和降维操作,建立的网络模型如图2所示。不同模型参数量和计算量对比见表1。
表1 不同模型参数量和计算量对比
图2 BottleNeck结构图与XBlock结构图
与BottleNeck结构区别在于,本模型经过一个1×1的卷积(convolution, conv)对特征进行降维后,采用了3×3的分组卷积[21]对特征图进行学习处理。分组卷积(group convolution, g)能够有效地减少计算量并且不会损失特征,故而可以进行更加高效的训练。因为卷积计算被拆分为不同通道,每个通道分别由不同的GPU进行计算。基于并行分步处理思想,该模型能在多个GPU上完成训练任务,其训练效率远高于基于数据并行化的单个GPU模型。因为当批量过小时,其本质上执行随机梯度下降,使得结果收敛更慢,甚至造成更差的收敛结果。因此,在训练深度较大的神经网络时,采用分组卷积可以获取更佳的效果,因其能够有效地减少模型计算量,增加推理速度,使得模型本身更加高效。
其次,在XBlock结构中除了分组卷积,还采用了空洞卷积[22]技术,如图3所示。将1×1卷积降维后的特征图分成2组,第一组采用空洞率为1(d1=1)的原始卷积块进行卷积处理,第二组采用空洞率为2(d2=2)的卷积块进行卷积处理,空洞卷积能够在不增加额外计算量的同时,捕获多尺度上下文信息,有效增大卷积核感受野。与人类视觉系统识别物体一样,不仅需要关注局部信息,更需要关注更大尺度的全局信息。在计算机视觉任务中同样,不同尺度的信息对于后续特征表述的准确性有着重要意义。鉴于此,本研究工作设计的块结构采用不同的空洞率并行学习,使设计的块结构能够有效地学习到不同感受野的特征信息,不仅学习到局部特征,还能学习更大感受野的大尺度特征。后续经过1×1卷积将不同尺度的特征信息进行融合,使设计的XBlock结构能够相对于BottleNeck结构有更强的特征学习能力,从而使网络具有更强的分类能力。
图3 空洞卷积与普通卷积特征融合
1.3 融合注意力与残差网络的石油管材失效宏观影像智能识别模型
注意力机制是近些年来神经网络中研究的热点,正确的使用能够有效地增强网络的学习能力。常见的注意力机制主要分为空间注意力机制(Spatial Attention)和通道注意力(Channel Attention)两大类。
对于通道注意力模型,如图4所示,首先将C×H×W的特征图分别进行最大池化和平均池化以分别获取尺寸均为C×1×1的不同池化信息;将经过2个全连接层后的特征图相加并用Sigmoid函数激活,使用上述机制可以同时关注图片的显著信息和全局信息,从而有效增加通道注意力的语义丰富性。公式(1)抽象表述了通道注意力的原理。
图4 通道注意力模型
(1)
式中:F表示输入特征;AvgPool和MaxPool分别表示平均池化和最大池化;MLP表示多层感知机;σ表示Sigmoid函数。
对于空间注意力模型,如图5所示,首先将C×H×W的特征图分别进行最大池化和平均池化以分别获取尺寸均为1×H×W的不同池化信息;将该信息经通道维度拼接后进行卷积操作,生成1×H×W的特征图;最后将特征图使用sigmoid函数生成空间权重系数并相乘,使用上述机制可以关注全通道的图像特征,使模型更高效地生成权重信息,引导模型降低非特征区域的权重。公式(2)抽象表述了空间注意力的原理。
图5 空间注意力模型
(2)
式中:F表示输入特征;AvgPool和MaxPool分别表示平均池化和最大池化;f7×7表示7×7大小的卷积核;σ表示Sigmoid函数。
基于不同的模型连接策略,它们可以组合成不同种类型。以非复用注意力模块为前提,采用串联或并联方式共能生成3种不同的模型,如图6所示。其中,试验结果[23]显示通道注意力置于空间注意力之前的注意力机制串联方式对模型效果更好。
图6 注意力机制组合方式
基于上文的通道-空间串联注意力策略机制模型,如图7所示。
图7 通道-空间串联注意力机制模型
针对石油管材宏观影像中存在大量的无目标(断裂、裂纹、磨损、形变典型特征)区域,为使网络能持续关注典型特征区域而忽略无目标特征区域,引入了注意力机制。在XBlock的设计中采用串联空间注意力与通道注意力的混合注意力机制来加强网络的学习能力,使设计的XBlock结构能够有效提取对网络分类有用的关键特征信息。在完成1×1升维后串联一个空间注意力和通道注意力融合模块,增加注意力机制后能够有效地对特征进行权重分配,使网络学习到特征中重要的信息且忽略次要信息,让XBlock有更强的特征学习能力。如图8所示,图8(a)是原始的XBlock,图8(b)是增加注意力机制的XBlock,命名为AXBlock。
注:d1代表左分支空洞率;d2代表右分支空洞率;g代表组卷积。图8 XBlock与AXBlock结构图
模型输入512×512像素的RGB图像,基于与ResNet网络一样的残差块堆叠思想构建网络,通过{2,2,2,2}的堆叠AXBlock构建出网络模型,如图9所示。
图9 AXBlock构成的自定义网络图
先经卷积层对图像特征进行初步提取,得到256×256像素的特征图,接着特征图进入4个阶段,每个阶段包括2个AXBlock模块进一步提取特征。进入AXBlock模块后,首先使用1×1的卷积核降维,然后将拆分成两组分别进行空洞卷积的结果合并,重新使用1×1的卷积核升维后进入注意力模块产生特征权重。在每一阶段输出特征图的尺寸分别为64×128×128,128×64×64,256×32×32,512×16×16。
1.4 智能识别模型/算法的评价指标
为研究管材失效影像智能识别模型/算法的准确性,需要研究确定相应的模型评价指标。概而论之,评价指标代表了深度学习模型的准确程度或不准确程度,一般以数字的形式展现。对于一个分类任务而言,精度(Accuracy)是最基本的评价指标,即分类正确所占的百分比。选择恰当的评价指标有助于选出适合于当前任务的算法。评价指标是建立在不同的机器学习任务上的,主要分为3大类:分类任务、回归任务、无监督学习任务。一般情况下,针对分类任务常用的评价指标如下:
真正率(True Postitive Rate):正样本中被预测对的比例。
(3)
假正率(False Postitive Rate):负样本中被预测错的比例。
(4)
真负率(True Negative Rate):负样本被预测对的比例。
(5)
假负率(False Negative Rate):正样本被预测错的比例。
(6)
准确率/精度(Accuracy):模型识别正确的样本个数占总数的比例。
(7)
式(3)~(7)中:真正例 (True Positive, TP)表示实际为正例且被正确分类的数量;假正例 (False Positive, FP)表示实际为负例但被错误地分类为正例的数量;真负例(True Negative, TN)表示实际为负例且被正确分类的数量;假负例(False Negative, FN)表示实际为正例但被错误地分类为负例的数量。在大多数分类任务中,普遍采用准确率/精度作为主要评价指标,其他指标辅助衡量网络分类效果,不作为主要指标。精度更能直观地反应出一个网络对各个类别预测的准确度,也便于更加直观地感受网络的分类效果。因此,本研究工作中的网络模型参考大多数网络模型的情况,采用精度作为评价指标。
2 算例仿真
2.1 算例概况
本文实验环境配置为CPU型号:Intel@ CoreTMi9-9900k CPU @ 3.60GHz×16;GPU型号:NVIDIA GeForce GTX 2080 Ti;基于PyTorch1.8深度学习框架;Python3.7环境。
本实验所有数据均为便携式照相机采集,此数据集包含1 023张图像,其中各个类别图像包含断裂599张,腐蚀287张,磨损84张,形变53张共4个类别。在计算的过程中,采用在线增强技术扩充数据集的数量。为了保证验证集的数量,使得验证集的数据具有统计意义,本实验采用5∶5的比例划分训练集和验证集。划分后的数据及各类别训练集与验证集数据量如表2所示。
表2 训练集图像统计表 张
2.2 智能识别结果与分析
在此数据集上,本算例的训练过程中,在损失函数方面,采用交叉熵损失函数,并且损失权重设置为1。在优化算法方面,采用经典的AdamW优化算法,并设置初始学习率为0.000 5,权重衰减为0.1。在学习率优化函数方面,采用余弦退火学习率优化算法[24],设置最小学习率为0,采用线性学习率预热[25]进行50轮的预热并设置预热比率为1e-4,具体的学习率优化函数可视化图如图10所示。为了保持一致性,训练时均进行100轮。
图10 学习率曲线图
在XBlock与BottleNeck块通过{2,2,2,2}阶段模块数量构建出的网络采用以上训练配置进行训练,并使用训练好的模型进行测试,分类结果如表3、表4所示。
表3 BottleNeck结构网络分类结果
表4 XBlock构建的网络分类结果
XBlock与BottleNeck结构在相同的训练环境和参数设置下,并且具有相同的网络构建方式。研究结果表明,本研究工作中设计的XBlock构建出的网络有更好的分类效果,该XBlock构成的深度残差网络分类总精度相对于原始自定义ResNet精度提升了5.6%。每个类别精度都比原始自定义的ResNet网络有了一定的提升。
图11为训练的Loss曲线图,由图可知,通过XBlock构建出的全新深度残差网络在训练中有着更快的收敛速度,并有着更好的收敛效果。图12为训练的精度曲线,可以看出,本网络能够更快地训练到一个高精度水平,并且最终训练结果精度比通过BottleNeck搭建的自定义ResNet网络更高。
图11 BottleNeck结构与XBlock结构网络训练损失率曲线对比图
图12 BottleNeck结构与XBlock结构网络训练精度曲线对比图
通过对注意力机制的大量研究,本模型巧妙地在XBlock模块中增加注意力机制进而增强XBlock结构性能。增加了注意力机制的AXBlock与上述XBlock构建深度残差网络的策略相同,通过{2,2,2,2}阶段模块数量构建出深度残差网络。同样使用相同数据集,在相同的训练环境下与训练参数配置进行训练,对训练好的模型进行预测分析,分类结果见表5。
表5 AXBlock结构网络分类结果
AXBlock与XBlock结构网络在相同的训练环境和参数设置下,并且具有相同的深度残差网络构建方式。通过上表可以观察出,增加了自定义注意力的AXBlock构建出的深度残差网络能够有更好的分类效果,该网络模型具有石油管材失效典型宏观影像(断裂、腐蚀、磨损、形变)特征权重分配功能,平均分类精度由XBlock结构网络的92.40%提升至94.93%。
图13为采用XBlock与AXBlock构建成的网络训练Loss曲线对比图。从训练的Loss曲线上来看,通过AXBlock构建出的全新深度残差网络在训练中同样保持着较高的收敛速度并且能够有效使得Loss收敛到更低水平。
图13 XBlock结构与AXBlock结构网络训练损失曲线对比图
图14为XBlock与AXBlock构建成的深度残差网络的训练精度变化曲线图,通过此精度曲线可以看出,通过增加注意力机制的AXBlock构建的深度残差网络通过训练能够很快达到一个高精度水平,并且最终精度比通过XBlock搭建的自定义深度残差网络精度更好,在验证集上有着更加先进的分类效果。
图14 XBlock结构与AXBlock结构网络训练精度曲线对比图
综上,基于残差块结构、分组卷积和空洞卷积技术,提出了全新的XBlock残差块,实验验证了XBlock构建的网络有更优秀的分类效果。进一步引入注意力机制,设计出AXBlock模块,网络精度再次提高2.53%。
3 结 论
在本研究工作中,针对传统的识别网络/模型存在精度不佳、泛化能力差等问题,建立了融合注意力与残差网络的石油管材失效典型宏观影像(断裂、腐蚀、磨损、形变)智能识别模型/算法。
1)基于残差块结构BottleNeck设计,集成分组卷积技术,搭建了XBlock模块框架,通过并行组卷积减少模型的计算量,提升资源利用率,提高模型的运行速度和服务吞吐量,降低响应时间,增加网络推理效率。
2)集成空洞卷积技术,优化了XBlock模块内核,构建不同空洞率的残差网络,扩大模型的感受野,增强图像上下文信息感知度,提高模型的失效影像特征学习能力。
3)基于残差块堆叠设计思路,集成空间注意力机制和通道注意力机制,构建融合注意力与残差网络的石油管材失效宏观影像智能识别的深度残差神经网络模型,赋予网络对石油管材失效宏观影像特征权重分配功能,有效提升神经网络捕获宏观影像关键特征信息的能力。与传统BottleNeck结构网络87.52%的平均分类精度相比,融合注意力与残差网络的AXBlock网络模型的平均分类精度达到了94.93%。