《武汉工程大学学报》  2025年03期 325-330,354   出版日期:2025-06-30   ISSN:1674-2869   CN:42-1779/TQ
基于改进YOLOv8算法的核环境水下机器人焊缝识别



核电作为绿色清洁能源之一,随着技术的进步和能源需求的增长,越来越多的核电站被建成并投入使用。核电站水池泄漏是常见的核事故之一,其中焊接质量缺陷是导致泄漏的重要原因。人工修补漏点不仅效率低、成本高,而且救援人员易受到辐射伤害,因此需要利用水下机器人进行焊缝识别与修补[1]。
国内外学者针对焊缝识别开展了大量研究,根据检测方法的不同,现有研究主要可分为通过图像增强技术提升缺陷对比度[2]进行缺陷识别;采用数据增强策略扩充训练数据集[3]进行缺陷识别;结合激光视觉传感系统,利用线结构光的三维重建原理进行检测[4-5]。在多种检测方法中,Sazonova[6]开发了基于超声波检测和缺陷扫描仪的自动焊接与缺陷检测系统;Zuo等[7]提出了一种自适应递进学习框架,实现了低质量X射线图像的端到端智能焊接缺陷检测;Naddaf-Sh等[8]创新性地将通用图像分割模型应用于超声B扫描图像中检测焊缝缺陷;陈圣峰[9]提出了一种基于改进YOLOv5的焊缝类型识别、焊点识别和焊缝关键区域检测方法;黄瑜豪等[10]提出了一种改进的轻量级开源姿态检测模型;龚律凯等[11]针对激光视觉机器人焊接过程中,由于噪声干扰导致焊缝激光条纹分割精度降低,不能精确焊接的问题,提出了一种改进U形卷积网络算法的焊缝特征识别方法;严蓬辉等[12]针对现有激光软钎焊流水线上焊点缺陷检测设备成本高和传统算法检测速度慢的问题,提出了一种能部署在激光软钎焊设备上的改进YOLOv5s焊点缺陷检测算法。
同时,YOLOv8算法在焊缝识别领域的应用也逐渐增多[13],Ultralytics公司在2023年初推出了基于对象检测模型的YOLO最新系列YOLOv8,该算法具有更快的推理速度和较高的精度,更加易于训练和调整,在目标检测领域展现出巨大的应用潜力[14]。然而,针对水下焊缝检测任务中,水下焊缝图像容易因机器人运动或水体散射而产生模糊,同时还可能受到光衰减、表面反光以及颜色偏移等多种外部因素的干扰,仅采用YOLOv8算法存在目标边缘模糊、对比度低等问题,难以实现对水下焊缝的高精度识别。
因此,本文对YOLOv8算法进行改进,通过引入多维协作注意力机制[15](multidimensional collaborative attention, MCA)和双向特征金字塔网络[16](bidirectional feature pyramid network, BiFPN),提出了一种基于改进YOLOv8算法的焊缝识别模型。该模型显著提高了焊缝识别的精度和鲁棒性,为核电站水下焊缝检测提供了可靠的技术支持。
1 水下焊缝识别模型改进
1.1 网络分析
YOLOv8是一种采用无锚框识别策略和解耦检测头结构的目标检测算法,利用YOLOv8进行图像识别时,目标图像中的特征信息会被逐渐压缩。因此,当目标图像较小,尤其是在水下存在成像模糊等环境干扰时,其特征提取能力会大幅度降低,进而影响模型的检测性能。YOLOv8采用特征点损失(distribution focal loss, DFL)和完全交并比(complete intersection over union, CIoU)结合作为模型的定位回归损失函数,保证了预测框和真实框的宽高比更接近,更适合大中型目标,但由于实际环境中水下焊缝多为长直线,粗细各不相同,针对以上问题本文主要从图像预处理和模型结构两个层面对水下焊缝检测进行优化。机器人运动模型如图1所示。
<G:\武汉工程大学\2025\第3期\黄 灿-1.tif>[水下焊缝][PS][PE][y][o][ζ][y1][z1][y2][x1][{Cw}][{Cj}][o1][o2][x2][x][x2][z2][z][{Cd}]
图1 机器人运动模型
Fig. 1 Robot’s motion model
图1中,[Cd]表示机器人坐标系,[Cj]表示相机坐标系,[Cw]表示世界坐标系,[ζ]表示机器人坐标系相对于世界坐标系的姿态角,焊缝识别目标是确定焊缝的起始点[PS]与焊缝的终点[PE]在[Cw]坐标系中的坐标。设相机内参为[Kc],[p]为焊缝中心点在[Cj]坐标系下的坐标,[P]为焊缝中心点在[Cw]坐标系下的坐标,[Cj]坐标系到[Cd]坐标系下的转移关系为[Td],[Cd]坐标系到[Cw]坐标系的转移关系为[Tw],[P]在[Cw]坐标系中的映射关系可表示为:
[P=f(p)=TwTdKcp] (1)
焊缝跟踪的目标为控制[Cd]坐标系沿焊缝行走,设焊缝中心点的真实坐标为[P],焊缝跟踪的误差[Eo]可表示为:
[Eo=f(p)-P] (2)
1.2 基于改进YOLOv8算法的焊缝识别模型
对于核废料池水下复杂环境,采用YOLOv8算法进行焊缝识别,存在目标边缘模糊、对比度低等问题,识别效果不佳。针对以上问题,本文提出了一种基于改进YOLOv8算法的焊缝识别模型,首先设计水下随机气泡噪声增强方法,模拟真实核电站水下环境的光学干扰,增强模型在复杂场景中的泛化能力;其次引入MCA,通过通道-高度-宽度三维协同建模,强化细长焊缝的特征提取能力;最后加入双向特征融合结构加强网络信息融合能力。改进模型结构如图2所示。
1.3 基于改进YOLOv8算法的焊缝识别模型设计
1.3.1 水下图像增强 水下成像因光的吸收和散射效应,面临颜色失真、对比度低和能见度低等问题,直接在水下焊缝原图像上进行焊缝特征提取,难以识别焊缝进而导致后续任务无法进行,需对图像进行增强。
在水下图像增强中,为了模拟真实场景中水下拍摄时气泡对图像的干扰,采用生成随机气泡噪声的方法。通过对气泡形状、位置、大小、方向以及透明度的随机采样,并利用数学模型构造气泡掩膜,再通过图像融合技术将气泡信息叠加到原始图像中。
设图像尺寸为[WT×HT],[WT]为图像的宽度,[HT]为图像的高度,对于每个气泡,其中心位置[(x0,y0)]可随机从均匀分布[x0~U(0,WT)]和[y0~U(0,HT)]中采样;同时,气泡的半长轴[a]和半短轴[b]从区间[[rmin,rmax]]中随机采样,其中[rmin]、[rmax]分别为气泡半径的最小值、最大值;旋转角度[θ]从[[0,2π]]中随机获得。基于上述参数,对于图像中任一点[(x,y)],其与气泡中心的归一化距离函数[d(x,y)]描述了点[(x,y)]在椭圆形气泡内的位置关系,表达式如下:
[d(x,y)=(x-x0)cosθ+(y-y0)sinθa2+-(x-x0)sinθ+(y-y0)cosθb2] (3)
随后,利用高斯衰减函数,构造复合气泡掩膜[M(x,y)]:
[M(x,y)=1-i=1N1-α?exp-d(xi,yi)22σ2] (4)
式(4)中:[N]表示气泡的总数;[σ]控制气泡边缘的柔和程度;[α]表示气泡的透明度系数。式(4)确保了各个气泡的影响能够叠加,同时不会超过1。
最后,利用阿尔法图像合成技术将复合气泡掩膜与原始图像[I(x,y)]进行融合,得到带有气泡噪声的增强图像[I’(x,y)]:
[I’(x,y)=I(x,y)?1-M(x,y)+T?M(x,y)] (5)
式(5)中:[T]为气泡的颜色,用以模拟水下光学效果。
1.3.2 引入MCA MCA能够自适应融合不同尺度的特征信息,其结构如图3所示。
特征图进入MCA之后分为3个并行分支,分别为通道、高度、宽度,设输入特征图[F∈RC×H×W],[C]、[H]和[W]分别为输入特征图的通道数、高度和宽度,[RC×H×W]表示一个三维张量,其形状由通道数C、高度H、宽度W定义。
以宽度通道为例,MCA对输入特征图[FW]的具体处理流程用数学公式表达如下:
[FW=PH(FW)FW=Tsq(FW),FW=Tex(FW)ξW=σ(FW),F’W=ξW?FW,F’’W=P-1H(F′W)] (6)
式(6)中:[PH(·)]表示图像沿H轴逆时针旋转90°;[P-1H(·)]表示逆操作;[σ(·)]表示sigmoid激活函数;[Tsq(·)]和[Tex(·)]分别表示挤压变换和激励变换,挤压变化通过全局平均池化和标准差池化生成两种不同的逐通道特征统计量来聚合信息,激励变换则是通过核大小为(1,K)的二维卷积操作实现,K为二维卷积核的宽度方向尺寸。激励变换用数学公式可表达为:
[FW=Tsq(FW)=12?(FavgW⊕FstdW)⊕α?FavgW⊕β?FstdWKW=log2(W)-γλoddW=2(λ×KW+γ)] (7)
式(7)中:[FavgW]和[FstdW]分别表示通过全局平均池化和标准差池化生成的通道统计量;[KW]为模型在宽度特征维度上相互作用的范围;[α,β]是两个可训练的浮点参数,[α,β∈01],通过随机梯度下降(stochastic gradient descent, SGD)进行优化;[?odd]表示小于或等于[?]的最近奇数;[λ]和[γ]为两个超参数,在本文实验中分别设置为1.5和1。
最后通过集成将3个分支独立生成的增强特征图[F’’C]、[F’’H]、[F’’W]进行平均求和,得到最终输出的增强特征图[F’’],其表达式如下:
[F’’=13?F’’C⊕F’’H⊕F’’W] (8)
1.3.3 引入BiFPN 基于BiFPN将简单的特征拼接结构改进成3种能够进行双向特征融合的网络结构,以增强网络的特征提取和信息融合能力,具体结构见图4。
高层特征图通过上采样与低层特征图进行融合。设[Ptdi]表示自上而下路径中第[i]层的特征图,[Pbui]表示自下而上路径中第[i]层的特征图,[C(·)]表示卷积操作,[U(·)]表示上采样操作,[D(·)]表示降采样操作,则融合公式为:
[Ptdi=CUPtdi+1+PtdiPbui=CDPbui+1+Ptdi] (9)
设[wi]表示第[i]层特征图的权重,则加权特征融合公式为:
[Pouti=w1·Ptdi+w2·Pbuiw1+w2+ε] (10)
式(11)中:[Pouti]为输出特征图,权重[w1]、[w2]通过训练学习得到,[ε]为一个很小的数用以防止分母为0。
2 验证与讨论
2.1 焊缝识别实验环境搭建
为了验证所提改进焊缝识别模型的有效性,开展了水下焊缝识别与跟踪实验并进行了分析。如图5所示,实验装置包括核作业水下机器人、霸勒思GY-H5F-8DHX10相机、激光测距仪、水下焊缝。程序运行在Windows I5-12400电脑上,内存为32 GB,显卡型号为RTX3060TI。整个标定实验的流程为:
步骤1:移动机器人,保证目标焊缝处于水下机器人相机视野内;
步骤2:调用焊缝识别模型,计算焊缝的像素坐标;
步骤3:将焊缝的像素坐标映射至世界坐标系,调用PID控制律实现水下机器人沿焊缝跟踪。同步开启激光测距仪,记录机器人的真实轨迹。
实验过程中的超参数与消融实验保持一致,训练周期设为300轮;批量大小设置为64;优化器选择带动量的SGD;初始学习率设为0.002,以保证训练初期的稳定性,同时加入0.000 5的权重衰减进行正则化防止过拟合,并配置0.9的冲量值加速收敛并减少参数更新的波动。
2.2 结果分析
为反映网络对整个数据集的训练结果,通常采用平均精度(mean average precision, mAP)和定位损失作为评估标准。其中,mAP指使用精度-召回率曲线计算的面积,是综合衡量模型性能的常用指标;定位损失是量预测框与标注框之间的误差,使用CIoU来度量,其值越小表示定位越准确。检测的精度[A]与召回率[R]的表达式如下:
[A=TPTP+FP,R=TPTP+FN] (11)
式(11)中:[TP]表示有焊缝时模型预测正确的样本数量,[FP]表示无焊缝时模型预测错误的样本数量,[FN]表示有焊缝时模型预测错误的样本数量。
对于单个类别,先根据模型的预测结果构建精度-召回率曲线,精度-召回率曲线面积[SA]的表示式为:
[SA=n=1N(Rn-Rn-1)An] (12)
其中:[An]表示在第[n]个召回水平处的精度,[Rn]表示在第[n]个召回水平处的召回率。
为了验证所提出的改进焊缝识别模型的有效性,设计消融实验,对本文模型(YOLOv8+MAC+BiFPN)、YOLOv8+MAC模型、YOLOv8+BiFPN模型以及YOLOv8模型的预测性能进行对比。取mAP50、mAP50-95、边界框损失、参数量、浮点运算量为综合评价指标,用于评价模型性能与计算效率,其中边界框损失反映模型定位精度,参数量反映模型复杂度,浮点运算量反映计算开销。
4种模型消融实验的mAP50与mAP50-95对比结果如图6所示。由图6可知,MCA和BiFPN结合后,mAP50指标上涨13.9%,mAP50-95指标上涨7.3%,验证了本文所提出的改进焊缝识别模型具有更高的特征识别精度。
各改进模型的具体性能指标对比结果如表1所示,其中包含参数量、浮点运算量等关键参数。
<G:\武汉工程大学\2025\第3期\黄 灿-7.tif>[0 100 200 300 400 500
训练周期][1.0
0.8
0.6
0.4
0.2
0.0][mAP50,mAP50-95][本文模型
YOLOv8
YOLOv8+MCA
YOLOv8+BiFPN][mAP50 mAP50-95]
图6 消融试验平均精度预测结果
Fig. 6 Average precision prediction results of ablation test
表1 消融实验结果
Tab. 1 Ablation study results
[模型配置 边界框
损失 / % 参数
量 / M 浮点
运算量 / G YOLOv8 6.32 3.011 043 8.2 YOLOv8+MCA 6.01 3.011 073 8.2 YOLOv8+BiFPN 5.82 3.105 388 8.5 本文模型 5.71 3.105 418 8.5 ]
由图6和表1可知,MCA模块对YOLOv8的mAP50-95提升较为明显,且额外带来的参数量仅为0.000 03 M,BiFPN模块则大幅度提升了mAP50,证明该模块能够融合多尺度信息,有效提高了对水下焊缝特征的提取能力,引入额外的参数量和浮点运算量仅为3.13%和3.66%,边界框损失降低0.61%。
3 结 论
针对核作业水下机器人焊缝识别困难问题,提出了一种改进YOLOv8算法的焊缝识别模型。通过引入MCA模块和双向特征融合的网络结构,在原算法的基础上有效提升了水下焊缝的识别精度。通过焊缝识别实验,得到如下结论:
(1)通过在C2f模块后引入MCA模块,有效提高了模型的检测精度,同时仅带来少量的额外参数量和计算量。通过引入并改进BiFPN模块,增强了改进焊缝识别模型的多模态信息融合能力,提升了对狭小焊缝的检测效果,缩短大修周期,显著降低了人工检测的辐射暴露风险,保障了工作人员的健康安全。
(2)通过引入随机气泡噪声,实现了水下焊缝小样本的有效增强与泛化,结合本文提出的基于改进YOLOv8的焊缝识别模型,解决了核作业水下机器人焊缝识别困难的问题,为核作业水下机器人的目标识别提供了一种新思路。