一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

焊缝特征点提取方法、装置、电子设备与存储介质与流程

2021-11-22 13:10:00 来源:中国专利 TAG:


1.本发明涉及智能机器人技术领域,尤其涉及一种焊缝特征点提取方法、装置、电子设备与存储介质。


背景技术:

2.焊接作为一项重要的制造工艺,在工业生产中有着广泛的应用。随着电子技术、计算机技术、数控及机器人技术的发展,传统的手工焊接技术逐渐被焊接机器人代替。焊接机器人通常需要借助视觉传感器来自主感知环境信息。视觉传感器又可以分为被动光视觉和结构光视觉两类。近些年来,结构光视觉由于具有非接触、信息量大、测量精度高、抗干扰能力强等优点,受到了研究人员的青睐。利用结构光视觉传感器得到焊缝图像后,首先需要通过图像处理算法完成焊缝识别与特征点提取,然后基于焊缝特征信息设计控制算法完成焊缝跟踪。
3.焊缝特征点的自动提取是实现焊缝跟踪的前提。常用的基于几何特征的焊缝特征点提取方法的步骤包括图像预处理、感兴趣区域确定、激光条纹提取和焊缝特征点提取等。该方法可以获得较高的焊缝特征点提取精度,但是该方法也存在着步骤繁琐,计算成本高的缺点。同时,这种方法仅适用于特定的焊缝类型,当焊缝类型发生变化时,需要重新设计图像处理算法。此外,即便是同一种焊缝类型,当焊缝坡口的尺寸发生变化时,图像处理算法的预设阈值也需要进行人为调整。还有,该方法抗干扰能力差,在大弧光和飞溅干扰的情况下容易找错焊缝特征点位置,因此,基于几何特征的焊缝特征点提取方法存在计算量大、灵活性差、鲁棒性差等缺点。


技术实现要素:

4.本发明提供一种焊缝特征点提取方法、装置、电子设备与存储介质,用以解决现有技术中鲁棒性差的缺陷,实现提高焊缝特征点提取方法的鲁棒性。
5.本发明提供一种焊缝特征点提取方法,包括:
6.确定待提取的焊缝图像;
7.将所述焊缝图像输入至特征点提取模型,得到所述焊缝图像的特征点坐标;
8.其中,所述特征点提取模型是基于多个样本焊缝图像以及所述多个样本焊缝图像的样本目标框训练得到的;所述样本目标框是以样本特征点为中心并基于预设尺寸标注得到的。
9.根据本发明提供的一种焊缝特征点提取方法,所述样本特征点是自动提取的,所述样本目标框是自动标注的,若所述样本焊缝图像为初始帧,所述样本焊缝图像的样本特征点是基于如下步骤确定的:
10.提取所述初始帧中的感兴趣区域;
11.基于所述感兴趣区域,确定激光条纹的中心线;
12.基于所述中心线,确定所述初始帧的样本特征点。
13.根据本发明提供的一种焊缝特征点提取方法,所述基于所述中心线,确定所述初始帧的样本特征点,包括:
14.基于所述中心线,确定多条激光条纹特征直线;
15.将所述多条激光条纹特征直线的交点作为所述初始帧的样本特征点。
16.根据本发明提供的一种焊缝特征点提取方法,若所述样本焊缝图像为非初始帧,所述样本焊缝图像的样本特征点是基于如下步骤确定的:
17.基于目标跟踪模型,对所述非初始帧进行特征提取,得到所述非初始帧的样本特征点,所述目标跟踪模型是基于所述非初始帧之前的每一帧样本焊缝图像的样本特征点训练得到的。
18.根据本发明提供的一种焊缝特征点提取方法,所述目标跟踪模型是利用基于概率生成模型的目标函数训练得到的。
19.根据本发明提供的一种焊缝特征点提取方法,所述特征点提取模型为深度学习模型;
20.所述将所述焊缝图像输入至特征点提取模型,得到所述焊缝图像的特征点坐标,包括:
21.将所述焊缝图像输入至特征点提取模型,得到所述焊缝图像的目标框;
22.基于所述目标框的中心点,确定所述特征点坐标。
23.根据本发明提供的一种焊缝特征点提取方法,所述特征点提取模型是基于如下步骤训练得到的:
24.对所述多个样本焊缝图像的样本目标框进行聚类分析,得到多个先验框;
25.基于所述多个先验框以及所述多个样本焊缝图像,对初始模型进行训练,得到所述特征点提取模型。
26.本发明还提供一种焊缝特征点提取装置,包括:
27.确定模块,用于确定待提取的焊缝图像;
28.提取模块,用于将所述焊缝图像输入至特征点提取模型,得到所述焊缝图像的特征点坐标;
29.其中,所述特征点提取模型是基于多个样本焊缝图像以及所述多个样本焊缝图像的样本目标框训练得到的;所述样本目标框是以样本特征点为中心并基于预设尺寸标注得到的。
30.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述焊缝特征点提取方法的步骤。
31.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述焊缝特征点提取方法的步骤。
32.本发明提供的焊缝特征点提取方法、装置、电子设备与存储介质,通过特征点提取模型对待提取的焊缝图像进行特征点提取,特征点提取模型是基于多个样本焊缝图像,以及以样本特征点为中心并基于预设尺寸标注得到的样本目标框训练得到的,实现了快速准确地完成焊缝特征点的提取,并且该方法鲁棒性强、适应性高以及具有较强的实用性,解决了现有技术中在大弧光和飞溅干扰下焊缝图像特征点提取不准确的问题。
附图说明
33.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是本发明提供的焊缝特征点提取方法的流程示意图;
35.图2是本发明提供的样本特征点提取方法的流程示意图;
36.图3是本发明提供的darknet53的网络结构示意图;
37.图4是本发明提供的yolo v3

