基于深度学习的TIG焊背部熔池检测和熔宽提取
2020-09-28卢振洋宫兆辉闫志鸿翟思宽
卢振洋,宫兆辉,闫志鸿,翟思宽
(北京工业大学汽车结构部件先进制造技术教育部工程研究中心, 北京 100124)
焊缝成形的检测与控制是焊接自动化过程中的基本问题之一,同时也是一直未能从根本上解决的问题.原因之一是焊缝成形的可靠传感比较困难,需要在焊接过程中精确地检测熔宽、熔深或反面熔透,现有的熔池成形传感方法很多,包括超声波法传感熔透[1-4],电弧电压、弧光法传感熔池振荡信息[5-9],声信号传感等离子焊小孔行为[10-11],X射线法传感焊接熔池形状[12-14],红外测温法传感焊接温度场,视觉传感器传感焊接熔池信息等,其中视觉传感的方式最符合人工焊接的认知,也是本文所采用的方法.还有一方面原因是焊接过程的复杂情况太多,使得采集到的信号处理难度比较大,精确实时的自动化处理更是难上加难.
人工智能是近几年发展比较快的领域,其中深度学习方面更是取得了很多突出成果,传统的研究方法解决不了的问题,在应用深度学习方法后,都有了新的进展,比如,人脸识别和人体姿态研究等[15-20].
近年来深度学习在焊接研究中获得了大量应用,主要包括:焊接熔透预测、熔池图像识别、3D增材制造质量监测等.
熔透预测方面,山东大学刘新峰[21]通过提取焊缝特征参数,利用传统逆向传播(back propagation,BP)神经网络模型对焊接穿孔/熔透状态进行预测,但是精度较低;覃科等[22]提出了一种利用卷积神经网络(convotional neural networks-machine,CNN-M)对形态复杂的CO2焊接熔池形态进行识别的方法,研究结果表明,CNN-M 在网络的训练过程和检测过程中的识别率均要优于BP 神经网络;Kim 等[23]利用深度学习开发了熔化极气体保护焊(gas metal-arc welding,GMA)焊接接头背部焊道监测算法,研究结果表明,焊接电压与电流信号经卷积神经网络训练后可很好地预测背部焊道的产生情况.
熔池图像识别方面的研究主要集中在缺陷检测,电子科技大学的张明星[24]以工业生产所拍摄的钢管焊缝为试验对象,利用 X 射线和神经网络进行缺陷检测;南昌航空大学的郑志远[25]将深度学习和超声时差衍射法(time of flight diffration detector,TOFDD)成像结合,实现了缺陷的自动识别与分类;华中科技大学的邓星[26]开发了采用深度学习和支持向量机(support vector machine,SVM)的缺陷检测系统;Ye 等[27]开发了基于神经网络的视觉检测系统,用于识别电子元器件中电阻点焊缺陷.
3D增材制造质量监测方面,Tang 等[28]通过提取3个特征参数,利用深度学习在增材制造过程中缺陷监测方面取得了很好的效果;Shevchik 等[29]结合声发射传感器及机器学习,研究了声发射信号在增材制造过程中质量监测方面的应用.
近5年来深度学习技术在焊接以及基于焊接的增材制造方法的过程控制中均获得应用,因为传统的浅层的神经网络方法采用图像特征作为网络的输入,所以首先需要对图像进行特征提取,而在特征的提取过程中,许多有用信息可能会丢失.但是卷积神经网络直接将图像所有像素值作为输入,结构采用深层网络,利用大数据进行训练,避开了特征工程,所以效果更好,相对于传统的BP 神经网络,深度学习大幅提升了特征提取的准确度和过程控制的响应速度.
但是,深度学习在焊接方面没有针对焊接过程中焊接熔池的精确定位与识别,以及焊接熔宽的提取的研究.
区别于已有只是对熔透状态的研究,本文将利用视觉传感的方法采集图像,通过传统图像处理与深度学习相结合,来解决熔池图片处理中精确对熔池状态分类和定位熔池边界、获得最大熔宽等分类和回归相关问题,实现对熔池的检测.本文设计的系统可直接应用到工业现场,保证实时性和准确率.
1 硬件平台搭建和数据采集
1.1 硬件设备搭建
本文焊接方法采用TIG焊,焊接材料为2 mm厚低碳钢,TIG焊机采用的是Liler的Aerowave焊机.通过Manta G-145B/C-30fps相机采集焊接过程的背部熔池图片,采集卡是NI公司的USB数据采集卡,可以通过PC上的LabView进行编程控制,传感器和外触发是自主设计的硬件电路.
硬件设备组成如图1所示,焊接过程采用的是TIG焊脉冲焊,将相机和数据采集卡采集到的图片和电流电压信号传输到计算机,计算机对数据处理之后可通过电流电压控制器和伺服电机控制器调节焊接电流电压和工作台运动.在焊接过程中,为了保证采集到清楚的图片,需要在焊接弧光最弱的时刻采集图像,所以设计通过外触发控制相机在指定焊接电压上升沿处采集图像,通过采集卡采集3路信号(电流、电压和外触发),硬件平台保证了焊接背部熔池图片对应当前时刻的电流和电压值.
1.2 图像采集
为了让深度学习的网络有一个健壮的鲁棒性,就需要大量的图像,所以采集的图像数量要多,涵盖的焊接情况也要尽量多.
将Manta相机的帧率设置在16 Hz,采像过程中,通过随机改变电流的方法来实现不同的焊接情况.初步将焊接的情况分为正常熔透(见图2(a))、未熔透(见图2(b))和烧穿(见图2(c))3种情况.最终采集得到了10 000张正常熔透照片、10 000张未熔透照片和130张烧穿照片.
2 熔池图像分析和图像处理
2.1 熔池图像分析
图2(a)所示是一个比较理想的熔池,边界清楚,呈阶跃型,边界形状规则,熔池内部只有少量的熔渣,熔池外部亮度由暗到亮均匀渐变,这类熔池边界的提取算法容易实现且较可靠.
但是,在常规焊接中,熔池图像干扰因素很多,形态很复杂,图3为各种类型的熔池图像.图3(a)中,上部分边界被熔渣覆盖,已经失去了边界特征,很难设计对应的图像处理算法;图3(b)中,熔透区基本被熔渣覆盖,其图像特征极易与未熔透混淆;图3(c)中,熔池高亮区域很不规则,当前熔透区与先前熔透区连接在一起,难以区分;图3(d)中,熔池尾部受氧化皮干扰严重,熔池边界也受熔渣和氧化皮干扰极不规则;图3(e)中,熔池的周围受即将剥落的氧化皮干扰,熔池内部受熔渣干扰;图3(f)中,熔池下半部分边界模糊,无明显的阶跃信号,图像处理困难;图3(g)中,熔池边界极不规则,边界很难界定.因为这些原因,传统的图像处理需要设计不同的方法针对可能出现的所有熔池进行处理,而且在这之前还需要针对每一种熔池进行分类,程序复杂,可靠性不高.
2.2 图像处理
对于求边界的问题,传统的图像处理有很多相关的研究,Reborts边缘检测算子、Sobel边缘检测算子、差分边缘检测等都是比较好的边缘检测方法,这些算法大都是基于边界的梯度变化来进行边缘的检测,其中Canny边缘检测算子的适应性很强,本文也基于Canny算子设计了一套边缘检测算法对熔池边缘进行了提取,具体流程如图4所示.
其中,Canny边缘检测算法可以分为以下5个步骤:1)应用高斯滤波来平滑图像,目的是去除噪声;2)找寻图像的强度梯度;3)应用非最大抑制技术来消除边误检(本来不是但检测出来是);4)应用双阈值的方法来决定可能的(潜在的)边界;5)利用滞后技术来跟踪边界.
高斯滤波器与图像进行卷积,该步骤将平滑图像,以减少边缘检测器上明显的噪声影响.大小为(2k+1)×(2k+1)的高斯滤波器核的生成方程式为
1≤i,j≤2k+1
式中:i、j分别为行数和列数;H为卷积核.
寻找图像的强度梯度需要计算梯度模G和方向θ,其计算式分别为
θ=arctan 2(Gy,Gx)
式中Gy、Gx分别为水平和垂直方向的差分.
本文选取的σ=1.4,这套算法在边界梯度明显的熔池图像中表现很好,但是当出现复杂焊接熔池图片和较多外部干扰后,算法的适应性就表现得不是很好.算法的图片处理情况如图5所示,图5(a)是图像干扰少、边界梯度明显的图像处理情况,图5(b)是图像边界复杂后,图像处理情况.
从图5的结果可以看出,在焊接图片简单、边界梯度不复杂并明显的情况下,图像处理算法可以很好地找出边界,连接边界宽度,当边界复杂后,边界信息提取得不完整,如果针对每一种情况都设计一套算法,算法的复杂度会很高,并且无法保证所有的图片都适合,所以就需要一种新的方法来进行边界的识别,因此研究中引入了深度学习的方法对熔池进行处理,通过深度学习在特征学习方面的优势来解决熔池边界提取问题.
3 深度学习网络构建与训练
3.1 深度学习网络构建
本文的难点在于对熔池宽度的预测,因为这类回归问题相较于之前许多研究的分类问题更加复杂.深度学习中的卷积神经网络在图像处理上表现突出,将卷积神经网络应用到目标检测,不仅包含了分类问题也包含了回归问题.本文用到的是一套深层卷积神经网络,基于谷歌开源的Tensorflow进行的网络搭建,不仅算法稳定性更高,而且工程化实现更简单.
在搭建神经网络方面,主要考虑了网络的可移植性、速度和准确率,深度神经网络要在一些嵌入式平台上应用,比如机器人和自动驾驶,就十分需要一种轻量级、低延迟(同时精度尚可接受)的网络模型,为了使研究成果可以工程化运用,在特征提取的卷积层方面引用了Mobilenet网络,它是一个可适应硬件条件有限的轻量化卷积神经网络.Mobilenet的一个特点是深度可分解[30],深度可分解就是将标准卷积分解成一个深度卷积和一个点卷积(1×1卷积核).深度卷积将每个卷积核应用到每一个通道,而1×1卷积用来组合通道卷积的输出,每一层的分解图如图6所示,这种分解可以有效减少计算量,降低模型大小.
由于只有熔池一类需要识别,需要的网络复杂度不高,但是追求高速的处理效果,因此选择速度最快的SSD模型进行修改,仿照VGG-SSD的结构,用Mobilenet替换VGG进行特征的提取.Mobilenet总共有28层——1个输入层、2×13个中间卷积层和1个输出层,修改后的神经网络是在Mobilenet的conv13后面添加了8个卷积层,然后仿照SSD运用特征金字塔结构进行检测的方法,在网络的最后总共抽取6层用作检测,搭建出一套ssd_mobilenet网络,并通过GPU加速.网络结构如图7所示.
在损失函数方面采取类似Fast RCNN中的损失函数,总的损失函数是localization los(loc)和confidence loss(conf)的加权和,即
confidence loss(conf)为
localization loss(loc)为
式中:(gcx,gcy,gw,gh)表示groundtruth box;(dcx,dcy,dw,dh)表示default box;(lcx,lcy,lw,lh)表示预测的box相对于default box的偏移量.
对比Tensorflow公布的5个在COCO上训练得到的不同组合网络模型组合.这些网络结构的准确度和精度如表1所示,COCO mAP是评价网络模型准确度的标准,数值越大,准确度越高.可以看到,网络的精度和速度是相互冲突的关系.
从表1可以看出,ssd_mobilenet的速度最快,但是准确率相对其他的组合形式不是很高,这主要是因为COCO数据集的数据类别多,但是本研究针对的焊接熔池只有一类,着重点只在识别和回归,所以速度有保证的前提下,准确率在可接受范围内.
表1 网络模型精度和速度
以上是训练网络的基本模型,训练得到的参数需要应用到测试网络对新数据集进行测试,在测试的神经网络的最后,没有采用box的形式回归整个熔池,而是采用了熔池宽度进行回归.网络模型预测的值是像素个数,在对大量焊件进行测量之后,计算出像素数与实际长度之间的比例关系,并将比例以参数形式编辑到程序中,使神经网络直接输出焊接熔池图片的实际宽度.
3.2 图像分类和图像标记
本文将TIG焊反面熔池图像分为三大类,分别是未熔透、正常熔透和烧穿,通过对比图片发现,正常熔透和未熔透照片的特征比较复杂,单纯用图像处理来分出3类比较难,但是把未烧穿(正常熔透、未熔透)和烧穿分开比较容易,因为未烧穿的图片都是偏红色,图片蓝色通道的像素值都小,而烧穿的照片,如图2(c)所示,由于大面积弧光的影响,蓝色通道的像素值多,通过这一特点可以将图片分为未烧穿和烧穿,通过图像处理可以得到3种类型图片的蓝色色度分布图,图像处理过程如图8所示.先将原图进行转换,得到体现颜色空间的HSV图像,对HSV图像进行通道的提取,得到蓝色通道的分布情况.
原图是彩色图像,转换成HSV图像,设(r,g,b)分别是一个颜色的红、绿和蓝坐标,它们的值是0~1的实数.H∈[0,360)是角度的色相角,而S,V∈[0,1]分别是饱和度和亮度,HSV的计算为
V=max
式中:min=min(r,g,b);max=max(r,g,b).
如图9(a)所示是烧穿图片的蓝色区域,图9(b)是未烧穿图片的蓝色区域,烧穿图片的蓝色区域很大,未烧穿的蓝色区域较小.
统计部分典型图片(烧穿、正常熔透和未熔透)的蓝色分量,统计过程如图10所示.统计结果如表2所示,表格数据一定程度上反映了烧穿熔池图像和未烧穿熔池图像在蓝色通道最大灰度值的分布情况,烧穿的熔池图像蓝色通道灰度值255分布得比较多,未烧穿的熔池图像,蓝色通道最大灰度值很少达到255且分布少.
表2 蓝色通道灰度值和数量
将图片分为烧穿和未烧穿之后,将未烧穿的图片制作成数据集,通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集、验证集和测试集.为了更好地进行分类,并提高精度,研究中只做了1个分类,类别为penetration.图片标记用到的是labelImg-master标记软件,标记的过程中不标记未熔透的照片,训练集和验证集中的熔透照片标记是将标记的box正好包含住熔池,如图11所示,box的上下左右边框正好和熔池相切,box的高度乘以比例系数可以反映出熔池的宽度.总共标记了6 978张正常熔透的照片作为训练集,标记了1 000张正常熔透的照片作为验证集,2 022张正常熔透照片和2 865张未熔透的照片未作标记,作为测试集,第2节中分析过的复杂熔池图片均在测试集中.
3.3 训练模型
将标记好的xml数据转换成指定格式的csv文件后,再将csv文件转换成record文件,完成数据集的制作,设置网络模型的参数是训练前的必要准备.由于重新开始训练参数可能造成网络收敛失败,因此在网络训练开始时,运用ssd_mobilenet的参数初始化网络,之后训练过程就是在更新初始化的网络参数.由于需要模型很快地运行,因此开始设置学习率为0.004,batch_size=8.在网络开始运行时,loss下降明显,在10 000步之后收敛到1.5左右,停止网络训练,进行模型测试,测试结果显示部分图片识别效果很好,还有一部分无法识别,所以还需要进一步降低loss,提高网络的精度,重新开始训练,在原有的基础上改变batch_size=16,学习率为0.003,继续训练到20 000步,将学习率改为0.002,loss有所下降,但不明显,改变学习率为0.001,batch为8,训练过程的loss如图12所示,定位损失函数、分类损失函数和整体损失函数都是收敛的,60 000步之后将学习率调整0.000 5,继续训练到70 000步之后,loss稳定在1左右,保存1个网络训练,将保存的72 104步的网络用来试之前的测试集,结果相对之前的模型准确率有所提高.训练的调参过程如图13所示.
4 试验结果
对测试集数据进行试验,结果显示,用图像处理分类出烧穿和未烧穿的照片,用深度学习分类出的正常熔透和未熔透照片的正确率都是100%.图14(a)所示,图片是未熔透,网络输出是在图片上标记未熔透,图14(b)所示,图片是正常熔透,网络输出是在图片上标记熔透,同时检测熔池宽度,并给出宽度值.
对之前列举出的图像处理难以解决的图像进行预测,得到的结果如图15所示,从结果可以看出,不仅熔池的分类很准确,而且边界的定位很精准.
为了试验深度学习在预测宽度上的准确率,将一系列图片进行人工测试,这一系列的图片是一次焊接过程中的前、中和后期的一部分图片,手动测出并记录的熔池宽度与用神经网络测试这一系列图片得到的熔池宽度进行对比和数据计算,得出平均误差是1.14%,最大相对误差5.23%,神经网络试验的结果基本吻合人工手动测试的结果,图16所示是2种结果的折线图,计算每幅图像平均耗时23 ms,实时性更好.将整套算法集成到工业计算机后,现场测试可以保证准确率和实时性.
5 结论
1)采用深度学习单个卷积神经网络同时实现了熔池的分类和边界的回归,在标记时,对于未熔透图像,不做标记,对于熔透图像,标记为目标出现,并对熔池边界进行框选,最终训练后的网络可同时实现熔池的检测和熔池最宽边界的提取.
2)将TIG焊熔透信息分为3类:未熔透、熔透和烧穿,通过图像分析,得出可用图像处理方式进行烧穿的筛选,再用深度学习方法进行熔透与未熔透分类,2种分类正确率均达到了100%.相对已有的研究,在熔透状态预测上准确率更高.
3)对TIG焊熔透视觉图像进行分析可以看出,熔池图像干扰因素很多,图像类型复杂,很难用图像处理算法准确可靠地提取熔宽,而采用卷积神经网络模型,在样本足够大的情况下,通过GPU加速,可准确快速地进行熔宽的提取,模型计算与手动测量的最大相对误差为5.23%,单张图片处理速度为23 ms,达到了工程应用的水平.