CNN-SLAM 实时单目稠密重建

CNN-SLAM:学习深度预测的实时稠密单目SLAM

Abstract:

本文提出了一种利用CNN网络从单目图像直接预测深度图的方案。框架融合了语义标签,因此可以从单目视图生成语义连贯的场景重建。

2.整体框架

image-20200920211212480

1.相机位姿估计:

首先提取出关键帧k1,k2,...,kn∈K,每一个关键帧ki对应一个位姿Tki、一个深度图Dki,以及深度不确定图Uki。稠密的深度图由CNN网络预测得到,并以此深度图作为SLAM架构先验深度。

位姿Tki = [Rt,tt]∈SE3,其含义是最相邻的关键帧与当前帧的相机位姿变换。本文采用最小化光度残差来得到这个变换关系。

image-20200920222048610

其中,ρ是Huber损失函数,σ是测量残差不确定度的函数,r是光度残差函数,

image-20200920222410930

出于效率的考量,作者将光度残差的计算限制在颜色梯度比较高的区域。

2.CNN深度预测和语义分割

​ 对于每一个关键帧,都用CNN网络预测出其对应的深度图。使用另一个CNN网络,以预测来自RGB图像的像素语义标签。

3.关键帧的确定和位姿图优化

​ 如果实际应用的SLMA传感器与训练数据使用的传感器具有不同的内参数,会导致3D重建的绝对尺度不精确。本文的方法是,利用相机焦距的比率来对深度图进行调整。当前传感器的焦距为fcur,训练数据集的传感器焦距为ftr

image-20200920224038577

此外,预测出的深度图Dki对应着一个深度不确定性图Uki,这个置信度衡量了每个预测的深度值在不同帧上的相关性,对于那些与高置信度相关联的元素,连续的优化过程将更快更有效。

Uki被定义为当前帧ki的深度图与最近邻关键帧kj的深度图之间的平方差:

image-20200920225217307

为了提高每个新初始化的关键帧的准确性,作者将其深度图和不确定图从最邻近的关键帧的深度图和不确定性图进行融合,然后再用新的输入帧进行更新。

最邻近关键帧kj传播的不确定图定义如下:

image-20200920225726410

然后,两个深度图根据不确定性图的权重融合在一起:

image-20200920230230556

由于不同的区域有不同的深度置信度,本方法最终产生的深度图中,梯度高的区域将会保留逐帧估计的深度值,而在低纹理区域,将会保留由CNN估计出的深度。

5.全局模型和语义标签融合

​ 获得的一组关键帧可以融合在一起以生成重构场景的3D全局模型。由于除了深度图之外,CNN还被训练用来提供语义标签,所以语义信息也可以通过语义标签融合的过程与3D全局模型的每个元素相关联。

实验结果

作者在ICL-NUIM 和 TUM数据集上与一些其他的SLAM方案进行了对比

image-20200920231149264
image-20200920231203830