PL-SLAM

Pumarola 2017 · 论文

一句话总结 — 在ORB-SLAM的基础上,除点特征外还加入了线段特征——线通过其3D端点参数化,从而能够接入现有的点特征处理流程——并提出了一种新颖的纯线初始化方法,用于在低纹理人造环境中实现鲁棒的单目SLAM。

问题

低纹理场景是基于点特征几何视觉方法的”主要致命弱点之一”:ORB-SLAM在纹理稀少的视频中,或者当特征点因运动模糊而暂时消失时,很容易失败——这种情况在人造场景中很常见。这类场景中通常仍存在可靠的基于线的基元(城市场景、“曼哈顿世界”),但线检测器和参数化方法不如点特征那样成熟,基于线的位姿估计不那么可靠,且对部分遮挡敏感,而标准SLAM如果没有点对应关系甚至无法启动地图初始化。

方法与架构

PL-SLAM保留了ORB-SLAM的三线程架构——跟踪、局部建图、回环检测——并将线操作贯穿于检测、三角化、匹配、剔除、重定位和优化的各个环节。回环检测仍然只使用点特征,因为在整个地图范围内匹配线段的代价太高。

Eline(P,Q,l,θ,K)=Epl2(P,l,θ,K)+Epl2(Q,l,θ,K),Epl(P,l,θ,K)=lπ(P,θ,K)E_{line}(P,Q,l,\theta,K)=E^2_{pl}(P,l,\theta,K)+E^2_{pl}(Q,l,\theta,K),\qquad E_{pl}(P,l,\theta,K)=l^{\top}\pi(P,\theta,K)

其中 π\pi 使用相机位姿 θ={R,t}SE(3)\theta=\{R,t\}\in SE(3) 和内参 KK 进行投影。该误差在 P,QP,Q 沿3D直线平移时保持不变,这起到了隐式正则化的作用,使这种非最小参数化能够安全地嵌入BA中。

C=i,jρ(ei,jΩi,j1ei,j+ei,jΩi,j1ei,j+ei,jΩi,j1ei,j)C=\sum_{i,j}\rho\left(e_{i,j}^{\top}\Omega_{i,j}^{-1}e_{i,j}+e^{\prime\top}_{i,j}\Omega^{\prime-1}_{i,j}e^{\prime}_{i,j}+e^{\prime\prime\top}_{i,j}\Omega^{\prime\prime-1}_{i,j}e^{\prime\prime}_{i,j}\right)

使用Huber代价函数 ρ\rho,协方差 Ω\Omega 与检测尺度相关联。

实验结果

在TUM RGB-D基准上(ATE RMSE,单位厘米,5次运行的中位数),PL-SLAM”在所有序列上都持续提升了ORB-SLAM的轨迹精度”:f1_xyz为1.21,对比ORB-SLAM的1.38;f2_xyz为0.43,对比0.54;f3_long_office为1.97,对比4.05;f2_desk_person为1.99,对比5.95;f3_sit_xyz为0.066,对比0.08;f3_walk_halfsph为1.60,对比2.09。除两个序列外(PTAM略微领先)均是最优结果,但PTAM在12个序列中的5个跟踪丢失,LSD-SLAM丢失3个,RGBD-SLAM丢失7个。纯线初始化甚至能启动f3_nstr_tex_far序列——在该序列中,经典的单应/本质矩阵初始化会检测到歧义而无法启动。它只在帧间旋转过大时才会失败。多项式求解器数值稳定(误差约为1e-15)。代价:跟踪运行频率为20 Hz,而ORB-SLAM为50 Hz;局部建图为3 Hz,而ORB-SLAM为7 Hz(局部BA耗时218.25毫秒,对比118.5毫秒)——在标准i7 CPU上接近实时。

对SLAM的意义

PL-SLAM表明,加入线特征能够有意义地提升精度——不仅在点特征消失的低纹理场景中如此,在纹理良好的序列中同样普遍适用——同时得益于端点参数化,几乎可以复用整个基于点的处理流程。它基于线的三视图初始化消除了对点对应关系用于系统启动的最后一个硬性依赖。后续的点线联合系统(包括Gomez-Ojeda的双目PL-SLAM,以及像AirVO这样的线辅助VIO)都建立在同样的”点加线”理念之上。

相关条目