RGB-D相机视觉SLAM
RGB-D相机视觉SLAM
Dense Visual SLAM for RGB-D Cameras
开源代码地址: vision.in.tum.de/data/software/dvo
摘要
本文提出了一种用于RGB-D相机的稠密视觉SLAM方法,该方法可以使所有像素上的光度误差和深度误差最小化。与稀疏的、基于特征的方法相比,能够更好地利用图像数据中的可用信息,从而提高姿态精度。提出了一种基于熵的相似性度量方法,用于关键帧选择和环路闭合检测。从所有成功的匹配中,构建了一个使用g2o框架进行优化的图。在公开的基准数据集上对进行了广泛的评估,在低纹理和低结构的场景中表现良好。与几种最先进的方法直接比较,本方法产生的轨迹误差大大降低。代码开源。
主要创新点:
本文的主要贡献有:
•一种快速的帧间配准方法,可优化强度和深度误差,
•基于熵的关键帧选择方法,显著减少了漂移,
•基于相同熵度量验证循环闭包的方法,以及
•将上述所有技术集成到一个通用的图形SLAM解算器中,进一步减少漂移。
本文目标是仅从摄像机的图像流来估计摄像机的运动。在每个时间步t,相机提供RGB-D图像,包括强度图像It和相应的深度贴图Zt。给定两个连续时间步的RGB-D图像,要计算相机的刚体运动g。图2说明了这个想法。
选择了测量近邻搜索,在空间受限的室内环境中操作,而且视觉里程计非常精确。在一个围绕关键帧位置具有预定半径的球体中搜索循环闭合候选者。在粗分辨率下,计算每个候选帧的两个关键帧和相关协方差矩阵之间的相对变换。为了验证候选者,采用与关键帧选择相同的熵比测试。使用中间帧到关键帧的所有成功匹配的平均熵,而不是第一帧到关键帧H(ζk:k+1)的转换熵。这一标准背后的直觉是,中间帧在空间和时间上最接近于关键帧,在此可获得具有最低不确定性的最佳可能注册结果。如果从低分辨率图像获得的参数估计值通过测试,也使用更高分辨率计算改进的估计值。最后,应用相同的熵比检验。如果这个测试也成功了,就在图中插入一个带有相对位姿约束的新边。图3显示,当相机返回到捕捉到第50帧的附近(第420450帧)时,熵比再次增大。此外,图3显示,高熵比与估计中的低误差相符。
使用慕尼黑技术大学提供的RGB-D基准进行评估[10]。基准包含用RGB-D相机捕获的多个真实数据集。每个数据集都伴随着一个由外部运动捕获系统获得的精确的地面真值轨迹。在第一组实验中,评估了组合光度和几何误差最小化的好处。具有不同数量的纹理和结构的RGB-D数据集适合于此目的。图4显示了不同数据集的代表性图像。表一显示了实验结果。前两列指示数据集是否包含结构/纹理(x)或不包含(-)。第三列显示相机到场景的定性距离。最后三列显示了RGBonly、depth only和combined三种不同估计方法的平移漂移(RPE)的均方根误差(RMSE),单位为m/s。与仅深度变量相比,仅RGB的里程计在具有纹理的无结构场景中效果更好,反之亦然。在这些数据集上,组合变量的性能优于这两种方法。但是,在具有结构和纹理的数据集上,组合RGB和深度odometry的性能略低于仅RGB的odometry。尽管如此,它在不同场景类型上显示了更好的泛化。深度项也有助于在由于自动曝光而导致强度突然变化的情况下稳定估计值。
本方法与最新的视觉SLAM方法进行比较,即RGB-D SLAM系统[2]、[31]、多分辨率surfel映射(MRSMap)[11]和KinectFusion的PCL实现(KinFu)[5]。表三总结了结果。第一列包含数据集名称,第二列显示系统创建的关键帧数。以下各列显示了本系统、RGB-D SLAM、MRSMap和KinectFusion的绝对轨迹误差的RMSE。本系统在八个数据集中表现最好,所有系统的结果都是可用的。三个方面与最佳系统的区别其他数据集较小。内部冲突在长而复杂的轨道上,例如fr1/房间、fr1/teddy,比其他系统的改进是显著的。
表二:所有freiburg1数据集的平移漂移(RPE)RMSE(m/s),帧间、帧间和帧间里程计,以及姿势图优化。注意(v)标记没有公共基础的验证数据集,本文使用在线工具评估了这些数据集。与逐帧里程计相比,使用关键帧可将性能提高16%。位姿图优化进一步减小了漂移,平均提高了20%。
表三:与三个最先进的系统相比,本文视觉SLAM系统的绝对轨迹误差(m)的RMSE。第二列显示系统使用的关键帧数。本系统对大多数数据集的性能最好。尤其要注意对具有长而复杂轨迹的数据集(如fr1/房间、fr1/teddy)的改进。
在一台采用英特尔酷睿i7-2600处理器、3.40GHz和16GB内存的PC机上进行了所有实验。视觉里程计和SLAM组件在不同的线程中运行。帧到关键帧的跟踪时间在32ms左右几乎是恒定的,循环闭合检测和优化的时间取决于图中关键帧和边的数量。此地图更新的平均处理时间为135ms。在运动估计的粗到精优化中,本文使用三种不同的图像分辨率,最高可达320×240像素。