什么是 SLAM?

chenweihan1 小时前

SLAM 全面解析:从同步定位与建图原理到三维重建应用

一、引言:为什么要了解 SLAM?

随着机器人、自主导航、增强现实(AR)、虚拟现实(VR)、自动驾驶、无人机、数字孪生以及三维重建等技术的快速发展,SLAM(Simultaneous Localization and Mapping,同步定位与建图) 已经成为空间智能系统中的核心技术之一。

SLAM 最重要的能力可以概括为:

让设备在一个完全陌生、甚至没有 GPS 的环境中,一边运动,一边构建环境地图,同时实时估计自己在地图中的位置。

换句话说,SLAM 解决的是两个彼此耦合的问题:

  • Localization:我在哪里?
  • Mapping:周围环境是什么样?

因此,SLAM 不仅是机器人“看清环境、知道自己在哪、规划怎么走”的基础,也逐渐成为连接真实世界与数字空间的重要桥梁。

本文将从 SLAM 的基本概念、工作原理、系统结构、输入输出、坐标系、定位与建图关系、地图类型、应用场景以及与 NeRF、3DGS 等三维重建技术的结合等方面,对 SLAM 进行系统梳理。


二、SLAM 是什么?

2.1 一句话定义

SLAM 是一种让设备在未知环境中,一边构建地图,一边实时估计自身位置和姿态的技术。

它的核心可以概括为:

自定位 + 自建图

SLAM 系统通常通过摄像头、激光雷达、IMU 等传感器持续感知环境,并在不断接收新数据的过程中完成两个核心任务。

2.2 Localization:定位

定位是指估计当前设备相对于某个参考坐标系的位置和姿态。

通常使用 6 自由度位姿(6-DoF Pose) 表示:

  • 位置:

    • (x)
    • (y)
    • (z)
  • 姿态:

    • Roll
    • Pitch
    • Yaw

因此,一个完整的相机或机器人位姿可以理解为:

位置 + 朝向

2.3 Mapping:建图

建图是指根据传感器观测到的环境信息,逐步建立环境的空间表达。

例如视觉 SLAM 可以:

  1. 从图像中提取特征点;
  2. 在不同图像之间进行特征匹配;
  3. 根据不同视角进行三角测量;
  4. 估计特征点的三维位置;
  5. 将这些三维点统一放入世界坐标系;
  6. 最终形成一张环境地图。

地图可以是:

  • 稀疏特征点地图;
  • 稠密三维地图;
  • 点云地图;
  • 占据栅格地图;
  • 拓扑地图;
  • 语义地图。

2.4 一个简单例子

假设一个机器人第一次进入陌生办公楼。

此时:

  • 没有建筑地图;
  • 室内没有可靠 GPS;
  • 机器人只拥有摄像头、IMU 或激光雷达等传感器。

机器人向前移动时不断获取环境信息。

SLAM 系统会同时完成:

传感器数据
观察周围环境
估计机器人移动了多少
更新机器人当前位置
重建看到的环境结构
不断扩展地图

最终机器人可以知道:

“我现在位于自己刚刚构建出来的地图中的什么位置。”

这正是 SLAM 的核心思想。


三、SLAM 的基本工作原理

3.1 同时进行定位与建图

SLAM 的关键在于:

定位和建图不是两个独立过程,而是相互依赖、同时进行的。

定位

确定当前时刻相机或机器人在世界坐标系中的:

  • 位置;
  • 朝向。

也就是求当前的 6DoF 位姿

建图

利用连续观测获得的环境信息,例如:

  • 图像特征;
  • 深度信息;
  • 激光点云;

估计环境中物体或特征点的空间位置,并形成地图。

二者之间存在天然的循环依赖:

已有地图
帮助定位
得到更准确的相机位姿
帮助建立更准确的地图
新的地图继续帮助定位

因此:

定位依赖地图,地图又依赖定位。

这也是“Simultaneous Localization and Mapping”中 Simultaneous(同步) 的真正含义。


