论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测

目录

基本情况

摘要

1 介绍

2 相关工作

SLAM

单视图深度预测

3 提出的单目语义SLAM

3.1 相机位姿估计

3.2 基于CNN的深度预测与语义分割

3.3 关键帧创建和位姿图优化

3.4 逐帧深度细化

3.5 全局模型与语义标签融合

4 评估

4.1 与其他SLAM方法的比较

4.2 纯旋转运动下的精度

4.3 加入三维语义重建

5 结论

参考


基本情况

摘要

随着卷积神经网络(CNN)在深度预测中取得了越来越多的进展,本文探讨了如何将卷积神经网络的深度预测用于高精度稠密单目SLAM系统中。我们提出了一种方法,CNN预测的稠密深度图与从直接单目SLAM获得的深度测量值自然融合在一起。我们的融合方案在单目SLAM方法效果不佳的图像位置进行深度预测具有优势,例如低纹理区域,反之亦然。我们演示了使用深度预测来估计重建的绝对尺度,克服了单目SLAM的主要局限之一。最后,我们提出了一个框架,该框架可以有效地融合从单个帧获得的语义标签稠密SLAM,从而从单个视图产生语义一致的场景重构。在两个标准数据集上的评估结果表明了我们方法的鲁棒性和准确性。

论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
图1.提出的单目SLAM方法(a)可以估算出比现有技术(b)好得多的绝对尺度,这对于许多SLAM应用(例如AR)是必需的,骨骼被增强到重建中。 c)我们的方法可以从单一角度融合3D和语义重建。

1 介绍

SfM和SLAM都是计算机视觉和机器人技术领域非常活跃的研究领域,其目的是实现3D场景重建以及通过3D和成像传感器进行相机姿态估计。最近,与移动深度传感器所获得的深度图融合在一起的实时SLAM方法得到了越来越广泛的应用,因为它们可用于:

  • 从移动机器人到无人机以及从导航到机器人的多种类型的自主导航与建图
  • 同时也适用于许多增强现实和计算机图形学的应用
  • 除了导航和建图外,体积融合方法(例如Kinect Fusion [21]以及基于RGB-D数据的稠密SLAM方法[30,11])还可用于高精度场景重建。

但是,这种方法的主要缺点是深度相机有一些局限性:

  • 尽管不是不可能在室外环境中工作,但的确大多数相机的工作范围有限,并且基于主动感应的相机无法在阳光下工作(或表现不佳),从而使重建和制图的精度降低。

通常,由于深度相机不如彩色相机普遍存在,因此许多研究兴趣集中在单个相机的稠密和半稠密SLAM方法上[22,4,20]。这些方法通过对相邻帧对进行短基线立体匹配来估计当前视点的深度图,从而实现实时单目场景重建。前提假设是,相机会随着时间在空间中平移,因此可以将成对的连续帧视为一个整体。 而匹配通常是通过灰度不变性关键点提取和匹配来进行的。
单目SLAM方法的主要局限性是对绝对尺度的估计。实际上,即使相机位姿估计和场景重建准确执行,这种重建的绝对尺度本质上仍然是不精确的,这限制了单目SLAM在增强现实和机器人技术领域的大多数应用场景(如图1中b)。 一些方法提出将场景与一组预定义的3D模型进行匹配并通过目标检测来解决问题,基于估计的目标大小来恢复初始比例[6],但是在场景中缺少已知尺度的情况下该方法会失败。单目SLAM的另一个主要局限在于——在相机纯旋转运动下,由于缺乏立体基线,因此无法使用立体估计,从而导致追踪失败。

最近,出现了一种新的研究方法,该方法通过学习的方法解决了单个图像的深度预测问题。特别是,以端到端的方式使用深度卷积神经网络(CNN)[16、2、3]证明了即使在缺少单目所需条件(纹理,重复图案)的情况下,也能有相对较好的方法和良好的绝对精度,从而使深度图具有回归的潜力,来完成深度估计任务。深度学习方法的一个优势是,可以从例子中学习绝对尺度,从而可以从单个图像进行预测,而无需基于场景的假设或几何约束,这与[10,18,1]不同。 这种深度学习的主要局限性在于,尽管全局准确,但深度边界往往会局部模糊:因此,如果像[16]中那样将深度学习融合在一起进行场景重建,则重建的场景将总体上缺少形状细节。

