K2E-B-L2-2 · Paper Note
PL-SLAM — Points and Lines
- Description:PL-SLAM 论文笔记 — 在 ORB-SLAM 基础上加入线特征的单目 SLAM,线重投影误差、点线联合 BA、仅靠 5 线 3 帧初始化(小旋转假设),TUM RGB-D 全面超越 ORB-SLAM
- My Notion Note ID:K2E-B-L2-2
- Created:2023-08-16
- Updated:2026-06-11
- License:转载欢迎:转载请注明作者 Yu Zhang 并附原文出处(yuzhang.io)
Table of Contents
- 1. Summary
- 2. Key Contributions
- 3. Method
- 4. Experiments & Results
- 5. Ablation & Discussion
- 6. Strengths / Limitations / Future Work
- References
1. Summary
Title: PL-SLAM: Real-Time Monocular Visual SLAM with Points and Lines Authors: Albert Pumarola, Alexander Vakhitov, Antonio Agudo, Alberto Sanfeliu, Francesc Moreno-Noguer (IRI, UPC-CSIC, Barcelona; Skolkovo, Moscow) Paper: ICRA 2017 Github: 无官方代码
PL-SLAM 在 ORB-SLAM 三线程架构基础上加入线特征(LSD 线段检测器(Line Segment Detector),基于梯度幅值方向场的快速线段检测,von Gioi 2010)检测 + LBD 描述(Line Band Descriptor,沿线段宽度采样梯度条带的二进制描述子,Zhang & Koch 2013)),解决低纹理场景(运动模糊、均匀墙面、无纹理走廊)中点特征消失导致 SLAM 失败的问题。关键贡献是检测线重投影误差(处理遮挡/误检)+ 点线联合 BA + 仅靠 5 条线在 3 帧内完成地图初始化(无需点特征)。
在 TUM RGB-D 全套 14 个序列上,PL-SLAM 在 12/14 序列中 ATE 优于或持平 ORB-SLAM;低纹理序列(f3_long_office、f3_sit_*、f2_desk_person)提升尤为显著(最高从 5.95 cm→1.99 cm)。

2. Key Contributions
- 检测线重投影误差:端点遮挡/误检时,用检测端点而非三维端点投影计算误差,鲁棒性更强
- 点线联合 BA:Huber 鲁棒核统一优化点和线端点误差
- 线特征初始化:仅 5 条线 + 3 帧(小旋转假设)即可估计初始地图,无需点特征
- EPnPL 重定位:用 EPnPL(含线特征)替换 ORB-SLAM 的 EPnP,提升遮挡场景重定位精度
3. Method
3.1 系统框架