四、SLAM 的典型系统流程

一个经典视觉 SLAM 系统可以抽象成下面的流程:

相机 / IMU / LiDAR
    传感器输入
  特征提取 / 数据处理
   数据关联与匹配
      位姿估计
 ┌───────────────┐
 │               │
 ↓               ↓
局部建图        跟踪定位
 │               │
 └───────┬───────┘
      回环检测
    全局地图优化
 ┌───────────────┐
 ↓               ↓
相机轨迹        环境地图

不同 SLAM 算法的具体实现方式不同,但整体思想基本类似。


4.1 前端:传感器数据处理

SLAM 前端主要负责从原始传感器数据中提取有用信息。

对于视觉 SLAM,通常包括:

  • 特征点提取;
  • 特征描述;
  • 帧间匹配;
  • 光流跟踪;
  • 深度估计。

常见视觉特征包括:

  • ORB;
  • SIFT;
  • FAST;
  • SURF 等。

例如:

Frame 1                Frame 2

● A                     ● A
      ● B        →             ● B
● C                     ● C

通过找到两帧图像中的同一个物理特征,就可以估计相机发生了怎样的运动。


4.2 位姿估计

根据帧间或帧与地图之间的对应关系,SLAM 系统可以计算相机运动。

常见问题包括:

  • 2D-2D 位姿估计;
  • 3D-2D PnP;
  • 3D-3D 配准;
  • ICP;
  • Visual Odometry。

最终得到相机的:

  • 旋转 (R)
  • 平移 (t)

通常写成齐次变换矩阵:

[ T = \begin{bmatrix} R & t \ 0 & 1 \end{bmatrix} ]

其中:

  • (R):描述相机朝向;
  • (t):描述相机位置变化。

4.3 地图构建

当系统已经知道不同相机帧之间的相对位置后,就可以根据多视角信息恢复环境三维结构。

例如双目或多帧视觉 SLAM 中:

Camera 1           Camera 2
   \                   /
    \                 /
     \               /
      \             /
       ● Map Point

同一个环境特征在不同相机视角中的观测,可以通过三角测量恢复其三维坐标。

随着设备不断运动:

第 1 帧 → 少量地图点
第 10 帧 → 更多地图点
第 100 帧 → 大范围地图

最终逐渐建立完整环境模型。


4.4 后端优化

由于传感器存在噪声,连续位姿估计一定会积累误差。

因此 SLAM 通常需要通过优化算法提高整体一致性。

常见方法包括:

  • Bundle Adjustment;
  • Pose Graph Optimization;
  • Factor Graph Optimization;
  • 非线性最小二乘优化。

目标可以简单理解为:

找到一组更合理的相机位姿和地图点,使所有传感器观测之间的整体误差最小。


4.5 回环检测

假设机器人沿着走廊移动:

A → B → C → D → E
↑               ↓
└───────────────┘

当机器人再次回到 A 附近时,SLAM 系统如果能够识别:

“这里我以前来过。”

就可以产生一个 Loop Closure(回环约束)

通过回环优化,可以修正长时间运行产生的累计漂移。


五、SLAM 的核心模块

模块 主要功能
特征提取与匹配 从图像中提取 ORB、SIFT 等关键特征,并进行帧间匹配
数据关联 判断当前观测对应地图中的哪些已有特征
位姿估计 计算当前相机或机器人相对于世界坐标系的位置和姿态
局部建图 生成新的地图点、关键帧并优化局部地图
回环检测 判断当前场景是否曾经访问过
后端优化 利用 BA、因子图等降低累计误差
地图管理 维护地图点、关键帧、拓扑关系等信息

六、SLAM 的输入与输出

6.1 输入

SLAM 系统通常需要以下数据。

