自由Man

【DSO系列】Direct Sparse Odometry论文翻译(1)


图1 Direct Sparse Odometry(DSO)三维重建和相机轨迹效果图,输入是一个单目相机绕着大楼转圈的100s视频。左下角的插图是起点和终点处的特写,显示了在视觉里程计运行过程中累积的漂移。 底下两行是视频中一些图像帧。

 

1.简介

同时定位和建图(SLAM)和视觉里程计(VO)是许多新兴技术的关键基础—— 从无人驾驶汽车、无人机到虚拟现实、增强现实。近年来,具有实时性的SLAM和VO方法取得显着进展。虽然长期以来该领域主要由基于特征的间接法主导,但近年来直接法逐渐普及,引起广泛关注。

 

直接法VS间接法

直接法和间接法的本质都是一个概率模型,其将含噪声的测量Y作为输入并且计算未知的模型参数(三维的环境模型和相机运动)的估计量X. 求解时通常采用最大似然方法,找到最大化实际测量概率的模型参数:

间接法分两步进行。首先对测量数据进行预处理以产生中间层表示,之后将中间层的数值作为测量Y输入到概率模型中,以估计三维环境模型和相机运动。通常第一步是通过稀疏的特征点提取和匹配来实现的,然而也可采用更加稠密的光流,或者提取直线特征或曲线特征来实现。而直接方法跳过预处理步骤,直接使用像素值作为概率模型中的测量Y。

对于摄像头而言,由于传感器提供光度测量,因此直接法优化的是光度误差。而间接法通过预处理,计算出地图点坐标或者光流向量(都是几何量),因此优化的是几何误差。需要注意的是,对于深度相机或激光扫描器等直接测量几何量的传感器,直接法优化的是几何误差。

 

稠密法vs稀疏法

稀疏法仅使用一小部分特殊像素点(比如边角),而稠密法则使用图片中的所有像素。中间法(半稠密)不重建完整的环境模型,但仍然使用大部分具有良好连接和约束的像素点。

然而,除了所使用的图像像素点的不同之外,更基本的差异在于是否添加几何先验信息。在稀疏法中没有邻域的概念,并且几何参数(特征点位置)在给定相机位姿和内参的情况下是独立的。而稠密法(或半稠密)方法利用所使用的图像区域的连通性来形成几何先验信息。事实上,如果仅使用被动视觉来重建稠密三维环境,这样的几何先验信息是必需的。

需要注意的是,间接法和稀疏法,直接法和稠密地图并不是一一对应的关系。实际上存在四种组合方式。

  • 稀疏法+间接法

这是应用最广泛的方法,通过匹配的特征点集,对环境模型和相机位姿进行估计。相关工作有论文[1],monoSLAM[2],PTAM[3],和ORB-SLAM[4]。

  • 稠密法+间接法

这种方法通过匹配的光流场,重建稠密的环境模型。相关工作有[5],[6]。

  • 稠密法+直接法

这种方法不仅使用几何先验信息,同时通过最小化光度误差来重建稠密的环境模型。相关工作有DTAM[7],LSD-SLAM[8]。

  • 稀疏法+直接法

这是本文提出的方法。该方法不考虑几何先验信息,直接优化光度误差。Jin在文献[9]提出类似的方法,但不同的是,该方法基于EKF框架,而本文的方法基于非线性优化框架。至于为什么采用直接法和稀疏法相结合的原因将在下一部分进行阐述。

 

1.1 原因

本文采用直接法和稀疏法相结合的方法主要是基于以下考虑。

(1)直接法

基于特征点的间接法的主要优点之一是它对现有的摄像头拍摄的图像中存在的光度误差和几何失真具有高鲁棒性。 比如自动曝光变化,非线性响应函数(伽马校正/白平衡),透镜衰减(渐晕),去耦合伪像和由卷帘快门引起的几何失真。

