通过隐式神经光场表示的实时单目SLAM方法及装置

文档序号:36480049发布日期:2023-12-25 09:44阅读:40来源:国知局
通过隐式神经光场表示的实时单目

本发明属于同步定位与地图构建,具体涉及一种通过隐式神经光场表示的实时单目slam方法及装置。


背景技术:

1、随着人工智能(ai)技术的不断进步与应用的广泛渗透,在多个领域,如移动机器人、自主驾驶、无人机、增强现实等,迫切需要确切的位置信息,以支持精准的导航和决策。然而,这些系统在复杂、未知的环境中的自主运动,却面临着位置感知的挑战。同步定位与地图构建(slam)作为一项重要技术,迎合了这一需求。

2、在一个充满未知和多变因素的环境中,传统的slam技术通过综合各种传感器数据,如激光雷达、相机以及惯性测量单元,使得这些自主系统能够即时而准确地定位自己的位置,同时建立起周围环境的三维地图。通过这种高度自主的位置感知,移动机器人、无人机等系统能够更加精确地规划路径、避障、执行任务。

3、传统基于激光雷达传感器的slam在实施过程中面临着显著的造价和资源损耗。激光雷达传感器的高成本以及其所需的复杂数据处理和计算资源,限制了该技术在广泛范围内的应用。

4、除此之外,传统的slam方法常常采用点云或者稀疏特征点来勾勒出场景的轮廓,然而这种表达方式往往难以维持连续性和高分辨率的特性。一方面,这些方法很难流畅地实现视角的无缝切换,即对于那些未被传感器正面捕捉到的区域难以做出准确的预测,这一点在涉及场景内隐蔽部分或者多角度观察的应用中显得尤为关键。另一方面,在传统slam方法的视觉呈现方面,它们对于场景的细节、纹理和光照变化的还原能力相对较弱,这可能导致最终图像的表现不够生动逼真。与此同时,由于对场景的感知主要集中在特定特征点或者稀疏的点云上,这些方法往往无法全面地表现出整体场景的特征。


技术实现思路

1、针对上述现有技术的不足,本发明提供一种通过隐式神经光场表示的实时单目slam方法及装置。

2、本发明的目的是通过以下技术方案实现的:

3、根据本说明书的第一方面,提供一种通过隐式神经光场表示的实时单目slam方法,包括以下步骤:

4、步骤s1,利用带相机位姿和深度信息的视频流数据集,以监督学习的方式预训练一个从rgb图像中估计相机位姿和逆深度图的快推理网络,其中,训练好的所述快推理网络包括定位线程;

5、步骤s2,将rgb图像实时馈送至所述步骤s1中训练好的快推理网络,以获取并维护rgb图像的相机位姿和逆深度图两个状态变量;

6、步骤s3,基于反投影模型,将步骤s2中得到的rgb图像的相机位姿和逆深度图以及结合已知的相机内参数映射成三维空间坐标(x,y,z);

7、对于rgb图像it中一个像素点(u,v),通过反投影模型与深度值以求得到所述像素点(u,v)对应的三位空间体素相对于相机位置,坐标计算公式如下:

8、

9、其中,深度值为步骤s2所得逆深度图对应像素点逆深度的倒数;

10、而(u,v)为图像it中的一个像素点坐标,u、v分别为图像素点的横向坐标、纵向坐标;(cx,cy)为图像中心坐标,cx、cy分别为图像中心点的横向和纵向坐标;(fx,fy)为相机内参数焦距,fx、fy分别为相机镜头的横向和纵向焦距长度;(x,y,z)为体素在三维空间对于相机位置的相对坐标,x、y、z分别为相对相机位置的x、y、z轴方向的坐标;

11、通过坐标(x,y,z)与当前相机位姿计算像素点(u,v)对应体素的光线方向向量(xd,yd,zd);

12、在光线方向路径上,通过高斯分布的方式以图像像素对应三维坐标(x,y,z)为中心采样多个坐标点,并串联成带有光线方向信息的多坐标方向向量