输入类型 内容
图像流 单目、双目或 RGB-D 图像序列
激光点云 2D 或 3D LiDAR 扫描数据
IMU 加速度计和陀螺仪数据
GPS / GNSS 可作为室外全局定位辅助
相机内参 焦距、主点、畸变参数等
外参 不同传感器之间的坐标变换关系
时间戳 多传感器系统中的数据同步依据

6.2 输出

输出内容 作用
相机/机器人位姿 表示设备每一时刻的位置与朝向
运动轨迹 描述设备在空间中的运动路径
稀疏地图 用于视觉定位和重定位
稠密地图 用于三维重建、空间理解
占据地图 用于路径规划和避障
回环约束 用于校正长期累计漂移
关键帧 保存具有代表性的历史观测

因此,可以把 SLAM 简化理解为:

输入:

Sensor Data

SLAM


输出:

Camera Poses
+
Trajectory
+
Map

七、SLAM 中的“定位”

7.1 什么是定位?

SLAM 中的定位指:

实时估计设备自身在空间中的位置与朝向。

这个过程一般称为:

Pose Estimation(位姿估计)

一个完整的位姿包括:

[ (x,y,z,\text{roll},\text{pitch},\text{yaw}) ]

也就是 6 个自由度:

平移自由度
├── X
├── Y
└── Z

旋转自由度
├── Roll
├── Pitch
└── Yaw

7.2 定位是相对于什么进行的?

SLAM 中的定位通常是:

相对于 SLAM 系统建立的世界坐标系进行定位。

系统初始化时会建立一个参考坐标系,例如:

第一帧相机:

Position = (0, 0, 0)

Orientation = 初始方向

之后所有相机位姿都相对于这个坐标系表示。

例如第 10 帧可能得到:

x = 2.3 m
y = 0.1 m
z = 1.5 m

同时还包括相机的旋转姿态。

它表示:

相机现在位于 SLAM 世界坐标系中的某个位置。


7.3 Tcw 和 Twc

SLAM 中经常会看到:

(T_{cw}) (T_{wc})

二者表示方向相反的坐标变换。

(T_{cw})

World → Camera:

世界坐标
相机坐标

(T_)

Camera → World:

相机坐标
世界坐标

因此:

[ T_{wc}=T_{cw}^{-1} ]

阅读不同 SLAM 项目源码时,一定需要首先确认它使用的是哪一种位姿定义。


7.4 定位是在“建好的地图”中定位吗?

SLAM 初始阶段并不存在完整地图。

因此更准确地说:

SLAM 是在不断构建和更新的地图中进行定位。

地图与定位之间形成持续循环:

当前地图
匹配当前观测
估计相机位姿
添加新地图点
优化地图
下一帧继续定位

如果地图不准确:

地图误差
定位误差

如果定位不准确:

位姿误差
地图点放置错误
地图变形

因此二者必须同时优化。


八、世界坐标系、地图与相机位姿

理解下面三者之间的关系,是理解 SLAM 的关键:

  1. 世界坐标系;
  2. 地图;
  3. 相机位姿。

8.1 世界坐标系

世界坐标系是整个 SLAM 系统的统一参考系。

可以抽象表示为:

          Z
          |
          |
          O ─────→ X
         /
        /
       Y

地图中的所有点、所有相机位置、所有轨迹,都统一表示在这个坐标系中。


8.2 地图点

视觉 SLAM 中,大量三维特征点共同组成稀疏地图:

       ●       ●
   ●               ●
 Camera →     ●

每一个地图点都拥有世界坐标:

[ P_w=(x,y,z) ]

例如:

MapPoint 001 = (1.20, 3.51, 0.87)
MapPoint 002 = (0.92, 4.31, 1.22)

这些地图点可能对应真实环境中的:

  • 墙角;
  • 桌子边缘;
  • 门框;
  • 纹理明显的位置;
  • 其他稳定视觉特征。

8.3 相机位姿

机器人运动过程中,每一个时刻都有一个相机位姿:

Camera 1 → Camera 2 → Camera 3 → Camera 4

每一个位姿描述:

