本发明属于视觉三维重建领域,具体涉及一种融合神经隐式表面表征与体积渲染的建图方法。
背景技术:
1、同步定位与地图构建( simultaneous localization and mapping,slam )是机器人在未知环境中,仅依靠自身的传感器,在移动过程中同时估计自身位置并建立环境地图的技术。作为计算机视觉和移动机器人领域的研究热点问题之一,其研究引起了广泛的关注。传统slam方法中一般采用图像特征匹配或者光流法来估计相机姿态,然后通过位姿与地图点的联合优化提高定位与构图精度。随着深度学习的发展,研究者开始利用深度神经网络来提高slam的环境适应性,深度学习技术为经典视觉slam问题提供了更多选择。但传统的slam算法性能依赖特征点检测和匹配结果,但是在存在众多弱纹理、重复特征的现实应用环境中,错误特征匹配往往导致位姿估计误差增大,乃至定位失效,进而导致建图出现断层、全局不一致等问题。此外,传统slam技术利用离散的、非结构化点云或三角网格可实现对大规模环境的动态构建,但对物体表面细节的精细刻画能力非常有限。同时,随着对神经辐射场(neural radiance fields,nerf)的视图渲染与场景重建技术研究,例如表面重建、相机位姿估计、三维重建。nerf利用mlp(multilayer perceptron)参数实现场景的连续隐式编码,通过对相机未观测到部分的有效预测,可有效实现地图空洞的填充,在环境表征的保真度与渲染视图的逼真度上,均达到了传统方法无法企及的高度。诸如imap(implicit mapping and positioning)采用单个mlp来表达整个场景,同时引入光度和几何损失,但是imap的表达能力有限,并且有网络遗忘问题。而nice-slam(neural implicitscalable encoding for slam)需要预先给定场景的大小,无法实现地图的动态扩展,但是该方法对射线采样点数进行了限制,对无边界的场景的背景采样非常稀疏,导致重建背景模糊。
技术实现思路
1、针对现有技术中的上述不足,本发明提供的一种融合神经隐式表面表征与体积渲染的建图方法解决了以下问题:
2、1)传统slam建图过程中受遮挡、测量误差等因素影响,构造地图易出现空洞、断层的问题。
3、2)对“无边界”的场景的重建效果差。
4、3)大尺度环境下难以实现地图的动态拓展。
5、为了达到上述发明目的,本发明采用的技术方案为:一种融合神经隐式表面表征与体积渲染的建图方法,包括以下步骤:
6、s1、获取rgb-d相机输出的颜色信息和深度信息,根据深度信息和相机内参得到视锥空间,通过空间收缩函数对视锥空间进行压缩,根据压缩后的视锥空间的点云分布得到体素网格和二维网格,所述体素网格顶点和二维网格顶点存储预训练的局部特征;
7、s2、根据图像像素、相机内参和相机姿态构造射线,通过射线对体素网格中的体素进行采样,得到采样点几何特征向量和采样点颜色特征向量;
8、s3、将采样点几何特征向量和采样点颜色特征向量输入mlp神经网络,得到sdf值和rgb值;
9、s4、根据sdf值得到新的采样点几何特征向量和采样点颜色特征向量,将其输入mlp神经网络,得到新的sdf值和rgb值;
10、s5、根据新的sdf值和rgb值计算射线的像素颜色估计和像素深度估计;
11、s6、根据射线的像素颜色估计和像素深度估计得到场景表面几何与颜色的表征的约束条件;
12、s7、根据约束条件优化体素网格顶点和正二维网格顶点局部特征向量,得到场景的隐式表征,完成融合神经隐式表面表征与体积渲染的建图方法。
13、进一步地:所述s1中,空间收缩函数的表达式具体为:
14、
15、式中,为无穷范数,xj为第j个缩放点的空间坐标。
16、进一步地:所述s2包括以下分步骤:
17、s21、基于图像像素、相机内参和相机姿态,构造以相机光心为起点,经过图像像素的射线;
18、s22、在射线穿过体素的距离内均匀取样,得到射线采样点;
19、s23、查询射线采样点在体素网格顶点的局部特征嵌入,通过三线性插值计算局部特征嵌入,得到体素几何特征向量和体素颜色特征向量;
20、s24、查询射线采样点在二维网格顶点的局部特征嵌入,通过双线性插值计算平面投影颜色特征向量和平面投影几何特征向量;
21、s25、将体素几何特征向量和平面投影几何特征向量进行拼接,得到采样点几何特征向量,将体素颜色特征向量和平面投影颜色特征向量进行拼接,得到采样点颜色特征向量。
22、进一步地:所述s3中,mlp神经网络包括依次连接的几何预测子网络和颜色预测子网络,所述几何预测子网络包括依次连接的第一全连接层~第四全连接层,所述包括依次连接的第五全连接层和第六全连接层;
23、得到sdf值和rgb值的方法具体为:
24、s31、将采样点几何特征向量和采样点颜色特征向量依次输入第一全连接层~第四全连接层,得到sdf值和128维潜向量;
25、s32、将128维潜向量依次输入第五全连接层和第六全连接层,得到rgb值。
26、进一步地:所述s4中,得到新的采样点几何特征向量和采样点颜色特征向量的方法包括具体为:
27、根据sdf值设置截断距离,根据截断距离设置重点体素,通过射线对重点体素进行采样,得到新的采样点几何特征向量和采样点颜色特征向量。
28、进一步地:所述s5包括以下分步骤:
29、s51、根据新的sdf值计算射线采样点体密度;
30、s52、根据射线采样点体密度计算射线采样点权重;
31、s53、根据射线采样点权重、新的sdf值和rgb值计算射线的像素颜色估计和像素深度估计。
32、进一步地:所述s51中,计算射线采样点体密度的表达式具体为:
33、
34、式中,为可学习参数,为新的sdf值,为激活函数;
35、所述s52中,计算射线采样点权重的表达式具体为:
36、
37、式中,为第n个射线采样点体密度,为第n个射线采样点体密度,n为射线采样点总数;
38、所述s53中,计算射线的像素深度估计的表达式具体为:
39、
40、计算射线的像素颜色估计的表达式具体为:
41、
42、式中,为rgb值。
43、进一步地:所述s6中,场景表面几何与颜色的表征的约束条件的表达式具体为:
44、
45、式中,为rgb损失,为深度损失,为射线自由空间损失,为截断距离损失,、、和均为加权系数;
46、所述rgb损失的表达式具体为:
47、
48、式中,为采样像素的颜色真值,r为由相机光心与采样像素点生成的射线r的集合;
49、所述深度损失的表达式具体为:
50、
51、式中,为采样像素的深度真值;
52、所述射线自由空间损失的表达式具体为:
53、
54、式中,为射线截断区域外的采样点集,为p点sdf值,p为采样点,且;
55、所述截断距离损失的表达式具体为:
56、
57、式中,为截断距离范围内的采样点集,为截断距离符号场值为1时采样点与成像平面的距离。
58、进一步地:所述截断距离符号场值的表达式具体为下式;
59、
60、式中,为截断距离。
61、本发明的有益效果为:
62、(1)本发明基于密度场是由一个定义良好的表面产生的这一设定,将经典体渲染技术中的体密度建模为参数可学习的符号距离函数(sdf),并利用估计的tsdf(truncatedsigned distance function)引导由光心像素生成射线与真实表面交点附近密集采样,使采样点分布更好地吻合场景真实辐射场分布,以获取更准确的表面几何近似与颜色表征。通过采用体素存储tsdf与高效的空间收缩函数,增强射线与几何边界交叉的检测效率,实现无边界的真实世界场景的照片级图像合成,同时生成精确的深度图。采用体素动态扩展技术实现大规模场景的高效隐式场景表示。
63、(2)本发明构建基于体素与表面隐式表征相结合的场景表征,使得表面重建定位于tsdf的零测度集。网络训练采用rgb损失、深度损失、射线自由空间损失和截断距离损失,则使约束条件聚焦于真正表面优化,从而提高复杂表面重建的精细度与渲染图像的真实度。
64、(3)本发明基于单一mlp的神经辐射场模型容量有限,在大规模场景表征中往往存在欠拟合现象,导致渲染图像模糊。采用低分辨率体素加高分辨率轴对齐平面网格的特征嵌入表示场景几何与外观,特征嵌入组合输入mlp预测相机射线采样点的tsdf与颜色值。特征嵌入可为场景局部几何、颜色、材料等先验信息,因而可简化用于推理场景几何与外观的mlp的规模,而将场景表征为低分辨率体素加高分辨轴对齐平面网格特征的组合,则可在显著减少场景表征所需mlp参数,减少大规模场景建图时对系统存储空间的需求,而不降低mlp的场景表征能力。
65、(4)本发明将体密度建模为sdf的函数,并用tsdf引导射线采样,使得采样分布集中于tsdf的零测度集,而通过mlp预测的采样点密度场分布则更加贴近于场景的真实表面几何分布,有效消除了基于积分的体渲染技术在场景表征时存在的固有偏差。对表面截断距离之外的干扰样本点的消除则可以提高mlp对表面颜色预测的准确性,进而提升渲染图像质量。
66、(5)本发明针对无边界场景,为实现近景高分辨率重建的同时也能对远景进行有效表征,需将无边界的场景通过分区域线性保留压缩变换映射到有界空间,用有限射线采样点实现任意欧式空间距离的采样。此外,自由空间跳转则是影响体积渲染计算效率的关键因素之一,而分区域投影变换则简化了压缩空间内射线体素相交的检测,提升mlp计算效率。