dense的网络结构示意图;
38.图5是本发明提供的焊缝特征点提取装置的结构示意图;
39.图6是本发明提供的电子设备的结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.目前,国内外大量应用的焊接机器人是“示教

再现”型机器人和离线编程机器人,它们对于焊接环境的一致性要求异常严格,其焊接路径和相关工艺参数都是需要预先设置的。但是在实际的焊接中常常因为焊接热变形、工件加工误差和装配误差等因素造成焊缝位置和尺寸的变化,导致焊缝和示教或编程的轨迹有偏差,由于它们对轨迹偏差没有适应性,不具备焊缝实时跟踪控制的功能,从而最终影响焊缝成形的质量甚至导致焊接的失败,因此如何让焊接机器人自主感知焊接环境实现智能化焊接是焊接机器人的发展方向。
42.焊接机器人通常需要借助视觉传感器来自主感知环境信息。视觉传感器又可以分为被动光视觉和结构光视觉两类。近些年来,结构光视觉由于具有非接触、信息量大、测量精度高、抗干扰能力强等优点,受到了研究人员的青睐。利用结构光视觉传感器得到焊缝图像后,首先需要通过图像处理算法完成焊缝识别与特征点提取,然后基于焊缝特征信息设计控制算法完成焊缝跟踪。焊缝特征点的自动提取是实现焊缝跟踪的前提。
43.对此,本发明实施例提供了一种焊缝特征点提取方法。图1是本发明提供的焊缝特征点提取方法的流程示意图,如图1所示,该方法包括:
44.步骤110,确定待提取的焊缝图像;
45.步骤120,将焊缝图像输入至特征点提取模型,得到焊缝图像的特征点坐标;
46.其中,特征点提取模型是基于多个样本焊缝图像以及多个样本焊缝图像的样本目标框训练得到的;样本目标框是以样本特征点为中心并基于预设尺寸标注得到的。
47.具体地,待提取的焊缝图像即需要进行特征点提取的焊缝图像。考虑到现有的焊缝特征点提取方法步骤繁琐、计算成本高、抗干扰能力差、灵活性差、鲁棒性差等缺点,因此本发明实施例提出一种基于深度学习的焊缝特征点提取方法,直接将待提取的焊缝图像输入至特征点提取模型中,即可得到焊缝图像的特征点坐标。此处,本发明实施例对于焊缝图像的类型不作具体限定,例如可以是v型焊缝、搭接焊缝、角接焊缝等。
48.由于特征点提取模型预先从各种焊缝类型的样本焊缝图像学习了对应类型的焊缝信息,因此即使特征点提取模型的焊缝图像训练集中不包含待提取的焊缝图像对应类型的样本焊缝图像,特征点提取模型在训练过程中从未学习过该类型的样本焊缝图像,特征点提取模型也能基于待提取的焊缝图像,得到准确的焊缝图像的特征点坐标,从而提高焊缝特征点提取的适应性和鲁棒性。
49.另外,在执行步骤120之前,还需要预先训练得到特征点提取模型,具体可通过如下方式训练得到特征点提取模型:首先,收集大量不同焊缝类型的样本焊缝图像,并在各个样本焊缝图像上标注对应的样本目标框。随即,基于这些样本焊缝图像以及其对应的样本目标框,对初始模型进行训练,从而得到特征点提取模型。其中,初始模型可以是单一神经网络模型,也可以是多个神经网络模型的组合。
50.考虑到现有对于样本图像的标注方式通常是将样本图像中的目标物体框起来,而对焊缝图像需要标注特征点的坐标,如果使用目标框框选特征点,会造成目标框的大小不一,且焊缝特征点很难准确位于目标框的中心位置。针对这一问题,本发明实施例提出一种先确定目标框中心位置,再绘制目标框的焊缝图像训练集自动标注方法,即首先找到各个样本焊缝图像的样本特征点,随即对各个样本焊缝图像进行标注时,以样本特征点为中心,绘制尺寸一致的样本目标框。
51.此处,样本目标框的尺寸可以根据需求预先设置好。样本特征点可以是对各个样本焊缝图像采用统一的特征点提取方法得到,也可以是首先将样本焊缝图像进行分类,再对于不同类别的样本焊缝图像采用不同的特征点提取方法得到,本发明实施例对此不作具体限定。
52.本发明实施例提供的方法,通过特征点提取模型对待提取的焊缝图像进行特征点提取,特征点提取模型是基于多个样本焊缝图像,以及以样本特征点为中心并基于预设尺寸标注得到的样本目标框训练得到的,实现了快速准确地完成焊缝特征点的提取,并且该方法鲁棒性强、适应性高以及具有较强的实用性,解决了现有技术中在大弧光和飞溅干扰下焊缝图像特征点提取不准确的问题。
53.基于上述任一实施例,样本特征点是自动提取的,样本目标框是自动标注的,若样本焊缝图像为初始帧,样本焊缝图像的样本特征点是基于如下步骤确定的:
54.提取初始帧中的感兴趣区域;
55.基于感兴趣区域,确定激光条纹的中心线;
56.基于中心线,确定初始帧的样本特征点。
57.需要说明的是,现有技术中通常采用人工标注方式对焊缝图像训练集进行标注,而人工标注方式具有操作麻烦、标注效率低、实用性差等缺点。在本发明实施例中,各个样本焊缝图像的样本特征点都是自动提取得到的,并在提取出样本特征点之后,在各个样本焊缝图像上自动标注出以样本特征点为中心的样本目标框,整个过程都由计算机自动完成,无需人工参与,大大提高了训练样本的标注效率,进一步提高了本发明的实用性。
58.具体地,初始帧即焊接开始前采集的第一帧样本焊缝图像。考虑到如果直接对整幅图像进行处理,会带来较大的计算量,因此,本发明实施例首先确定并提取出初始帧中的感兴趣区域(region of interest,roi),即初始帧中激光条纹所在的区域,在此基础上,即可仅对感兴趣区域进行特征点提取,从而减少图像处理的数据量,提高检测速度和检测精
度。随即,考虑到激光条纹具有一定的宽度,可以先确定出感兴趣区域中的激光条纹的中心线,再在激光条纹中心线上确定出初始帧的样本特征点。
59.此处,激光条纹中心线的确定方式可以是灰度重心法、高斯分布法、灰度梯度法等,本发明实施例对此不作具体限定。样本特征点的确定方式可以是计算激光条纹中心线上所有像素点的梯度值,将梯度值大于一定阈值的像素点作为样本特征点,也可以是根据激光条纹中心线确定出多条特征直线,再将多条特征直线的交点作为样本特征点。
60.基于上述任一实施例,基于中心线,确定初始帧的样本特征点,包括:
61.基于中心线,确定多条激光条纹特征直线;
62.将多条激光条纹特征直线的交点作为初始帧的样本特征点。
63.具体地,考虑到线段拟合法的鲁棒性较强,线段拟合法即通过对特征直线进行拟合,然后将特征直线的交点即转折点作为焊缝特征点。对此,本发明实施例在得到激光条纹的中心线之后,首先通过直线拟合方法得到多条激光条纹特征直线,再将多条激光条纹特征直线的交点作为初始帧的样本特征点,样本特征点的坐标即可通过联立多条激光条纹特征直线的方程求得。此处,直线拟合方法可以采用最小二乘、霍夫变换、随机抽样一致性等方法,本发明实施例对此不作具体限定。
64.基于上述任一实施例,本发明实施例中初始帧的样本特征点提取方法包括如下步骤:
65.1、感兴趣区域提取:由于激光条纹大致平行于初始帧的u轴,而且激光条纹处像素的灰度值高于初始帧中其它像素的灰度值,因此初始帧的roi可以通过对每行像素灰度值求和得到。首先对每行像素灰度值进行求和:
[0066][0067]
其中,j
v
(i)是初始帧第i行像素灰度值之和,w和h分别为初始帧的宽度和高度。然后初始帧的roi可以通过下式得到:
[0068][0069]
其中,[x
min
,x
max
]和[y
min
,y
max
]分别是roi的x范围和y范围,δy是roi高度的一半,v
c
是像素灰度值之和最大值所对应的行数。进一步地,在提取初始帧的roi之前,还可以对初始帧进行中值滤波,从而通过中值滤波消除焊缝图像的噪声,同时降低对边缘轮廓的影响。
[0070]
2、自适应阈值分割:根据图像中激光条纹的灰度值高于图像中其它像素的灰度值以及激光条纹所在区域比较集中的特点,首先利用roi内行像素灰度值之和计算激光条纹的自适应阈值:
[0071][0072]
其中,t为激光条纹的阈值,k为比例系数。
[0073]
然后根据阈值分割的基本原理对roi区域进行处理:
[0074][0075]
其中,i(i,j)是阈值分割前像素点(i,j)处的灰度值,i