相机在哪里?
+
相机朝向哪里?

也可以写成:

[ T= \begin{bmatrix} R&t\ 0&1 \end{bmatrix} ]

8.4 相机轨迹

连续的相机位姿连接起来,就是 SLAM 轨迹:

World Frame

             Camera 4
               /
          Camera 3
            /
Camera 1 → Camera 2

所以:

Trajectory 本质上就是按照时间排列的一系列 Camera Pose。


8.5 三者的关系

元素 含义 表达方式
世界坐标系 SLAM 的统一空间参考 (O_w,X_w,Y_w,Z_w)
地图点 环境中的三维特征 ((x,y,z))
相机位姿 相机的位置与朝向 (R,t) 或变换矩阵
运动轨迹 连续相机位姿组成的路径 Pose Sequence

可以总结成:

                 世界坐标系
          ┌──────────┴──────────┐
          ↓                     ↓
       地图点                 相机位姿
          │                     │
          │                     ↓
          │                  相机轨迹
          └────────共同描述────────┘
                  三维环境

九、SLAM 中的“建图”

9.1 什么是建图?

SLAM 中的 Mapping 是指:

机器人在运动过程中,根据传感器观测逐步建立环境的空间表达。

这个地图并不一定是传统意义上的地图。

它更多是:

机器能够理解、计算和使用的环境模型。


9.2 常见地图形式

地图类型 描述 常见用途
稀疏地图 由少量稳定三维特征点组成 视觉定位、重定位
稠密地图 大量点或表面描述完整环境 三维重建
点云地图 使用三维点表示环境 LiDAR SLAM
占据栅格地图 表示空间是否被障碍物占据 导航、路径规划
拓扑地图 用图结构表达地点连接关系 大规模导航
语义地图 地图同时包含物体语义 空间理解、机器人任务规划

9.3 稀疏地图

ORB-SLAM 等经典特征点 SLAM 主要建立稀疏地图。

例如:

●           ●
   ●        ●

这些点通常足以支持:

  • 相机跟踪;
  • 重定位;
  • 回环检测;
  • 位姿优化。

但它并不适合直接生成高质量三维模型。


9.4 稠密地图

稠密地图会尽可能恢复大量像素对应的三维结构。

例如:

稀疏地图:

●      ●

稠密地图:

██████████
██████████
██████████

常见应用包括:

  • 三维扫描;
  • 数字孪生;
  • AR;
  • VR;
  • 场景重建。

典型系统包括:

  • KinectFusion;
  • ElasticFusion。

9.5 占据栅格地图

机器人导航中常见的地图是 Occupancy Grid Map。

例如二维地图:

████████████
█          █
█   ■      █
█          █
█      R   █
████████████

其中:

  • :墙壁;
  • :障碍物;
  • R:机器人;
  • 空白:可通行区域。

这种地图非常适合:

  • A*;
  • Dijkstra;
  • DWA;
  • MPC;

等路径规划与导航算法。


十、视觉 SLAM 的典型建图流程

视觉 SLAM 的建图过程通常可以概括为:

图像输入
特征提取
特征匹配
相机运动估计
三角测量
生成 3D 地图点
添加关键帧
局部 BA
地图扩展

10.1 特征提取

首先从图像中寻找稳定特征。

例如:

墙角
桌子边缘
窗户边缘
纹理明显区域

这些位置在多帧图像中更容易被重复识别。


10.2 特征匹配

找到不同帧中的同一个真实空间点:

Frame A             Frame B

   ● P1                ● P1
      ● P2       →        ● P2
● P3                 ● P3

通过匹配结果就可以建立几何约束。


10.3 三角测量

当同一个三维点在两个不同相机位置被观测时,可以计算其空间位置:

Camera A               Camera B
     \                     /
      \                   /
       \                 /
        \               /
           ● P

这就是三角测量。


10.4 转换到世界坐标系

得到一个三维地图点之后,需要统一表示到 World Frame。

最终:

