SLAM算法分类对比

ref: 激光与视觉 SLAM 的算法综述

1. SLAM估计算法

SLAM 算法旨在解决机器人在未知环境中运动时的定位与路标估计问题,获得机器人位姿和路标特征

概率分布,通过机器人的运动模型和观测信息,利用统计手段逐步减少估计值与真实值的偏差,从而完成机器人在环境运动过程中的位姿和路标的估计,按求解的方式不同可以分为滤波和优化:

2. SLAM算法演进

SLAM 算法的演进历程划分为三个阶段:滤波阶段、优化阶段和深度学习阶段,滤波法计算效率高但受限于模型假设或矩阵可逆性要求,而图优化法更擅长处理非线性问题并挖掘数据关联,深度学习进一步丰富了技术体系:

  1. 基于滤波的激光 SLAM: 主要通过各种概率滤波算法,将机器人位姿与环境特征建模为状态空间,通过递推估计的方式处理传感器噪声和状态转移,逐帧更新位姿估计并构建地图。其优点是实时性强、适配低计算资源,能处理动态噪声并提供连续状态估计,缺点是依赖线性近似,强非线性场景表现差,且随地图扩大计算复杂度上升,难以支持大规模高精度建图。

  2. 基于优化的激光 SLAM: 通过构建位姿和环境特征的图模型,用非线性优化算法优化全局状态,减少累计误差来定位建图。其优点是擅长处理非线性问题,能实现全局最优,适合构建复杂环境的高精度地图,而缺点是依赖回环检测,计算量大,需要高性能硬件,实时性差,在动态环境中容易出错。

  3. 基于深度学习的激光 SLAM:先对激光雷达采集的点云数据预处理,再利用深度学习网络提取语义和几何特征,接着据此估计机器人位姿并构建地图,同时通过大量数据训练优化模型。该算法具备强大的特征学习能力,能更好适应动态环境,且可实现端到端学习,提升系统性能,但存在对数据依赖程度高、计算资源需求大以及模型解释性差等缺点。

视觉 SLAM优势在于实时性强、硬件成本低、传感器部署灵活,能高效满足移动设备在动态场景中的定位建图需求,但不足也较为明显,单目视觉存在深度信息获取依赖多帧三角化的固有难题,在低纹理场景中鲁棒性较弱,且对动态环境中的特征匹配处理能力有待提升。

  1. 基于滤波的视觉 SLAM :借助图像数据构建 3D 场景、确定相机位姿并实现定位与地图构建,能融合多源信息提升定位精度,在部分场景取得成果,但易受相机运动相关性影响,在复杂地形和动态环境下表现欠佳,应用范围存在局限。

  2. 基于优化的视觉SLAM:将定位与地图构建转化为优化问题,通过最小化重投影误差等目标函数调整相机位姿和地图点估计值,利用非线性优化算法迭代求解最优解,提升定位精度和地图构建准确性。

  3. 基于深度学习的视觉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
相关推荐
一点一木38 分钟前
深度体验TRAE SOLO移动端7天:作为独立开发者,我把工作流揣进了兜里
前端·人工智能·trae
Lee川2 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
weelinking2 小时前
【产品】00_产品经理用Claude实现产品系列介绍
数据库·人工智能·sql·数据挖掘·github·产品经理
Dlrb12112 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Agent产品评测局2 小时前
制造业模具管理AI系统,主流产品能力对比详解:2026年智能制造选型深度洞察
人工智能·ai·chatgpt·制造
Tisfy2 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
IronMurphy2 小时前
【算法四十七】152. 乘积最大子数组
算法
研华科技Advantech3 小时前
如何用一套实训设备,打通工业AI预测性维护技术全流程?
人工智能
Lab_AI3 小时前
AI for Science: MaXFlow AI Agent+ 报告体验双升级,让AI智能体更高效易用!
人工智能·ai for science·ai agent·ai智能体
李坤3 小时前
让 Codex 和 Claude 互相 Review:告别手动复制
人工智能·openai·claude