(i,j)是阈值分割二值化之后像素点(i,j)处的灰度值。
[0076]
3、获取激光条纹中心线:为了确定激光条纹的中心线,首先确定激光条纹的上下边缘。通过计算每列像素中最大和最小的像素灰度梯度值来确定激光条纹的上下边缘:
[0077][0078][0079][0080]
其中,p
lu
(j)是图像roi中第j列像素的上边缘,p
ll
(j)是图像roi中第j列像素的下边缘,g(k)是图像roi中第j列像素中第k个像素的灰度梯度值,w是图像roi的宽度,α
i
(i=1,2,3)是梯度算子的系数。
[0081]
然后,利用上下边缘的平均值得到激光条纹的中心线:
[0082]
p
lc
(j)=(p
lu
(j) p
ll
(j))/2(j=1,2,

,w)
[0083]
其中,p
lc
(j)是图像roi中第j列像素的中心点。将每列像素的中心点相连接,即可得到激光条纹的整个中心线。
[0084]
4、样本特征点提取:首先,需要提取得到激光条纹特征直线。在得到激光条纹中心线之后,采用随机抽样一致性(random sample consensus,ransac)算法提取激光条纹特征直线,因为它可以克服激光条纹中心线上错误点对特征点提取的影响。ransac的原理是基于迭代法估计数学模型的参数。首先,随机选取激光条纹中心线上两个点来估计激光条纹特征线方程,然后,利用下式对所有激光条纹中心线上的点进行验证,并统计候选点的个数:
[0085][0086][0087]
其中,a,b和c是激光条纹特征线方程的三个参数,d
th
是用来判断候选点的阈值。
[0088]
对上述计算过程重复进行,通过一系列迭代,得到候选点个数最多的直线就是要提取的激光条纹特征直线。为了提高特征直线的提取精度,利用最小二乘拟合方法对个数最多的这些候选点进行直线拟合,得到准确的激光条纹特征直线。
[0089]
利用ransac方法,提取得到一条激光条纹特征直线,然后去掉这条直线一定范围内的激光条纹中心线的点,对剩下的激光条纹中心线上的点再次利用ransac方法提取另外一条激光条纹特征直线,重复这些步骤,直到所有激光条纹特征直线提取完成,并将这些激光条纹特征直线的交点作为初始帧的样本特征点。例如,当初始帧为v型焊缝的样本焊缝图像时,可以提取得到v型焊缝的三条激光条纹特征直线,三条激光条纹特征直线的交点就是
v型焊缝的样本特征点,联立三条直线方程即可计算出样本特征点的坐标。
[0090]
基于上述任一实施例,若样本焊缝图像为非初始帧,样本焊缝图像的样本特征点是基于如下步骤确定的:
[0091]
基于目标跟踪模型,对非初始帧进行特征提取,得到非初始帧的样本特征点,目标跟踪模型是基于非初始帧之前的每一帧样本焊缝图像的样本特征点训练得到的。
[0092]
具体地,非初始帧即焊接开始后采集的样本焊缝图像。考虑到从初始帧中提取出的样本特征点可以作为对于非初始帧进行特征点提取的基准,并且焊接开始后会连续采集很多帧样本焊缝图像,本发明实施例采用目标跟踪模型对非初始帧进行特征提取,从而得到非初始帧的样本特征点,此处的目标跟踪模型可以是基于非初始帧之前的每一帧样本焊缝图像的样本特征点训练得到的。
[0093]
例如,非初始帧为焊接开始后采集的第一帧样本焊缝图像,则目标跟踪模型可以是基于初始帧的样本特征点训练得到的,又例如,非初始帧为焊接开始后采集的第二帧样本焊缝图像,则目标跟踪模型可以是基于初始帧的样本特征点,以及焊接开始后采集的第一帧样本焊缝图像的样本特征点训练得到的。
[0094]
本发明实施例提供的方法,通过目标检测网络不断迭代更新,不断提高目标检测网络的跟踪效果,进而实现样本焊缝图像的样本特征点的准确提取。
[0095]
基于上述任一实施例,目标跟踪模型是利用基于概率生成模型的目标函数训练得到的。
[0096]
具体地,考虑到现有目标跟踪算法例如连续卷积算子,每更新一帧图像,就会加入一个新的训练样本,这就必然导致样本中存在大量的冗余。因此,本发明实施例利用概率生成模型得到目标函数,再利用该目标函数训练目标跟踪模型,从而通过降低样本的冗余度,增加样本的多样性,既实现训练过程中计算量的减少,又保证了目标跟踪模型的精度。
[0097]
基于上述任一实施例,在获取到初始帧的样本特征点以后,本发明实施例使用基于高效卷积算子的方法跟踪目标区域,持续获取非初始帧焊缝图像的样本特征点。此处,高效卷积算子方法是对连续卷积算子算法(continuous convolution operators,c

cot)的改进,c