P1 = (x1, y1, z1)
P2 = (x2, y2, z2)
P3 = (x3, y3, z3)
...

不断积累后形成完整地图。


十一、建图是以什么为基准?

SLAM 地图通常是相对于初始化阶段定义的世界坐标系建立的。

不同系统的初始化方式略有不同。

SLAM 类型 常见世界坐标系定义
单目视觉 SLAM 通常使用初始化相机帧作为参考
双目 SLAM 通常使用左相机初始坐标系
RGB-D SLAM 通常使用初始相机坐标系
Visual-Inertial SLAM 通常结合 IMU 重力方向定义
LiDAR SLAM 通常使用初始雷达坐标系或导航坐标系

地图中的所有点和相机轨迹,最终都需要转换到同一个参考坐标系。


十二、定位和建图到底是什么关系?

这是理解 SLAM 最重要的问题之一。

12.1 建图依赖定位

假设相机观察到一个桌角。

如果不知道相机当前在哪里,就无法准确判断桌角在世界坐标系中的位置。

因此:

准确相机位姿
准确三维地图点

12.2 定位依赖地图

下一帧到来时,系统又可以把当前图像中的特征与已有地图点匹配:

当前图像特征
匹配已有地图点
PnP / 优化
当前相机位姿

因此:

Map → Localization → Better Map
 ↑                     ↓
 └─────────────────────┘

这就是 SLAM 的本质闭环。


十三、SLAM 的分类

SLAM 可以根据使用的传感器进行分类。

13.1 视觉 SLAM

输入主要是摄像头图像。

常见形式:

  • Monocular SLAM;
  • Stereo SLAM;
  • RGB-D SLAM。

代表系统包括:

  • ORB-SLAM 系列;
  • DSO;
  • LSD-SLAM;
  • SVO。

优点

  • 成本低;
  • 信息丰富;
  • 可同时获得纹理和语义信息。

缺点

容易受到以下因素影响:

  • 光照变化;
  • 运动模糊;
  • 弱纹理环境;
  • 动态物体。

13.2 视觉惯性 SLAM

Visual-Inertial SLAM 将:

Camera
+
IMU

结合起来。

IMU 可以提供:

  • 角速度;
  • 线加速度;

有助于改善纯视觉系统在快速运动、模糊或短暂视觉失效情况下的鲁棒性。

代表系统包括:

  • VINS-Mono;
  • VINS-Fusion;
  • ORB-SLAM3。

13.3 激光 SLAM

LiDAR SLAM 主要依赖激光雷达点云。

代表系统包括:

  • LOAM;
  • Cartographer;
  • LeGO-LOAM;
  • LIO-SAM。

优势包括:

  • 几何测距准确;
  • 对光照变化不敏感;
  • 适合大规模机器人导航。

13.4 多模态 SLAM

现代 SLAM 越来越倾向于多传感器融合:

Camera
+
LiDAR
+
IMU
+
GNSS

代表系统包括:

  • LVI-SAM;
  • FAST-LIO;
  • 多种 LiDAR-Inertial-Visual 系统。

其核心目的就是:

利用不同传感器的优势互补,提高定位和建图的稳定性。


十四、SLAM 的主要应用

应用领域 SLAM 的具体作用
🤖 机器人导航 定位、建图、路径规划、避障、自主移动
🚗 自动驾驶 与 LiDAR、GNSS、HD Map 联合进行高精度定位
🥽 AR / VR / MR 实时跟踪头部或设备位置,使虚拟内容稳定绑定现实空间
🏗 建筑测绘 在室内无 GPS 环境完成空间扫描和三维重建
🚁 无人机 GPS 盲区中的自主飞行、定位与降落
🏭 工业机器人 工厂环境定位、巡检和自主作业
🏠 服务机器人 家庭地图构建、扫地、配送
🌐 数字孪生 建立真实环境对应的数字空间模型

十五、SLAM 的核心挑战

