ref: 激光与视觉 SLAM 的算法综述
1. SLAM估计算法
SLAM 算法旨在解决机器人在未知环境中运动时的定位与路标估计问题,获得机器人位姿和路标特征
概率分布,通过机器人的运动模型和观测信息,利用统计手段逐步减少估计值与真实值的偏差,从而完成机器人在环境运动过程中的位姿和路标的估计,按求解的方式不同可以分为滤波和优化:

2. SLAM算法演进
SLAM 算法的演进历程划分为三个阶段:滤波阶段、优化阶段和深度学习阶段,滤波法计算效率高但受限于模型假设或矩阵可逆性要求,而图优化法更擅长处理非线性问题并挖掘数据关联,深度学习进一步丰富了技术体系:
-
基于滤波的激光 SLAM: 主要通过各种概率滤波算法,将机器人位姿与环境特征建模为状态空间,通过递推估计的方式处理传感器噪声和状态转移,逐帧更新位姿估计并构建地图。其优点是实时性强、适配低计算资源,能处理动态噪声并提供连续状态估计,缺点是依赖线性近似,强非线性场景表现差,且随地图扩大计算复杂度上升,难以支持大规模高精度建图。
-
基于优化的激光 SLAM: 通过构建位姿和环境特征的图模型,用非线性优化算法优化全局状态,减少累计误差来定位建图。其优点是擅长处理非线性问题,能实现全局最优,适合构建复杂环境的高精度地图,而缺点是依赖回环检测,计算量大,需要高性能硬件,实时性差,在动态环境中容易出错。
-
基于深度学习的激光 SLAM:先对激光雷达采集的点云数据预处理,再利用深度学习网络提取语义和几何特征,接着据此估计机器人位姿并构建地图,同时通过大量数据训练优化模型。该算法具备强大的特征学习能力,能更好适应动态环境,且可实现端到端学习,提升系统性能,但存在对数据依赖程度高、计算资源需求大以及模型解释性差等缺点。
视觉 SLAM优势在于实时性强、硬件成本低、传感器部署灵活,能高效满足移动设备在动态场景中的定位建图需求,但不足也较为明显,单目视觉存在深度信息获取依赖多帧三角化的固有难题,在低纹理场景中鲁棒性较弱,且对动态环境中的特征匹配处理能力有待提升。
-
基于滤波的视觉 SLAM :借助图像数据构建 3D 场景、确定相机位姿并实现定位与地图构建,能融合多源信息提升定位精度,在部分场景取得成果,但易受相机运动相关性影响,在复杂地形和动态环境下表现欠佳,应用范围存在局限。
-
基于优化的视觉SLAM:将定位与地图构建转化为优化问题,通过最小化重投影误差等目标函数调整相机位姿和地图点估计值,利用非线性优化算法迭代求解最优解,提升定位精度和地图构建准确性。
-
基于深度学习的视觉SLAM:借助深度学习模型,着重强化了视觉 SLAM的多个核心环节,尤其是在特征提取、匹配以及环境理解、闭环检测等方面,使得 SLAM 系统能够更有效地应对动态环境,极大地提升了系统在长期运行过程中的稳定性与可靠性。
| 时间 | 算法 | 阶段 |
| 1988 | Harris C G,et al | 滤波阶段 |
| 1991 | DEKF-SLAM | |
| 2001 | Davision A, et al | |
| 2002 | Fast-SLAM | |
| 2004 | Gmapping | |
| 2011 | Hector SLAM | |
| 2007 | MonoSLAM、PTAM | 优化阶段 |
| 2010 | Karto | |
| 2015 | LSD-SLAM | |
| 2016 | Cartographer | |
| 2017 | ORB-SLAM-1/2/3 | |
| 2020 | LIO-SAM | |
| 2017 | CNN-SLAM | 深度学习阶段 |
| 2018 | Dyna-SLAM | |
| 2019 | RangeNet++、LO-Net | |
| 2021 | DSP-SLAM、LVI-SAM、R2LIVE | |
| 2022 | Det-SLAM | |
| 2023 | Se-LOAM | |
2024 | Hero-SLAM |
---|