13、步骤s4,构建一个80层至100层的全连接网络,其中,所述全连接网络以所述步骤s3中得到多坐标方向向量作为输入,以对应像素rgb预测值为输出,并组合成恢复到原图像相同的尺寸;

14、步骤s5,以rgb真实值与所述步骤s4中恢复到原图像相同的尺寸rgb预测值的误差作为损失函数,以对所述全连接网络进行实时的监督训练,其中,实时训练的所述全连接网络包括地图构建线程和显示线程;

15、步骤s6,以多线程的形式,整合所述步骤s1中训练好的快推理网络、所述步骤s5中实时训练的全连接网络,形成一个完整的slam系统,其中,所述slam系统包括所述定位线程、所述地图构建线程以及所述显示线程。

16、进一步地,所述步骤s1具体包括以下内容:

17、步骤s11,从所述视频流数据集的图像中提取图像特征及上下文特征,得到密集特征;

18、步骤s12,基于所述密集特征中的图像特征,计算相邻两帧图像所有像素对之间相关体积,以描述像素对的视觉相似度,得到一个存储相邻两帧图像间所有像素对相关性的4维张量cij,即相关性特征图;

19、步骤s13,基于所述步骤s12中得到的相关性特征图,构建一个不同尺度的多层相关性金字塔,并从中查找所需像素对的1维度特征向量xt;

20、步骤s14,基于所述步骤s11中得到的上下文特征和所述步骤s12中得到的1维度特征向量xt以及上一帧图像对应的相机位姿tt和逆深度图dt,构建更新算子,动态更新相机位姿的调整量以及深度图的修正量,其中,逆深度图的逆深度值为深度图的深度值的倒数,相机位姿tt∈se(3);se(3)表示三维欧氏空间中的刚体变换,即物体位置和旋转的6个自由度;逆深度图表示大小为h×w的正实数2维矩阵;

21、步骤s15,结合位姿损失和深度损失来监督训练所述快推理网络。

22、进一步地,所述步骤s11具体包括以下内容:

23、步骤s11a,将所述视频流数据集中相邻的前后两帧图像ii、图像ij依次喂入特征编码器gθ,特征编码器gθ以1/8的分辨率提取图像特征,实现得到图像特征;其中,特征编码器gθ由卷积神经网络和多个残差块组成,取d=256,h、w表示图像像素的高、宽;

24、步骤s11b,将图像ii喂入上下文编码器hθ,其结构与特征编码器gθ相同,得到上下文特征。

25、进一步地,所述步骤s12具体包括以下内容:

26、根据提取的密集特征中的图像特征来计算两帧图像的相关体积表示大小为h×w×h×w的实数4维张量集合;

27、相关性体积cij中一对像素点的相关性计算公式如下:

28、

29、其中,为ii中像素点(u1,v1)与ij中像素点(u2,v2)间的相关性,分别为对应的图像特征,u、v分别为像素点的横向和纵向坐标。

30、进一步地,所述步骤s13具体包括以下内容:

31、步骤s1 3a,针对相邻两帧图像ii和图像ij的相关性体积cij,采用了内核大小为2、4和8的平均池化操作处理cij的后两个维度,让相关性体积的分辨率分别降低到原来的1/2、1/4和1/8,从而形成了金字塔结构;

32、步骤s13a,利用估计的当前相机位姿和逆深度,计算图像ii中像素坐标pi映射到下一帧图像ij的像素坐标pij,并根据pij动态地从相关性体积cij中查找对应的特征向量,为实现此目标,引入一个相关体积查找算子lr:以h×w大小的坐标网格作为输入,使用半径为r的网格以双线性采样的方式从相关性金字塔的各层中检索相关性体积,并将各层次的检索结果连接成最终的特征向量xt来表征该像素点的特征,以实现从多尺度和层次步骤像素点间的关联特征,同时,以此方式获取的相关性特征向量xt还会包含pij附近的视觉相似性信息;

33、图像ii中点pi映射到下一帧图像ij的像素坐标pij的计算公式如下:

34、

35、

36、其中,πc为将三维坐标点投影到相机图像上的相机模型;为逆投影函数,实现逆深度di和坐标pi到三维点云间的映射;ti为图像ii对应相机位姿,tj为图像ij对应相机位姿的预测值。

