部分来源:新机器视觉
一、2017~2019年:SLAM+CNN感知的高光时刻,ORB-SLAM、VINS-mono、VINS-fusion、open vins、LIO_SAM、fast-lio、LVIO等经典算法大面积应用于实践;
SLAM(同步定位与建图)+ CNN(卷积神经网络)的发展
SLAM 是一种让机器人或设备在未知环境中 实时定位 和 构建地图 的技术,广泛应用于无人驾驶、机器人导航、AR(增强现实)等领域。CNN(卷积神经网络)提升了 SLAM 在图像特征提取、深度估计等方面的能力,使 SLAM 系统更加智能和鲁棒。
以下是几个经典的 SLAM 相关算法及其应用:
1. ORB-SLAM(经典视觉SLAM)
📌 介绍:ORB-SLAM 采用 单目相机(普通摄像头) 进行视觉 SLAM,基于 ORB(Oriented FAST and Rotated BRIEF)特征点检测,实现实时建图和定位。适用于 室内外场景,如机器人导航、AR 应用等。
📌 例子:
- AR 眼镜:当你戴上 AR 眼镜(比如微软 HoloLens),它需要知道你在房间的哪个位置,才能正确地在现实世界中叠加虚拟信息。这就需要 ORB-SLAM 这样的算法,利用摄像头获取周围环境信息,进行实时定位和建图。
2. VINS-Mono(单目视觉+IMU 惯性SLAM)
📌 介绍:
VINS-Mono 结合 单目相机 + IMU(惯性测量单元,如陀螺仪和加速度计),可以在 光照变化大、快速运动 的情况下稳定运行。
📌 例子:
- 无人机飞行:
你想让无人机在 GPS 信号弱(比如室内、隧道里)时也能稳定飞行,VINS-Mono 通过摄像头+IMU 获取环境信息,即使短时间内看不到清晰的物体,也能继续定位和导航。
3. VINS-Fusion(多传感器融合 SLAM)
📌 介绍:VINS-Fusion 是 VINS-Mono 的升级版,支持 双目相机、激光雷达、GPS,融合不同传感器的信息,提升精度和鲁棒性。
📌 例子:
- 自动驾驶汽车:
自动驾驶不能只依赖摄像头,因为晚上、雨雾天气下摄像头可能看不清。这时 VINS-Fusion 结合 激光雷达 + GPS + IMU,即使在复杂环境中也能准确定位,比如 自动驾驶汽车在高速公路隧道中行驶时,仍然能知道自己在哪里。
4. OpenVINS(模块化视觉惯性SLAM)
📌 介绍:OpenVINS 是一个开源的视觉-惯性 SLAM 框架,强调 可复现性和灵活性,适合学术研究和工业应用。
📌 例子:
- 机器人科研开发:
研究人员可以使用 OpenVINS 来开发新的 SLAM 算法,比如让机器人在复杂环境(如灾后救援、地铁隧道)中自主导航。
5. LIO-SAM(基于激光雷达+IMU的SLAM)
📌 介绍:LIO-SAM 主要用于 激光雷达(LiDAR)+ IMU 的 SLAM,采用因子图优化方法,适用于动态环境。
📌 例子:
- 消防救援机器人:
在 浓烟滚滚的火灾现场,普通相机看不清楚,激光雷达可以穿透烟雾,LIO-SAM 结合激光雷达和惯性数据,帮助机器人在火灾现场构建地图,寻找最佳救援路径。
6. FAST-LIO(实时激光雷达SLAM)
📌 介绍:FAST-LIO 是 LIO-SAM 的改进版,计算速度更快,适用于 高动态场景。
📌 例子:
- 无人驾驶高速行驶:
在高速公路上,自动驾驶汽车需要快速更新周围环境的 3D 地图,FAST-LIO 处理激光雷达数据的速度快,能帮助汽车精准避障和超车。
7. LVIO(激光-视觉-惯性SLAM)
📌 介绍:LVIO 结合 激光雷达 + 视觉 + IMU,让 SLAM 系统更加精准和稳定。
📌 例子:
- 月球探测车:
在月球上,没有 GPS 信号,探测车只能依靠摄像头、激光雷达和惯性传感器来定位和建图,LVIO 可以让探测车在未知地形上精准导航。
总结
算法 | 主要特点 | 适用场景 |
---|---|---|
ORB-SLAM | 视觉SLAM,基于ORB特征 | AR/VR、机器人导航 |
VINS-Mono | 单目视觉+IMU,适应动态环境 | 无人机、手持设备 |
VINS-Fusion | 多传感器融合(双目、激光雷达、GPS) | 自动驾驶、复杂环境 |
OpenVINS | 开源、模块化 | 机器人科研开发 |
LIO-SAM | 激光雷达+IMU,因子图优化 | 火灾救援、地下场景 |
FAST-LIO | 高速激光雷达SLAM | 自动驾驶、高速无人机 |
LVIO | 视觉+激光雷达+IMU融合 | 月球探测车、极端环境 |
二、2020~2022年:语义SLAM部分成熟,结合经典SLAM算法,在众包建图和泊车SLAM中落地,可以部分解决对高精地图的依赖,算是SLAM最后的荣光;
1. 语义 SLAM(Semantic SLAM)成熟
- 传统 SLAM 仅关注几何信息(如点云、特征点),但 语义 SLAM 结合了 深度学习,能够识别和理解场景中的 物体类别(如行人、车辆、道路标志等),提升建图的智能化水平。
- 这使得机器人或自动驾驶汽车 不仅知道自己在哪里(几何定位),还能理解环境(语义信息),例如:
- 识别 红绿灯、斑马线(辅助自动驾驶决策)。
- 识别 障碍物类型(区分行人、车辆、树木等)。
2. SLAM 在众包建图和自动泊车中的应用
-
众包建图(Crowdsourced Mapping):多个设备(如自动驾驶汽车、智能手机、机器人)协作收集 SLAM 数据,共同创建 高精地图,而不需要依赖昂贵的激光雷达测绘车。
- 例如,Tesla 采用众包方式收集 Autopilot 车辆数据,动态更新地图,而不是完全依赖高精地图。
-
自动泊车 SLAM(Parking SLAM):车辆在 停车场内 进行 SLAM 定位,不依赖 GPS 或高精地图,而是通过 摄像头+激光雷达 识别停车场的结构(车位线、柱子、墙壁等)。
- 例如 特斯拉 FSD、宝马、蔚来、小鹏等厂商 已在 自动泊车 方案中采用 SLAM 技术。
3. SLAM 逐渐被其他技术取代(“最后的荣光”)
- 过去 SLAM 在机器人、AR、自动驾驶等领域占据主导地位,但随着 高精地图、深度学习、视觉大模型(如 Transformer)、多传感器融合(LiDAR+视觉+GPS) 的发展,SLAM 技术开始遇到瓶颈:
- 传统 SLAM 仍有 累积误差,精度不如高精地图+RTK(高精度 GPS)。
- 语义 SLAM 需要深度学习,但计算量较大,难以实时运行。
- 自动驾驶开始使用 端到端 AI 感知+预测+规划,逐渐减少对 SLAM 的依赖。
因此,2020-2022 年可以看作 SLAM 技术的 巅峰期,但随着新技术的兴起,SLAM 逐渐失去主导地位,因此称其为 “最后的荣光”。
三、2023年:全面进入BEV、OCC,以MapTR为代表的无图算法标致着两段式算法进入量产计划表,SLAM退出舞台中央做起了幕后(标定、4D真值等),虽然实时定位还需要,但毕竟不是当红花旦了;
1. BEV 和 OCC 技术的兴起
- BEV(Bird's Eye View):指的是从 鸟瞰角度 展示环境数据的视图。BEV 可以将来自多个传感器(如 激光雷达、摄像头)的数据转换为一个平面图,简化环境感知问题。这种视图特别适用于自动驾驶等场景。
- OCC(Occupancy Map,占据图):一种表示空间中不同区域是否被占据的地图,常用于机器人、自动驾驶等领域,用于表示 障碍物 和 空闲空间。OCC 图通常采用 网格 或 体素 来表示每个小区域的占据状态。
这两项技术结合了 深度学习 和 多传感器融合,通过 端到端训练 来提高自动驾驶和机器人系统的 环境感知能力,这些技术不再需要传统的 图像地图(如高精度地图)。
2. 无图算法(MapTR)的崛起
- MapTR 是一种新的 无图算法(Map-free Algorithm),不依赖传统的地图构建和存储方式,直接利用 视觉信息(如摄像头数据)进行 环境感知和定位。这种方法基于 Transformer 等深度学习模型,能够处理复杂的场景,并具有更高的 实时性 和 鲁棒性。
无图算法的出现使得 SLAM 不再是必须的解决方案,传统的 SLAM 方法通常需要大量的计算资源和存储空间,而无图算法通过更高效的计算方式实现 快速、实时定位,并减少对外部地图的依赖。
3. 两段式算法的量产
- 两段式算法 是指 感知阶段 和 决策阶段 两部分。第一阶段用于 环境感知(例如,通过 BEV 和 OCC 进行 3D 感知),第二阶段用于 决策和规划(例如,通过 AI 和深度学习进行路径规划和动作控制)。
- 随着技术的成熟,两段式算法 正在进入 量产计划,意味着它们将广泛应用于实际产品中,比如 自动驾驶、机器人导航 和 智能交通。
4. SLAM 的转型
- 在过去,SLAM 是 机器人、自动驾驶 和 AR/VR 系统中的核心技术,负责 实时定位 和 建图。但随着新技术的出现,SLAM 逐渐被 无图算法 和 两段式算法 替代,变得不再是最热的技术。
- SLAM 技术并没有完全消失,而是转向 幕后工作,主要处理一些 辅助性任务,如:
- 标定(校准传感器的精度和定位)。
- 4D真值(4D Ground Truth),用于生成更精确的环境数据,辅助训练和验证模型。
虽然 SLAM 在一些场景中仍然需要用于 实时定位,但它不再是最关键的技术,也不再是“当红花旦”,即最受关注的技术。
四、2024年:开始端到端,大模型开始demo,基于transformer的显式建图或隐式建图直接输出至下游,剩下的定位部分,一个组合导航几乎解决了绝大多数问题,停车场/内部路还需要一部分SLAM,但已经很少了。SLAM变成了一个投入巨大还很难有(zhao)所(dao)建(gong)树(zuo)的方向。
1. 端到端技术的应用
- 端到端(End-to-End) 技术意味着从 感知输入 到 最终输出(如路径规划、目标定位等)可以通过一个 单一网络模型 完成,而不需要中间的人工干预或多个处理阶段。这样的技术使得整个系统更加高效和集成。
- 例如,自动驾驶系统可以通过 端到端训练 来实现从 摄像头+激光雷达 数据到 车辆控制命令 的直接输出,避免了传统方法中对地图的依赖。
2. 基于 Transformer 的显式建图和隐式建图
- Transformer 是近年来在 自然语言处理(NLP) 和 计算机视觉 中取得突破的深度学习架构,越来越多地被应用于 自动驾驶 和 机器人领域。
- 显式建图:指直接生成可见的、明确的地图数据(如 2D 或 3D 图)。
- 隐式建图:指通过神经网络自动学习并内嵌环境信息,而不直接显示地图,而是通过对环境的隐式理解来进行定位和导航。
- 这两种建图方式可以根据 输入数据(如视觉、激光雷达)直接输出到下游任务,提升定位精度和效率。
3. 组合导航的成熟
- 组合导航 是指通过 多种传感器(如 GPS、IMU、激光雷达、摄像头) 的融合,实现更为精确的定位和导航。通过这些技术的结合,系统可以在 复杂环境(如城市街道、地下停车场)中持续稳定运行。
- 例如,GPS 可能在城市高楼之间失效,但 IMU 和 激光雷达 仍然可以提供有效的定位。
4. SLAM 技术的退场
- 停车场 和 内部道路(如地下车库)等复杂环境依然需要 SLAM 来帮助定位,因为这些地方缺少良好的外部定位信号(如 GPS)。但总体来说,SLAM 技术的应用已经大大减少。
- 例如,在 开放道路 或 高速公路 上,自动驾驶系统可以依赖 组合导航 和 大模型(如 Transformer)进行实时定位和路径规划,而不再依赖传统的 SLAM。
5. SLAM 技术的困境
- SLAM 技术 由于 高投入(需要大量的计算资源、传感器设备)以及 技术上的瓶颈(如高精度建图和定位的难度),面临着 难以取得突破 的局面。虽然 SLAM 在一些特定场景中仍有应用,但它已经不再是主流解决方案,逐渐变成了一个 投入大却难有显著进展 的方向。
- SLAM 系统需要精确的特征匹配和 地图更新,这在动态环境中仍然是一个挑战。尤其对于 实时性要求高 的应用,如 无人驾驶,SLAM 的实时性能和精度往往难以满足需求。