与此相关的是,尽管提出了几种用于单视图深度预测的方法,但迄今为止,深度预测在更高级别的计算机视觉任务中却被大多数人所忽视,文献[16]中给出了几个例子。本文工作的主要思想是,从两种方法中汲取优点,并提出一种单目SLAM方法,

  • 该方法将深度网络直接单目深度估计融合在一起,进行深度预测,从而进行稠密场景重建,同时具有精确的绝对尺度和鲁棒的追踪能力。
  • 为了恢复模糊的深度边界,将CNN预测的深度图作为稠密重建的初始估计,并通过类似于[4]中的短基线立体匹配的直接SLAM方案逐步完善。

重要的是,边缘区域往往很模糊,而短基线立体匹配则具有在预测深度图像上细化边缘区域的能力。同时,从CNN预测的深度图获得的初始估计可以提供绝对尺度信息来进行位姿估计,因此在绝对尺度方面,与单纯的单目SLAM相比,CNN估计的位姿轨迹和场景重建更加精确。图1的a展示了一个例子,该示例说明了使用本文中提出的精确绝对尺度方法进行场景重建的有效性。此外,由于CNN预测的深度不会受到上述纯旋转问题的影响,因此可以使追踪更加鲁棒,因为它是在单个帧上单独进行估计的。再者,由于可以在同一架构的不同计算资源(GPU和CPU)上同时执行CNN的深度预测和深度细化这两个过程,因此该框架可以实时运行。

近期关于CNN的另一个研究方面是,相同的网络结构可以用于不同的高维回归任务,而不仅仅是深度估计:一个典型的例子是语义分割[3,29]。我们根据这一点作为我们框架的扩展,该框架使用像素级标签来将语义标签与稠密SLAM有效地融合在一起,从而从单个视图获得语义连贯的场景重建(如图1所示)。值得注意的是,就我们所知,语义重建仅在近期才有所发展,并且在单目情况下仅基于立体[28]或RGB-D数据[15]的方法还从未提出过。

我们使用两个针对单目SLAM和深度预测的公开数据集来评估我们的方法,重点是位姿估计和重构的精确性。由于CNN预测的深度取决于训练过程,因此我们展示的实验中,训练集是从与评估基准中完全不同的环境和RGB传感器中选取的,以证实我们的方法(特别是实用性)可用于新环境中。我们也展示了在真实环境中联合场景重建和语义标签融合的测试结果。

论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测

2 相关工作

在本节中,我们回顾了我们在框架内集成的两个领域(即SLAM和深度预测)的相关工作。

SLAM

关于SLAM有大量文献。 从要处理的输入数据类型的角度来看,方法可以分为

  • 基于深度相机的[21、30、11]和
  • 基于单目相机的[22、4、20]。

相反,从方法论的角度来看,它们被分类为

  • 基于特征的特征点法[12、13、20],
  • 和直接法[22、5、4]。在本文中,

我们将集中讨论单目SLAM方法。

  • 对于基于特征点法的单目SLAM,ORB-SLAM [20]是高精度位姿估计方面的最新成果。该方法从输入图像中提取稀疏ORB特征,以进行场景的稀疏重构以及估计相机姿态,还采用了局部BA优化和图优化。
  • 对于直接单目SLAM,[22]的稠密追踪和建图(DTAM)通过使用短基线多视图立体匹配和正则化方法在GPU上实时进行稠密重构,因此在在图像中的低纹理区域的深度估计更加平滑。
  • 此外,大规模直接SLAM(LSD-SLAM)算法[4]提出了使用半稠密地图表示的方法,该表示仅在输入图像的梯度区域上追踪深度值,这就有足够的效率在CPU上来实现实时直接SLAM。
    • LSD-SLAM的扩展是recent Multi-level mapping(MLM)算法[7],该算法提出了在LSD-SLAM的基础上使用稠密方法以增加其密度并提高重建精度。

单视图深度预测

深度学习取得了越来越多的进展,从单一视图进行深度预测已在计算机视觉领域引起了越来越多的关注。

  • 经典的深度预测方法采用手工选取的特征概率图形模型[10,18]来生成规则化的深度图,通常对场景的几何形状有很强的假设性。
  • 在深度估计精度方面,最近开发的深度卷积结构明显优于以前的方法[16、2、3、29、19、17]。有趣的是,[16]的工作展示了将深度预测作为一个模块用于稠密SLAM。特别的,预测的深度图被用作Keller基于点的融合RGB-D SLAM算法的输入[11],这表明尽管缺乏形状细节,但基于SLAM的场景重建可以通过深度预测获得,这主要是由于通过CNN的收缩,上述模糊投影与空间信息丢失。