cot算法具体如下:
[0098]
基于m个训练样本来学习卷积滤波器,每个训练样本包含d个特征层与标准的dcf(discriminative correlation filter,判别相关滤波器)算法不同,每一个特征层都有单独的分辨率n
d
。通过引入插值模型,将特征图转换到连续的空间域t∈[0,t):
[0099][0100]
其中,b
d
是周期为t的插值函数,j
d
{x
d
}是插值特征层,利用j{x}代表整个插值特征图。c

cot算法中,训练一个连续的多通道的卷积滤波器f=(f1…
f
d
)来预测目标的检测分数s
f
{x}(t):
[0101][0102]
然后,通过最小化下式中的目标函数来学习相关滤波器。
[0103][0104]
其中,y
j
(t)是样本x
j
标记好的检测分数,α
j
表示样本x
j
的权重,w(t)是空间正则化惩罚。
[0105]
然后,为了更好地解决优化问题,将目标函数转换到频域空间:
[0106][0107]
其中,x
d
是x
d
的离散傅里叶变换。
[0108]
c

cot算法在以下三方面存在不足:
[0109]
第一,模型参数多,深度特征等高维特征图的集成导致了模型参数的急剧增加。由于训练数据在跟踪过程中的稀缺性,很容易出现高维参数空间的过拟合。此外,高维数增加了算法的复杂度,导致跟踪速度变慢。第二,训练集大,由于c

cot算法依赖于迭代优化算法,需要存储大量的训练样本集。然而,在实际中内存大小是有限的,特别是在使用高维特征的时候,一种保持可行内存消耗的典型策略是丢弃最旧的样本。然而,这可能会导致对于外观变化的过拟合,从而产生模型漂移。第三,连续的模型更新,c

cot算法采用连续学习策略,模型在每一帧中都进行更新。但是模型的连续更新会对尺度变化和变形等较为敏感,这种过度更新策略不仅降低了跟踪速度,而且可能出现过拟合降低算法的鲁棒性。
[0110]
针对c

cot算法在这三个方面存在的不足,本发明实施例提供的高效卷积算子算法(eco,efficient convolution operators)提出了相应的解决办法:第一,采用因式分解卷积算子,显著减少了目标跟踪模型参数的数量;第二,采用紧凑的训练样本空间生成模型,有效地减少了目标跟踪模型训练样本的数量,同时保持了样本的多样性;第三,引入了高效的模型更新策略,同时提高了目标跟踪模型的跟踪速度和鲁棒性。eco算法具体如下:
[0111]
1、因式分解卷积操作。由于c

cot算法中,许多卷积滤波器f
d
包含的能量很小,在高维的深度特征中尤其明显。这样的滤波器对于目标的定位贡献很小,但是仍然影响训练时间。因此,eco算法不对每个特征通道单独学习一个滤波器,而是只选择贡献较大的c个滤波器,c<d,然后每一个特征通道表示为c个滤波器的线性组合滤波器的系数表示为一个d
×
c的矩阵p=(p
d,c
),新的多通道滤波器可表示为矩阵和向量的乘积pf,所以目标检测函数可以改写为:
[0112][0113]
为了方便标记,利用表示插值特征图z=j{x}的傅里叶系数。然后,频域空间学习滤波器的目标函数可以表示为:
[0114][0115]
利用p的范数作为正则化项,并利用权重λ对其进行调节。这个目标函数是一个非线性最小二乘问题,采用高斯

