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
相关推荐
大江东去浪淘尽千古风流人物9 分钟前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
云飞云共享云桌面9 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
IT实战课堂小元酱15 分钟前
大数据深度学习|计算机毕设项目|计算机毕设答辩|flask露天矿爆破效果分析系统开发及应用
人工智能·python·flask
MSTcheng.34 分钟前
CANN ops-math:AI 硬件端高效数学运算的算子设计与工程化落地方法
人工智能·深度学习·cann
Dev7z39 分钟前
基于深度学习的肺部听诊音疾病智能诊断方法研究
人工智能·深度学习
一灰灰blog42 分钟前
Spring AI中的多轮对话艺术:让大模型主动提问获取明确需求
数据库·人工智能·spring
行者无疆_ty1 小时前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw
努力学算法的蒟蒻1 小时前
day79(2.7)——leetcode面试经典150
算法·leetcode·职场和发展
2401_841495641 小时前
【LeetCode刷题】二叉树的层序遍历
数据结构·python·算法·leetcode·二叉树··队列
AC赳赳老秦1 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek