任文坚 ,王永红 ,李春凯 ,石 玗 ,孙忠诚 ,3,秦建刚
1.西安航天发动机有限公司,陕西 西安 710100
2.兰州理工大学 省部共建有色金属先进加工与再利用国家重点实验室,甘肃 兰州 730050
3.兰州瑞奇戈德测控技术有限公司,甘肃 兰州 730010
推力室是液体火箭发动机的重要组成部分,由喷注器、燃烧室和喷管等部分构成,其中喷注器和燃烧室主要通过熔焊工艺进行连接[1]。在火箭发动机实际运行过程中,当推力室室压较高、推进剂充分燃烧时,推力室头部温度较高,若焊缝存在焊漏、裂纹和孔洞等缺陷可能会引起焊缝失效,甚至影响发动机正常运行[2]。因此,研究高效稳定的推力室熔焊缝焊接质量检测方法具有重要意义。
目前焊缝缺陷识别主要采用X射线检测技术,但在实际生产中X射线检测缺陷评定过程仍主要依赖人工识别,存在检测效率低、检测结果受主观因素影响较大、自动化程度低等问题[3-4]。通过数字图像处理及模式识别等方法实现焊缝缺陷的自动检测与识别[5-6]可以很大程度上克服人工识别的缺点。基于此,国内外学者针对X射线焊缝数字化胶片图像缺陷的检测与识别展开了大量的研究。罗爱民等人[7]基于改进二叉树多分类的SVM算法提高了焊缝缺陷分类识别精度。Zhang 等人[8]分别采用基于图像处理和WGAN处理的数据增强方法来处理缺陷图像,再通过多模型集成框架将训练好的CNN图像结合起来对缺陷进行分类,成功降低了误检率。Liu等人[9]基于深度学习提出了一种多尺度特征映射方法,用于低质量焊缝图像的缺陷识别,通过特征融合模型来融合映射的局部和全局特征,从而提高缺陷识别性能。刘涵等人[10]基于排序点的聚类算法对一定区域内的缺陷和噪声进行分割并构建焊缝缺陷图像的样本库,通过CNN和Soft‐max分类器相结合的算法实现了缺陷的准确识别。上述研究虽在一定程度上提高了缺陷检测的可靠性以及自动化程度,但由于成像条件以及算法的复杂性和局限性,在实际应用中仍存在许多问题需要进一步研究。
本文提出了一种基于YOLO V3的推力室熔焊缝数字化胶片图像缺陷识别方法,对胶片图像进行预处理并构建数据集样本,开发了基于深度学习理论的YOLO V3缺陷自识别模型,实现了推力室熔焊缝胶片数字化图像缺陷的智能识别。
为了将原始X胶片图像进行数字化以便于后续图像预处理和深度学习神经网络模型的构建,选用VIDAR NDT PRO工业胶片数字化扫描仪对1 034张X胶片图像进行扫描,部分扫描后的数字图像如图1所示。可以看出,扫描后的胶片数字化图像具有以下特点:(1)焊缝缺陷在数字化图像中的对比度低且占比较小;(2)扫描后数字化图像尺寸不一致,这是由于原始胶片尺寸规格不一造成的;(3)单张数字图像中存在多种不同类型缺陷。
图1 胶片扫描后数字图像Fig.1 Digital image after film scanning
考虑到扫描后数字图像尺寸不一致不利于后续深度学习神经网络模型的构建以及AI缺陷识别效果,需对扫描后数字图像进行图像分割和尺寸归一化处理。具体流程为:第一步,选定某一尺寸(400×800)作为标准尺寸;第二步,图像分割与图像填充操作。将所有数字图像与标准尺寸做对比,若原始图像大于标准尺寸,按照标准尺寸将原始图像分割为若干标准尺寸区域,若部分区域分割完小于标准尺寸则进行图像边缘填充,进而保证与标准尺寸的一致性;若原始图像小于标准尺寸,则将小于标准尺寸的区域进行图像填充运算保证与原始图像大小一致。图像分割与尺寸归一化算法详细流程如图2所示。
图2 图像分割与归一化算法流程Fig.2 Image segmentation and normalization algorithm flow
由于胶片在数字化扫描过程中无法避免会出现信息丢失和噪声引入,为了尽可能增加图像中缺陷与背景的对比度并削弱噪声的干扰,需对尺寸归一化后的图像进行图像降噪、对比度增强以及锐化滤波预处理。
图像降噪算法采用中值滤波,计算公式为
式中 (x,y)表示集合R中的元素;Sort表示排序;R表示图像中心点(x0,y0)周围元素集合;T表示集合R中元素的个数。
图对比度增强算法采用幂律变换,计算公式为
s(x,y)=c[g(x,y)]γ
式中c为比例因子;γ为伽马因子,取值范围[0,1]。
锐化滤波采用拉普拉斯算子作为卷积核对对比度增强后图像进行锐化滤波,拉普拉斯算子形式如下
中值滤波和幂律变换前后的数字图像对比如图3所示,可以看出经过图像预处理,原始图像中缺陷轮廓更为明显。
图3 预处理前后的数字图像对比Fig.3 Comparison of digital images before and after pretreatment
通过图像归一化和图像增强处理后共得到了2 650张熔焊缝数字图像。考虑到2 650张对于后续构建深度学习神经网络模型而言样本集过少,为此采用旋转、平移、翻转等图像操作对原始图像进行了扩增,如图4所示,经图像扩增后样本集的数量为5 600张,为后续建立AI智能识别算法奠定基础。
图4 图像扩增Fig.4 Image amplification
为实现液体火箭发动机推力室熔焊缝缺陷的智能识别,提出采用基于YOLO V3的深度学习神经网络算法来开发AI熔焊缝缺陷智能识别系统。
在建立的数字图像样本集中随机抽取了3 000张作为模型训练的图像样本训练集,200张作为图像测试集用于评价深度学习模型的泛化能力。为了后续训练基于YOLO V3深度学习神经网络模型,对图像样本集中的熔焊缝缺陷进行了人工标注,缺陷标注图像如图5所示。
图5 典型缺陷人工标注Fig.5 Manual marking of typical defects
设计的深度学习神经网络模型为YOLO V3网络,网络架构如图6所示。YOLO V3主要由三部分组成:Backbone骨干网络结构的Darknet-53网络、特征汇总的FPN网络和分类回归输出网络,各块网络结构如图7所示。其中,Darknet-53网络主要功能是提取原图片信息,分别提取为32*32的大型感受野(共13*13个),16*16的中型感受野(共26*26个),以及8*8的小型感受野(共52*52个),分别用于提取大型、中型以及小型特征信息。之后将提取的信息传入FPN网络中进行汇总,并用分类回归网络对图片每部分进行分类计算。
图6 Darknet-53结构Fig.6 Structure of Darknet-53
图7 特征汇总及分类回归网络结构Fig.7 Feature summary and classification regression network structure
该网络损失函数为网络各部分损失函数之和,总表达式为
其中,目标检测框回归损失函数采用均方误差损失函数,类别和置信度损失函数采用交叉熵损失函数。在反向传播过程中,所使用的优化算法为Momentum。设小批量随机梯度为gt,学习率为λt,时间步t的自变量为xt。在t=0时,创建速度变量v0,并将其元素化为0。在时间步t>0时,对每次迭代的步骤做如下修改:
式中 参数γ满足0≤γ≤1。在γ=0时,Momentum等价于小批量随机梯度下降。
基于Python编程语言环境和Tensorflow平台编写了YOLO V3算法神经网络模型,并在Intel Core i7 6700K+GTX 1080的电脑上对模型进行训练。
网络四种损失函数曲线如图8所示。四种损失函数曲线都符合如下趋势:网络在训练集和测试集上的损失函数曲线变化趋势相同,都表现为在前期训练轮次中网络损失函数下降较快,之后下降速度逐渐减慢,曲线趋于平缓,并逐渐收敛于一个较小值,且收敛值相近,说明网络性能及拟合泛化程度良好。但二者仍存在部分差异,表现为:网络在训练集上训练时曲线下降较为平滑,但在测试集上训练时在训练集损失函数曲线附近剧烈波动,后期波动幅度减小,逐渐逼近收敛于训练集损失函数曲线收敛值。该差异说明网络对训练集样本的拟合优度上升与网络泛化性能的提升并非同步,但随着网络拟合优度的增加,网络泛化性能呈现提升趋势,且最终逼近拟合优度。
图8 损失函数曲线Fig.8 Loss function curve
为了验证所构建YOLO V3深度学习神经网络AI缺陷识别模型用于识别胶片数字化图像中熔焊缝缺陷的准确性以及泛化能力,利用测试集(200张数字图像)对其进行了测试,YOLO V3模型自动识别的熔焊缝缺陷如图9所示。
图9 自动识别的典型缺陷Fig.9 Automatic identification
通过比对AI模型自识别结果和人工识别结果来评估所建立YOLO V3算法的识别准确性和泛化能力。主要通过漏检率、误判率和准确率三个技术指标来评估,三个技术指标的计算为
通过比对测试集中200张数字图像发现,所建立的AI缺陷自识别模型对于气孔类缺陷的漏检率为2.3%,误判率为3.3%,准确率为94.4%;未熔合类缺陷的漏检率为1.4%,误判率为2.8%,准确率为95.8%;未焊透类缺陷的漏检率为3.2%,误判率为3.6%,准确率为93.2%;裂纹类缺陷的漏检率为5.2%,误判率为4.4%,准确率为90.4%。相比较而言,AI缺陷智能识别模型对于裂纹类缺陷的识别准确性与泛化能力明显低于气孔、未熔合、未焊透等三类缺陷,这主要是两方面原因造成:一是裂纹类缺陷较其他类型缺陷样本数量较小;二是部分裂纹类缺陷的人工标注存在一定争议,导致训练集中存在错误样本。对于上述问题可通过进一步增加裂纹类样本数量、提高人工标注的准确性来提升模型泛化能力。
(1)设计基于深度学习神经网络的YOLO V3算法模型能够用于液体火箭发动机推力室熔焊缝胶片数字化图像缺陷的智能识别与分类,且分类准确性均高于90%。
(2)所建立AI模型对于裂纹类缺陷识别准确性相对较低是由于样本集过少,且部分样本人工标注存在争议。
(3)综合文中漏检率、误判率和准确率三个评价指标来看,缺陷漏判对于该检测技术在实际工程应用而言存在一定的安全隐患,为了解决现有模型漏检率相对较高的问题,后续进一步增加训练样本,并在模型输出结果中增加置信度判断指标,对于置信度相对较低的胶片采用人工二次核查,以此来避免缺陷漏判,进而保证检测质量。