牛顿法和共轭梯度法来求解这个问题。
[0116]
2、紧凑的样本空间模型。利用样本x和目标输出y的联合概率分布p(x,y),将目标函数进一步完善为:
[0117][0118]
由于样本x期望的输出y的形状是一个峰值在目标中心的高斯函数,只是峰值的位置不一样。假设目标位于图像的中心,所有的y都为y0。样本分布可以分解为:p(x,y)=p(x)δ
yo
(y),只需要计算p(x)即可。这里采用高斯混合模型(gaussian mixture model,gmm)其中:l表示高斯函数n(x;μ
l
;i)的个数。gmm模型的更新过程如下:给定一个样本x
j
,利用π
m
=γ和μ
m
=x
j
初始化组件m。如果组件的个数超过l,对gmm模型进行简化。如果组件中最小的权重小于阈值,则丢弃这个权重最小的组件;否则合并两个权重最小的组件k和l:
[0119][0120]
最后,目标函数可以修改为:
[0121][0122]
可以看出,修改后的目标函数和c

cot的目标函数类似,只是高斯函数的均值μ
l
和权重π
l
在c

cot的目标函数中替代为x
i
和α
j
,因此可以用上述介绍的方法进行求解。相比于c

cot的目标函数,样本数由m减少到l,l可以设置为m/8,大大减少了计算量。
[0123]
3、模型更新策略。c

cot算法中,每更新一帧图像,就会对模型进行一次更新,带来了巨大的计算量。因此,eco算法引入了稀疏更新策略,本质上就是规定每隔n
s
帧更新一次目标跟踪模型。注意只是对目标跟踪模型进行稀疏更新,样本仍是每一帧都要更新。实际应用中,一个适中的、低频率的模型更新策略(n
s
≈5)不仅降低了计算量,而且避免了模型漂移的问题,取得了更好的跟踪效果。
[0124]
基于上述任一实施例,考虑到通过人工标注很难实现标注出位置准确,大小一致的样本目标框,本发明实施例提出焊缝图像特征点的自动标注方法,该方法分为两个步骤,首先基于几何特征的焊缝特征点提取方法在焊接前确定初始帧焊缝图像的样本特征点和样本目标区域,然后采用基于高效卷积算子的方法跟踪目标区域,提取样本特征点坐标,利用脚本完成焊缝图像训练集的自动标注,提高数据标注的效率和准确性。
[0125]
图2是本发明提供的样本特征点提取方法的流程示意图,如图2所示,本发明实施例首先使用基于几何特征的方法获取样本目标区域,随后基于非初始帧之前的每一帧样本焊缝图像的样本特征点,对目标跟踪模型中的卷积滤波器进行训练,不断更新滤波器系数,
用更新系数后的滤波器确定样本目标区域,进而获取样本特征点坐标。
[0126]
将获取的样本特征点坐标保存到.csv文件中,在.csv文件中计算样本目标框的上、下、左、右边界范围,随后使用python脚本读取.csv文件中的数据批量写入.xml标注文件中。使用labelimg软件打开焊缝图像训练集中的样本焊缝图像时,会发现该图像已经被成功标注样本目标框。使用本发明实施例提出的自动标注方法所标注的样本目标框位置准确、大小一致,提高了焊缝位置的标注精度和标注质量。
[0127]
基于上述任一实施例,特征点提取模型为深度学习模型;
[0128]
步骤120包括:
[0129]
将焊缝图像输入至特征点提取模型,得到焊缝图像的目标框;
[0130]
基于目标框的中心点,确定特征点坐标。
[0131]
具体地,考虑到深度学习模型具有学习能力强、适应力强等优点,本发明实施例中的特征点提取模型采用深度学习模型,在基于焊缝图像训练集进行训练后,能够得到性能较好的特征点提取模型。并且,该模型不用手动设计规则,尽可能地挖掘焊缝图像的潜在特征,输入焊缝图像即可得到结果,方便快捷。
[0132]
由于特征点提取模型是基于样本焊缝图像的样本目标框进行训练得到的,并且样本目标框都是尺寸一致并且以样本特征点为中心的框,当待提取的焊缝图像输入到特征点提取模型之后,特征点提取模型能够基于待提取的焊缝图像,得到同样尺寸的目标框,并且该目标框的中心点即为所需要提取的特征点,从而可以直接根据目标框中心点的坐标确定出焊缝图像的特征点坐标,进而解决了现有技术中目标框大小不一、特征点不位于目标框中心导致无法准确确定特征点坐标的问题。
[0133]
基于上述任一实施例,特征点提取模型是基于如下步骤训练得到的:
[0134]
对多个样本焊缝图像的样本目标框进行聚类分析,得到多个先验框;
[0135]
基于多个先验框以及多个样本焊缝图像,对初始模型进行训练,得到特征点提取模型。
[0136]
具体地,为了减少训练过程中的计算量,同时提高特征点提取模型的召回率,本发明实施例通过如下方式训练得到特征点提取模型:首先对多个样本焊缝图像的样本目标框进行聚类分析,从而得到更加适合于目标区域定位的多个先验框,再根据多个先验框以及多个样本焊缝图像,对初始模型进行训练,得到特征点提取模型。此处,聚类分析的方法可以采用k

means(k

均值)聚类、高斯混合聚类、均值漂移聚类等算法,本发明实施例对此不作具体限定。
[0137]
进一步地,初始模型可以是yolo v3,yolo v3采用darknet

53的网络结构,darknet