三线程(延续 ORB-SLAM):
| 线程 | 点特征处理 | 线特征扩展 |
|---|---|---|
| Tracking | ORB 检测 + BoW 匹配 | LSD 检测 + LBD 关系图匹配 |
| Local Mapping | 点三角化 + 局部 BA | 线三角化 + 线位置优化 |
| Loop Closing | 检测 + 校正 | 不使用线(全局线匹配代价太高) |
重定位:EPnPL(EPnP + Line, Vakhitov 2016)替换原 EPnP,最小化检测线重投影误差。
3.2 线参数化
3D 线端点 ;图像检测线段端点 ,齐次 。图像线系数(归一化法向量):
为归一化的图像直线方程系数( 对线上任意点 )。
3.3 线重投影误差
基础线重投影误差(端点到线距离之和):
:内参;:相机位姿;:投影函数。
检测线重投影误差(处理遮挡):由于线段部分遮挡,检测端点 不与 3D 端点 对应,改用:
优化时对 做递归逼近 (论文 §IV-A 描述具体迭代策略)。
3.4 点线联合 BA
以第 条地图线在第 帧的误差向量:
:地图线 在第 帧的预测图像直线系数向量(由 3D 线端点 投影到图像得到,即式 (1) 中的 );:第 帧中线段 的检测端点齐次坐标。
总代价(点误差 + 线两端点误差,Huber 鲁棒核 ):
:点/线端点各自的协方差(信息矩阵);鲁棒核见 RANSAC 与鲁棒估计。
3.5 仅靠线的地图初始化
5 条线即可初始化。小旋转假设:3 连续帧旋转为 (恒定小旋转)。利用法向量约束:
:同一条 3D 线在第 帧图像中的直线系数向量(由式 (1) 定义,); 为帧间恒定小旋转。
为小量 → 仅 3 个未知数 (小角度线性化,式 12 in paper)。对每 5 组线匹配建方程,多项式 solver (Kukelova et al.) 得 8 个解,取最小误差的。设 (中间帧为参考)+ trifocal tensor 求平移。
4. Experiments & Results
平台:Intel Core i7-4790(4 核,3.6 GHz),8 GB RAM,ROS Hydro;TUM RGB-D 基准,每序列跑 5 次取中位数,7DoF Sim(3) 对齐后计算 ATE。
TUM RGB-D 定位精度——绝对关键帧轨迹 RMSE(cm):
| 序列 | PL-SLAM(经典初始化) | ORB-SLAM | PTAM | LSD-SLAM |
|---|---|---|---|---|
| f1_xyz | 1.21 | 1.38 | 1.15 | 9.00 |
| f2_xyz | 0.43 | 0.54 | 0.20 | 2.15 |
| f1_floor | 7.59 | 8.71 | — | 38.07 |
| f2_360_kidnap | 3.92 | 4.99 | 2.63 | — |
| f3_long_office | 1.97 | 4.05 | — | 38.53 |
| f3_nstr_tex_far | 歧义失败† | 37.60 | 34.74 | 18.31 |
| f3_str_tex_far | 0.89 | 0.98 | 0.93 | 7.95 |
| f3_str_tex_near | 1.25 | 1.55 | 1.04 | — |
| f2_desk_person | 1.99 | 5.95 | — | 31.73 |
| f3_sit_xyz | 0.066 | 0.08 | 0.83 | 7.73 |
| f3_sit_halfsph | 1.31 | 1.48 | — | 5.87 |
| f3_walk_xyz | 1.54 | 1.64 | — | 12.44 |
| f3_walk_halfsph | 1.60 | 2.09 | — | — |
†f3_nstr_tex_far:经典初始化检测到歧义无法启动;ORB-SLAM 同样失败;PL-SLAM 线初始化成功(Table I Line Init 列)。
PL-SLAM 在 12/14 序列优于或持平 ORB-SLAM;PTAM 在 f1_xyz、f2_xyz、f2_360_kidnap 略优,但 5/12 序列丢失跟踪;LSD-SLAM 丢失 3 序列;RGBD-SLAM 丢失 7 序列。
计算时间(TUM RGB-D,5 序列均值):
| 线程 | PL-SLAM | ORB-SLAM |
|---|---|---|
| Tracking 总计 | 20 Hz | 50 Hz |
| Local Mapping 总计 | 3 Hz | 7 Hz |
加入线特征使帧率降低(主要来自 Local BA 218 ms vs 118.5 ms),但仍接近实时(20 fps,标准 PC 未优化)。
5. Ablation & Discussion
- 线初始化 vs 经典初始化:在低纹理序列(f3_nstr_tex_far)经典初始化检测到歧义失败,线初始化成功恢复;在点丰富序列(f3_walk_xyz、f3_walk_halfsph)线初始化因大旋转导致假设失效
- 为何回环不用线:全局线匹配需建 BoW 类型的线描述子索引,代价太高;点特征 BoW 已足够回环检测
- 线匹配策略:LBD + 关系图(geometric graph)显著优于纯外观匹配,遮挡鲁棒性更好
- 线剔除标准:< 3 视角 或 < 25% 预期可见帧 → 与点剔除标准对称
论文未报告的消融:无单独去掉线特征的 ablation;从 ORB-SLAM→PL-SLAM 的精度变化隐含线的贡献,但未量化线 vs 点各自贡献。
6. Strengths / Limitations / Future Work
优点:
- 低纹理场景(走廊、办公室、均匀墙面)显著提升 ORB-SLAM
- 检测线误差处理遮挡,实用性强
- 线初始化使纯线场景(无角点)也可初始化
局限:
- 线特征 Local Mapping 耗时增加近 2× → 帧率从 50 Hz 降到 20 Hz
- 回环检测不使用线,低纹理场景回环能力有限
- 依赖小旋转假设的线初始化在大旋转序列失效
- 无官方开源代码
后续工作:
- 论文展望:结合平面特征,统一在类似点的框架
- 后续系统:PL-VIO(点线 VIO)、PL-VINS(点线 VINS)等扩展至 VIO
References
| 类别 | 链接 |
|---|---|
| 论文 | Pumarola A., Vakhitov A., Agudo A., Sanfeliu A., Moreno-Noguer F. (2017). PL-SLAM: Real-Time Monocular Visual SLAM with Points and Lines. ICRA. DOI |
| ORB-SLAM | Mur-Artal R. et al. (2015). ORB-SLAM. IEEE T-RO. — 基础框架(见 ORB-SLAM2 笔记) |
| EPnPL | Vakhitov A. et al. (2016). Accurate and Linear Time Pose Estimation from Points and Lines (EPnPL). ECCV. |
| LSD | Grompone von Gioi R. et al. (2010). LSD: A Fast Line Segment Detector. IEEE T-PAMI. |
| LBD | Zhang L., Koch R. (2013). An Efficient and Robust Line Segment Matching (LBD). JVCIR. |
| 相关 | 点线 SLAM 系列见 K2E-B-L2;BA 鲁棒核见 RANSAC 与鲁棒估计;EPnP 见 PnP |