焊缝图像中结构光条纹的检测与分割 下载: 1039次
1 引言
在面向焊缝跟踪的自动焊接机器人系统中,智能测量传感器是其核心技术,主要通过测距式传感器、电磁式传感器以及视觉传感器[1]等方式对焊缝进行测量。近年来,机器视觉等行业的快速发展使得基于主动视觉的激光视觉传感器[2]在机器人自动焊接系统中越来越重要。但是视觉传感器采集到的图像中往往包含大量的烟气、飞溅线以及弧光等噪声[3],这些噪声会对结构光条纹检测产生很大的影响。
目前,很多方法已用于焊缝跟踪过程中采集获得的结构光条纹的特征识别。根据激光条纹的特点,可以通过Randon变换及模糊增强的方法获得较少噪声的激光条纹图像[4];或者对自适应阈值分割后的图像利用形态学操作滤除孤点来获得较平整的激光条纹[5];也可以通过视觉注意的方法获取焊接区域的清晰图像[6]。
在应对噪声变化多样的焊接过程时,传统方法的识别效果会有所下降,进而影响后续的焊缝特征提取过程。因此,近年来研究学者们逐渐提出了一些基于神经网络的算法来检测焊缝图像。在提取激光条纹中心线时,可以利用BP(back propagation)神经网络来对中值滤波后的图像进行检测[7];也可以通过全卷积神经网络对图像进行像素级预测,进而识别结构光条纹[8];在焊缝定位时,可以利用深层卷积神经网络及相关滤波器所提取的特征来表征结构光条纹,之后经过非极大值抑制策略实现焊缝定位[9]。
本文面向复杂噪声环境下焊缝图像中结构光条纹提取困难的问题,提出了利用语义分割与目标检测两个分支相结合的深度学习模型用于焊缝图像的检测。语义分割分支基于U-Net[10]的思想在复杂噪声环境中提取结构光条纹,由于焊缝图像分辨率较大(1280 pixel×1024 pixel),在语义分割分支中产生的计算量较大,因此在该分支中通过引入并行下采样模块及缩减卷积核数量的策略对U-Net网络进行了改进,从而降低了模型计算量。另外,针对焊缝图像的特点,在该分支的损失函数中引入了Dice指标来解决焊缝图像中的样本失衡问题,以提升分割精度。目标检测分支基于YOLO[11]系列的思想采用框回归策略来提取焊缝图像中结构光条纹所在的位置,融合两个分支时采用权重共享策略来共享特征提取部分的卷积层权重,以进一步节省推理时间。基于上述方法,构建了Tiny DT-Net(Tiny Dual Task Network)网络,通过该网络可以从焊缝图像中精确快速地分割出结构光条纹并提取出其位置,从而为后续的结构光条纹中心线以及焊缝特征点提取工作提供参考。
2 时间复杂度分析
深度学习模型涉及大量的浮点数运算,运算量直接决定了模型的前向推理时间。为了达到实时性,必须降低计算量,减少浮点数运算(FLOPs)[12]。卷积是深度学习模型中最主要的操作,本研究只对卷积操作的时间复杂度进行分析。
一次卷积的计算复杂度与输入输出通道数、输出特征图的高和宽以及卷积核大小相关,即
式中:TTime为计算消耗时间;O(·)为时间复杂度;Cin、Cout为输入、输出通道数;H、W为输出特征图的高和宽;K为卷积核的大小。在卷积操作中,卷积核大小通常为1×1,3×3,5×5,不宜过多裁剪,因此,本文选择从另外两个角度降低模型复杂度:1)降低特征图分辨率大小;2)减少输入输出通道数。
3 网络架构
模型框架主要包括两个分支,语义分割分支(Branch-seg)和目标检测分支(Branch-dec),如
3.1 语义分割分支
语义分割分支的作用在于从包含大量烟气、飞溅线以及弧光等噪声的焊缝图像中精确地提取出结构光条纹。如
语义分割模型不仅需要对图像进行编码得到深层特征图,还需要对特征图进行解码来获取原图像信息[13]。因此,语义分割模型需要的计算量较大,在处理分辨率较高的焊缝图像时难以满足实时性要求。根据第2节的描述,降低图像分辨率及减少输入输出通道数可以降低模型的计算量。因此,为了加快模型推理速度,在该分支中可依据上述两点对U-Net进行改进。
首先,在图像输入阶段引入并行下采样模块[14]来降低图像分辨率。焊缝图像分辨率大小为1280 pixel×1024 pixel,针对焊缝图像而言,除了结构光条纹之外,原始图像中包含较多的冗余信息,因此可以采用下采样模块来降低图像分辨率,去除部分冗余信息,以获得更有效的信息表示,设计时采用池化下采样与步长为2的卷积并行方式来缩减图像大小,同时可以提取原图像的特征,如
经过上述两点改进,在语义分割分支得到了一个轻量型的U-Net网络架构。在
表 1. 网络模型对比
Table 1. Model comparison
|
3.2 目标检测分支
在进行语义分割的同时,在模型中添加了目标检测分支来提取结构光条纹的位置。如
图 3. 焊缝结构光条纹的图像。(a)图像1;(b)图像2;(c)图像3
Fig. 3. Weld structured light stripe images. (a) Image 1; (b) image 2; (c) image 3
在该分支的检测过程中,将焊缝图像中结构光条纹视为检测目标,在一张图片中只需检测出一个目标即可。因此,基于YOLO-v2[15]中划分单元格及anchor的思想,可以将最后提取的结构光条纹特征图视为一个1×1的单元格,如
式中:tx,ty为网络的预测结果;x,y为坐标方向;bx,by为边界框中心点的坐标;σ(tx),σ(ty)为中心点的偏移值;cx,cy为单元格左上角的坐标值。
同时根据
式中:bh,bw为最终边界框的高、宽;ph,pw为anchor的高、宽;th,tw为网络预测的结果。
最后,在检测过程中还应预测每个bounding-box的置信度,选取置信度最高的bounding-box来作为结构光条纹检测的最终结果。
在设计网络时,检测分支依次经过特征提取部分、一个线性激活的卷积层、一个GAP[16]层(全局平均池化)后产生了最后的预测结果。GAP层的作用就是将最后生成的特征图划分成一个1×1的单元格,并在该单元格上预测3个bounding-box的坐标偏移值、高宽以及置信度。因为只有结构光条纹一种目标,所以不用预测类别。目标检测分支最后的预测结果是一个形状为(N,1,1, 3×5)的张量,其中,N为图片数量,3是anchor的个数,5包含bounding-box的中心点坐标偏移值(tx,ty)、高宽(th,tw)以及置信度。
如
通过上述Branch-seg分支的分割与Branch-dec分支的检测,可以快速精确地从焊缝图像中分割结构光条纹并提取出其位置。
4 基于焊缝图像的损失函数
4.1 语义分割分支的损失函数
语义分割模型的本质仍然是一个分类任务,在对焊缝图像中的结构光条纹进行检测时,只涉及到条纹及背景两类,因此应选择二值交叉熵损失函数,函数表达式为
式中:Lbce(·)为二值交叉熵损失函数;N为每次迭代过程中样本总数;
图 5. 焊缝图像。(a)原始图像;(b)分割标注图
Fig. 5. Weld images. (a) Original image; (b) annotated image of segmentation
为了解决焊缝图像正负样本类别失衡而导致模型预测结果偏移的问题,引入Dice指标(D)[17]来修正损失函数,在训练过程中使用其相反数Dloss 来修正,即
式中:NA和NB分别为真实值A、预测值B中正类样本的个数; NA∩B为A与B交叉部分正类样本的个数,交叉部分的正样本个数越多,Dice指标的值越大,Dloss越小,且预测值与标签值的相似度越高,所以该指标主要关注的是焊缝图像中的正类样本在重叠区域的贡献,与占焊缝图像较大部分的背景像素无关。因此在损失函数中添加此指标后,网络在训练过程中可以较好地关注正类样本,从而解决焊缝图像中的类别失衡问题。在语义分割分支中最终采用的损失函数为
4.2 目标检测分支的损失函数
在检测分支中所采用的损失函数Ldec由边界框定位损失及置信度损失组成,表达式为
式中: s为单元格;B为边界框;
5 基于焊缝图像的模型训练
5.1 数据获取及增强
深度卷积神经网络的权重参数是在采集数据的基础上通过多次迭代训练而获得,因此,获取焊缝图像数据集并对其进行标注是进行模型训练及测试的前提。在焊缝跟踪过程中,传感器所采集的图像包括未起弧时较干净的图像以及中间过程中含有各种噪声干扰的图像,因此在训练模型时需要准备不同类型的图像,以提高模型对各种焊缝图像的识别性能,提升其泛化能力。实验过程中采集了516张1280 pixel×1024 pixel大小的焊缝图像,并通过以下三种方式对采集到的焊缝图像进行数据扩增:a)竖直方向平移40 pixel;b)对图像进行30°、45°、90°旋转;c)水平垂直翻转。之后通过标注软件来标注每幅图像相应的标签图。数据扩增之后最终得到1012张焊缝图像,扩增后的部分数据图像如
5.2 模型训练
基于上述方法获得的数据,对设计的网络模型进行训练。模型是基于Keras以及Tensorflow框架实现的[18],其余部分通过python3.5来实现。训练以及预测时的实验配置为:Ubuntu 16.04操作系统,NVIDIA GTX1080显卡,8G显存,Intel i7-6700 CPU。训练过程中,以656张图像作为训练集、164张作为验证集、192张作为测试集来进行模型训练及测试。训练过程中的训练参数设置如下:训练迭代次数为16400次,学习率设置为0.0001,采用Adam优化器进行优化,由于显存较小,单次迭代过程中参与训练的图片数量batchsize设置为2。
6 实验分析与对比
6.1 网络性能测试
训练完成之后,对测试集中的焊缝图像进行预测,记录模型推理时间,并通过标签图像计算预测精度。在语义分割场景任务中,一般选择交并比(IOU)作为模型的精度评价指标,表达式为
式中:Aarea∩Barea为A与B的交集区域的面积;Aarea∪Barea为A与B的并集区域的面积。
所有类的平均交并比可通过混淆矩阵计算得来,即
式中:Miou为交并比;k为类别数;NTP为样本实际值为1,预测值为1;NFP 为实际值为0,预测值为1;NFN为实际值为1,预测值为0。
在目标检测场景任务中,选择mAP[19]值作为检测的评价指标,mAP指所有数据中全部类别的AP(平均精度)平均值。
实验中对网络的Branch-seg语义分割分支与Branch-dec目标检测分支单独运行时的预测速度及精度进行了测试,如
表 2. 各分支预测速度及精度
Table 2. Prediction speed and accuracy of each branch
|
由
网络的实际检测效果如
图 6. 各分支预测结果。(a)(b)原始图像;(c)(d)检测分支的结果;(e)(f)分割分支的结果;(g)(h)总结果;(i)(j)真实标签
Fig. 6. Prediction results for each branch. (a)(b) Original images; (c)(d) results of Branch-dec; (e)(f) results of Branch-seg; (g)(h) total results; (i)(j) ground truth
6.2 不同损失函数性能表现
实验过程中,在语义分割分支分别采用Lbce(Ypred,Ygt)与Lbce_Dice(Ypred,Ygt)损失函数对网络进行训练,并在此基础上进行测试,通过测试精度来评价两种损失函数在面对焊缝图像检测时分割性能的优劣性。实验结果如
表 3. 不同损失函数的性能对比
Table 3. Performance comparison of different loss functions
|
6.3 不同网络性能测试
如3.1节所述,在Branch-seg分割分支中,以U-Net为基础,设计了改进后的轻量化语义分割模型,同时在Branch-dec检测分支中,与Branch-seg分支共享特征提取部分的权重,从而加快了网络整体的推理速度。在这一节中将改进后的模型(Tiny DT-Net)与分别使用原始U-Net网络、MobileNet_UNet以及ENet作为语义分割分支的模型(分别称之为DT-Net、DT-MobileNet_UNet、DT-ENet)进行对比,测试其精度及速度指标,实验结果如
表 4. 不同网络性能对比
Table 4. Performance comparison of different networks
|
图 7. 不同网络预测效果图。(a)(b)(c)(d)原始图像;(e)(f)(g)(h) DT-Net检测结果;(i)(j)(k)(l) Tiny DT-Net检测结果;(m)(n)(o)(p) DT-ENet检测结果;(q)(r)(s)(t) DT-MobileNet_UNet检测结果
Fig. 7. Recognition results of different networks. (a)(b)(c)(d) Original images; (e)(f)(g)(h) test results of DT-Net; (i)(j)(k)(l) test results of Tiny DT-Net; (m)(n)(o)(p) test results of DT-ENet; (q)(r)(s)(t) test results of DT-MobileNet_UNet
由
为了更直观地体现改进后的网络性能,在
从
7 结论
为了提高复杂噪声环境下焊缝跟踪的可靠性,利用深度学习中语义分割及目标检测相结合的模型,对焊缝跟踪过程中的结构光条纹进行检测。另外针对语义分割模型计算量过大的问题,基于U-Net的思想设计了轻量型分割网络,提高了检测速度。最后为了解决焊缝图像中正负类别失衡的问题,在语义分割分支的损失函数中添加Dice指标来修正网络对焊缝图像中背景像素的倾向性预测问题,从而提高预测精度。实验结果表明,通过上述方法可以在含有复杂噪声的焊缝图像中,以较高的精度检测出结构光条纹,同时具有一定的实时性。
在将来的工作中,将继续研究在保证算法实时性的基础上,对模型架构进一步优化,以提高检测精度,使模型在强噪声环境下的结构光条纹检测结果更理想。
[1] 郭吉昌, 朱志明, 孙博文. 基于组合激光结构光的多功能视觉传感器[J]. 焊接学报, 2019, 40(10): 1-7, 161.
[2] 张斌, 常森, 王桔, 等. 基于遗传算法的激光视觉焊缝特征点提取[J]. 中国激光, 2019, 46(1): 0102001.
[3] 鄢治国, 徐德, 李原, 等. 基于示教与视觉纠偏的机器人自动焊接方法研究[J]. 机器人, 2007, 29(3): 256-260.
[4] 刘习文, 陈显明, 刘超英. 38(2): 19-[J]. . 基于拉东变换和模糊增强的结构光焊缝跟踪图像处理. 焊接学报, 2017, 22: 1-2.
Liu X W, Chen X M. 38(2): 19-[J]. Liu C Y. Image processing in welding seam tracking with structure light based on Radon transform, fuzzy-enhancement. Transactions of the China Welding Institution, 2017, 22: 1-2.
[5] 霍平, 李军萌, 曾翰林, 等. 一种基于结构光的V型焊缝实时图像处理方法[J]. 电焊机, 2014, 44(12): 144-148.
[6] 陈海永, 任亚非, 王亚男, 等. 39(9): 19-24[J]. . 基于视觉注意的V形焊接区域清晰图像获取. 焊接学报, 2018, 35: 129-130.
Chen HY, Ren YF, Wang YN, et al., 2018, 39(9): 19-24, 35, 129- 130.
[7] 李玥华, 刘朋, 周京博, 等. 基于BP神经网络的结构光光条中心提取[J]. 光学学报, 2019, 39(12): 1212005.
[8] 张永帅, 杨国威, 王琦琦, 等. 基于全卷积神经网络的焊缝特征提取[J]. 中国激光, 2019, 46(3): 0302002.
[9] 邹焱飚, 周卫林, 陈向志. 基于深度分层特征的激光视觉焊缝检测与跟踪系统研究[J]. 中国激光, 2017, 44(4): 0402009.
[10] RonnebergerO, FischerP, BroxT. U-net: convolutional networks for biomedical image segmentation[M] ∥Lecture Notes in Computer Science. Cham: Springer International Publishing, 2015: 234- 241.
[11] RedmonJ, DivvalaS, GirshickR, et al.You only look once: unified, real-time object detection[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE Press, 2016: 779- 788.
[12] Howard AG, Zhu ML, ChenB, et al. ( 2017-04-17) [2020-08-29]. https:∥arxiv.org/abs/1704. 048.
[13] Zhao HS, Qi XJ, Shen XY, et al. ( 2017-04-27) [2020-08-29]. https:∥arxiv.org/abs/1704. 08545.
[14] PaszkeA, ChaurasiaA, KimS, et al.( 2016-06-07)[2020-08-29]. https:∥arxiv.org/abs/1606. 02147.
[15] RedmonJ, FarhadiA. YOLO9000: better, faster, stronger[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE Press, 2017: 6517- 6525.
[16] LinM, ChenQ, Yan S C. Network in network[EB/OL].( 2014-03-04)[2020-08-29]. https:∥arxiv.org/abs/1312. 4400.
[17] MilletariF, NavabN, Ahmadi SA. V-net: fully convolutional neural networks for volumetric medical image segmentation[C]∥2016 Fourth International Conference on 3D Vision (3DV), October 25-28, 2016, Stanford, CA, USA. New York: IEEE Press, 2016: 565- 571.
[18] AbadiM, BarhamP, ChenJ, et al. TensorFlow: a system for large-scale machine learning[C]∥2016 12th USENIX Conference on Operating Systems Design and Implementation, November 2-4, 2016, Savannah, GA, USA. New York: USENIX, 2016: 265- 283.
Article Outline
张世宽, 吴清潇, 林智远. 焊缝图像中结构光条纹的检测与分割[J]. 光学学报, 2021, 41(5): 0515002. Shikuan Zhang, Qingxiao Wu, Zhiyuan Lin. Detection and Segmentation of Structured Light Stripe in Weld Image[J]. Acta Optica Sinica, 2021, 41(5): 0515002.