3 提出的单目语义SLAM

在这一部分中,我们将阐述所提出的三维重建框架,其中CNN预测的稠密深度图与从直接单目SLAM获得的深度测量数据相融合。此外,我们还展示了CNN预测的语义分割如何与全局重建模型相融合。图2中的流程图描述了框架概况。我们采用基于关键帧的SLAM[12,4,20],特别是我们使用[4]中提出的直接半稠密方法作为基线。在这种方法中,视觉清晰帧的子集被收集为关键帧,其位姿基于图优化进行全局优化。同时,通过估计帧与其最近的关键帧之间的变换,在每个输入帧处进行相机姿态估计。

为了保持较高的帧率,我们仅在关键帧上通过CNN预测深度图。特别是如果当前估计的位姿与现有关键帧的位姿相差很远,则从当前帧创建新的关键帧,并通过CNN估计其深度。此外,通过测量每个深度预测的像素置信度来构造不确定度图。由于在大多数情况下,用于SLAM的摄像机不同于用于获取CNN训练数据集的摄像机,因此我们提出了一种特定的深度图归一化过程,以形成对不同摄像机内参的鲁棒性。另外,在进行语义标签融合时,我们使用第二个卷积网络来预测输入帧的语义分割。最后,在关键帧上创建一个位姿图,以便全局优化它们的相对位姿。

该框架的一个特别重要的阶段,也代表了我们的文章的一个主要贡献,是通过短基线立体匹配,通过优化关键帧和相关输入帧之间的灰度一致性最小化,来优化与每个关键帧相关联的CNN预测深度图。特别是,深度值将主要围绕具有梯度的图像区域进行优化,即在极线匹配可以改善精度的区域。这将在第3.3和3.4小节中具体描述。相关地,深度值的优化是由与每个深度值相关联的不确定性所决定的,该不确定性是根据一个特殊的置信度估计的(见下文3.3)。框架的每个阶段都会在下面的小节中详细介绍。

3.1 相机位姿估计

相机位姿估计方法是受[4]中关键帧方法启发的。系统有一组关键帧k1…kn∈K作为进行SLAM重建的结构元素。每个关键帧ki与关键帧位姿Tki、深度图Dki和深度不确定度图Uki相关联。与[4]相比,我们的深度图是稠密的,因为它是通过基于CNN的深度预测生成的(见第3.2节)。不确定度图表示每个深度值的置信度。与[4]将不确定度初始化为一个很大的恒定值不同,我们的方法根据深度预测的测量置信度来初始化不确定度(见3.3节)。在下面,我们将把一个通用的深度映射元素记为u=(x,y),它在图像域中有固定范围u∈Ω⊂|R2(|R2为2维欧氏空间),u˙是它的齐次表示。

在每一帧t上,我们的目标是估计当前相机的位姿T ,即最近的关键帧ki和帧t之间的转换,由3×3的旋转矩阵Rt∈SO(3)和3D平移向量tt∈|R3组成。基于目标函数的加权高斯-牛顿优化方法,通过最小化当前帧的强度图像It和最近关键帧ki的强度图像Iki之间的光度残差来估计该变换。

论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
其中,ρ是Huber范数:
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
σ是测量残差不确定度的函数[4]。这里,r是光度残差,定义为:
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
考虑到我们的深度图是稠密的,为了提高效率,我们将光度残差的计算限制在高灰度梯度区域内的像素子集上,该像素子集由图像域子集u˜ ⊂ u∈ Ω定义。另外,在(2)中,π表示将3D点映射到2D图像坐标的透视投影函数。
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
而Vki(u)表示从关键帧的深度图计算得到的三角测量的三维元素
Vki(u) = K-1u˙Dki (u) (4)
其中K是相机内部矩阵。
获得Ttki后,世界坐标系中的当前相机姿态计算为Tt=TtkiTki。

3.2 基于CNN的深度预测与语义分割

每次创建新的关键帧时,都会通过CNN预测相关的深度图。我们采用的深度预测结构是基于[16]中提出的最新方法,它将残差网络(ResNet)[9]扩展为全卷积网络。具体来说,架构的第一部分基于ResNet-50[9],并使用图像网络上的预先训练好的权重初始化[24]。该体系结构的第二部分用一系列由非池化层和卷积层组合而成的剩余上采样块,取代了ResNet-50中提出的最后一个池化层和全连接层。在上采样之后,在最终卷积层之前丢弃(???),最终卷积层输出表示预测深度图的单通道输出图。损失函数基于反向Huber函数[16]。

