跳转至

讲解稿 · 第 11 章 第 01 节 · 自主系统感知

口播时长:约 17 分钟|建议语速:中速|字数:约 4000 字

承 Ch10 §05 统一多模态 → Ch11 §01 感知 → Ch11 §02 机器人学习


导语(约 80 秒)

讲自动驾驶/机器人"看见世界"的核心技术——感知 (Perception)。

Waymo 在凤凰城/旧金山的无人驾驶每秒钟要做 100 万次决策——但其中绝大部分时间不是"决策",而是"搞清我在哪 + 周围有啥"。这一节讲 3 个核心模块:① LiDAR / Camera 测距原理;② SLAM (同时定位与建图);③ BEV 鸟瞰占据网络**。听完这一节你会知道,自动驾驶里"看图"远不止是"识别红绿灯"那么粗浅——它要解决"厘米级定位 + 米级前瞻 + 不确定性"这一整套难题。


一 · 传感器:LiDAR 与 Camera 各取所长(约 4 分钟)

1.1 LiDAR:激光飞行时间

原理:发射 905 nm / 1550 nm 激光脉冲,测量光子往返时间 \(\Delta t\),反推距离: $\(d = \frac{c \cdot \Delta t}{2}, \quad c \approx 3 \times 10^8 \text{ m/s}\)$

905 nm 是车规级常用波长(便宜、阳光干扰小),1550 nm 抗阳光干扰但成本高。

关键参数: - 角分辨率:垂直/水平多大角度发射一束激光 - 点频:每秒发多少脉冲 - 视场角:垂直 FOV 30°,水平 FOV 360°(机械旋转)或 120°(MEMS) - 测距:常用 200m,远的 400m

性能优势: - 直接测距精度高 (厘米级) - 不依赖光照,白天夜晚一致 - 提供 3D 几何

缺点: - 点云稀疏,远距离 (200m) 物体只有数十个点 - 成本:车规级 LiDAR $500-1000 - 雨天/雪天噪声大 - 无法识别颜色/纹理/语义类别

1.2 视觉相机:单目 / 双目 / RGB-D

单目相机:单一相机,深度需推断(单目深度估计)。 双目相机:左右两相机,视差 \(d\) 直接三角化: $\(Z = \frac{f \cdot B}{d}\)$ \(f\)=焦距像素, \(B\)=基线米, \(d\)=像素差。如 \(f=1000\) px, \(B=0.5\)m, \(d=10\) px → \(Z=50\)m。

RGB-D:Kinect / Realsense 等,主动红外测距,但只能短距离(<5m)。

优势: - 颜色/纹理丰富,可识别 语义类别 - 像素级分辨率 (1080p / 4K) - 高速 (60 fps+)

缺点: - 强光 / 夜晚受影响 - 远距离深度难推断

1.3 IMU 与多传感器融合

IMU (Inertial Measurement Unit): - 加速度计 + 陀螺仪 - 输出频率高 (200 Hz) - 在视觉失效时仍能感知运动

典型融合: - Tightly-coupled (紧耦合):LiDAR-Camera-IMU 一起送 EKF / graph optimization - Loosely-coupled (松耦合):各模块独立出 estimate, 后融合

主流方案:Tesla 不用 LiDAR,纯视觉 + 雷达冗余;Waymo / 小马 / Apollo 都用 LiDAR-Camera 紧耦合。


二 · SLAM:同时定位与建图(约 5 分钟)

2.1 什么是 SLAM

Simultaneous Localization and Mapping:机器人边走边绘制地图,同时知道自己在地图上的位置。

输入:传感器数据流(\(I_t\), IMU, GPS) 输出:轨迹 \(\{T_t\}\) + 地图 \(\{m_j\}\)

核心难点:鸡生蛋—— 定位需要地图,地图需要定位。

2.2 经典 SLAM 框架

前端 (front-end): 提取视觉特征 + 数据关联 - 特征点: ORB (Oriented FAST + Rotated BRIEF),FAST-Keypoint + Binary-Descriptor - 数据关联: 与前一帧/局部地图匹配 - 输出: 帧间位姿 \(\Delta T\) + 候选匹配对

后端 (back-end): 全局优化 - Visual Odometry (VO): 累积帧间位姿估计 - Bundle Adjustment (BA): 光束平差, 最小化重投影误差: $\(\min_{T,X} \sum_{i,j} \rho(\|u_{ij} - \pi(T_i X_j)\|^2_\Sigma)\)$ - 利用 Hessian 稀疏性 + Schur complement 加速 (G2O, GTSAM)