但是,大多数应用于机器视觉相关的设备,其配备的摄像头提供的图像数据是专门用于机器视觉算法处理的,而不仅仅用于人类娱乐消费。这些摄像头会提供完整的传感器模型,并且以最适合视觉算法处理的方式来提供数据:例如自动曝光和伽马校正不是未知的噪声源,而是被并入到模型中,使得所获得的数据更准确。而且由于直接法利用整个图片的像素强度信息,所以它将受益于更精确的传感器模型。

直接法的主要优点之一是它不需要提取可重复识别的特征点,从而允许更细致的几何表示方法(逆深度值)。此外,直接法可从所有图像像素点(包括边缘和平滑强度变化的像素点)中采样,生成更完整的环境模型,这提高了其在弱纹理特征环境中使用的鲁棒性。

 

(2)稀疏法

稠密法的主要缺点是其利用的几何先验信息使得优化时需考虑地图点之间的相关性,导致实时的联合优化估计变得不可行(参见图2)。因此现有的稠密或半稠密方法采取两种方法:a)忽略或者粗略近似几何参数(橙色)的相关性和几何参数和相机姿态(绿色)之间的相关性;b)采用Primal-dual等方法[7,10,11]等方法对右下角子矩阵进行求解。

另外,尽管稠密法使得重建的环境模型更加完整,细致,美观,但是我们发现,几何先验信息会额外导入误差,当算法在大尺寸环境长时间运行时,反而会影响到算法的精度。而这个问题可通过提高几何先验信息的准确性和可靠性来解决。

图2 稀疏法VS稠密法 Hessian矩阵结构    左:稀疏法Hessian矩阵:由于右下角子矩阵是对角线矩阵,因此可通过舒尔补有效地提高计算效率。右:稠密法Hessian矩阵: 几何先验信息会在右下角子矩阵中添加元素(通常是不规则的),不仅增大了计算量,还使得计算变得复杂。为了简单起见,上图并未包括相机内参。


1.2贡献及总结

在本文中,我们提出基于直接法和稀疏法的单目视觉里程计。据我们所知,目前是直接法中唯一优化所有模型参数的方法,包括相机姿态,相机内参和地图几何参数(逆深度值)。这与融合直接法和间接法的SVO[12]不同,后者在间接法框架下优化模型参数。

 本文借鉴文献[13]的方法,采用滑动窗口优化算法,边缘化旧的图像帧和不在视角范围内的地图点。但与现有的方法相比,我们充分利用了相机光度标定,包括透镜衰减,伽马校正和已知的曝光时间,这进一步提高了视觉里程计的精度和鲁棒性。

 本文的方法可在笔记本电脑上实时运行。我们在三个数据集上进行测试,实验表明,在跟踪精度和鲁棒性方面,所提出的方法显著优于其他的直接法和间接法。当减少优化的关键帧和地图点数量时,计算速度甚至可提高5倍,但是表现仍然超过最先进的间接法。当增加优化的关键帧和地图点数量时,不能实时运行,但能重建类似于LSD-SLAM的半稠密地图,但是更加精确。

本文的组织结构如下:基于直接法和稀疏法的视觉里程计模型以及滑动窗口优化算法将在第2节中描述,2.1节描述相机的几何和光度标定,2.2节描述模型公式推导,2.3节描述滑动窗口优化算法。 第3节描述视觉里程计的前端,前端一方面挑选出优化算法所需的关键帧和地图点,另一方面为后端的非线性优化提供足够精确的初值。4.1节我们提供了本文和其他方法的在测试集的测试结果,并进行比较。4.2节评估模型关键参数的影响,同时引入光度标定的概念。4.3节中,我们分析了光度标定和几何标定的误差对结果的影响。 最后,在第5节中进行总结。



转摘来源:泡泡机器人原创专栏


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero Theme By 爱墙纸

Copyright ZiYouMan.cn. All Rights Reserved. 蜀ICP备15004526号