遵循其他方法的成功典范,在深度预测和语义分割任务中采用相同的架构[3,29],我们还重新训练了该网络,以从RGB图像中预测像素级语义标签。为了解决这一问题,我们对网络进行了改进,使其具有与类别数量相同的输出通道,并采用softmax层和交叉熵损失函数,通过反向传播和随机梯度下降(SGD)来最小化。必须指出的是,虽然原则上可以使用任何语义分割算法,但这项工作的主要目标是展示如何在我们的单目SLAM框架内成功融合逐帧级分割地图(见3.5)。

3.3 关键帧创建和位姿图优化

使用预训练的CNN进行深度预测的一个局限是,如果用于SLAM的传感器和用于获取训练集的传感器内参不同,则3D重建的最终绝对尺度将不准确。 为了改善这个问题,我们使用当前摄像机的焦距fcur和用于训练的传感器焦距ftr之比来调整CNN回归的深度。
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
其中D〜ki是由CNN直接从当前关键帧图像Ii回归的深度图。

图3展示了在ICLNUIM数据集[8]上进行过程的调整,效果非常显著(5)(比较(a)和(b))。如图所示,与CNN直接预测的深度图相比,调整后的性能有了显著的提高。改进后的位姿追踪精度和深度精度都得到了提高。

(A) Comparison on Pose Trajectory Accuracy
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
图3 (a)直接CNN深度预测 (b)深度调整后和 (c)深度调整和细化后(A)位姿轨迹精度 (B)深度估计精度
蓝色像素表示正确估计的深度,即误差在真实数据的10%以内。这是在ICL-NUIM数据集上进行比较的[8]。

此外,我们将每个深度图Dki与不确定性图Uki相关联。在[4]中,通过将每个元素设置为一个大的常量值来初始化这个图。由于CNN在每一帧上都是稠密图,但不依赖于任何时空正则化,因此我们提出通过基于当前深度图,与在最近关键帧上的场景点之间的差异,来计算置信值,从而初始化我们的不确定性图。因此,这种置信度表示了每个预测深度值在不同帧之间的差异性:对于与高置信度相关联的那些元素,连续的求精过程将比[4]中的过程快并且有效得多。

具体地说,不确定性图Uki定义为当前关键帧ki的深度图与最近关键帧kj的深度图之间的元素平方差,ki到kj的估计变换值为Tkikj.
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
为了进一步提高每个新的初始化关键帧的精度,我们在使用新的输入帧(深度细化过程在第3.4小节中描述)对其深度图和不确定性图进行细化后,将其与从最近的关键帧(这显然不适用于第一个关键帧)传播的深度图和不确定性图进行融合。为了达到这个目的,我们首先定义了一个从最近的关键帧kj传播的不确定性图为:
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
其中v ,根据[4],σ2p是用于增加传播不确定度的白噪声方差。然后,将两个深度图和不确定性图按照加权方案融合在一起。
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
最后,位姿图也在每个新的关键帧处更新,方法是使用图中已经存在的关键帧创建新边,这些关键帧与新添加的关键帧有着相似的区域(即具有较小的相对位姿)。此外,关键帧的位姿每次都通过位姿图优化进行全局优化[14]。

3.4 逐帧深度细化

此阶段的目的是基于在每个新帧处估计的深度图,连续地细化当前关键帧的深度图。为了实现这一目标,我们使用了文献[5]中描述的短基线立体匹配策略,通过在当前帧t的每个像素处计算深度图Dt,和沿极线的5-像素匹配的不确定性图Ut。这两个图基于估计的相机姿态Tkit与关键帧ki对应。

然后,将估计的深度图和不确定度图直接与最近的关键帧ki的深度图和不确定度图融合:
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
重要的是,由于提出了基于CNN的预测,关键帧与稠密深度图相关联,因此可以稠密地执行此过程,即关键帧的每个元素都被细化,而不是像[5]一样仅沿高梯度区域细化深度值。由于低纹理区域内的观测深度往往具有很高的不确定性(即Ut值较高),因此,所提出的方法自然会产生一个精细的深度图,其中靠近高强度梯度的元素将通过在每个帧处估计的深度进行精细化,而大量的低纹理区域内的元素将逐渐保持CNN的预测深度值,而不受不确定深度观测的影响。