尽管 SLAM 已经发展多年,但真实环境依然非常复杂。

15.1 动态场景

传统 SLAM 往往假设:

环境大部分是静态的。

但真实场景可能出现:

  • 行人;
  • 车辆;
  • 动物;
  • 移动物体。

如果系统错误地将动态物体当成静态地图的一部分,就会干扰位姿估计。


15.2 弱纹理环境

例如:

  • 白墙;
  • 玻璃;
  • 长走廊;
  • 黑暗空间。

这些环境缺乏稳定视觉特征,导致视觉 SLAM 难以匹配。


15.3 尺度问题

单目相机无法直接从单张图像恢复真实尺度。

因此单目 SLAM 通常存在:

Scale Ambiguity(尺度不确定性)

长时间运行还可能出现尺度漂移。

加入:

  • Stereo;
  • RGB-D;
  • IMU;

可以缓解尺度问题。


15.4 累计漂移

假设每次估计相机移动都有微小误差:

Frame 1 → 误差 0.1%
Frame 2 → 再增加一点
Frame 3 → 再增加一点
...

运行足够长时间后,误差就会不断累积。

因此必须依靠:

  • 回环检测;
  • Bundle Adjustment;
  • Pose Graph Optimization;

保持全局一致性。


15.5 多传感器同步

视觉惯性或多模态 SLAM 经常需要同时处理:

Camera
IMU
LiDAR
GNSS

这些传感器:

  • 采样频率不同;
  • 时间戳不同;
  • 延迟不同;
  • 坐标系不同。

因此:

  • 时间同步;
  • 内参标定;
  • 外参标定;

都会直接影响最终 SLAM 精度。


十六、SLAM 的本质

从工程角度看,SLAM 是:

一个实时定位与地图维护系统。

从数学角度看,SLAM 可以理解为:

一个根据连续传感器观测,同时估计机器人状态和环境状态的概率估计与非线性优化问题。

从更高层次来看:

Sensor Measurements
     SLAM
Estimate:
   Robot State
      +
Environment State

也就是说,SLAM 实际上是在寻找:

最合理的机器人轨迹
+
最合理的环境结构

使它们能够最大程度解释所有观测数据。


十七、SLAM 与三维重建

传统 SLAM 最主要的目标是:

准确定位。

因此地图通常只需要“足够支持定位”,不一定追求高质量视觉效果。

例如 ORB-SLAM 的稀疏地图:

●       ●

对定位很好用,但并不能直接作为逼真的三维模型。

三维重建则更加关注:

  • 几何完整性;
  • 表面结构;
  • 纹理;
  • 光照;
  • 可视化效果。

因此现代系统开始越来越多地将二者结合。


十八、SLAM 与 NeRF / 3DGS

近年来,一个非常重要的发展趋势是:

SLAM 与神经三维重建技术深度融合。


18.1 SLAM 为 NeRF / 3DGS 提供什么?

NeRF 和 3D Gaussian Splatting 通常需要知道:

Image 1 + Camera Pose 1
Image 2 + Camera Pose 2
Image 3 + Camera Pose 3
...

SLAM 恰好可以实时估计 Camera Pose。

因此可以形成:

Camera / Video
     SLAM
Camera Poses
 ┌────────────┐
 │ NeRF / 3DGS│
 └────────────┘
高质量三维场景

18.2 NeRF / 3DGS 反过来优化 SLAM

另外一个方向是:

SLAM
初始 Camera Pose
NeRF / 3DGS
场景重建
Photometric Error
反向优化 Camera Pose

也就是说:

三维重建模型不仅使用 SLAM 位姿,还可以反过来提高 SLAM 位姿精度。

类似思想已经广泛出现在 Neural SLAM 研究中,例如:

  • iMAP;
  • NICE-SLAM;
  • Neural RGB-D SLAM;
  • Gaussian-SLAM;
  • SplaTAM 等方向。

十九、SLAM、NeRF 与 3DGS 的关系

