基于融合机器学习的管道焊缝缺陷识别方法研究
2024-02-22李超华许再胜
李超华,许再胜
(中石化中原油建工程有限公司,河南 濮阳 457001)
焊接是一种以加热、高温或者高压的方式接合金属或其他热塑性材料如塑料的制造工艺及技术,被广泛应用于航空航天、石油石化、天然气工业和船舶制造等领域[1]。近年来,中国长输管道事业发展迅猛,总里程以千公里为单位逐年递升,为国内能源安全和国民经济的发展发挥着不可替代的重要作用,因此国家长输管道网络“安稳长满优”地运行极为关键。在各类影响管道安全运行的风险当中,焊缝失效是威胁在役长输油气管道使用寿命和安全运行的主要因素之一,如中缅天然气管道贵州某管段在2017—2018年先后发生了两次泄漏爆燃事故,直接原因是环焊缝在加载载荷下发生脆性断裂,究其根本是焊接工艺不严、焊缝质量存在问题[2-3]。因此,对管道焊缝缺陷进行有效识别并分类,对于提高管道安全运行的管控能力至关重要。
目前,对于管道在建设过程中的焊缝缺陷的判断多采用射线检测的方式实现[4]。射线在穿透焊缝时,如果焊缝局部存在缺陷,则该缺陷在焊缝中的所在部位处的衰减系数与焊缝均质的无缺陷部分有所不同,故缺陷处与周围均质区域形成的底片灰度不一致,最后再通过人工核查确定缺陷类型。但受射线透射角度、穿透能力、缺陷的形态尺寸以及胶片质量和像质计灵敏度等因素的影响,在人工评价低对比度图像时,难以有效检出面积类的缺陷如裂纹、未熔合、未焊透等内部缺陷。随着计算机技术、机器学习和深度学习的发展,越来越多的学者对焊缝缺陷图像的识别进行了研究,传统路线包括“特征提取-特征选择-缺陷识别”等步骤,其中“特征提取”有小波包分解[5]、小波变换[6]、局部二值模式[7]等方法,“特征选择”有主成分分析[5]、因子分析[7]等方法,“缺陷识别”有支持向量机[8]、神经网络[9]等模型,但以上方法在组合使用的过程中受人工经验和超参数选取的影响,识别准确率存在较大差异。综上所述,以开挖后的射线焊缝图像为基础,充分利用卷积神经网络(CNN)可实现端对端训练和预测的优势,实现焊缝缺陷的全过程识别,同时针对池化层在整合卷积层局部信息存在部分特征被忽略的缺陷,采用方差池化改进CNN,实现缺陷处与周围区域的灰度动态自适应,并利用鲸鱼算法(WOA)实现模型超参数的选取。
1 传统CNN模型及改进
1.1 CNN模型理论
典型的CNN模型由输入层、卷积层、池化层、全连接层和输出层等构成[10]。其中,输入层的输入为根据射线图像灰度提取到的二维矩阵;卷积层负责将输入数据分割成若干部分,通过局部感知和权值共享得到全局信息,实现敏感特征的挖掘和提取;池化层负责通过压缩、降维数据提取图像中的重要信息,降低特征畸变对神经网络分类结果的影响;全连接层负责整合池化层中具有区别类型的局部信息;输出层负责将全连接层的结果连接至一个分类函数,实现焊缝缺陷的自动识别,并输出结果。
1.2 CNN模型的改进
从上述描述可知,池化操作是特征选择和特征降维的重要操作,常用的方法有最大池化和平均池化两种,以两种不同灰度特征的池化域为例,如图1所示。其中,v,v1,v2,v3,v4,v5等为池化域内对应的图像灰度值,其余位置用0表示。对于图1a),图像特征集中在v处,如此时采用平均池化方法,则会减低该位置的灰度值,削弱该区域与边缘区域的特征变化趋势;对于图1b),图像特征均匀分布在池化域内,如此时采用最大池化方法,则会将灰度变化从平稳变为突出,引入更多噪声信息。综上,提出一种综合考虑池化域和特征图的方差池化方法,确保池化模型在面临不同灰度变化时的图像时,具有一定的动态自适应能力。首先,将缺陷位置信息转化为池化域,将包含缺陷位置的整体图像转化为特征图,两者均用灰度值表示;其次,计算池化域和特征图的方差信息,如前者方差小于后者时,表示池化域内的方差特征较小,特征分布较均匀,池化模型采用平均池化方法,反之,表示区域内灰度特征值明显,引入修正系数μ调整平均池化方法;最后,输出该池化域对应的灰度值,如式(1)所示:
(1)
图1 不同灰度特征的池化域示意
式中:S——池化域经池化操作后的灰度值;n——池化域的矩阵行数或列数;Fij——第i行第j列下的灰度值;μ——修正系数;σP,σFM——池化域、特征图的方差信息。
2 WOA算法
对于CNN模型,卷积核的数量和大小、池化核的数量和大小、卷积核激活函数类型、学习率、步长和填充方式等超参数对于模型分类准确率的影响较大。在此,采用WOA算法实现CNN网络结构的优化[11-12]。实现步骤如下:
1)初始化WOA算法的各项参数,包括种群规模、最大迭代次数、种群位置上限和下限。
2)定义CNN模型超参数的取值范围,定义平均绝对误差为损失函数,即适应度函数。
3)通过模拟鲸鱼捕食过程中的收缩包围、气泡狩猎和搜索猎物的行为,不断更新损失函数。
4)当满足阈值判定或迭代次数结束时,输出最小损失函数对应的CNN模型超参数,完成最佳CNN模型的构建。
3 实例分析
3.1 数据获取
以某输气管道为例,设计输送量为1×1010m3/a,设计压力为10 MPa,管径为1.016 m,钢级为L555(X80),焊接方式为手工焊。为了消除管道焊缝缺陷带来的安全隐患,在长度为220 km的管段内进行开挖后采用x射线检测,检测到裂纹、未熔合、未焊透、咬边、塌陷、气孔和夹渣等缺陷,共计1 113个结果,缺陷类型数量及比例分布如图2所示。其中,以咬边和塌陷为标签的外部缺陷样本比例远低于内部缺陷样本比例,比例过低无法进行后续CNN模型的分类训练,故将外部缺陷样本作为无效样本删除。将剩余样本按照4∶1∶1的比例划分训练集、验证集和测试集,见表1所列。采用Sin增强和Ostu分割技术对图像进行预处理,得到原始图像长度和宽度均为68 mm。
表1 数据集划分情况
图2 实测管道焊缝的缺陷类型和缺陷比例示意
3.2 超参数优选
使用Matlab软件的深度神经网络和机器学习工具箱实现框架编写,设置WOA算法的种群规模为20,最大迭代次数为500,种群位置上限和下限分别为0和100;CNN模型中卷积层和池化层的层数均为2,移动步长分别为1和2,填充方式为不填充,全连接层激活函数采用Sigmoid函数,输出层采用Softmax分类模型,CNN模型的超参数的初始化范围见表2所列。C1,C2分别表示第一个卷积层和第二个卷积层,P1,P2分别表示第一个池化层和第二个池化层。
表2 CNN模型的超参数初始化范围
将表2中的超参数范围代入WOA算法,作为算法的初始位置,通过不断迭代训练得到损失函数值。不同算法的迭代过程如图3所示,WOA算法的损失函数值在迭代过程中不断下降,在52次时收敛,损失函数值为0.008 14;PSO算法迭代至500次时,函数值仍呈上下波动趋势,损失函数值为0.010 29,未达到收敛状态。由此可见,WOA算法在收敛精度和算法稳定性上优于PSO算法。
图3 不同算法的迭代过程示意
取最大迭代次数对应的鲸鱼位置作为CNN模型超参数,得到C1卷积核数量为6,卷积核大小为5×5,激活函数为ReLU;C2卷积核数量为12,卷积核大小为5×5,激活函数为ReLU;P1池化核数量为6,卷积核大小为2×2;P2池化核数量为12,池化核大小为2×2;学习率为10-4,最终形成的CNN模型网络结构如图4所示。图4中的3@68×68表示3个输入或输出通道数量,68×68表示图像的长度和宽度,输入通道为RGB,输出通道与卷积/池化核数量相等,最后通过2个全连接层将节点个数从256缩小至128个,分类的缺陷类型为5类,输出层个数为5。
图4 CNN模型网络结构示意
3.3 模型分类结果
在确定CNN模型网络结构的基础上,进行5轮次、每轮500迭代次数的训练,每轮次随机抽取训练集和测试集。本文模型下的分类准确率上升较快且接近91%,损失函数值下降和收敛速度均较快,且训练集和验证集对应的参数指标差距不大,说明训练效果较好,验证集未出现过拟合或欠拟合现象。
对测试集的数据进行分类测试,通过混淆矩阵统计不同训练轮次下的分类效果,见表3所列。其中,未熔合和未焊透缺陷分类准确率最高,不同训练轮次下均达到了93%~100%,说明本文模型对这两种缺陷具有较好的区分效果。裂纹、气孔和夹渣缺陷的分类准确率较低,三种缺陷分类出现了不同程度的混淆,气孔、夹渣分别属于圆形缺陷和条状缺陷,两者只是长宽比不同,在内部缺陷的界定上存在模糊性;裂纹属于线状缺陷,与条状缺陷相比,只是缺陷高度有所不同,该类贯穿形缺陷加大了两者识别的难度,但以上三种缺陷的识别率在86%~100%,推测当样本数量增大时,可进一步提高分类效果。平均分类准确率在90.6%~95.8%,分类效果较好,说明本文方法的科学性和有效性。
表3 不同训练轮次下混淆矩阵对缺陷类型的分类效果
3.4 不同模型结果对比
将结合了方差池化方法、WOA算法和CNN模型的融合机器学习模型定为CNN-1模型,将采用最大池化方法和WOA算法的模型定为CNN-2模型,将采用方差池化方法和Adam优化器优化训练过程的模型定为CNN-3模型,将利用WOA对支持向量机(SVM)进行超参数优化的模型定为WOA-SVM模型。在相同实验环境和数据集的基础上,得到不同模型的分类准确率,如图5所示。CNN-1与CNN-2模型相比,训练时间相差不大但CNN-2的分类准确率较低,这是由于两者均用WOA算法实现了最佳CNN超参数的选择,缩短了训练时间,但最大池化方法对于灰度变化较明显或不明显的边缘区域提取效果较差,导致分类准确率较低。CNN-1与CNN-3模型相比,CNN-3的训练时间较长、分类准确率较低,说明WOA算法在选取超参数方面优于其余算法,不易陷入局部最优解。CNN-1与WOA-SVM模型相比,WOA-SVM模型的评价指标略差于CNN-1模型,这是由于以SVM模型为代表的算法属于浅层神经网络,对于特征提取和降维依靠人工经验,当提取到的特征符合对应缺陷类型的数学表征时,分类效果较好,对于5训练轮次下的分类准确率在(92.21±5.18)%的范围内,差值范围较大,也说明了SVM模型具有不稳定性和差异性。
图5 不同模型的分类效果示意
4 结束语
基于方差池化方法、WOA算法和CNN模型形成融合机器学习模型,用于管道焊缝缺陷的智能分类和识别,其中未熔合和未焊透缺陷分类准确率最高,不同训练轮次下均达到了93%~100%,5种待识别缺陷的平均分类准确率为90.6%~95.8%。与其余机器学习模型对比,本文模型在缺陷边缘灰度自适应、网络超参数优选等方面具有一定先进性,模型对于不同缺陷的识别精度较高,可满足现场工程实践的需求。现场射线检测结果具有随机性和不确定性,所选样本同样具有不均衡性,今后应适当采用虚拟数据扩充技术增加样本数量,提高裂纹、气孔和夹渣等缺陷的识别效果。