图3展示了在ICL-NUIM数据集上进行深度图细化过程的高效[8]。图(c)表示,对深度图进行调整和深度细化后获得的性能,在深度估计和位姿追踪方面,相对于以前的情况有了显著改进。

3.5 全局模型与语义标签融合

上述过程得到的关键帧可以融合在一起,生成重建场景的三维全局模型。由于CNN被训练为除了深度图之外,还可以提供语义标签,通过一个我们称为语义标签融合的过程,语义信息还可以与3D全局模型的每个元素相关联。
在我们的框架中,采用了文献[27]中提出的实时方案,其目的是将从RGB-D序列的每个帧获得的深度图,和连通分量图逐步融合在一起。该方法使用Global Segmentation Model(GSM)来平均每个3D元素随时间的标签分配,从而对逐帧分割中的噪声具有鲁棒性。在我们的例子中,位姿估计是作为算法的输入提供的,因为相机位姿是通过单目SLAM估计的,而输入深度图是那些只与关键帧相关联的。这里,我们使用语义分割图,而不是[27]中的连通分量图。场景的三维重建是在新的关键帧上逐步构建,其中每个三维元素都与用于训练CNN的集合中的语义类相关联。

4 评估

我们做了一个实验评估,以验证我们的方法在跟踪和重建精度方面的效果,方法是通过与两个公共数据集进行定量比较(4.1)。以及对纯旋转摄像机运动鲁棒性的定性评估(4.2)和语义标签融合的准确性(4.3)。

实验使用台式PC,该PC配置为:Intel Xeon CPU 2.4GHz,RAM16GB,Nvidia Quadro K5200 GPU 8GB。至于我们方法的实现,尽管CNN网络的输入/输出分辨率为304×228[16],但是输入帧和预测深度图都转换为320×240作为所有其他阶段的输入。此外,CNN深度预测和语义分割在GPU上运行,而所有其他阶段都在CPU上实现,并在两个不同的CPU线程上运行,一个线程专门用于帧处理阶段(相机位姿估计和深度优化),另一个线程执行与帧相关的处理阶段(关键帧初始化,位姿图优化和全局地图与语义标签融合),使我们的整个框架能够实时运行。

我们使用两个公共数据集,即ICL-NUIM数据集[8]和TUM RGB-D SLAM数据集[26],前者是合成的,后者是用Kinect传感器获取的。这两个数据集都提供了相机轨迹和深度图方面的真实数据。在我们的所有实验中,我们使用了NYU Depth v2数据集的室内序列上训练的CNN模型[25],来测试网络对未知环境的泛化能力;该数据集既包括深度真实数据(由使用Microsoft Kinect相机获取的深度图表示),也包括语义标签融合所必需的像素级语义标签标注。特别的,正如[16]所述,我们正式训练语义分割网络是在标记子集上,而深度网络则使用NYU Depth v2数据集的更多帧进行训练。语义标注由4个超类组成:楼层、垂直结构、大结构/家具、小结构。值得注意的是,训练数据集的设置与我们评估方法的设置有很大不同,因为它们包含不同的摄像机传感器、视点和场景布局。例如,NYU Depth v2包括许多客厅、厨房和卧室,这些都是TUM RGB-D SLAM中缺少的,TUM RGB-D SLAM主要是在有桌子、物体和人的办公室。

4.1 与其他SLAM方法的比较

我们将我们的方法与LSD-SLAM[4]和ORB-SLAM[20]这两种能公开实现的方法进行比较,这两种最新的方法分别代表了直接法和特征点法。为了使评估更加完整,我们还与REMODE[23]进行了比较,REMODE[23]是一种专注于密集的单目深度图估计的最先进的方法。REMODE的实现取自作者的代码。最后,我们还将我们的方法与文献[16]中的方法进行了比较,该方法基于文献[27]作者提供的可行实现,使用CNN预测的深度图作为最新基于深度的SLAM方法的输入(融合了[11,27])。考虑到单目SLAM方法估计绝对尺度的模糊性,如[4,20]中的评估所示,我们还通过使用真值深度图bootstrapping(???不会翻)其初始尺度来评估LSD-SLAM。对于REMODE,由于需要在每一帧进行相机位姿估计作为输入,所以我们使用LSD-SLAM估计的轨迹和关键帧with bootstrapping(???同不会翻)。