可以将三者理解成:

真实世界
Camera / LiDAR / IMU
  SLAM
Camera Trajectory
+
Initial Geometry
NeRF / 3DGS
高保真三维模型
数字孪生 / AR / VR / Robot

SLAM 更关注:

我在哪里?

三维重建更关注:

这个世界长什么样?

未来系统则希望进一步回答:

这个世界里有什么?它们是什么?机器人能够如何与它们交互?


二十、从 SLAM 到空间智能

SLAM 技术正在从传统的:

Localization
+
Mapping

逐渐扩展为:

Localization
+
Mapping
+
Reconstruction
+
Semantic Understanding
+
Scene Interaction

也就是从单纯的几何空间感知,进一步发展到:

Spatial Intelligence(空间智能)

未来机器人不仅需要知道:

这里有一个点

还需要知道:

这里是一张桌子
桌子上有一个杯子
杯子可以被抓取
机器人当前距离杯子 1.2 米
前方路径没有障碍

因此 SLAM 将逐渐与:

  • 3D Vision;
  • NeRF;
  • 3D Gaussian Splatting;
  • Semantic Segmentation;
  • Object Detection;
  • Vision-Language Model;
  • Embodied AI;

进一步融合。


二十一、SLAM 知识结构总结

如果从系统层面理解 SLAM,可以记住下面这张关系图:

                SLAM
       ┌──────────┴──────────┐
       │                     │
 Localization             Mapping
       │                     │
       ↓                     ↓
 Camera Pose            Map Points
       │                     │
       └──────────┬──────────┘
             World Frame
         ┌────────┴────────┐
         ↓                 ↓
     Trajectory         Environment
         │                 │
         └────────┬────────┘
          Global Optimization
             Loop Closure

从数据流角度,则可以记成:

Sensors
Frontend
Data Association
Pose Estimation
Mapping
Backend Optimization
Loop Closure
Trajectory + Map

二十二、核心问题总结

问题 回答
SLAM 是什么? 在未知环境中同步完成定位与建图
定位是什么? 估计设备当前的位置和朝向
相对于什么定位? 相对于 SLAM 建立的世界坐标系
建图是什么? 根据传感器数据建立机器可使用的环境空间模型
地图以什么为基准? 世界坐标系
定位和建图是什么关系? 相互依赖、相互促进
SLAM 输出什么? 位姿、轨迹、地图、关键帧以及回环等信息
为什么需要回环? 修正长期累计漂移
SLAM 可以做什么? 导航、AR/VR、无人机、自动驾驶、三维重建等
SLAM 和 NeRF / 3DGS 有什么关系? SLAM 提供位姿,NeRF / 3DGS 提供高质量三维表达,并可反向优化位姿

二十三、结语

SLAM 是连接现实世界与数字空间的重要基础技术。

它解决的核心问题看起来非常简单:

我在哪里?

以及:

周围的世界是什么样?

但真正实现这一目标,需要同时解决:

  • 多传感器感知;
  • 数据关联;
  • 位姿估计;
  • 三维几何;
  • 地图管理;
  • 回环检测;
  • 非线性优化;
  • 概率估计;
  • 多传感器融合;

等一系列复杂问题。

对于机器人来说,SLAM 让机器具备了理解空间和自主移动的基础能力;对于 AR、VR 和三维视觉来说,SLAM 又提供了现实空间与虚拟世界之间的重要坐标桥梁。

随着 NeRF、3D Gaussian Splatting、语义地图、视觉语言模型以及具身智能不断发展,SLAM 的角色也正在发生变化。

它正在从传统意义上的:

同步定位与建图

逐步演变为:

机器理解、重建并最终与三维世界交互的基础空间感知系统。

因此,无论研究方向是机器人导航、自动驾驶、视觉定位、AR/VR、数字孪生、NeRF 还是 3DGS,系统理解 SLAM 都是一项非常重要的基础能力。

评论

请登录后发表观点

暂无数据