本文版权归天然气工业杂志社所有
未经允许,不得转载
罗仁泽, 王磊. 基于深度学习模型的油气管道焊缝缺陷智能识别[J]. 天然气工业, 2024, 44(9): 199-208.
LUO Renze, WANG Lei. Weld defect intelligent identification for oil and gas pipelines based on the deep learning models[J]. Natural Gas Industry, 2024, 44(9): 199-208.
作者简介:罗仁泽,1973 年生,教授,博士研究生导师,博士,本刊编委;主要从事油气信号处理、深度学习人工智能方法及应用等研究工作。地址:(610500)四川省成都市新都区新都大道8 号。ORCID: 0009-0003-2766-7008。E-mail: lrzsmith@126.com
通信作者:王磊,1997 年生,硕士研究生;主要从事油气管道焊缝图像处理、机器视觉研究工作。地址:(610500)四川省成都市新都区新都大道8 号。ORCID: 0009-0000-0702-8821。
E-mail: wang_workstation@163.com
罗仁泽1,2,3 王 磊1
1. 西南石油大学计算机与软件学院
2. 油气藏地质及开发工程全国重点实验室·西南石油大学
3. 西南石油大学电气信息学院
摘要:焊接技术在油气管道连接时广泛应用,确保焊缝区域可靠是保障油气管道安全运行的关键。受工艺和技术制约,油气管道焊接过程中可能出现不同类型的焊缝缺陷。针对油气管道焊缝部分缺陷尺寸小、缺陷与背景差异性较小导致焊缝缺陷识别效果不理想、人工识别工作量大等问题,提出了基于SCT-ResNet50 模型的管道焊缝缺陷智能识别新方法。首先将焊缝区域图像输入特征提取网络;然后在特征提取的浅层使用SCC(Spatial Channel Context)进行局部空间和通道信息融合,在特征提取较深的层次使用ECA-MHSA(Efficient Channel Attention-Multi-Head Self-Attention)来捕捉长程依赖和上下文信息;最后通过全连接层和Softmax 得到最终的缺陷识别结果。研究结果表明:①该新方法在油气管道X 射线图像焊缝缺陷数据集上缺陷识别准确率达到98.28% ;②相较于ResNet50、VGG16、DenseNet121、MobileNetv3 和EfficientNetv2 分类方法,其准确率分别提高了3.05%、46.05%、28.99%、15.95% 和18.84%;③在缺陷尺寸小、缺陷和背景差异较小的场景下,该新方法在油气管道焊缝缺陷识别中具有更高的准确率。结论认为,该新方法的优势在于结合SCC 模块与ECA-MHSA 模块学习图像的局部信息和全局信息,能较好解决油气管道焊缝缺陷分类效果不理想的问题,为保障油气管道安全运输提供了技术支撑。
关键词:深度学习;图像处理;油气管道焊缝;缺陷智能识别;注意力机制
0 引言
油气管道作为油气运输的重要介质,在保障国家油气运输、提高国民经济效益、保护环境等方面发挥了重要作用。因此,保障油气管网安全具有重要的现实意义。
油气管道在焊接过程中,受工艺和技术制约可能出现不同类型的焊缝缺陷。传统焊缝缺陷识别技术路线主要包含:缺陷分割、特征提取、特征选择、缺陷识别。其中,缺陷分割[1] 用于提取缺陷区域,常用的方法为Otsu 法[2] 及其改进方法;特征提取用于获得缺陷特征,如边缘特征、纹理特征[3] 等;特征选择则通过不同方法选取能够有效区分不同缺陷的特征,如频谱法[4-6]、统计法[7-9]、模型法[10] 等;最后进行缺陷识别,实现缺陷类型的有效判别。Sun 等[11] 根据提取的特征设计分类算法实现缺陷分类,但算法中人工确定阈值需要进行大量实验,不适用于复杂的场景。Oleka 等[12] 提出了一种基于K 均值聚类和局部离群因子(LOF) 算法的数据驱动方法,实现了对焊接接头缺陷的分类。Molefe 等[13] 提出了依赖统一的LBP 描述符进行特征提取,然后使用K 近邻算法(K-Nearest Neighbors,KNN)进行焊缝缺陷分类, 但是该方法仅实现3 种类型的缺陷分类并且数据量较少,适用范围较小。以上方法虽然在一定程度上有利于准确提取缺陷识别的相关特征,但其特征选择设计困难,不同场景下的特征选取需要具体设计, 算法实现难度较大。
随着深度学习技术的发展,基于卷积神经网络(Convolutional Neural Network,CNN) 的方法[14-17] 已经成为图像处理的主流方案,其中针对CNN 的改进方法[18-22] 成为主要研究方向。如今,多数工作已不再使用人工选取特征的方案来进行缺陷识别,限制模型缺陷识别能力的主要因素在于模型的设计,数据的质量、规模等。Liu 等[23] 提出了一种结合神经网络和支持向量机的焊缝缺陷分类方法来识别焊接缺陷。Miao 等[24] 提出了一种两阶段焊缝缺陷分类方法,先定位焊缝位置然后进行缺陷分类。Ajmi 等[25] 提出了一种基于AlexNet 和迁移学习的缺陷分类方法。Nazarov 等[26] 使用数据增强和迁移学习进行缺陷分类。Hou 等[27] 采用堆叠自编码器网络学习特征和人工提取特征相结合实现分类,但这种人工提取特征的方式只适用于特定的数据集。刘孝保等[28] 使用Unet 提取缺陷的形状特征,通过级联模糊神经网络进行缺陷分类。Bacioiu 等[29] 提出了基于CNN 和全连接网络的分类模型进行缺陷分类。Say 等[30] 提出了一种结合数据增强技术和CNN 的缺陷自动化识别方法,试图解决数据量不足时模型识别效果差的问题。Shang 等[31] 提出了RayNet 网络进行缺陷特征提取和分类。Sampath 等[32] 提出了基于多任务学习和注意力机制的Defect Aux-Net 框架解决缺陷识别相关任务。尚泽强[33] 针对图像缺陷自动识别未能形成完整系统流程,提出了一套针对射线图像的缺陷检测系统。可以发现,现有针对CNN 进行缺陷识别的相关研究中,多数方法存在模型实现复杂、运算量较高等问题,这导致模型参数难以优化并且训练和推理耗时较长。
针对传统方法存在设计复杂、难以自动选择缺陷特征和效率低下等问题,现有的缺陷识别研究方法逐渐向基于CNN 自动提取特征后进行缺陷识别的深度学习方法转变。然而,基于深度学习的缺陷识别方法中,鲜有针对缺陷尺寸小、缺陷和背景对比度小导致部分焊缝缺陷检测精度不足的研究。因此, 笔者提出了基于深度学习方法的SCT-ResNet50 模型进行油气管道焊缝缺陷识别,该方法可有效解决复杂场景下难以进行特征提取和缺陷识别的问题。
1 SCT-ResNet50 油气管道焊缝缺陷识别新方法
1.1 SCT-ResNet50 模型
Residual Network 50(ResNet50)是He 等[34] 提出的一种深度残差网络,该网络引入了残差连接,解决了深度神经网络在训练过程中可能出现的梯度消失和梯度爆炸问题,使得模型能构建更深层次的网络结构。SCT-ResNet50 模型对ResNet50 网络特征提取部分进行了改进,网络结构如图1 所示。其中, Input Image 表示输入图像,Conv 表示不同的卷积层, conv 表示卷积操作,Stage 表示网络不同阶段。为了使网络充分利用局部信息从而提升模型对不同尺寸油气管道焊缝缺陷特征提取能力,笔者引入了信息融合模块(Spatial Channel Context, SCC)和多头注意力机制(Efficient Channel Attention-Multi-Head Self- Attention, ECA-MHSA)两个全新结构,将SCC 模块插入网络浅层的Bottleneck(主要模块依次由1×1 卷积、3×3 卷积和1×1 卷积组成)中。为了弥补CNN 全局信息表达的不足,在网络深层的Bottleneck 中使用ECA-MHSA 替换原来的3×3 卷积操作,获得输入特征的长程依赖关系和上下文信息,提升在油气管道焊缝中缺陷和焊缝对比度较低场景下网络对不同特征的表达能力。
使用SCT-ResNet50 模型进行焊缝缺陷识别的步骤包括:①将(224×224)px 大小的焊缝图像作为输入输送到网络中,经过Stage 0 的卷积层对输入进行预处理来压缩特征图像大小从而减少计算复杂度。②在特征提取网络的Stage 1、Stage 2 和Stage 3 部分,由1×1 卷积、3×3 卷积、批量归一化、ReLu 激活函数和SCC 局部特征处理模块对特征进行处理,得到包含局部信息的特征;在特征提取网络深层Stage 4 部分,使用ECA-MHSA 替换原来的3×3 卷积部分,将浅层得到的语义信息通过ECA-MHSA 构建,获得特征图不同位置之间的关联,实现不同区域的交互,从而得到包含全局信息的焊缝缺陷特征。③经过平均池化层(Avg Pooling)、全连接层(FC) 和Softmax 层映射得到当前输入图像所属的缺陷类别概率。
1.2 SCC 特征重加权
受Hu 等[35] 提出的Squeeze-and-Excitation Networks (SE-Net)模型启发,对模型特征提取阶段进行权重调整,使模型能够自适应进行特征重要性学习,解决ResNet50 网络因缺陷尺寸差异,导致模型对于部分尺寸较小的油气管道焊缝缺陷识别准确率较低的问题。同时,为了避免模型只对通道方向的重要性进行学习而忽略图像空间方向信息,提出了一种利用卷积操作对不同尺度空间信息和通道信息进行局部上下文融合的信息融合模块(SCC)。加入SCC 模块的Bottleneck 结构依次由1×1 卷积、3×3 卷积、1×1 卷积和SCC 模块组成。
图2 SCC 模块结构图
在特征提取阶段添加SCC 模块进行局部特征加强后,使得模型对于油气管道焊缝缺陷的局部信息利用更加充分。通道和空间方向的相互作用加强后, 使得模型对于不同缺陷的特征识别能力更强,有效提升了模型对于不同类别油气管道焊缝缺陷的识别效果。
1.3 ECA-MHSA 多头注意力机制
全局信息对于图像分类任务至关重要,然而CNN 模型更加关注局部信息,导致模型表达能力有所欠缺。Srinivas 等[36] 提出了使用Transformer 中的多头自注意力机制替换卷积操作的方法来增强模型分类效果,但计算量高且耗时较长。笔者在ResNet50 模型最后一个stage 使用ECA-MHSA 来替换原来的3×3 卷积操作,整合CNN 提取的语义信息并增强全局信息表达,添加MHSA 模块前后的Bottleneck 结构如图3 所示。
相较于MHSA 模块,本方法提出在查询阶段对权重矩阵Wq 的通道信息进行重要性学习。为了获取不同通道特征的重要性,使用高效通道注意力模块Efficient Channel Attention(ECA)来捕捉不同通道之间的关系,抑制不重要的特征,从而自适应地增强不同类型油气管道焊缝缺陷特征模型的表达能力。
ECA 模块结构如图5 所示,它是一种通道注意力模块,主要用于实现跨通道的信息交互,其实现流程如下:全局平均池化(GAP)进行空间方向特征信息压缩,将1×1 卷积学习通道间注意力信息与输入特征图逐通道相乘获取最终输出通道注意力特征图。ECA 模块的一大特点是可以根据输入特征的通道自适应调整1 维卷积核大小,这样使得通道数较大时可进行更多的跨通道交互,充分利用不同特征之间的信息,提升模型的表达能力。
相较于传统Transformer 将图像划分为多个不同的位置进行编码,可能会造成局部信息的损失,本研究所提的模块通过在Bottleneck 中使用SCC 捕捉局部焊缝缺陷特征的同时,使用全局注意力机制捕获整体上下文信息。将经过CNN 模块提取的特征结果使用ECA-MHSA 模块进行全局信息整合,可以充分利用局部信息和全局信息,从而实现特征的充分表达, 以提高模型对油气管道焊缝缺陷整体识别效果。
2 实验和结果分析
2.1 模型训练环境和参数设置
本模型训练使用的硬件环境参数如下:GPU 为Nvidia GeForce RTX3080,显存为10 GB ;CPU 为Intel(R) Core(TM) i9-9900KF CPU @ 3.60GHz。软件系统环境为Linux 系统,管理器使用Anaconda3,python 版本为3.8,pytorch 版本为1.10.2,CUDA 版本为11.3。
训练过程中使用SGD 优化器对模型进行优化,使用ImageNet 数据集训练得到的模型参数进行权重初始化。初始学习率设置为0.01,动量设置为0.9,权重衰减设置为0.000 1,使用余弦退火(CosineAnnealingLR)算法对学习率进行调节,批次大小设置为32,总共训练100 个轮次(epoch)。
2.2 油气管道焊缝缺陷数据集
笔者所使用的焊缝缺陷数据集是由实际项目中的工业焊缝缺陷数据制作而成,总共包含6 580 张(224×224)px 大小的焊缝缺陷图像,其中共包含6 类缺陷图像和1 类无缺陷图像,缺陷类型如图6 所示。实验结果中无缺陷图像类别记为0,其余6 类焊缝缺陷图像依次记为缺陷类型1(圆形缺陷)、缺陷类型2(条形缺陷)、缺陷类型3(未熔合缺陷)、缺陷类型4(内凹缺陷)、缺陷类型5(咬边缺陷)、缺陷类型6(裂纹缺陷)。将数据集按8∶1∶1 比例划分为训练集、验证集和测试集。
2.3 评价指标
本研究使用的模型性能评估指标包括:准确率(Accuracy)、精确率(Precision)、召回率(Recall) 和F1 Score,计算公式分别为:
作为分类模型最常用的性能评价指标,Accuracy、Precision、Recall 和F1 Score 对评估分类模型提供了不同的关注视角:Accuracy 关注整体预测的准确性, Precision 关注模型预测为正例的准确性,Recall 用于衡量模型所有真实正例中预测为正例的比例,更加关注模型对正例的覆盖程度,F1 Score 则是Precision 和Recall 的调和平均值,是一个综合性评估指标。
2.4 SCC 模块消融实验
首先对SCC 模块进行消融实验。通过对不同压缩后通道数进行实验探索,得到最佳压缩后通道数, 实验结果如表1 所示。当1 维卷积核大小(k)使用3,压缩后通道数(R)为4 时,模型具有最少的参数量23.699 M 和最少的浮点运算量4.132 G,其他条件不变的情况下,此时模型具有最高准确率97.30%。
使用不同的组合方式探索最优空间信息融合方式,将不同卷积结果在通道方向进行拼接,从而获取多尺度融合特征。表2 是不同1 维卷积核大小组合方式下的实验结果,使用全部3 种卷积核进行组合取得最佳准确率为97.60%。
2.5 SCT-ResNet50 实验
将使用SCC和ECA-MHSA模块后的模型和ResNet50网络在不同评价指标下对每一个类别的精确率 (表3)、召回率(表4)和F1 Score(表5)结果进行对比。SCT-ResNet50 模型对于圆形缺陷、条形缺陷、未熔合缺陷、裂纹缺陷识别精确率分别提升了6.02%、1.94%、0.91% 和2.38%,召回率分别提升了8.24%、2.88%、3.61% 和2.39%,F1 Score 分别提升7.11%、2.41%、2.26% 和2.38%。
将ResNet50 网络( 图7-a) 和SCT-ResNet50 模型(图7-b)的分类结果使用混淆矩阵进行可视化。结果表明SCT-ResNet50 模型在圆形缺陷(缺陷类别1)、条形缺陷(缺陷类别2)、未熔合缺陷(缺陷类别3)测试集上具有更多的正确分类数量,说明所提出的SCT-ResNet50 模型能够有效提升缺陷识别效果,对于圆形缺陷这种小尺寸缺陷具有更优异的性能。
为了全面评估SCT-ResNet50 模型的性能,笔者选取了5 种先进算法用于性能对比,包括引入残差连接的ResNet50[36]、使用小卷积核的VGG16[37](Visual Geometry Group Network-16)、引入密集连接提高信息利用效率的DenseNet121[38](Densely Connected Convolutional Networks 121)、使用轻量级模块减少参数量和提高推理速度的MobileNetv3[39] 以及通过自动搜索和缩放网络宽度、深度和分辨率来提高模型性能的EfficientNetv2[40]。训练过程中不同模型的准确率变化曲线如图8 所示,从准确率变化曲线可以看出在80 个轮次后模型的准确率趋于收敛,不同模型训练损失曲线变化过程如图9 所示,可以看出相较于其他模型,SCT-ResNet50 模型在训练集上具有最高的准确率和最低的损失值。
在测试集上对不同模型的参数量、浮点运算量和准确率进行比较,结果如表6 所示。
实验结果表明,所提出的SCT-ResNet50 模型在焊缝缺陷数据集测试中取得了最优的准确率98.28%, 相较于ResNet50 网络,其识别效果提升了3.05%。同其他主流模型VGG16、DenseNet121、MobileNetv3 和EfficientNetv2 分类方法相比,SCT-ResNet50 模型的准确率分别提高了46.05%、28.99%、15.95% 和18.84%。
3 结论
1)针对缺陷尺寸小、缺陷和背景差异较小导致X 射线油气管道焊缝缺陷识别效果差的问题,提出SCT-ResNet50 模型用于提高油气管道焊缝缺陷识别准确性。该方法利用了ResNet50 网络,设计了SCC 模块和ECA-MHSA 模块,增强了模型的特征学习能力和全局信息关注度。
2)SCT-ResNet50 模型在油气管道焊缝缺陷识别中达到了98.28% 的最优准确率。同时,该方法未增加过多参数量和浮点运算量,可有效解决较小尺寸油气管道焊缝缺陷识别准确率较低的问题。
3)相较于ResNet50、VGG16、DenseNet121、MobileNetv3 和EfficientNetv2 分类方法,SCT-ResNet50 模型的准确率分别提高了3.05%、46.05%、28.99%、15.95% 和18.84%,在油气管道焊缝缺陷识别任务中具有优越的性能。
参考文献请点击下方“阅读原文”查看
编 辑 张晓雪
论文原载于《天然气工业》2024年第9期
排版、校对:张 敏
审核:罗 强 黄 东
点击阅读原文,链接到《天然气工业》官网