System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及机器视觉和视觉定位,尤其涉及一种视觉里程计算方法、装置、电子设备及存储介质。
技术介绍
1、视觉同时定位与地图构建(simultaneous localization and mapping,slam)使用视觉传感器来对未知环境中的车辆、机器人进行定位,可应用于机器人导航、虚拟现实(virtual reality,vr)、增强现实(augmented reality,ar)和自动驾驶等场景中,视觉里程计(visualodometry,vo)则是视觉slam中最为关键的环节,在未进行回环校验的情况下,视觉slam的精度取决于视觉里程计。
2、传统的视觉里程计利用物理模型和几何理论进行求解,主要分为间接方法和直接方法。间接方法通过检测特征点和提取局部描述符作为中间表示,然后在图像之间进行特征匹配,并且使用重投影误差来优化相机位姿。而直接方法则对图像形成过程建模,通过假设灰度不变性对光度误差函数进行优化。
3、近年来,随着深度学习在计算机视觉领域的成功应用,如物体检测、图像分割,研究人员开始尝试将深度学习技术应用于视觉slam任务。与传统方法相比,基于深度学习的视觉slam方法可以从大量数据中学习先验知识,其性能不依赖于图像匹配的准确性。但是基于深度学习的视觉slam方法直接输出相对位姿,缺乏多视图几何一致性,在大规模场景中,易导致尺度不一致和尺度漂移的问题。因此,如何解决视觉里程中尺度不一致和尺度漂移的问题,成为了亟待解决的技术问题。
技术实现思路
1
2、为实现上述目的,本申请实施例的第一方面提出了一种视觉里程计算方法,所述方法包括:
3、获取样本数据集;其中,所述样本数据集包括目标图像数据和源图像数据,所述目标图像数据和所述源图像数据属于相邻帧图像;
4、将所述目标图像数据输入至预设的深度估计网络进行深度估计,得到预测深度图数据;
5、通过预设的姿态估计网络对所述目标图像数据和所述源图像数据进行姿态估计,得到相对姿态信息;
6、根据所述相对姿态信息、所述源图像数据、所述目标图像数据和所述预测深度图数据对所述深度估计网络和所述姿态估计网络进行联合训练;
7、获取当前帧图像数据和上一帧图像数据;
8、将所述当前帧图像数据输入至所述深度估计网络进行深度估计,得到目标深度图数据;
9、根据所述目标深度图数据对所述当前帧图像数据和所述上一帧图像数据进行尺度对齐,得到当前帧对齐图像数据和上一帧对齐图像数据;
10、将所述当前帧对齐图像数据和上一帧对齐图像数据输入至光流网络进行位姿估计,得到位姿估计数据;
11、根据若干连续的所述位姿估计数据汇集成视觉里程数据。
12、在一些实施例,所述将所述当前帧对齐图像数据和上一帧对齐图像数据输入至光流网络进行位姿估计,得到位姿估计数据,包括:
13、将所述上一帧图像数据输入至所述深度估计网络进行深度估计,得到上一帧深度图数据;
14、从光流网络中获得所述上一帧深度图数据和所述当前帧图像数据的3d-2d匹配关系;
15、根据所述3d-2d匹配关系,使用pnp方法进行姿态求解,得到所述位姿估计数据。
16、在一些实施例,从光流网络中获得所述上一帧深度图数据和所述当前帧图像数据的3d-2d匹配关系,包括:
17、从光流网络中获得所述上一帧深度图数据和所述当前帧图像数据的前向光流和后向光流,根据所述前向光流和所述后向光流计算前后光流一致性;
18、将所述上一帧深度图数据和所述当前帧图像数据划分为多个区域,在每个区域中筛选出符合所述前后光流一致性的3d-2d匹配关系。
19、在一些实施例,所述根据所述相对姿态信息、所述源图像数据、所述目标图像数据和所述预测深度图数据对所述深度估计网络和所述姿态估计网络进行联合训练,包括:
20、根据所述相对姿态信息、所述目标图像数据和预设的相机内参矩阵构建合成图像数据;
21、根据所述合成图像数据、所述源图像数据和所述目标图像数据构建深度预测损失函数;
22、根据所述深度预测损失函数对所述深度估计网络和所述姿态估计网络进行联合训练。
23、在一些实施例,所述根据所述合成图像数据、所述源图像数据和所述目标图像数据构建深度预测损失函数,包括:
24、根据所述合成图像数据和所述目标图像数据之间的光度误差,构造最小化光度重投影误差损失函数;
25、根据预设的平均归一化逆深度信息和所述目标图像数据,构造边缘感知平滑损失函数;
26、根据所述源图像数据和所述目标图像数据之间的深度误差,构建双向一致性深度损失函数;
27、根据所述源图像数据和所述目标图像数据之间的相对姿态,构造双向姿态一致性损失函数;
28、对所述最小化光度重投影误差损失函数、所述边缘感知平滑损失函数、所述双向一致性深度损失函数和所述双向姿态一致性损失函数加权求和,得到所述深度预测损失函数。
29、在一些实施例,所述根据所述合成图像数据和所述目标图像数据之间的光度误差,构造所述最小化光度重投影误差损失函数,包括:
30、所述最小化光度重投影误差损失函数为:
31、;
32、其中,表示最小化光度重投影误差损失函数结果,表示所述目标图像数据,表示所述合成图像数据,表示由l1损失和结构相似性损失ssim组成的光度误差;
33、根据所述合成图像数据和所述目标图像数据之间的深度误差,构建双向一致性深度损失函数,包括:
34、所述双向一致性深度损失函数为:
35、;
36、其中,表示双向一致性深度损失函数结果,表示源深度图数据,表示预测深度图数据,表示由经过扭曲计算后得到的对应深度图,表示由经过扭曲计算后得到的对应深度图。
37、在一些实施例,所述深度估计网络包括通道-空间注意力模块和深度估计层,所述将所述当前帧图像数据输入至所述深度估计网络进行深度估计,得到目标深度图数据,包括:
38、对所述当前帧图像数据进行特征提取,得到初步图像特征;
39、将所述初步图像特征输入至所述通道-空间注意力模块进行自注意力处理,得到高级别特征信息;其中,所述通道-空间注意力模块由原始注意力模块改进得到,改进内容包括:使用tanh函数将初步图像特征的特征大小转换为(-1,1)的范围,并通过激活函数对初步图像特征进行处理,得到所述高级别特征信息;
40、所述深度估计层对所述高级别特征信息进行深度估计,得到所述目标深度图数据。
41、为实现上述目的,本申请实施例的第二方面提出了一种视觉里程计算装置,所述装置包括:本文档来自技高网...
【技术保护点】
1.一种视觉里程计算方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述当前帧对齐图像数据和上一帧对齐图像数据输入至光流网络进行位姿估计,得到位姿估计数据,包括:
3.根据权利要求2所述的方法,其特征在于,从光流网络中获得所述上一帧深度图数据和所述当前帧图像数据的3D-2D匹配关系,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述相对姿态信息、所述源图像数据、所述目标图像数据和所述预测深度图数据对所述深度估计网络和所述姿态估计网络进行联合训练,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述合成图像数据、所述源图像数据和所述目标图像数据构建深度预测损失函数,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述合成图像数据和所述目标图像数据之间的光度误差,构造所述最小化光度重投影误差损失函数,包括:
7.根据权利要求1所述的方法,其特征在于,所述深度估计网络包括通道-空间注意力模块和深度估计层,所述将所述当前帧图像数据输入至所述深度估计网络
8.一种视觉里程计算装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的视觉里程计算方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的视觉里程计算方法。
...【技术特征摘要】
1.一种视觉里程计算方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述当前帧对齐图像数据和上一帧对齐图像数据输入至光流网络进行位姿估计,得到位姿估计数据,包括:
3.根据权利要求2所述的方法,其特征在于,从光流网络中获得所述上一帧深度图数据和所述当前帧图像数据的3d-2d匹配关系,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述相对姿态信息、所述源图像数据、所述目标图像数据和所述预测深度图数据对所述深度估计网络和所述姿态估计网络进行联合训练,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述合成图像数据、所述源图像数据和所述目标图像数据构建深度预测损失函数,包括:
6.根据权利要求5所述的方法,其特...
【专利技术属性】
技术研发人员:张兴,李鹏,张宜旺,王伟,何道敬,田志宏,鲁辉,童超,夏修理,王旭东,刘宏,肖维,
申请(专利权)人:华润数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。