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

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.

论文翻译(下):CNN-SLAM_ Real-Time Dense Monocular SLAM With Learned Depth Prediction_第1张图片
图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,但失败了,因为缺乏必要的基线来初始化算法。
论文翻译(下):CNN-SLAM_ Real-Time Dense Monocular SLAM With Learned Depth Prediction_第2张图片

4.3 加入三维语义重建

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

5 结论

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


写在后面:
好了,断断续续的翻译完了这篇论文,翻译水平不高,有错误的地方还请大家多多指正。收获很大,深度学习和SLAM结合是可行的一个发展方向。但是SLAM已经在几何上很明了了,再把SLAM放入深度学习这个黑盒子中,不见得所有的情况都是好的,这就意味着我们不能盲目的利用深度学习。具体要如何去做,我们还要再读其他文章,再深入研究,希望我可以有所突破,写出好论文。

你可能感兴趣的:(论文翻译(下):CNN-SLAM_ Real-Time Dense Monocular SLAM With Learned Depth Prediction)