应用于动态场景的定位建图方法、装置和智能设备与流程
未命名
09-13
阅读:96
评论:0

1.本技术涉及智能行驶技术领域,尤其涉及一种应用于动态场景的定位建图方法、装置和智能设备。
背景技术:
2.即时定位建图与地图构建(simultaneous localization and mapping,slam)系统的目标是为室内外机器人或无人驾驶汽车提供一个用于自动化导航的地图以及自身在地图中的位置。随着深度学习的快速发展,众多基于深度神经网络被嵌入到传统基于纯数学的系统之中,以提高系统的鲁棒性和准确性。但是,复杂的环境带来了新的挑战。例如,在实际场景中环境会动态变化,场景中的动态物体会干扰地图的构建,同时也影响定位效果。
3.现有的定位建图系统在面对复杂的动态场景下容易产生极大的定位漂移误差。如何减少定位漂移误差,提高动态场景下定位及建图的准确性,是当前需要考虑的问题。
技术实现要素:
4.本技术实施例提供了一种应用于动态场景的定位建图方法、装置和智能设备,可以解决大的深度分辨率相机在使用时会产生过大数据量,从而影响系统性能,导致系统性能效率不高的问题。
5.第一方面,本技术实施例提供了一种应用于动态场景的定位建图方法,所述定位建图方法包括:
6.获取目标图像,所述目标图像为目标场景的彩色图像;
7.将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型,获得特征点信息集与语义分割结果集,所述特征点信息集中包括提取的特征点的方向信息;
8.基于所述语义分割结果集,对所述特征点信息集进行第一层离群点剔除,得到目标特征点信息集,所述第一层离群点剔除用于剔除所述目标图像中动态物体的特征点信息;
9.基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集;
10.基于所述目标匹配特征对集进行相机位姿估计,并根据估计的位姿完成所述相机的定位及地图构建。
11.在第一方面的一种可能的实现方式中,在所述将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型之前,包括:
12.构建多任务神经网络模型,所述多任务神经网络模型包括方向估计网络、特征提取网络和语义分割网络,其中,所述方向估计网络用于提取所述目标图像中的方向信息,所述特征提取网络用于提取所述目标图像中的特征点,所述语义分割网络用于对所述目标图像进行语义分割;
13.获取训练样本图像集;
14.对所述训练样本图像集中的样本图像进行预处理,得到预处理样本图像;
15.将所述预处理样本图像输入至所述语义分割网络,获取语义分割结果,并基于第一预设损失函数训练所述语义分割网络;
16.将所述预处理样本图像输入至所述方向估计网络,提取所预处理样本图像中的方向信息,并基于第二预设损失函数训练所述方向估计网络;
17.将包含所述方向信息的所述预处理样本图像输入至所述特征提取网络,提取所预处理样本图像中的特征点,并基于第三预设损失函数训练所述特征提取网络;
18.基于预设损失函数训练所述多任务神经网络模型,所述预设损失函数根据训练过程中所述语义分割网络的第一损失、所述方向估计网络的第二损失以及所述特征提取网络的第三损失确定。
19.在第一方面的一种可能的实现方式中,所述对所述训练样本图像集中的样本图像进行预处理,得到预处理样本图像,包括:
20.将所述样本图像进行金字塔型缩放,得到样本图像金字塔。
21.在第一方面的一种可能的实现方式中,所述基于预设损失函数训练所述多任务神经网络模型,包括:
22.根据下式计算所述多任务神经网络模型的损失loss:
23.loss=βl
sum
+(1-)
·
(l
kp
+
ori
)
24.其中,l
sum
表示所述第一损失,l
ori
表示所述第二损失,l
kp
表示所述第三损失,β是预设权重。
25.在第一方面的一种可能的实现方式中,所述基于第一预设损失函数训练所述语义分割网络,包括:
26.根据下式计算所述第一损失l
sum
:
[0027][0028]
其中,h表示预处理样本图像s的高,w表示s的宽,q表示s对应的真值图像,bceloss为所述第一预设损失函数,q
ij
表示像素点(i,j)的真值标签数据。
[0029]
在第一方面的一种可能的实现方式中,所述方向估计网络由旋转不变形卷积网络簇组成,所述基于第二预设损失函数训练所述方向估计网络,包括:
[0030]
根据下式计算所述第二损失l
ori
:
[0031][0032]
其中,h表示预处理样本图像s的高,w表示s的宽,g表示所述旋转不变形卷积网络簇的数量,k表示第k簇,1≤k≤g,o为最佳方向向量,表示第a张图的第k簇所生成的坐标ij像素点对应的最佳方向向量,表示第b张图的第k簇所生成的坐标ij像素点对应的最佳方向向量,最佳方向向量是指经过softmax函数后的方向向量;
[0033]
所述基于第三预设损失函数训练所述特征提取网络l
kp
,包括:
[0034]
根据下式计算所述第三损失l
kp
:
[0035][0036]
其中,ia表示图像a,ib表示图像b,t
gt
表示仿射变换矩阵,l表示所述样本图像金字塔的层级,l为所述样本图像金字塔的总层数,λ为预设参数,n表示滑动窗口大小,n
l
表示第l层滑动窗口大小,l
ip
(ia,ib,t
gt
,n
l
)表示图像a与图像b之间特征点的对应关系。
[0037]
在第一方面的一种可能的实现方式中,所述基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集,包括:
[0038]
获取所述目标匹配特征对集中每一特征点的描述子;
[0039]
基于所述描述子,对所述目标特征点信息集中的特征点进行匹配,获取包含匹配对的初始匹配特征对集;
[0040]
基于所述方向信息,统计所述初始匹配特征对集中所有匹配对之间的方向差,确定目标角度差,所述目标角度差为所述初始匹配特征对集中方向差值最小的三个角度差;
[0041]
基于所述目标角度差,对所述初始匹配特征对集中匹配对进行第二层离群点剔除,得到目标匹配特征对集,所述第二层离群点剔除用于将不处于所述目标角度差之中的所有匹配对作为离群点剔除。
[0042]
第二方面,本技术实施例提供了一种应用于动态场景的定位建图装置,所述定位建图装置包括:
[0043]
目标图像获取单元,用于获取目标图像;
[0044]
特征语义获取单元,用于将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型,获得特征点信息集与语义分割结果集,所述特征点信息集中包括提取的特征点的方向信息;
[0045]
第一层剔除单元,用于基于所述语义分割结果集,对所述特征点信息集进行第一层离群点剔除,得到目标特征点信息集,所述第一层离群点剔除用于剔除所述目标图像中动态物体的特征点信息;
[0046]
特征点匹配单元,用于基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集;
[0047]
定位及建图单元,用于基于所述目标匹配特征对集进行相机位姿估计,并根据估计的位姿完成所述相机的定位及地图构建。
[0048]
第三方面,本技术实施例提供了一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的定位建图方法。
[0049]
第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的定位建图方法。
[0050]
第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在智能设备上运行时,使得智能设备执行如上述第一方面所述的定位建图方法。
等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0063]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0064]
本技术各个方法实施例提供了一种定位建图方法适用于应用于动态场景、需要定位建图的各种类型智能设备,具体可以为智能车载设备、智能机器人。本技术对智能设备的类型不做任何限定。
[0065]
图1示出了本技术实施例提供的应用于动态场景的定位建图方法的实现流程,该方法流程包括步骤s101至s105。各步骤的具体实现原理如下:
[0066]
s101:获取目标图像。
[0067]
所述目标图像为目标场景的彩色图像。具体地可以为单个彩色rgb相机传感器图像。
[0068]
s102:将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型,获得特征点信息集与语义分割结果集,所述特征点信息集中包括提取的特征点的方向信息。
[0069]
所述多任务神经网络模型包括方向估计网络、特征提取网络和语义分割网络,其中,所述方向估计网络用于提取所述目标图像中的方向信息,所述特征提取网络用于提取所述目标图像中的特征点,所述语义分割网络用于对所述目标图像进行语义分割。
[0070]
在本技术实施例中,将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型之前,对所述目标图像进行预处理,将预处理后的目标图像输入至所述多任务神经网络模型中。
[0071]
在一种可能的实施方式中,将目标图像进行金字塔型缩放,得到目标图像金字塔,将目标图像金字塔输入至所述多任务神经网络模型中。
[0072]
上述方向估计网络由旋转不变形卷积网络簇组成,本实施例中,将目标图像金字塔的第一层输入至语义分割网络,将目标图像金字塔输入至旋转不变形卷积网络簇用于提取潜在的方向信息,将提取方向信息后的目标图像金字塔输入至特征提取网络。
[0073]
所述方向估计网络由旋转不变形卷积网络簇组成,在目标图像金字塔经过旋转不变卷积网络簇之后,可以得到旋转特征簇金字塔。针对坐标信息和方向信息结构的差异,本专利融合rekd特征提取器的做法,分别对特征簇金字塔进行通道上和数值上的合并。特征点坐标的提取依赖更多的数据,需要更高的维度,因此使用通道合并的结果进行预测。将通过旋转不变形网络簇后的特征金字塔进行插值放缩到相同大小后,对所有特征图进行池化造作并在通道上进行拼接合并,随后将得到的特征图输入一个卷积核大小为1的卷积层中得到每个特征点像素的得分值score。特征点坐标将通过该特征值图和一个先验阈值θ过滤得到,设图像中像素坐标对应的分数值为s
i,j
,则最终特征点图key
i,j
计算方式如下:
[0074]
[0075]
i、j为像素点下标,特征点的方向估计则侧重于特征强度,因此在合并金字塔特征时使用权重相加的方式进行叠加。将金字塔特征图同样进行多线性差值后在通道上进行池化操作,目的最大化特征点在该通道所代表的方向上的强度。随后将所有特征图放缩到相同分辨率后进行数值上的相加并在每个像素对应的特征向量上进行softmax操作以得到特征点方向图o。方向特征向量中的每个数值代表着对应方向的概率值,值越高代表该像素的方向就是对应数值代表的方向。例如,假设将360度的方向按120度进行分割,可以区分为3个通道,对应的方向分别为0,120,240。设神经网络输出的概率值分别为0.1,0.8,0.1,则对应像素所代表的方向大概率为120度。
[0076]
作为本技术的一个实施例,图2示出了本技术实施例提供的应用于动态场景的定位建图方法中,在所述将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型之前,构建及训练所述多任务神经网络模型的具体实现流程,详述如下:
[0077]
a1:构建多任务神经网络模型,所述多任务神经网络模型包括方向估计网络、特征提取网络和语义分割网络,其中,所述方向估计网络用于提取所述目标图像中的方向信息,所述特征提取网络用于提取所述目标图像中的特征点,所述语义分割网络用于对所述目标图像进行语义分割。
[0078]
a2:获取训练样本图像集。
[0079]
a3:对所述训练样本图像集中的样本图像进行预处理,得到预处理样本图像。
[0080]
a4:将所述预处理样本图像输入至所述语义分割网络,获取语义分割结果,并基于第一预设损失函数训练所述语义分割网络。
[0081]
在本实施例中,将所述样本图像进行金字塔型缩放,得到样本图像金字塔。将样本图像金字塔。
[0082]
本实施例中,语义分割网络采取了当前主流的unet架构,包含着两个模块编码器(encoder)、解码器(decoder)和一个用于连接两者的连接模块(neck)。在本发明中使用resnet作为编码器,旋转图像特征经过四层res层提取网络,得到四种不同分辨率的特征图,简称为p1,p2,p3,p4,用于解码器的合成输出。随后,通过一个中间层模块将p4特征进行转换,其中包括两个卷积神经网络序列,每个序列中包含着一个二维卷积网络、一个batchnorm层和一个relu激活层。在经过中间层模块后得到特征图u4,随后将其与特征p4进行拼接输入到上采样模块中得到特征图u3,重复上述操作最终得到与输入特征相同大小的特征图u1。最后,将u1输入到一个语义提取模块中(卷积神经网络序列)得到最终的语义分割图s。
[0083]
作为本技术一种可能的实施方式,所述基于第一预设损失函数训练所述语义分割网络,包括:
[0084]
根据下式计算所述第一损失l
sum
:
[0085][0086]
其中,h表示预处理样本图像s的高,w表示s的宽,q表示s对应的真值图像,bceloss为所述第一预设损失函数,q
ij
表示像素点(i,j)的真值标签数据,i、j为像素点下标。
[0087]
a5:将所述预处理样本图像输入至所述方向估计网络,提取所预处理样本图像中的方向信息,并基于第二预设损失函数训练所述方向估计网络。
[0088]
作为本技术一种可能的实施方式,所述基于第二预设损失函数训练所述方向估计网络,包括:
[0089]
根据下式计算所述第二损失l
ori
:
[0090][0091]
其中,h表示预处理样本图像s的高,w表示s的宽,g表示所述旋转不变形卷积网络簇的数量,k表示第k簇,1≤k≤g,o为最佳方向向量,最佳方向向量是指经过softmax函数后的方向向量,表示第a张图的第k簇所生成的坐标ij像素点对应的最佳方向向量,表示第b张图的第k簇所生成的坐标ij像素点对应的最佳方向向量。
[0092]
本实施例中,首先用矩阵t将得到的旋转向量进行直方图对齐,再使用交叉熵的方式计算旋转簇中每一个组所有像素的方向向量上的损失l
ori
。
[0093]
作为本技术一种可能的实施方式,所述基于第三预设损失函数训练所述特征提取网络l
kp
,包括:
[0094]
根据下式计算所述第三损失l
kp
:
[0095][0096]
ia表示图像a,ib表示图像b,t
gt
表示仿射变换矩阵,l表示所述样本图像金字塔的层级,l为所述样本图像金字塔的总层数,λ为预设参数,n表示滑动窗口大小,n
l
表示第l层滑动窗口大小,l
ip
(ia,ib,t
gt
,n
l
)表示图像a与图像b之间特征点的对应关系。
[0097]
a6:将包含所述方向信息的所述预处理样本图像输入至所述特征提取网络,提取所预处理样本图像中的特征点,并基于第三预设损失函数训练所述特征提取网络。
[0098]
a7:基于预设损失函数训练所述多任务神经网络模型,所述预设损失函数根据训练过程中所述语义分割网络的第一损失、所述方向估计网络的第二损失以及所述特征提取网络的第三损失确定。
[0099]
作为本技术一种可能的实施方式,根据下式计算所述多任务神经网络模型的损失loss:
[0100]
loss=βl
sum
+(1-β)
·
(l
kp
+l
ori
)
ꢀꢀꢀ
(5)
[0101]
其中,l
sum
表示所述第一损失,l
ori
表示所述第二损失,l
kp
表示所述第三损失,β是预设权重。
[0102]
s103:基于所述语义分割结果集,对所述特征点信息集进行第一层离群点剔除,得到目标特征点信息集,所述第一层离群点剔除用于剔除所述目标图像中动态物体的特征点信息。
[0103]
本实施例中,基于所述语义分割结果集,对场景中动态物体的特征点进行剔除,通过语义信息可以轻松获取当前场景中定义好的动态物体区域,如车、行人,将对应坐标的特征点从所述特征点信息集中剔除,完成第一层离群点剔除。
[0104]
s104:基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集。
[0105]
作为本技术一种可能的实施方式,图3示出了本技术实施例提供的应用于动态场
景的定位建图方法中步骤s104的具体实现流程,详述如下:
[0106]
b1:获取所述目标匹配特征对集中每一特征点的描述子。描述子是一个用于描述像素点所代表的含义的向量,用于后续的特征匹配,对比两个特征点的描述子之间的距离,距离越近的描述子所代表的特征点越相似。
[0107]
b2:基于所述描述子,对所述目标特征点信息集中的特征点进行匹配,获取包含匹配对的初始匹配特征对集。
[0108]
本实施例中,使用bfmatcher对浮点类型的描述子进行匹配。
[0109]
b3:基于所述方向信息,统计所述初始匹配特征对集中所有匹配对之间的方向差,确定目标角度差,所述目标角度差为所述初始匹配特征对集中方向差值最小的三个角度差。
[0110]
具体地,将所述初始匹配特征对集中所有匹配对之间的方向差从大到小排序,将排序末尾的三个角度差确定为目标角度差。
[0111]
b4:基于所述目标角度差,对所述初始匹配特征对集中匹配对进行第二层离群点剔除,得到目标匹配特征对集,所述第二层离群点剔除用于将不处于所述目标角度差之中的所有匹配对作为离群点剔除。
[0112]
针对目前动态环境下的即时定位与地图构建系统还以赖于传统基于人工先验的特征提取器,本技术实施例在提取语义信息的同时,提取图像中的基于学习的稠密特征点及其描述子,在对特征点的描述方面更具鲁棒性。同时,提取的特征点充分考虑了智能设备在运动时旋转带来的不稳定性,本方法提取的特征点包含着其他基于学习的特征点所不具有的方向信息,进一步提高整个即时定位与地图构建系统的稳定性。
[0113]
s105:基于所述目标匹配特征对集进行相机位姿估计,并根据估计的位姿完成所述相机的定位及地图构建。
[0114]
本实施例中,根据所述目标匹配特征对集中的匹配对,进行相机位姿计算,通过追踪局部地图优化所述相机的位姿,完成所述相机的定位及地图构建。如果当前本地已存在地图,将提取的特征点与本地地图进行匹配。
[0115]
本实施例中,在系统中共存在三种跟踪模型,分别为运动模型、关键帧模型和重定位模型,该三种模型为前后递进关系,在上一种失效的情况时进行后一种追踪。例如,运动模型将假设搭载相机的自动化设备的速度方向是匀速进行的,通过上一帧的速度和位姿估计当前帧的位姿随后进行匹配,具体流程如下:使用当前的位姿r,t对上一帧的特征点进行跟踪,将上一帧的3d特征点通过相机内参投影到当前相机的2d坐标系中,并在给定阈值的半径内搜索匹配点。关键帧模型则将当前帧图像直接本地地图保存的最近的关键帧使用fbow词袋模型进行图像匹配,再通过重构投影误差对perspective-n-point(pnp:指在已知相机内参的前提下,通过n对匹配的图像坐标以及它们的世界坐标计算相机的位姿)问题进行优化位姿:
[0116][0117]
其中,u代表投影的像素坐标,为相机内参,t为相机位姿,t*代表着新计算的相机位姿,p为关键帧中关键点的三维空间坐标,pc代表着关键帧空间中的第c个关键点坐标,n为关键点总数,s则为放缩系数。
[0118]
重定位模型则将当前帧与地图保存的所有关键帧进行fbow词袋模型匹配,相机位姿估计也经过最小重构误差对pnp问题进行求解。
[0119]
在一种可能的实施方式中,在建图过程中进行回环优化,通过回环优化检测闭环回路,寻找共视点后合并位姿以减少地图容量并提高定位和建图效果。回环检测依赖于fbow词袋模型,寻找当前关键帧的共视关键帧并计算两者之间的词袋相似度,如果相似度高于人工给定的先验阈值的关键帧数量超过一个给定的阈值则说明检测到回环。
[0120]
本实施例中回环优化的具体实施流程可参照现有技术,此处不赘述。但需说明的是,本实施例中,在建图和回环优化过程都需要使用词袋模型,本技术中使用fbow词袋模型进行训练和代替原始系统中的dbow2词袋模型的原因是,dbow2词袋对浮点数类型数据并不友好,对于浮点类型数据的深度稠密描述子来说运行效率低,而fbow原生支持浮点数类型,并且接口良好移植方便;另外dbow2词袋模型是基于文本数据,系统启动读取字典时会消耗大量时间,而fbow的字典属于二进制流数据,并且fbow还具备硬件加速功能,在字典的加载和计算上明显优于dbow2词袋模型。对于fbow在本发明中的使用,首先需要针对不同场景收集训练数据集,例如室外自动驾驶场景采用kitti数据集,室内场景则使用tum数据集。随后使用前端模块中相同的特征提取器对数据集中的图像进行特征提取后,对每一幅图像所包含的描述子集合进行fbow词袋训练,最后将字典保存为二进制文件到磁盘供即使定位与地图构建系统使用。
[0121]
本技术所使用的新的词袋模型,适配了浮点类型的描述子格式并且支持硬件加速,提高了系统定位及建图的执行速度。
[0122]
本技术实施例中,通过获取目标图像,将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型,获得特征点信息集与语义分割结果集,所述特征点信息集中包括提取的特征点的方向信息,基于所述语义分割结果集,对所述特征点信息集进行第一层离群点剔除,得到目标特征点信息集,所述第一层离群点剔除用于剔除所述目标图像中动态物体的特征点信息,基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集,基于所述目标匹配特征对集进行相机位姿估计,并根据估计的位姿完成所述相机的定位及地图构建。本技术中基于预设损失函数训练得到的多任务神经网络模型时进行高精度的语义分割与特征提取,有利于剔除动态物体的特征点,可提高特征提取的准确性和有效性,从而可减少定位漂移误差,提高动态场景下定位及建图的准确性。
[0123]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0124]
对应于上文实施例所述的定位建图方法,图4示出了本技术实施例提供的应用于动态场景的定位建图装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0125]
参照图4,该应用于动态场景的定位建图装置包括:目标图像获取单元41,特征语义获取单元42,第一层剔除单元43,特征点匹配单元44,定位及建图单元45,其中:
[0126]
目标图像获取单元41,用于获取目标图像;
[0127]
特征语义获取单元42,用于将所述目标图像输入至基于预设损失函数训练完成的
多任务神经网络模型,获得特征点信息集与语义分割结果集,所述特征点信息集中包括提取的特征点的方向信息;
[0128]
第一层剔除单元43,用于基于所述语义分割结果集,对所述特征点信息集进行第一层离群点剔除,得到目标特征点信息集,所述第一层离群点剔除用于剔除所述目标图像中动态物体的特征点信息;
[0129]
特征点匹配单元44,用于基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集;
[0130]
定位及建图单元45,用于基于所述目标匹配特征对集进行相机位姿估计,并根据估计的位姿完成所述相机的定位及地图构建。
[0131]
作为本技术一种可能的实施方式,上述定位建图装置还包括:
[0132]
模型构建单元,用于构建多任务神经网络模型,所述多任务神经网络模型包括方向估计网络、特征提取网络和语义分割网络,其中,所述方向估计网络用于提取所述目标图像中的方向信息,所述特征提取网络用于提取所述目标图像中的特征点,所述语义分割网络用于对所述目标图像进行语义分割;
[0133]
样本获取单元,用于获取训练样本图像集;
[0134]
预处理单元,用于对所述训练样本图像集中的样本图像进行预处理,得到预处理样本图像;
[0135]
模型训练单元,用于将所述预处理样本图像输入至所述语义分割网络,获取语义分割结果,并基于第一预设损失函数训练所述语义分割网络;将所述预处理样本图像输入至所述方向估计网络,提取所预处理样本图像中的方向信息,并基于第二预设损失函数训练所述方向估计网络;将包含所述方向信息的所述预处理样本图像输入至所述特征提取网络,提取所预处理样本图像中的特征点,并基于第三预设损失函数训练所述特征提取网络;基于预设损失函数训练所述多任务神经网络模型,所述预设损失函数根据训练过程中所述语义分割网络的第一损失、所述方向估计网络的第二损失以及所述特征提取网络的第三损失确定。
[0136]
作为本技术一种可能的实施方式,上述预处理单元具体用于:
[0137]
将所述样本图像进行金字塔型缩放,得到样本图像金字塔。
[0138]
作为本技术一种可能的实施方式,所述基于预设损失函数训练所述多任务神经网络模型,包括:
[0139]
根据下式计算所述多任务神经网络模型的损失loss:
[0140]
loss=βl
sum
+(1-)
·
(l
kp
+
ori
)
[0141]
其中,l
sum
表示所述第一损失,l
ori
表示所述第二损失,l
kp
表示所述第三损失,β是预设权重。
[0142]
作为本技术一种可能的实施方式,所述基于第一预设损失函数训练所述语义分割网络,包括:
[0143]
根据下式计算所述第一损失l
sum
:
[0144]
[0145]
其中,h表示预处理样本图像s的高,w表示s的宽,q表示s对应的真值图像,bceloss为所述第一预设损失函数,q
ij
表示像素点(i,j)的真值标签数据。
[0146]
作为本技术一种可能的实施方式,所述方向估计网络由旋转不变形卷积网络簇组成,所述基于第二预设损失函数训练所述方向估计网络,包括:
[0147]
根据下式计算所述第二损失l
ori
:
[0148][0149]
其中,h表示预处理样本图像s的高,w表示s的宽,g表示所述旋转不变形卷积网络簇的数量,k表示第k簇,1≤k≤g,o为最佳方向向量,表示第a张图的第k簇所生成的坐标ij像素点对应的最佳方向向量,表示第b张图的第k簇所生成的坐标ij像素点对应的最佳方向向量,最佳方向向量是指经过softmax函数后的方向向量;
[0150]
所述基于第三预设损失函数训练所述特征提取网络l
kp
,包括:
[0151]
根据下式计算所述第三损失l
kp
:
[0152][0153]
其中,ia表示图像a,ib表示图像b,t
gt
表示仿射变换矩阵,l表示所述样本图像金字塔的层级,l为所述样本图像金字塔的总层数,λ为预设参数,n表示滑动窗口大小,n
l
表示第l层滑动窗口大小,l
ip
(ia,ib,t
gt
,n
l
)表示图像a与图像b之间特征点的对应关系。
[0154]
作为本技术一种可能的实施方式,上述特征点匹配单元44包括:
[0155]
描述子获取模块,用于获取所述目标匹配特征对集中每一特征点的描述子;
[0156]
匹配模块,用于基于所述描述子,对所述目标特征点信息集中的特征点进行匹配,获取包含匹配对的初始匹配特征对集;
[0157]
目标角度差确定模块,用于基于所述方向信息,统计所述初始匹配特征对集中所有匹配对之间的方向差,确定目标角度差,所述目标角度差为所述初始匹配特征对集中方向差值最小的三个角度差;
[0158]
匹配对集确定模块,用于基于所述目标角度差,对所述初始匹配特征对集中匹配对进行第二层离群点剔除,得到目标匹配特征对集,所述第二层离群点剔除用于将不处于所述目标角度差之中的所有匹配对作为离群点剔除。
[0159]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0160]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如图1至图3表示的任意一种应用于动态场景的定位建图方法的步骤。
[0161]
本技术实施例还提供一种智能设备,包括存储器、处理器以及存储在所述存储器
中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如图1至图3表示的任意一种应用于动态场景的定位建图方法的步骤。
[0162]
本技术实施例还提供一种计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行实现如图1至图3表示的任意一种应用于动态场景的定位建图方法的步骤。
[0163]
图5是本技术一实施例提供的智能设备的示意图。如图5所示,该实施例的智能设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个应用于动态场景的定位建图方法实施例中的步骤,例如图1所示的步骤s101至s105。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示单元41至45的功能。
[0164]
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序52在所述智能设备5中的执行过程。
[0165]
所述智能设备5可以为智能机器人。所述智能设备5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是智能设备5的示例,并不构成对智能设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述智能设备5还可以包括输入输出设备、网络接入设备、总线等。
[0166]
所述处理器50可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0167]
所述存储器51可以是所述智能设备5的内部存储单元,例如智能设备5的硬盘或内存。所述存储器51也可以是所述智能设备5的外部存储设备,例如所述智能设备5上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器51还可以既包括所述智能设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述智能设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
[0168]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0169]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0170]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0171]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0172]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种应用于动态场景的定位建图方法,其特征在于,所述定位建图方法包括:获取目标图像;将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型,获得特征点信息集与语义分割结果集,所述特征点信息集中包括提取的特征点的方向信息;基于所述语义分割结果集,对所述特征点信息集进行第一层离群点剔除,得到目标特征点信息集,所述第一层离群点剔除用于剔除所述目标图像中动态物体的特征点信息;基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集;基于所述目标匹配特征对集进行相机位姿估计,并根据估计的位姿完成所述相机的定位及地图构建。2.根据权利要求1所述的定位建图方法,其特征在于,在所述将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型之前,包括:构建多任务神经网络模型,所述多任务神经网络模型包括方向估计网络、特征提取网络和语义分割网络,其中,所述方向估计网络用于提取所述目标图像中的方向信息,所述特征提取网络用于提取所述目标图像中的特征点,所述语义分割网络用于对所述目标图像进行语义分割;获取训练样本图像集;对所述训练样本图像集中的样本图像进行预处理,得到预处理样本图像;将所述预处理样本图像输入至所述语义分割网络,获取语义分割结果,并基于第一预设损失函数训练所述语义分割网络;将所述预处理样本图像输入至所述方向估计网络,提取所预处理样本图像中的方向信息,并基于第二预设损失函数训练所述方向估计网络;将包含所述方向信息的所述预处理样本图像输入至所述特征提取网络,提取所预处理样本图像中的特征点,并基于第三预设损失函数训练所述特征提取网络;基于预设损失函数训练所述多任务神经网络模型,所述预设损失函数根据训练过程中所述语义分割网络的第一损失、所述方向估计网络的第二损失以及所述特征提取网络的第三损失确定。3.根据权利要求2所述的定位建图方法,其特征在于,所述对所述训练样本图像集中的样本图像进行预处理,得到预处理样本图像,包括:将所述样本图像进行金字塔型缩放,得到样本图像金字塔。4.根据权利要求3所述的定位建图方法,其特征在于,所述基于预设损失函数训练所述多任务神经网络模型,包括:根据下式计算所述多任务神经网络模型的损失loss:loss=βl
sum
+(1-)
·
(l
kp
+
ori
)其中,l
sum
表示所述第一损失,l
ori
表示所述第二损失,l
kp
表示所述第三损失,β是预设权重。5.根据权利要求4所述的定位建图方法,其特征在于,所述基于第一预设损失函数训练所述语义分割网络,包括:根据下式计算所述第一损失l
sum
:
其中,h表示预处理样本图像s的高,w表示s的宽,q表示s对应的真值图像,bceloss为所述第一预设损失函数,q
ij
表示像素点(i,j)的真值标签数据。6.根据权利要求4所述的定位建图方法,其特征在于,所述方向估计网络由旋转不变形卷积网络簇组成,所述基于第二预设损失函数训练所述方向估计网络,包括:根据下式计算所述第二损失l
ori
:其中,h表示预处理样本图像s的高,w表示s的宽,g表示所述旋转不变形卷积网络簇的数量,k表示第k簇,1≤k≤g,o为最佳方向向量,表示第a张图的第k簇所生成的坐标ij像素点对应的最佳方向向量,q表示第b张图的第k簇所生成的坐标ij像素点对应的最佳方向向量,最佳方向向量是指经过softmax函数后的方向向量;所述基于第三预设损失函数训练所述特征提取网络l
kp
,包括:根据下式计算所述第三损失l
kp
:其中,i
a
表示图像a,i
b
表示图像b,t
gt
表示仿射变换矩阵,l表示所述样本图像金字塔的层级,l为所述样本图像金字塔的总层数,λ为预设参数,n表示滑动窗口大小,n
l
表示第l层滑动窗口大小,l
ip
(i
a
,i
b
,t
gt
,n
l
)表示图像a与图像b之间特征点的对应关系。7.根据权利要求1所述的定位建图方法,其特征在于,所述基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集,包括:获取所述目标匹配特征对集中每一特征点的描述子;基于所述描述子,对所述目标特征点信息集中的特征点进行匹配,获取包含匹配对的初始匹配特征对集;基于所述方向信息,统计所述初始匹配特征对集中所有匹配对之间的方向差,确定目标角度差,所述目标角度差为所述初始匹配特征对集中方向差值最小的三个角度差;基于所述目标角度差,对所述初始匹配特征对集中匹配对进行第二层离群点剔除,得到目标匹配特征对集,所述第二层离群点剔除用于将不处于所述目标角度差之中的所有匹配对作为离群点剔除。8.一种应用于动态场景的定位建图装置,其特征在于,所述定位建图装置包括:目标图像获取单元,用于获取目标图像;特征语义获取单元,用于将所述目标图像输入至基于预设损失函数训练完成的多任务神经网络模型,获得特征点信息集与语义分割结果集,所述特征点信息集中包括提取的特
征点的方向信息;第一层剔除单元,用于基于所述语义分割结果集,对所述特征点信息集进行第一层离群点剔除,得到目标特征点信息集,所述第一层离群点剔除用于剔除所述目标图像中动态物体的特征点信息;特征点匹配单元,用于基于所述方向信息,对所述目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集;定位及建图单元,用于基于所述目标匹配特征对集进行相机位姿估计,并根据估计的位姿完成所述相机的定位及地图构建。9.一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的定位建图方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的定位建图方法。
技术总结
本申请适用于智能行驶技术领域,提供了一种应用于动态场景的定位建图方法、装置和智能设备,包括:获取目标图像;将目标图像输入至基于预设损失函数训练完成的多任务神经网络模型,获得特征点信息集与语义分割结果集,特征点信息集中包括提取的特征点的方向信息;基于语义分割结果集,对特征点信息集进行第一层离群点剔除,得到目标特征点信息集,第一层离群点剔除用于剔除目标图像中动态物体的特征点信息;基于方向信息,对目标特征点信息集中的特征点进行匹配,得到目标匹配特征对集;基于目标匹配特征对集进行相机位姿估计,并根据位姿估计的结果完成相机的定位及地图构建。本申请可减少定位漂移误差,提高动态场景下定位及建图的准确性。建图的准确性。建图的准确性。
技术研发人员:曾欣宇 贺颖 于非
受保护的技术使用者:人工智能与数字经济广东省实验室(深圳)
技术研发日:2023.05.31
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/