53借鉴了resnet网络的残差思想,在基础网络中大量使用了残差连接,因此网络结构设计的很深,缓解了训练过程中梯度消散的问题,使得模型更容易收敛。通过上采样与concat操作,融合了深、浅层的特征,最终输出了3种尺寸的特征图,用于后续预测,多层特征图对于多尺度目标和小目标的检测是有利的,比较适合焊缝图像中局部角点的目标检测。此外,yolo v3使用logistic函数代替softmax函数,logistic分类器相互独立,可以实现多个类别的预测。
[0138]
图3是本发明提供的darknet53的网络结构示意图,如图3所示,darknet53重要特点是使用了残差网络residual,darknet53中的残差卷积就是进行一次3x3、步长为2的卷
积,然后保存该卷积layer,再进行一次1x1的卷积和一次3x3的卷积,并把这个结果加上layer作为最后的结果,残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。darknet53的每一个卷积部分使用了特有的darknetconv2d结构,每一次卷积的时候进行l2正则化,完成卷积后进行batch normalization标准化与leaky relu。普通的relu是将所有的负值都设为零,leaky relu则是给所有负值赋予一个非零斜率。以数学的方式可以表示为:
[0139][0140]
其中,a
i
是(1, ∞)区间内的固定参数。
[0141]
在特征利用部分,yolo v3提取多个特征层进行目标检测,一共提取三个特征层,三个特征层分别位于主干darknet53网络的中间层,中下层以及底层,三个特征层的shape分别为(52,52,256)、(26,26,512)、(13,13,1024)。三个特征层进行5次卷积处理,处理后的一部分用于输出该特征层对应的预测结果,一部分用于进行反卷积umsampling2d后与其他特征层进行结合。输出层的shape与训练集中的类别有关系,如果使用voc数据集,它的类为20种,针对每个特征存在3个先验框,所以最后维度为3x25;如果使用coco数据集,它的类有80种,最后维度应该为255=3x85,v型焊缝图像训练集,它的类为3种,最后维度为24=3x8。
[0142]
通过darknet53网络可以获得三个特征层的预测结果,shape分别为(n,255,13,13),(n,255,26,26),(n,255,52,52)的数据,对应每个图分别为13x13、26x26、52x52的网格上3个预测框的位置。这三个预测框并不是最终的位置,还需要解码才可以获得。yolo v3解码的过程就是将每个网格点加上它对应的x轴偏移和y轴偏移,获得预测框的中心,再利用先验框的高和宽计算出预测框的长和宽,就可以获得整个预测框的位置了。接下来取出每一类得分大于一定阈值的框,利用框的位置和得分进行非极大值抑制,最后将筛选出的框绘制到图片上进行输出,就可以获得预测的结果了。
[0143]
为了更准确地获取焊缝特征点坐标,对上述yolo v3网络结构进行改进。使用改进的yolo v3

dense网络对标注好的焊缝图像训练集进行训练,图4是本发明提供的yolo v3

dense的网络结构示意图,如图4所示,该网络采用densenet代替尺度较小的特征层,当特征被传输到这些层时,它们将被densenet网络中的多个特征层重用,从而减少损失,最终实现焊缝图像特征点的准确识别。同时该网络引入k

means聚类算法生成适当的先验边界框,并结合多尺度特征融合的方法提高检测性能。根据特征金字塔网络(feature pyramid networks)的思想,采用多尺度特征融合的方法提高识别性能。此外,该网络引入残差块,当残差为0时,此时堆积层仅仅做了恒等映射,至少网络性能不会下降,实际上残差不会为0,这也会使得堆积层在输入特征基础上学习到新的特征,从而拥有更好的性能,实现焊缝图像特征点的准确提取。
[0144]
基于上述任一实施例,对焊缝图像训练集完成训练以后,可以得到训练好的特征点提取模型,并获得该模型的.pth权值文件。可以将特征点提取模型部署到实际生产环境中,首先导出训练好的特征点提取模型,然后通过传感器网络接口读取焊缝图像,从而完成焊缝图像特征点坐标的自动提取。进一步地,还可以将训练权值部署到实际生产环境中。由
于c 及多线程可以加快模型的预测速度,因此使用torch.jit导出训练好的模型,再利用c 端的pytorch接口读取焊缝图像从而完成焊缝特征点的准确提取。利用训练好的特征点提取模型,提取在大弧光、大飞溅干扰下的v型焊缝图像,试验结果表明,经过改进后的yolo v3

dense网络提取焊缝特征点效果很好,并且鲁棒性高,适用于多种焊缝类型,在各种极端情况下仍然能够快速准确地获取焊缝图像特征点坐标。
[0145]
为了防止个别情况下yolo v3

dense网络无法准确提取焊缝特征点,本发明提出一种持续学习方法,该方法可以自动将未成功提取焊缝特征点的图像保存下来,发送给服务器端,在云端实现自我标注,通过人工监督完成训练,直到模型能够成功获取焊缝特征点。将更新后的模型对已部署模型完成在线更新,使焊缝特征点提取系统具有持续学习和进化的能力。
[0146]
基于上述任一实施例,本发明提供的焊缝图像特征点提取方法,相比于采用基于几何特征的焊缝特征点提取方法,本发明采用改进的yolo v3