37、进一步地,所述步骤s14具体包括以下内容:

38、用于更新相机位姿tt和逆深度图dt的更新算子主要包含convgru和dab两个核心模块,具体为:

39、a)convgru模块

40、结合卷积神经网络cnn和门控制循环单元gru,同时考虑时间维度和空间维度的信息,以实现对光流pij的迭代更新;该模块涉及两个输入:一是从cij相关性体积金字塔各层中检索并串联的相关性特征向量xt,二是通过对从图像ii提取的上下文特征图进行额外卷积处理后得到的上下文特征向量h0;该模块最后利用额外的卷积层将隐藏状态输出为修正光流场δpij及相关的置信图wij,以计算修正后的像素映射关系及其置信图

41、修正后的像素映射关系及其置信图的计算公式如下:

42、

43、

44、b)稠密束调整dba模块

45、同时调整相机的内外参数以及三维场景中的特征点空间位置,以最小化在多个视角下观察到的特征点在图像上的投影位置与实际检测到的位置之间的误差,从而优化维护相机位姿ti和特征点的空间位置,即dba模块将修正后的光流场映射为相机位姿和逆深度的更新量;

46、最小化特征点在图像上的投影位置与实际检测到的位置之间的误差,其像素级别的计算公式如下:

47、

48、其中,δtij和δdi分别为相机位姿、逆深度的更新量;||·||∑为马氏距离,基于置信度权重wij对误差项进行加权,∑ij=diag(wij);

49、在利用高斯-牛顿算法求解过程中,由于海森矩阵h的稀疏性质可采用schur消元来加速计算,那么其中增量线性方程hδx=b就可以变为以下方程组形式:

50、

51、其中,h为海森矩阵,h=jtj,j为相邻两帧图像误差l(t*,d*)的雅可比矩阵;g为块状相机矩阵,包含相机位姿相关信息;d为对应像素点的对角块矩阵,包含像素点的反深度相关信息,其尺寸远大于g;e为非对角块矩阵,与具体的观测数据有关;δξ为相机位姿谎言代数的更新量;δd为每个像素反深度的更新量;

52、利用高斯消元求解线性方程组中的δξ,得到关于相机位姿部分的增量方程如下:

53、(h/d)δξ=[g-ed-1et]δξ=v-ed-1w

54、其中,h/d为海森矩阵h相对于像素点对较快矩阵d的schur补数,h/d可以看作缩小的相机矩阵;

55、将求解得到的δξ带入原增量线性方程组,计算像素点逆深度增量δd,计算公式如下:

56、δξ=[g-ed-1et]-1(v-ed-1w)

57、δd=d-1(w-etδξ)。

58、根据本说明书的第二方面,提供一种通过隐式神经光场表示的实时单目slam装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现所述的通过隐式神经光场表示的实时单目slam方法。

59、本发明的有益效果是:

60、1.本发明构建并训练了估计模型,实现了从rgb图像中对相应相机位姿和图像深度的实施推理,解决了传统slam需要激光雷达作为传感器设备所导致的成本问题;

61、2.本发明采用相关体积金字塔结构表示两帧图像之间像素的相关体积,在注重大幅度运动的同时不损失小幅度运动的信息,提高相机位姿预测的准确性;

62、3.本发明将convgru和dba模块相结合,前者实现光流估计后者通过估计的光流实现相机位姿和图像深度的估计,降低了slam需要激光雷达等昂贵传感器的成本代价,拓宽了slam技术的应用范围;

63、4.本发明将隐式神经光场应用于slam技术中,提高了slam构建场景地图的细节、纹理和光线的表达能力,并通过基于光流估计的稠密束调整有效地优化相机位姿和地图点的位置,提升了位姿估计的准确性和深度估计的稳定性,解决了相机运动模糊、快速运动带来的问题,增强了系统的鲁棒性;利用隐式神经光场存储和渲染场景地图,以更小的存储代价,解决了传统方法中场景表示不连续、分辨率受限、视角切换不流畅、光照和纹理建模困难的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1