表1 ICL-NUIM和TUM数据集上绝对轨迹误差[m]和正确估计深度百分比的比较(TUM/seq1: fr3/long office household, TUM/seq2: fr3/nostructure texture near withloop, TUM/seq3: fr3/structure texture far.

论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测
图4 在ICL-NUIM数据集的(office2)序列上比较深度图精度和密度[8],从左起依次为真实数据、我们的方法得到的优化关键帧、来自CNN的相应原始深度预测、来自LSD-SLAM的优化关键帧[4]与bootstrapping和REMODE的估计密集深度图[23]。精度值表示在此关键帧上正确估计的深度密度。

按照[26]中提出的评估方法,表1给出了基于绝对轨迹误差(ATE)的相机位姿精度,该绝对轨迹误差是根据每个评估序列的估计相机平移和真值相机平移之间的均方根误差计算的。此外,我们还评估了重建精度和密度,通过评估深度值的百分比,其与相应的真实深度的差异小于10%。根据表中的观测值,因为单目SLAM的绝对尺度模糊性,我们的方法总是能够得到比单目方法更高的位姿轨迹精度。有趣的是,即使在应用bootstrapping(???)后,我们的方法的位姿精度平均也高于LSD-SLAM,这意味着所提出的深度融合方法的内在有效性,而不仅仅是估计正确的比例数据。在重建方面也有同样的优势,因为估计的关键帧不仅比LSD-SLAM和ORB-SLAM的更精确,而且密度更高。此外,与文献[16]中–CNN预测深度在不细化的情况下用作SLAM的输入–的方法相比,我们的方法在位姿和重建精度方面也有更好的表现,这再次证明了所提出的优化模糊边缘和CNN预测错误估计深度方案的有效性。最后,在深度图精度方面,我们明显优于REMODE。

图4还展示了精度依次增加深度图——分别是CNN(如[16])和REMODE以及更高密度的LSDSLAM。图中比较了真实情况、使用我们的方法的改进的关键帧、CNN的相应原始深度预测、使用bootstrapping的LSD-SLAM[4]的改进的关键帧,以及ICL-NUIM数据集序列上REMODE的估计密集深度图。与LSD-SLAM相比,我们的方法不仅有更高的密度,而且有助于大幅减少CNN预测的模糊伪影,提高整体深度精度。此外,我们可以注意到REMODE往往会在低纹理区域失败,而我们的方法相反,我们的方法可以通过利用CNN预测的深度值来估计这些区域上的稠密深度。

4.2 纯旋转运动下的精度

前面说过,与标准单目SLAM相比,我们方法的一个优点是,在纯旋转运动下,重建仍然可以依靠CNN预测的深度进行,而其他方法由于连续帧之间没有立体基线而失败。为了描述这一优点,我们对来自TUM数据集的(fr1/rpy)序列(主要由旋转摄像机运动组成)进行了评估。如图5所示,分别为我们的方法、LSD-SLAM获得的重建结果两者和真实情况的比较。可以看出,我们的方法可以重建场景结构,即使摄像机的运动是纯旋转的,而LSD-SLAM的结果是明显的噪声,因为估计深度所需的立体基线对于大多数帧是不够的。我们也尝试了ORB-SLAM,但失败了,因为缺乏必要的基线来初始化算法。论文笔记_S2D.36_2017-CVPR_CNN-SLAM: 实时稠密单目slam与学习深度预测

4.3 加入三维语义重建

最后,给出了该方法结合三维和语义重建的一些结果。图6中给出了三个示例,其中展示了使用我们自己的序列和从NYU Depth V2数据集的两个序列[25]获得的办公室场景重建。ICL-NUIM数据集的序列living0的另一个示例如图1 c所示。图中还以绿色显示了估计的相机轨迹。据我们所知,这是第一次用单目相机进行联合三维和语义重建的实验。给出的结果包括位姿和重建质量以及语义标签融合三个方面。

5 结论

我们已经展示了如何通过深度神经网络将SLAM与深度预测相结合,这是解决传统单目重建固有局限性的一个有前途的方向,特别是在估计绝对尺度、在低纹理区域获得稠密深度以及处理纯旋转运动方面。提出的基于小基线立体匹配的CNN预测深度图优化方法,在保持单目SLAM在摄像机平移和高图像梯度情况下的鲁棒性和准确性的同时,自然地克服了这些问题。整体框架能够在融合语义分割标签和全局3D模型的同时重建场景,为单目相机的场景理解开辟了新的视角。一个未来的研究方向是用深度预测来闭合回路,即通过几何上精细化的深度图来改进深度估计。

参考

 论文翻译(上):CNN-SLAM_ Real-Time Dense Monocular SLAM With Learned Depth Prediction