基于地平面的单目视觉里程计绝对尺度估计
文章:Ground Plane based Absolute Scale Estimation for Monocular Visual Odometry
作者:Dingfu Zhou, Yuchao Dai
翻译:particle
本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。
论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信dianyunpcl@163.com。
●论文摘要
对于基于单目相机的系统来说,从单目相机中恢复绝对度量尺度是一个具有挑战性的问题。利用有限的已知条件,提出了多种尺度估计方法,如根据相机的高度、物体大小等。然后,通过对比各种方法的优缺点,提出了一种基于地平面和相机高度的具有一定鲁棒性的绝对尺度估计方法。针对单目视觉里程计(VO)估计过程中的尺度漂移问题,提出了一种有效的尺度校正策略。最后,在公开的数据集和自采集图像数据集上验证了该方法的有效性和鲁棒性。
● 相关工作与介绍
基于视觉的运动恢复结构(SfM)、视觉里程计(VO)和同步定位与建图(SLAM)在高级驾驶员辅助和自动驾驶系统中发挥着重要作用。与其他主动式传感器(如激光雷达)相比,基于视觉的系统具有以下优点:首先,摄像机传感器非常便宜;其次,摄像机可以提供颜色、语义和几何信息,这对场景理解非常重要。然后仅从单目相机的系统中都有一个缺点,就是无法用相对尺度信息来灰度三维结构和相机的运动信息。也就是说没有尺度的先验信息,无法重建真实的场景信息,所以要恢复尺度至少需要一条绝对的尺度信息,这条信息可以是来自场景的先验知识,比如相机高度,物体的尺度,车辆的速度,立体相机的基线等,也可以是来自其他传感器,比如IMU,GPS等。
文章中介绍了关于以往论文中如何使用先验的信息进行尺度估计的相关工作的介绍。
01
基于多传感器的方法
1,激光雷达已被广泛应用于VO和SLAM,能够很好的与相机进行融合。基于距离传感器,可以直接恢复绝对标度。然而,基于运动估计的激光雷达点云由于在连续运动过程中不同时间接收到的距离测量值而存在所谓的运动失真效应。采用相机和激光雷达相结合的方法进行运动估计,以增强两者的优势,弥补彼此的缺点。
2,惯性测量单元(IMU)传感器也用于VO和SLAM,通过与相融合IMU传感器可以提供运动系统的三维旋转和平移加速度。两者的融合不仅可以提供尺度,而且可以提供稳定的估计值。一般来说,IMU辅助方法可以分为紧耦合或松耦合,这取决于IMU在系统中的使用方式。
3,立体相机也是VO和SLAM的重要传感器。基于双目相机的基线可以很容易地恢复绝对尺度。利用这些信息,可以对摄像机运动和场景结构进行尺度重构。
02
基于单目的方法
与附加传感器的方法相比,基于单目相机的方法性价比更高。但是基于单目的方法为了估计绝对尺度,需要知道一些场景的先验信息。
1,基于相机高度的方法:相机高度是基于平面假设的绝对比例估计的常用信息。
2,其他基于场景知识的方法:在真实场景中,地面并不总是被检测到。在这种情况下,需要其他场景知识被考虑用于尺度估计。比如利用相机检测到物体的大小,人的高度,消失线等等。
3,基于深度学习的方法:上述所有方法都明确利用几何信息进行尺度估计。近年来,随着深度学习技术的发展,人们提出了许多从图像序列中隐式学习出相机姿态和比例的方法。
03
文章的主要贡献如下:
提出了一种鲁棒的尺度估计和校正方法,并在公共VO数据集和我们自己收集的数据集上进行了验证。
实验部分对几种基于摄像机高度的绝对尺度估计方法进行了定量评价。在合成数据集和真实数据集上,对不同方法的优缺点进行了分析和验证。
最后,本文对各种绝对尺度估计方法进行了概述和总结,为今后的研究提供了指导。
●文章内容精华
01
基于相机高度的尺度估计
基于两帧或者多帧的单目图像来说,估计出相机的运动和3D的特征点地图会遇到一个所谓的模糊的相似性问题( similarity ambiguity),这里主要就是利用两视图的对极几何约束,x2的转置 * F*x=0;其中x1,x2就是两个视图下的对应点的坐标系,F称之为基本矩阵,假设相机是内参经过标定了,上述的公式可以重新转换为本质矩阵的公式, ^x2的转置 * E* ^x1 = 0,其中^ = K的逆 * x,(这里的知识点可以查看历史文章),就是将像素坐标系下的点经过内参转换为相机坐标系下归一化的点,那么本质矩阵可以表示为 E = [t]×R 这里的本质矩阵具有五个自由度,因为旋转R是有三个自由度的,平移t是只有两个自由度,相机的平移是有全局的运动决定的满足t的行列式是等于1。假设一个物体的长度在相机重建场景中的长度为b,那么此时的尺度可以定义为s = b’/ b ,其中b’是真实场景的长度此时绝对尺度就这样计算出来为s.
相机的高度通常用于比例估计。通常,相机是固定在一个平台上,在一定时间内其高度(相机中心到地平面的距离)不变。假设相机正前方的地面是平坦的,那么可以根据这个高度信息恢复比例。
地平面的模型
假设第一帧图像的相机坐标与世界坐标重合。属于地平面上的任意三维点 X = (X, Y, Z)T遵循以下约束
其中n是地面的法向量,h是相机到地面的高度,如图所示:
这里我们假设相对运动Rt已经被估计出来,此时的3D点X是可以根据图像上的特征点三角化计算而来,那么根据相机的高度就可以来估计尺度可以分为以下两种情况:
1,基于三维平面拟合的尺度估计
在相机的坐标系下,三维地平面的的估计可以根据重建三维点进行平面拟合得来,比如根据下图
在先验的ROI中匹配特征点。绿色和红色表示单应性拟合的输入和异常值。
这里有三个自由度,主要是法向量两个,而高度一个,所以一般最少的配置为三个对应点关系就可以拟合出一个平面
计算地平面法向量的方法有两种:
1)基于3点的RANSAC和最小二乘法优化;
2)从特定场景结构估计的消失点也用于n估计。
2,基于二维单应性的尺度估计
为了避免图像特征点三角化过程中产生的不确定性,可以利用二维单应矩阵来描述地平面几何。对于任何属于平面的三维点,单应性矩阵H将图像点从第一帧到第二帧的变换可以定义为:
其中x1,x2分别是两帧图像的像素坐标,单应矩阵可以用相机运动和平面几何信息来表示:
其中Rt是相机的位姿,K是相机的内参。理论上,4对匹配点就足够计算H。通常采用RANSAC等策略来减小匹配噪声的影响。然后,通过非线性优化方法,利用所有的对应点带入模型对估计的H进行优化。
通过单应性H矩阵进行图像映射,H包含了R;t;n和d的信息。
虽然单应性矩阵的分解方法是有效的,但它对噪声非常敏感,这是由于以下几个原因造成的:
首先,利用低纹理路面的噪声特征匹配来拟合H;
其次,需要从计算太多的参数。
相机运动R、t和地平面几何(n;d)都需要恢复,这是对求解数值稳定性的另一个挑战。
02
本文提出的鲁棒方法
上文提出的方法有两个明显的缺点:
一是与基于稀疏点的匹配相比,稠密匹配效率低下;
二是该方法中ROI的选择非常重要,当ROI中包含一些非圆形平面对象时将会失败。
为了获得更好的ROI,可以使用基本的道路检测器首先给出道路的先验知识,然后在这些区域内选择感兴趣区域。在这里,我们使用KITTI road数据集1中的的预训练模型进行道路区域预测。针对这些缺点,我们提出了一种基于稀疏二维特征的鲁棒分而治之的尺度恢复方法。这里采用分而治之的方法是将单应性矩阵中的运动参数(相对姿态)从地平面的结构参数(平面)中分解出来,以提高估计的稳定性。
鲁棒的尺度估计的优化的公式如下:
其中xi ,xi'表示两帧之间的对应点,H12表示的是从帧1到帧2的单应性矩阵,H21表示的帧2到帧1的单应性矩阵,H12和H21都是可以根据公式(3)获取。
VO尺度矫正
我们都知道局部BA可以减少基于多帧信息的尺度漂移,而环路闭合依赖于对同一地点的重新访问。然而,这两种方法都不能及时监测尺度漂移,也不能主动选择合适的时间来纠正尺度漂移。另一种尺度校正策略是利用场景先验知识逐帧检测尺度漂移,并在尺度漂移严重时及时触发尺度校正程序。
这是一个去除回环检测的ORB-SLAM 系统,红色曲线表示地面真实情况,绿色曲线显示估计结果。
使用我们提出的利用相机高度和地平面来校正VO/SLAM系统的尺度漂移。此外,本文还提出了一种鲁棒的尺度漂移检测与校正策略。首先,利用每帧的地平面和相机高度来估计绝对尺度,然后通过比较系统中估计的尺度和传播的尺度来计算尺度漂移率,最后根据这个尺度漂移率决定是否触发尺度校正算法。虽然我们逐帧估计绝对尺度,但只有当系统检测到尺度漂移率超过某一阈值时,尺度校正机制才会触发。我们选择不连续地校正尺度,主要有以下几个原因:
1)每帧校正是不必要的,因为系统可以保持一定的时间;
2)每帧校正会破坏原有的VO/SLAM系统,如关键帧选择机制;
3) 由于路面不可能总是可靠地检测到,因此无法保证每帧的比例估计精度。
虽然所提出的方法可以在大多数帧上给出精确的尺度估计,但是为了保证用于校正的尺度足够精确,还需要几个准则:
1)估计的地平面n应该接近于先前帧的法向量。
2) 速度应该高于某个阈值。基于本质矩阵分解的相机姿态估计在小运动情况下是不精确的。
3) 只有估计的尺度漂移比值大于0:075,才会触发尺度修正程序。
提出的规模化修正策略的图示。只需要修正当前局部地图中的地图点和关键帧。
●实验结果
本文主要比较了三种典型的基于地平面的尺度估计方法。具体内容如下:
1)基于图像特征点三角化后拟合的方法
2)基于两视图单应分解的方法。
3)基于优化的方法:主要是基于稠密和稀疏匹配的方法。
综合实验的尺度估计结果。红线表示基于三维点的方法的结果;蓝线和绿线分别表示基于单应性分解和基于稀疏点优化的方法的结果
不同尺度估计方法的计算时间。
ORB-SLAM中单目的时候针对kitti数据集不同条件下的里程计的对比,其中
Ground truth:相机位姿的真值
ORB-SLAM with LC:单目ORB-SLAM带回环检测
ORB-SLAM no LC with SC:单目ORB-SLAM没有回环检测,带有我们的尺度矫正算法
ORB-SLAM no LC no SC:单目ORB-SLAM没有回环检测,没有尺度矫正
在鱼眼图像数据集中的尺度估计和校正的结果。红色和蓝色线表示有或无尺度校正策略的VO结果
●总结
本文对单目视觉里程计中基于摄像机的绝对尺度估计方法进行了综述,为今后的研究提供了指导。在真实数据集上的实验结果表明了不同方法的性能。然而,当地面长期被遮挡或路面不满足平面假设时,所有基于地平面的方法都会失效。如果在特定的环境中不存在这种先验信息,基于先验知识的方法将失效。在未来,我们将专注于基于信息融合的可靠绝对尺度估计,与两个或更多其他廉价传感器,如IMU,GPS或lidar,与相机的融合里程计算法。
资源
三维点云论文及相关应用分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)
PCL中outofcore模块---基于核外八叉树的大规模点云的显示
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享