基于RGB-D特征分层融合的焊缝检测与分割方法及装置与流程
基于rgb-d特征分层融合的焊缝检测与分割方法及装置
技术领域
1.本发明涉及一种焊缝检测分割方法及装置,特别是涉及一种基于rgb-d特征分层融合的焊缝检测与分割方法及装置。
背景技术:
2.从复杂工业场景中对工件多平面上的焊缝进行精确的实例分割和定位,是准确引导铣削与打磨机器人的重要前提。传统的几何方法通常依赖于焊缝的纹理信息,无法适用于较为复杂的工业场景,且无法处理工件被遮挡的情况。基于深度学习的2d分割模型可以解决图像中的噪声和不均匀问题,mask r-cnn就是一种实例分割网络,但是其掩码由28*28的特征图转化而来,因此对目标的分割不够精细。利用点云数据进行分割的3d深度神经网络则处理速度一般较慢。
3.总的来说,将基于深度学习的方法用于焊缝检测与分割,存在以下难点和挑战。首先,3d分割模型由于3d点云的复杂性运行速度一般较慢,难以满足工业检测需求;其次,由于焊缝形态复杂各异、工件上的多条焊缝可能位于多个不同平面,仅从图像来判断极易出现漏检。此外,由于现场光照条件变化,以及存在曝光过度或曝光不足等情况,经典的mask rcnn算法易出现漏检、焊缝提取不完整、边界精度低等问题。
技术实现要素:
4.针对上述现有技术的缺陷,本发明提供了一种基于rgb-d特征分层融合的焊缝检测与分割方法,本发明还提供了一种基于rgb-d特征分层融合的焊缝检测与分割装置,目的是提高焊缝检测分割精度。
5.本发明技术方案如下:一种基于rgb-d特征分层融合的焊缝检测与分割方法,包括以下步骤:步骤一、对焊缝的rgb图像和点云数据进行多平面分割预处理,得到各平面的rgb-d数据;步骤二、将得到的各平面的rgb-d数据输入改进的mask r-cnn模型中识别分割,所述改进的mask r-cnn模型包括在主干网络中由resnet-fpn对rgb-d数据的rgb图像和深度图像分别逐层提取特征,然后逐层地将深度特征与rgb特征采用注意力感知的rgb与深度特征融合模块来进行特征融合,在特征金字塔中对rgb特征进行下采样的每一层都使用与之对应的深度特征进行融合,并且将融合后的特征逐层传递到特征金字塔的上采样过程中。
6.进一步地,所述注意力感知的rgb与深度特征融合模块包括通道注意力模块和空间注意力模块,所述通道注意力模块为se模块,所述注意力感知的rgb与深度特征融合模块将所述深度特征经过所述se模块的结果、所述深度特征经过所述空间注意力模块后与所述rgb特征交叉点乘的结果、所述rgb特征经过所述空间注意力模块后与所述特征交叉点乘的结果以及所述rgb特征经过所述se模块的结果相加进行输出。rgb特征与深度特征交叉点乘能更好地表示工件图像的颜、纹理、形状与深度信息。
7.进一步地,所述空间注意力模块对特征图先进行通道数压缩,然后由两个空洞卷
积进行特征提取,最后对通道数进行还原再使用sigmod函数激活输出。通过空洞卷积提取的特征可以较好地保留空间信息。
8.进一步地,所述对焊缝的rgb图像和点云数据进行多平面分割预处理,包括以下步骤:s1、使用体素滤波对点云数据进行下采样;s2、使用统计滤波剔除点云中的离点;s3、使用随机一致性采样方法拟合平面,得到俯仰角和翻滚角,再利用俯仰角和翻滚角将所述拟合平面的点云旋转至法向量平行于z轴;s4、根据工件的rgb图像和点云数据的对应关系分割出所述拟合平面对应的rgb-d图像,移除点云中的所述拟合平面;s5、重复步骤s3、s4,得到各平面的rgb-d数据。
9.进一步地,所述步骤s5中重复步骤s3、s4直至所述点云中剩余数据小于阈值时停止,所述阈值为点云中剩余数据量与点云数据总量的百分比。
10.进一步地,所述改进的mask r-cnn模型包括在mask r-cnn模型中增加maskgiou head模块,所述mask r-cnn模型的mask head的输出通过卷积及最大化池化后与mask head模块的输入特征图进行拼接构成maskgiou head模块的输入,所述maskgiou head模块中使用4个卷积层及3个全连接层依次连接,最后一个全连接层的输出设置为类的数量,所述maskgiou head模块的损失函数定义为,
[0011][0012][0013]
l
maskgiou
=1-giou
[0014]
其中\是求补集,b是预测边界框,b
gt
是真实边界框,c是覆盖预测边界框与真实边界框之间的最小框。
[0015]
进一步地,在所述mask head模块中14
×
14
×
256特征图到28
×
28
×
256特征图的反卷积层前添加特征金字塔网络。
[0016]
本发明的另一技术方案如下:一种基于rgb-d特征分层融合的焊缝检测与分割装置,包括控制模块,所述控制模块包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现上述的基于rgb-d特征分层融合的焊缝检测与分割方法。
[0017]
本发明所提供的技术方案的优点在于:
[0018]
本发明通过rgb图像和点云数据进行多平面分割预处理及对mask r-cnn模型的改进使rgb特征和深度特征融合,提高了多平面焊缝的检测精度。
附图说明
[0019]
图1是基于rgb-d特征分层融合的焊缝检测与分割方法步骤示意图。
[0020]
图2是多平面分割方法流程示意图。
[0021]
图3是改进的mask r-cnn模型的主干网络融合结构示意图。
[0022]
图4是注意力感知的rgb与深度特征融合模块结构示意图。
[0023]
图5是改进mask r-cnn模型网络结构示意图。
[0024]
图6是实施例实验中待分割的工件原始图。
[0025]
图7是直接对原图使用mask r-cnn进行分割的结果图。
[0026]
图8是基于rgb-d特征分层融合的焊缝检测与分割方法的结果图。
具体实施方式
[0027]
下面结合实施例对本发明作进一步说明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本说明之后,本领域技术人员对本说明的各种等同形式的修改均落于本技术所附权利要求所限定的范围内。
[0028]
请结合图1所示,本发明实施例的基于rgb-d特征分层融合的焊缝检测与分割方法包括步骤一、对焊缝的rgb图像和点云数据进行多平面分割预处理,得到各平面的rgb-d数据;步骤二、将得到的各平面的rgb-d数据输入改进的mask r-cnn模型中识别分割。
[0029]
工业现场待焊接的工件rgb-d数据由结构光相机采集,其中rgb图像以三通道灰度图的形式存储为png格式,深度信息存储为pcd格式的rgb彩有序点云,二者分辨率均为1920
×
1200。不同焊缝可能分布在工件的同一平面上,也可能分布在不同平面,还可能是跨越两个不同平面,但从其上方拍摄的图像中它是在一个平面的。为了将容易被识别为一条焊缝的情形确保识别为两条不同平面上的焊缝,需要先对工件的不同平面进行分割。
[0030]
请结合图2所示,在多平面分割方法中,首先使用体素滤波对点云进行下采样,虽然与体素滤波器相比,随机下采样的效率更高,但会破坏点云的微观结构。采用体素滤波器对点云进行下采样处理,既可以降低点云的密集程度,又可以保持其结构特征,方便后续的平面拟合。体素滤波器采用voexlgrid,输入的点云数据被构建为一个三维体素栅格,滤波后只保留每个体素内所有点的重心,虽然使用体素中心速度更快,但将重心作为采样点可以更精确地表示表示曲面。voexlgrid计算的具体过程是,先计算点云最小包围盒的边长l
x
、ly、lz,
[0031][0032]
其中,x
max
、y
max
、z
max
和x
min
、y
min
、z
min
分别为点云在xyz三个坐标轴上的最大值和最小值。然后计算体素在xyz三个方向的数量,
[0033][0034]
其中,d
x
、dy、dz分别表示每个体素在xyz方向上的数量,r为预先设置的体素栅格的边长为,表示向下取整。接着,计算每个体素在点云中的一维索引,
[0035][0036]
其中,h
x
、hy、hz表示体素的三维索引。最后,将集合h中的元素从小到大排列,保留每个体素的重点,舍弃其他点。
[0037]
此时点云中仍存在一些由测量噪声引入的离点,它们在空间中的分布较为稀
疏。使用统计滤波剔除点云中的离点。具体计算过程为,首先计算点云中每个点到其他k个点之间的距离的平均值μ和标准差σ,当某个点距离k个点的平均距离在(μ-σ
·
std,μ+σ
·
std)内时保留,否则判为离点并剔除,其中k和std是预设的两个阈值。
[0038]
接着使用随机一致性采样(ransac)方法拟合主平面,具体包括步骤:选择平面中的三个点作为模型的最小数据集;使用这三个点计算出平面方程;计算其他点到该平面的距离,若小于阈值,则点在该平面上;以内点数量为基准,比较当前平面方程与之前最好的平面方程,保留内点数最多的平面方程;迭代n次后停止,返回内点数最多的平面方程的参数。ransac拟合得到的工件点云的主平面方程为:
[0039]a·
x+b
·
y+c
·
z=d
[0040]
将主平面点云分别投影到xz和yz平面上,得到两个直线方程,
[0041][0042]
根据直线方程的参数计算得到两条直线的倾斜角,作为旋转点云的翻滚角(roll)和俯仰角(pitch),
[0043][0044]
再利用这两个角度将该拟合平面点云旋转至法向量平行于z轴。
[0045]
最后根据工件的rgb图像和点云数据的对应关系分割出该拟合平面对应的rgb-d图像,移除点云中的该平面,对剩余的外点再次进行ransac平面分割,即重复上述过程直到点云最终剩余点数量小于阈值(总数量的某个百分比),一般选取经验值20%作为阈值。
[0046]
为了降低计算量,平面方程的拟合在稀疏点云中进行计算,得到的平面方程在原始稠密有序点云中提取位于每个平面上下4mm范围内的点云作为该平面的点云集合,离点使用nan值进行填充,最终分割得到的多平面稠密有序点云,分辨率为1920
×
1200。分割后的每个平面的有序点云的z轴方向上的深度归一化并映射到[0,255],根据点云中每个点在宽度和长度上的编号,生成灰度图形式的深度图像,灰度值越大,深度越深,纯白(即灰度值为255)表示无限远的背景。借助每个平面的有序点云,对应到rgb图像中的每个像素点,将一张rgb图像拓展为多张,每张图像上只保留一个工件平面,背景用纯白填充。
[0047]
改进的mask r-cnn模型具体以mask r-cnn模型中的resnet-fpn为主干网络,假设输入的rgb和深度图像分辨率都为1248
×
768。经过resnet-fpn对两者分别逐层提取特征,然后逐层地将深度特征与rgb特征采用图3所示的结构来进行特征融合,在特征金字塔中对rgb特征进行下采样的每一层都使用与之对应的深度特征进行融合,并且将融合后的特征逐层传递到特征金字塔的上采样过程中。图中向上的箭头表示resnet的残差块(residual block),fusion是注意力感知的rgb与深度特征融合模块,虚线框内是原mask r-cnn模型中原始的主干网络resnet-fpn。
[0048]
注意力感知的rgb与深度特征融合模块同时对rgb特征和深度特征使用通道注意力与空间注意力,rgb特征和深度特征通过空间注意力相互交叉融合,最后相加得到融合后的特征,融合后的特征结合了rgb特征与深度特征的优点,对图像的颜、纹理、形状与深度
信息具有较强的表示能力。请结合图4所示,其中为矩阵相加,为矩阵点乘,为sigmod函数,d-dilated conv为空洞卷积。注意力感知的rgb与深度特征融合模块的具体结构是这样的,该融合模块呈对称状,rgb特征与深度特征都通过一个通道注意力模块和一个空间注意力模块。通道注意力使用的是squeeze and excitation(se)模块,空间注意力则先将通道数压缩到原来的1/r,再通过2个卷积核为3
×
3,膨胀率为d的空洞卷积进行特征提取,再将通道还原并使用sigmod函数激活后与深度特征(rgb特征)进行交叉点乘,最后将4个经过注意力模块的特征相加,得到融合后的特征,其尺寸与原rgb特征和深度特征相同。空洞卷积具有更大的感受野,由其提取的特征可以较好地保留空间信息,rgb特征与深度特征交叉点乘得到的特征能更好地表示工件图像的颜、纹理、形状与深度信息。本实施例中降维系数r=16,空洞卷积的扩张率d=4。
[0049]
另外,请结合图5所示,其中为矩阵相加,为矩阵拼接。本发明在mask r-cnn模型中加入maskgiou head模块,mask head模块的输出通过卷积及最大化池化后与mask head模块的输入14
×
14
×
256特征图进行拼接构成maskgiou head模块的输入,maskgiou head模块中使用4个卷积层及3个全连接层进行操作,前两个全连接层的输出设置为1024,最后一个全连接层的输出设置为类的数量。该模型在推理阶段得到了预测的mask分数,通过将预测的mask分数与分类分数相乘来重新评估mask分数。maskgiou head使焊缝的预测框更加精准,能够更好地把整个焊缝框进去,提高了对焊缝的定位能力。除此以外,本发明模型还将mask scoring r-cnn中的maskiou head的用作于损失函数的iou替换为giou,有效解决了训练初期由于mask预测框与真实框之间没有重合部分而导致无法优化的问题,maskgiou head的损失函数定义如公式(3)所示,
[0050][0051][0052]
l
maskgiou
=1-giou
ꢀꢀꢀ
(3)
[0053]
其中\是求补集,即b是预测边界框,b
gt
是真实边界框,c是覆盖预测边界框与真实边界框之间的最小框。对于预测框与真实框不重叠的情况,giou通过向目标框缓慢移动来增加二者的重叠区域以达到最大化预测框与真实框之间重叠区域的目的,这是一个不断迭代的过程。使用giou可以解决预测框与真实框无重叠区域造成的梯度消失问题,可以得到比iou损失函数更高精度的预测框。
[0054]
为了进一步提升焊缝分割精度,在mask r-cnn模型mask head中构建特征金字塔网络,融合了特征图多尺度特征,使得mask head中28
×
28
×
c的特征图更加精细,由于大型焊缝特征的准确表达对28
×
28
×
c的特征图要求更高,更加精细的特征图对大型焊缝特征有了更高精度的表达,最后转换为输出的焊缝掩码时提高了焊缝分割的边界质量框。具体地,在mask head中14
×
14
×
256特征图到28
×
28
×
256特征图的反卷积层前添加一个小型特征金字塔网络,即对14
×
14
×
256特征图进行卷积得到7
×7×
256再反卷积得到14
×
14
×
256后与前述的反卷积层前的14
×
14
×
256特征图进行矩阵相加,再经过反卷积层得到28
×
28
×
256特征图。该操作实现了对14
×
14
×
256特征图的多尺度特征融合,同时关注焊缝的
全局特征与焊缝边缘部分的细节,并提升了对大型焊缝的分割精度。
[0055]
本发明实施例的基于rgb-d特征分层融合的焊缝检测与分割装置,设有控制模块,控制模块可采用硬件、软件或者硬件与软件结合的方式进行实施,或者是构成至少包含一个处理器及存储器的计算机装置,该存储器即储存了实现上述基于rgb-d特征分层融合的焊缝检测与分割方法步骤的计算机程序,处理器用于执行该存储器上的计算机程序进行形成上述的实施例的方法步骤。
[0056]
对于本发明方法采用以下方式进行实验验证,将面阵结构光相机采集到的工件的rgb图像和点云数据处理得到工件各平面的rgb-d图像,然后使用深度学习图像标签标注软件labelme对rgb-d图像进行多边形掩码标注,每一张rgb-d图像得到一个与之对应的json文件,最后将其处理成coco数据集格式并随机选择80%作为训练集,20%作为测试集。训练样本为524张rgb-d图像,测试样本为132张rgb-d图像。
[0057]
焊缝实例分割任务对应的标注类型是目标实例,实验采用coco数据集格式,焊缝实例分割的评价标准如表1所示。ap代表所有类别的平均精度,作为最终coco评价整体标准。ap的定义使用iou的标准。表1中area是指分割掩码mask中像素的数量。同时ap也计算不同尺度目标如大目标,中目标以及小目标的实例分割精度。
[0058]
表1焊缝数据集评价指标
[0059][0060]
在基于rgb-d特征分层融合的改进mask r-cnn模型中,设置学习率为0.005,如果不设置初始权重从头开始训练,经过80000次左右迭代后,模型损失趋于收敛,如果设置初始权重为预训练模型权重,经过20000次左右迭代后,模型损失即可趋于收敛。经6次实验(如表2所示),将不同焊缝实例分割方法性能进行对比,本文方法对工业场景下焊缝实例分割精度(ap)达到82.017%,实例分割结果示例图如图6至8所示,其中图6是待分割的工件原始图像。图7是直接对原图使用mask r-cnn进行分割的结果,其对于上图漏检右侧焊缝,对于中图焊缝没有完整分割,对于下图中将一条焊缝识别为两条。图8是本发明方法进行分割的结果。其中,#params是模型参数的大小,fusion是本文上述提到的基于rgb-d数据特征分层融合的方法。
[0061]
表2不同焊缝分割方法性能对比
[0062]