dense网络训练焊缝图像训练集,提高了焊缝特征点提取的鲁棒性,即使在大弧光、飞溅干扰下也能够快速准确地提取焊缝特征点,此外,通过数据标注特征奇怪的焊缝,对各种不规则的焊缝也能进行准确的特征点提取,具有较强的适应性和实用性。
[0147]
本发明采用基于高效卷积算子的焊缝特征点提取方法对焊缝图像训练集进行特征点提取,并利用脚本完成焊缝图像训练集的自动标注,极大提高了标注效率和标注质量,此外,针对未成功提取焊缝特征点的图像,通过人工监督训练完成对焊缝特征点的提取,该方法具有持续学习和进化的能力,具有较强的适应性和实用性。
[0148]
基于上述任一实施例,针对现有的焊缝特征点提取方法步骤繁琐、计算成本高、抗干扰能力差、灵活性差、鲁棒性差等缺点,本发明实施例提供了一种焊缝特征点提取系统,该系统包括焊缝图像采集模块、焊缝图像训练集扩充模块、焊缝图像特征点自动标注模块、深度学习网络模型训练模块、深度学习网络部署模块。焊缝图像采集模块、焊缝图像训练集扩充模块、焊缝图像特征点自动标注模块、深度学习网络模型训练模块以及深度学习网络部署模块为顺序结构,依次实现相应功能即可完成焊缝特征点提取;
[0149]
焊缝图像采集模块主要包括激光焊缝跟踪传感器和工控机,激光焊缝跟踪传感器用来采集焊缝图像,工控机用来保存和处理焊缝图像。其中激光焊缝跟踪传感器主要包括工业相机、线激光器、滤光片、镜头、保护镜片、遮弧板、风冷装置等,线激光器将激光线照在焊缝上,工业相机采集变形后的激光条纹图像,并通过以太网将采集的焊缝图像传输到工控机进行存储、处理。
[0150]
进一步地,焊缝图像采集模块可以采用自主研制的激光焊缝跟踪传感器,将传感器固定在机器人手臂端,在焊接过程中完成对焊缝图像的采集。该传感器主要包括工业相机、传感器外壳、减光滤光系统、线激光发生器等。其中:线激光发生器产生的激光平面投射到工件上形成激光条纹,工业相机和减光滤光系统同轴安置于传感器外壳内壁来采集焊缝图像,减光滤光系统设置成抽屉式结构保证在非焊接过程中,通过将其抽出实现视觉传感器的标定以及焊缝的初始点导引,系统外壳保护传感器免受飞溅和高温的干扰,并通过安装支架与机器人第六轴连接。
[0151]
该传感器还具有滤光片、遮弧板、风冷接口等保护装置,其中滤光片将除激光条纹以外的目标基本滤除;遮弧板能够阻挡焊接过程中大部分的飞溅干扰,风冷装置能够保证
工业相机和线激光器的长期稳定运行。
[0152]
使用本发明实施例提供的激光结构光传感器,可以采集多种类型的焊缝图像,其中焊缝图像中部白色线条为激光条纹,经过减光滤光系统的作用,除激光条纹和飞溅光之外都是黑色。按照以上步骤,不断采集焊接过程中的焊缝图像,构成基础的焊缝图像训练集。通过对采集的样本焊缝图像进行处理,可以获取样本特征点在图像中的坐标。
[0153]
基于上述任一实施例,焊缝图像训练集扩充模块采用图像处理的方式扩充焊缝图像训练集来降低试验成本。具体来说,扩充训练集的方法包括:图像翻转、图像加噪处理、图像明暗度变化、图像模糊滤波、图像仿射变换、基于生成对抗网络生成图像等。图像的翻转包括绕u轴旋转、绕v轴旋转、绕中心点旋转等,其表示如式(1)、式(2)、式(3)所示:
[0154]
y=f(

x)(1)
[0155]
y=

f(x)(2)
[0156]
y=

f(

x)(3)
[0157]
其中,y=f(

x)与y=f(x)的图像关于u轴对称,y=

f(x)与y=f(x)的图像关于v轴对称,y=

f(

x)与y=f(x)的图像关于中心点对称。
[0158]
图像加噪处理常见的有添加椒盐噪声和高斯噪声。椒盐噪声是一种因为信号脉冲强度引起的噪声,首先指定信噪比snr,其取值范围在[0,1]之间,计算总像素数目sp,得到要加噪的像素数目np=sp*(1

snr),然后随机获取要添加噪声的像素位置p(i,j),指定其像素为255或者0,重复上述步骤完成对np个像素的加噪处理。高斯噪声的密度取决于公式g(x,sigma),其中x表示平均值,sigma表示标准方差,一个正常的高斯采样分布公式g(d),原始图像每个像素p
in
通过下式得到输出像素p
out

