01
概述
1、位姿计算----在关键帧实施基于滑窗的像素级集束优化;
2、追踪前端----实施直接稠密图片配准,基于全局模型得到的深度图;
3、CVA-MVSNet----使用全部关键帧来预测稠密深度图;
4、全局地图----使用预测的深度图融合成全局地图,表示为TSDF体素表格。
TANDEM的整体架构图如下所示:
简单总结,TANDEM使用了稠密追踪前端和稀疏后端优化相结合的方式来提高追踪性能。
TANDEM前端的特点:
提供实时相机帧频的追踪
作为后端窗口优化的初始化输入
实现前端稠密点追踪(相较于DSO而言)
DSO的前端做法是,一张新的输入帧,基于过去n个关键帧来实施直接配准,而这n帧构建了一个稀疏深度图 ,这个深度图是由优化窗口中所有的点生成而来的。DSO的做法是得到一个稀疏深度图,所以鲁棒性较差。
TANDEM的做法是,构建一个稠密深度图---- ,来自于构建的TSDF模型。具体做法是,对于当前关键帧的每个像素,我们都给它们赋予一个深度值,这个深度值来自于DSO中稀疏VO点深度图,或者就是来自于稠密深度图。这样做的好处,就是相对而言,前端配准是,是稠密追踪实现的。
首先,可以给出一个简单的分析,CVA-MVSNet就是一个输入是关键帧,输出是对应长宽的深度图(注意,这里输出是一维的),中间使用到具体的模型为U-Net和3DU-Net,这样一说的话,就很好理解这一块的架构。
那么,我们给出输入关键帧的定义---- ,这里 表示的是尺度为的图像,而 就是由前端的视觉里程计计算出来的全局位姿。
CVA-MVSNet的突出点----克服了深度MVS消耗大量内存的问题,简单来说,就是通过多级层次结构实现的,同时还使用了一个自适应的可视增强模块。具体的CVA-MVSNet的模型架构图如下所示:
因为CVA-MVSNet使用了多阶段的方式来解决了内存损耗的问题,并且不同阶段之间大同小异,因此我们选取一个阶段进行详细分析,然后就可以熟知整个网络模型的作用和功能。
在分析之前,我们先给出模型输入和输出的一些变量的定义。
接着就是,由 经过文中可微Warp操作,为3D U-Net提供输入数据----,具体的操作如下:
为参考帧的每个像素定义一个深度假设向量----;
对于每帧获得到的深度特征,通过可微的warp操作,这步操作同样使用到深度假设、相对位姿和相机内参;
经过上面两步操作,为每帧计算一个特征卷。
为了增强多视几何图特征卷,并最终得到,这一步又分为传统方法和本文的改进方法:
一般的MVS方法将不同的视图平等看待,然后使用基于差异的计算指标:,其中,
本文中,基于滑窗SLAM的设置,关键帧在优化窗口中并不是均匀分布的,新关键帧一般要比旧关键帧的距离小,因此本文优化后的自适应视觉增强方法为:。
1、训练集
本文训练了两个CVA-MVSNet的模型:一个使用实际的ScanNet数据集、另一个使用拟合数据集Replica数据集,一些结果如下图所示:
对于不可见的序列,本文的训练结果如下图所示:
2、测试集
本文中使用了ICL-NUIM数据集和EuRoc数据集中的Vicon室内序列来评估稠密3D重建和追踪的结果。具体的一些结果如下: