vslam论文22:曼哈顿slam:融合曼哈顿帧的鲁棒平面跟踪和建图(ICRA 2021)

摘要

       本文提出了一种鲁棒的RGB-D SLAM系统,利用室内场景中的结构信息,在CPU上实现准确的跟踪和高效的密集映射。先前的工作已经使用曼哈顿世界(MW)假设来估计低漂移相机姿态,从而限制了此类系统的应用。相比之下,本文提出了一种在曼哈顿和非曼哈顿环境下实现鲁棒跟踪的新方法。我们检查平面之间的正交关系来直接检测曼哈顿帧,将场景建模为曼哈顿帧的混合。对于MW场景,我们解耦了姿态估计,并提供了一种新的基于曼哈顿帧观测的无漂移旋转估计。对于MW场景中的平移估计和非MW场景中的全相机姿态估计,我们利用点、线和平面特征在具有挑战性的场景中进行鲁棒跟踪。此外,通过利用每帧检测到的平面特征,我们还提出了一种高效的基于曲面的密集映射策略,该策略将每张图像划分为平面和非平面区域。平面曲面直接从我们的地图中的稀疏平面初始化,而非平面曲面是通过提取超像素来构建的。我们在姿态估计、漂移和重建精度的公共基准上评估了我们的方法,与其他最先进的方法相比,取得了更好的性能。

开源:smilejx/ManhattanSLAM (gitee.com)

一、引言

本文的主要贡献总结为:

(1)一个用于室内场景的鲁棒且通用的SLAM框架,它通过尽可能依赖于无漂移旋转估计的曼哈顿世界结构来两全其美(MW假设和特征跟踪),但能够无缝切换到特征跟踪时,曼哈顿世界不持有。

(2)一种新的无漂移旋转估计方法,该方法借助曼哈顿地图跟踪曼哈顿帧观测,该地图由合适的曼哈顿帧检测方法生成。

(3)基于密集曲面的高效映射策略,利用超像素和稀疏平面点分别表示非平面和平面区域。

三、方法

A. 追踪框架

       对于每个RGB- D帧,从RGB图像中提取点和线,同时从深度图中提取平面。与[6]类似,我们利用恒速运动模型得到初始位姿估计,并利用特征对应关系和结构规律进一步优化。对于点和线,使用最后一帧的引导搜索来匹配特征,而平面则直接在全局地图中匹配。然后,我们检测曼哈顿帧以确定当前场景是MW场景还是非MW场景,使用各自的姿态估计策略,如第III-D节所述。作为这两种情况下的附加步骤,我们跟踪当前帧的局部地图中的特征,以进一步改进姿态估计。如果当前帧观察到的点少于前一帧观察到的点的90%,则创建一个新的关键帧。

B.特征检测与匹配

       由于在低纹理场景中难以提取点,因此该系统还通过线和平面利用环境的结构信息。

(1)点:对于点,我们使用ORB特征,它基于FAST关键点检测器和BRIEF描述符。3D点表示为,其2D观测值表示为。 匹配是通过在图像上投影3D点并使用各自描述符之间的汉明距离找到最近的观察来确定的

(2)线条:为了检测和描述图像中的线段,我们使用鲁棒LSD检测器和LBD描述符。我们表示三维直线和它们的二维观测值及其端点,同时得到观测到的二维直线的归一化线函数 (a,b,c).为了确定3D线和2D观测之间的匹配,使用LBD描述符单独投影和匹配3D线的两个端点。

(3)平面:使用AHC方法从下采样的3D点云中提取平面,该方法为每个平面实例提供平面系数(n,d)和点云中的支撑点。为单位平面法线,d为平面到原点的距离。我们进一步使用voxelgrid滤波对每个平面的点云进行下采样,体素大小为0.2m。此外,我们丢弃了潜在不稳定的平面观测,其中平面与其点之间的最大点平面距离大于0.04m。对于姿态优化,我们使用平面的最小表示:,其中f和y是平面法线的方位角和仰角。平面匹配是通过比较法线之间的夹角和平面的点平面距离来确定的。

C.曼哈顿帧检测和映射

       与使用流行的mean-shift聚类算法,MF检测的[11](使用逐像素的法线估计)相比,我们利用已经从场景中提取的平面法线。一个曼哈顿帧Mk可以用三个相互垂直的平面法线来表示。 

       为了检测当前帧Fi中的MF Mk,我们检查平面法线之间的角度,其中是检测平面的法线,r是Fi中检测平面的总数。当任意三个平面相互垂直时,检测到一个MF。我们可以用一个旋转矩阵来表示Mk在Fi的相机坐标Ci中的观测值

        如果只找到2条法线,则第三条法线就可以通过他们之间取叉积来恢复,因次曼哈顿帧也可以从两个平面中恢复也是如此。

       由于传感器噪声可能导致不一致,其中矩阵的列不是正交的,我们使用SVD用最接近的旋转矩阵来近似:

       此外,我们还构建了曼哈顿地图G来收集场景中遇到的MF,其中G存储了全部和部分MF观测以及观测到的相应帧: 

       当我们在任何连续的帧Fj中遇到MF Mk时,建立这个地图允许我们估计无漂移旋转。为了在相机帧Fi和Fj中找到相同MF的两个观测值之间的匹配,我们检查它们的组成平面与地图平面的匹配。每个地图平面在地图中都有一个唯一的ID。如果两个观测值的平面匹配到相同的地图平面,通过比较id确定,则观测值属于同一MF。

D.姿态估计

图3

       相机姿态由旋转矩阵∈ SO(3)和平移向量 ∈R3组成,从世界坐标W到相机坐标c。如果由于无法检测到任何MF而不遵循MW假设,我们通过跟踪特征来估计完整的6D姿态。在MW场景中,旋转和平移被解耦并分别估计。

(1)非MW场景:在非mw场景中,可以跟踪点,线和面来估计6D相机姿势。我们将观测到的特征与地图中相应匹配的三维特征之间的重投影误差ep、el和eΠ定义为

(2) MW场景:在结构化的MW场景中,我们解耦姿态估计并使用我们的新方法来估计无漂移旋转,而特征跟踪用于平移估计。对于旋转估计,可以使用章节IIIC中描述的方法检测场景中的所有mf。对于每一个在帧Fi中检测到的MF Mk,用相应的旋转表示,我们在曼哈顿地图G中搜索Mk。如果在G中找到Mk,我们可以从G中得到相应的帧Fj,其中Mk首次被观测到。Fj作为参照系,包含MF观测值和姿态估计值,它们既可以通过MF跟踪估计,也可以通过特征跟踪估计。

       我们的目标是获得从世界坐标到当前摄像机帧Fi的旋转。为了实现这一点,首先,我们使用Mk在Fi和Fj中的观测值来计算它们之间的相对旋转为

 E. 稀疏建图

       我们的SLAM系统维护一个稀疏的地标和关键帧地图。对于我们的稀疏地图,我们遵循[2]的基于关键帧的方法,其中只有当它观察到大量的新地标时才添加新帧。

       使用RGB-D图像提供的深度图,从关键帧初始化并添加新的地标,即点、线和面。如果一个新平面与之前的地图平面匹配,我们只更新该地图平面的点云,否则,将新平面添加到地图中。接下来[2],我们维护关键帧之间的共可见性图,以确定当前帧的局部地图,并使用各自的剔除策略去除不可靠的地标和冗余关键帧。

F.稠密曲面建图

图4

       为了提高重建效率,我们提出了一种新的基于[14]的密集映射策略。[14]不像ElasticFusion那样为每个像素构建曲面,而是将每个图像划分为超像素,并基于提取的超像素构建曲面图。这种方法减少了曲面的数量,允许它在CPU上运行。在我们的方法中,我们通过利用场景中提取的平面进一步提高了[14]的效率。对于平面区域,我们通过重用稀疏映射中的平面来构建曲面,使我们的方法更节省内存。我们将[14]提供的方法更新如下:

(1)我们的平面检测方法为帧中的平面区域提供掩码。我们使用该掩模为非平面区域生成超像素,使用改进的[14]中的SLIC[37]方法。

(2)使用[14]的方法生成和融合非平面区域的曲面。

(3)对于平面区域,我们使用稀疏平面中的点作为曲面位置。每个曲面被分配相应平面的法线。为了确定曲面的半径,我们利用体素网格过滤过程中用于对平面进行下采样的体素的大小。我们取体素的横截面对角线的长度,将其除以2,并将其设置为半径。

四、评估

 

       在本节中,我们在公开可用的数据集上评估了我们系统的多个方面,并将其与基于特征的方法ORB-SLAM2和SP-SLAM,基于mw的方法L-SLAM以及我们之前基于mw的方法SSLAM和RGBD-SLAM进行了比较。所有实验均在Intel酷睿i5-8250U CPU @ 1.60GHz × 8和19.5 GB RAM上进行。我们在实验中没有使用任何GPU。

       我们的方法运行在15 Hz左右,平均花费67 ms用于跟踪,40 ms用于超像素提取和曲面融合(在单独的线程上)。此外,为了公平比较,我们禁用了ORBSLAM2和SP-SLAM的BA和环路闭合模块。

A.姿态估计

B.漂移

       为了测试累积漂移量和随时间的鲁棒性,我们在包含长室内序列的TAMU RGB-D数据集上评估了我们的系统。虽然数据集没有提供真实的姿态,但相机轨迹是一个循环,因此我们可以通过计算估计轨迹的起点和终点之间的欧几里得距离来计算累积漂移。

       表2显示了我们的方法与ORBSLAM2相比的偏差。

       从图5可以看出,当启用MF跟踪时,地板重建在环路点处的对齐效果更好。这些结果表明,随着噪声深度数据的减少,漂移可以进一步减少,因为这会导致检测到更多的MFs

图5:TAMU-RGBD Corridor-A序列的漂移。给出了该方法在环点周围的姿态估计和重构。红框表示不使用无漂移旋转时地平面的不一致。左:序列中的示例场景。右上:启用无漂移旋转的结果。右下:无漂移旋转被禁用的结果。

C.重建精度

 五、结论

       在本文中,我们提出了曼哈顿SLAM,这是一种在一般室内场景中稳健地跟踪摄像机姿态的方法,并增加了利用MW场景中的结构规律来计算低漂移姿态估计的能力,如我们的实验所示。此外,我们利用场景中的平面区域来提供高效的基于表面的环境密集重建。未来对系统的改进可以包括增加一个闭环模块,改进平面检测以进一步丢弃不稳定的观测,并使平面曲面半径更灵活以更接近实际的平面边界。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SLAM是指“同步定位和地图构建”(Simultaneous Localization and Mapping)的缩写,它是一种在没有先验地图的情况下,利用传感器信息实现自主定位和构建环境地图的技术。其中,LDS、VSlam、RGBD和IMU都是用于实现SLAM的传感器或技术。 1. LDS(激光雷达) LDS是目前应用最广泛的SLAM传感器之一。它通过激光束测量出环境中的物体和障碍物的位置和距离,进而实现自主定位和地图构建。LDS具有高精度、高稳定性和高可靠性等优点,能够应对大多数复杂环境下的定位和建图任务。但它的缺点是价格昂贵,且对环境有一定的要求,需要有明显的反射面才能进行测量。 2. VSlam(视觉SLAMVSlam利用相机等视觉传感器采集环境图像,通过计算图像间的运动关系来实现自主定位和地图构建。它具有传感器成本低、安装方便、可实现小型化等优点,但由于光照、阴影等原因,其稳定性和鲁棒性相对较差,而且在低纹理和无纹理的环境下效果不佳。 3. RGBD(深度相机) RGBD相机可以同时获得彩色图像和深度信息,能够提供更丰富的环境信息,进而实现更准确的自主定位和地图构建。它的优点是不受环境光照和反射的影响,对低纹理和无纹理的环境也有较好的适应性。但其价格较高,相对复杂,需要额外的计算资源来处理深度图像。 4. IMU(惯性测量单元) IMU是一种能够测量加速度和角速度的传感器,常常与其他传感器一起使用来实现SLAM。它的优点是响应速度快、成本低,可以提供独立的姿态估计,能够在缺少其它传感器信息的情况下进行自主定位。但它的精度和稳定性相对较差,容易受到噪声和累积误差的影响。 在实际应用中,不同的SLAM技术和传感器可以互相结合使用,以达到更高的精度和鲁棒性。目前,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值