[0159]
p
out
=p
in
x sigma*g(d)
[0160]
其中,d为线性的随机数,g(d)是随机数的高斯分布随机值。给样本焊缝图像添加高斯噪声的步骤如下:首先输入参数sigma和x,以系统时间为种子产生一个伪随机数,随后将伪随机数带入g(d)得到高斯随机数,接着根据输入像素灰度值计算出输出像素灰度值,重新将像素灰度值放缩在[0,255]之间,最后循环所有的像素,得到处理后的样本焊缝图像。
[0161]
图像明暗度的设置主要用于表示图像采集过程中相机曝光度所带来的影响。图像明暗度的设置主要通过对图像像素矩阵进行加减值处理,样本焊缝图像的亮度和对比度调整属于图像的灰度线性变换,其公示如下式所示:
[0162]
p
out
=[p
in

127.5*(1

b)]*k 127.5*(1 b)
[0163]
其中,p
in
为调整前像素值,p
out
为调整后像素值,b的取值在[

1,1]之间,用来调节亮度,k用来调节对比度,arctan(k)取值范围为[1,89],所以k=tan((45 44*c)/180*pi),其中c的取值范围在[

1,1]之间,pi约为3.14159。
[0164]
图像滤波处理既可以在时域进行也可以在频域进行,图像滤波可以更改或增强图像,通过滤波可以强调一些特征或者去除图像中不需要的部分。常用的图像滤波方法包括均值滤波、中值滤波、高斯滤波、双边滤波等。
[0165]
对样本焊缝图像进行仿射变换。仿射变换是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间的过程。它保持了二维图形的“平直性”(直线经过变换之后依然是直线)和“平行性”(二维图形之间的相对位置关系保持不变,平
行线依然是平行线,且直线上点的位置顺序不变)。仿射变换的公式如下式所示:
[0166][0167]
其中,(t
x
,t
y
)表示平移量,而参数a
i
反映了图像旋转、缩放等变化。可以用仿射变换来表示旋转、平移以及缩放操作。通过两组三点可以计算出仿射变换,再将仿射变换应用到整个样本焊缝图像中的点。
[0168]
通过焊缝图像训练集扩充模块,在较低图像采集成本的情况下将训练集扩充到理想的数量,改变后的图片放入神经网络进行训练可以提高网络的鲁棒性,在降低图像采集成本的同时,降低各方面额外因素对焊缝特征点识别的影响,提高深度学习训练的普适性。
[0169]
通过焊缝图像训练集扩充模块,得到理想数量的焊缝图像训练集用于深度学习训练。深度学习包括监督学习和非监督学习,现在非监督学习的研究还不成熟,在实际应用中仍存在不少问题,监督学习已经得到较为成熟的发展,数据的标注对监督学习的训练意义重大。
[0170]
基于上述任一实施例,焊缝图像特征点自动标注模块首先通过基于几何特征的焊缝特征点提取方法确定初始帧样本图像的焊缝特征点和目标区域,接着通过高效卷积算子不断提取训练集样本图像中焊缝特征点坐标,随后根据该坐标计算样本目标框的上、下、左、右边框的位置,自动标注的训练集样本目标框位置准确、大小一致,进一步提高标注精度和标注质量。
[0171]
深度学习网络训练模块采用改进的深度网络模型对焊缝图像训练集进行训练,将深度模型中尺度较小的特征层进行替换,实现特征层重用以减少特征损失,同时使用聚类算法生成适当的先验边界框,并结合多尺度特征融合的方法提高检测性能。
[0172]
深度学习网络部署模块将服务器端训练的权值文件转化成部署端可以读取的参数文件,部署端实时读取激光焊缝跟踪传感器采集的焊缝图像实现对焊缝图像特征点的准确提取。
[0173]
下面对本发明提供的焊缝特征点提取装置进行描述,下文描述的焊缝特征点提取装置与上文描述的焊缝特征点提取方法可相互对应参照。
[0174]
基于上述任一实施例,图5是本发明提供的焊缝特征点提取装置的结构示意图,如图5所示,该装置包括:
[0175]
确定模块510,用于确定待提取的焊缝图像;
[0176]
提取模块520,用于将焊缝图像输入至特征点提取模型,得到焊缝图像的特征点坐标;
[0177]
其中,特征点提取模型是基于多个样本焊缝图像以及多个样本焊缝图像的样本目标框训练得到的;样本目标框是以样本特征点为中心并基于预设尺寸标注得到的。
[0178]
本发明实施例提供的装置,通过特征点提取模型对待提取的焊缝图像进行特征点提取,特征点提取模型是基于多个样本焊缝图像,以及以样本特征点为中心并基于预设尺寸标注得到的样本目标框训练得到的,实现了快速准确地完成焊缝特征点的提取,并且该方法鲁棒性强、适应性高以及具有较强的实用性,解决了现有技术中在大弧光和飞溅干扰
下焊缝图像特征点提取不准确的问题。
[0179]
基于上述任一实施例,样本特征点是自动提取的,样本目标框是自动标注的,若样本焊缝图像为初始帧,样本焊缝图像的样本特征点是基于如下步骤确定的:
[0180]
提取初始帧中的感兴趣区域;
[0181]
基于感兴趣区域,确定激光条纹的中心线;
[0182]
基于中心线,确定初始帧的样本特征点。
[0183]
基于上述任一实施例,基于中心线,确定初始帧的样本特征点,包括:
[0184]
基于中心线,确定多条激光条纹特征直线;
[0185]
将多条激光条纹特征直线的交点作为初始帧的样本特征点。
[0186]
基于上述任一实施例,若样本焊缝图像为非初始帧,样本焊缝图像的样本特征点是基于如下步骤确定的:
[0187]
基于目标跟踪模型,对非初始帧进行特征提取,得到非初始帧的样本特征点,目标跟踪模型是基于非初始帧之前的每一帧样本焊缝图像的样本特征点训练得到的。
[0188]
基于上述任一实施例,目标跟踪模型是利用基于概率生成模型的目标函数训练得到的。
[0189]
基于上述任一实施例,特征点提取模型为深度学习模型;
[0190]
提取模块520包括:
[0191]
提取单元,用于将焊缝图像输入至特征点提取模型,得到焊缝图像的目标框;
[0192]
确定单元,用于基于目标框的中心点,确定特征点坐标。
[0193]
基于上述任一实施例,特征点提取模型是基于如下步骤训练得到的:
[0194]
对多个样本焊缝图像的样本目标框进行聚类分析,得到多个先验框;
[0195]
基于多个先验框以及多个样本焊缝图像,对初始模型进行训练,得到特征点提取模型。
[0196]
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行焊缝特征点提取方法,该方法包括:确定待提取的焊缝图像;将所述焊缝图像输入至特征点提取模型,得到所述焊缝图像的特征点坐标;其中,所述特征点提取模型是基于多个样本焊缝图像以及所述多个样本焊缝图像的样本目标框训练得到的;所述样本目标框是以样本特征点为中心并基于预设尺寸标注得到的。
[0197]
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0198]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的焊缝特征点提取方法,该方法包括:确定待提取的焊缝图像;将所述焊缝图像输入至特征点提取模型,得到所述焊缝图像的特征点坐标;其中,所述特征点提取模型是基于多个样本焊缝图像以及所述多个样本焊缝图像的样本目标框训练得到的;所述样本目标框是以样本特征点为中心并基于预设尺寸标注得到的。
[0199]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的焊缝特征点提取方法,该方法包括:确定待提取的焊缝图像;将所述焊缝图像输入至特征点提取模型,得到所述焊缝图像的特征点坐标;其中,所述特征点提取模型是基于多个样本焊缝图像以及所述多个样本焊缝图像的样本目标框训练得到的;所述样本目标框是以样本特征点为中心并基于预设尺寸标注得到的。
[0200]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0201]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0202]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献