回环检测 (Loop Closure): - 用词袋 (BoW) / DBoW2 给当前帧提取"视觉词向量" - 与历史帧相似度匹配, 检测是否"回到了去过的地方" - 一旦回环, 加约束, 大幅减少累积漂移

地图管理: - 关键帧选取: 视差 + 共视 - Covisibility Graph: 共视关系 - Local Mapping / Loop Closing / Relocalization

2.3 代表作: ORB-SLAM3

Mur-Artal & Tardós, 2021 IEEE T-RO: - 单目 / 双目 / RGB-D + IMU - Atlas 多地图管理 - 长期定位支持 - 工业最常用, 已被 Wayve/Apple Vision Pro 等采用

2.4 新范式:NeRF / 3D Gaussian SLAM

SplaTAM (2023) 和 GS-SLAM (2023): - 用 3D Gaussian 表达场景, 替代 ORB 特征点 + 路标点 - 同时输出密集地图(可渲染)和稀疏定位

优势: - 实时 30+ fps 渲染 - 1 分钟训练 / 重建 - 与 NeRF 渲染质量相当,但快 1000 倍

应用: - 自动驾驶场景重建 - AR/VR 即时场景 - 机器人仿真

2.5 VIO:视觉惯性里程计

紧耦合 VIO 把视觉 + IMU 一起优化: - IMU 预积分提供高频运动先验 - 视觉提供绝对尺度 + 特征点 - 解决纯视觉在低速/快速旋转的失效 - 代表:VINS-Mono (港大), ORB-SLAM3 (with IMU)


三 · BEV 鸟瞰占据网络(约 5 分钟)

3.1 什么是 BEV

Bird's Eye View:从俯视角的 2D 平面表达场景。 - X-Y 平面 = 地面 (前后,左右) - 物体(车/人)用 2D 框表达 - 地形/道路/可行驶区用栅格表达

自动驾驶 BEV 一般输出 256×256 网格,每格 0.5 m,覆盖 128m × 128m。

3.2 BEV 的工程价值

单相机 → 多相机融合:6 路相机图像各自提取特征,在 BEV 平面上做高度聚合(把每像素的 4 个高度层"摞起来"),形成统一的 3D 表征。

输出: - 静态:车道线、可行驶区域 - 动态:其他车位置 + 速度 - 语义:每栅格的语义类别(车/行人/建筑) - 占据:每体素是否被占用 (0/1) - 预测:预测 t+1s ~ t+3s 的占据

3.3 占据网络(Occupancy Network)

特斯拉 FSD v12 用 4D 占据网络 (BEV + 时间): - 输入:多帧 (8 帧) 6 相机图像 - 输出:128m×128m 范围内, 0.5m 体素, t=0 ~ t+3s 每时刻占用 (体积庞大的密集输出) - 训练数据:人工标注(慢但清晰)+ 自动标注 (SLAM 点云投影)

vs 3D 检测: - 3D 检测: 输出物体边界框 (适用标准物体) - 占据: 输出每体素占用 (适用任意物体, 含倒树、长尾)

劣势: 占据是真值比 3D 检测更稀缺,需要更精细的人工标注。

3.4 端到端 BEV 占据到规划

新趋势:BEV 占据 → Planning 端到端(无中间表示)。 - UniAD (CVPR 2023): 端到端感知 + 预测 + 规划 - VAD (ICRA 2024): Vector-based 端到端 - Tesla FSD v12: BEV → 神经网络输出轨迹 + 控制

优势: 联合优化, 误差累积更小, 性能上限更高 劣势: 黑盒, 难 debug, 需要海量数据


四 · 工程实践要点(约 2 分钟)

  1. 多传感器时间同步:PTP 协议 / 硬件 PPS,误差需 < 50 ms
  2. 外参标定:LiDAR-Camera 外参每月校正,温差 > 10°C 也需重新标
  3. 在线 SLAM 漂移:纯净视觉在 5 分钟以上必然漂 → 必须有回环检测
  4. BEV 训练稳定性:训练 7-14 epoch 收敛,关键调 hard-negative mining
  5. 占据 vs 3D 检测:尽量用占据, 数据生成更便宜

跨章衔接(约 60 秒)

感知(§01)的输出是地图、定位、占据、检测——这些喂给 §02 决策与学习。

下一节讲强化学习 + Diffusion Policy:如何让自主系统"使用感知输出做规划"。PPO / SAC / 模仿学习,Diffusion Policy 这些 2024 年的关键技术。感知是眼睛,决策是大脑——§02 讲大脑部分。