智能驾驶感知模块可以根据目标的属性和环境信息,分为三类关键任务:动态感知任务、静态结构感知任务和可通行区域(Freespace)感知任务。本文将结合 BEVFormer、MapTR 和 Occupancy Prediction 三个算法,简单介绍一下他们,如果有不正确的地方,欢迎评论。
1. 动态感知任务:BEVFormer
1.1 任务简介
动态任务关注的是 检测和跟踪场景中运动物体 ,如行人、车辆、自行车等。核心目标是预测这些目标的 三维空间位置、尺寸、速度和朝向 ,为路径规划与决策系统提供实时支持。
1.2 核心算法
BEVFormer 是近年来领先的 3D 感知框架之一,提出了一种融合 Bird’s Eye View(BEV)视角和 Transformer 架构 的感知方式。它利用多摄像头输入构建 BEV 表征,并结合时序特征做运动物体感知。
BEV(Bird’s Eye View,俯视图) 是一种以“从天而降”的视角查看场景的表示方式。相较于图像原始视角(front-view),BEV 将感知信息映射到地面平面,使得空间关系更直观:
每个像素表示地面上一个固定区域(如 0.5m × 0.5m);
BEV 具有固定分辨率和尺度,便于与规划、控制模块对接;
动态物体不会因远近发生比例变化,便于稳定检测和跟踪。
BEVFormer 架构简介
图像编码:使用 ResNet+FPN的 backbone+neck 结构提取多视角图像特征;
Lift 操作:将图像特征结合深度预测“抬升”(lift)到三维空间中;
Splat 投影:将三维点投影到 BEV 平面网格,聚合形成 BEV 特征图;
时序建模:引入前几帧 BEV 特征,使用 temporal attention 模块进行时序对齐;
目标检测解码器:采用 learnable query,预测 3D 物体框及其类别。
- 每个像素在原始图像中只提供 2D 信息(x, y),没有深度;
- 利用深度估计(或相机投影矩阵)推测该像素在 3D 空间中的位置;
- 所有 3D 点再“划分”为离散的三维网格(Voxel Grid),以统一尺度处理。
- (x, y, z):中心坐标;
- (dx, dy, dz):尺寸;
- θ:朝向角。
图像特征提取:使用 CNN + Transformer 提取多摄像头图像特征;
BEV 表征生成:将图像 lift 到 3D 后,splat 投影为 BEV 特征;(前两步和动态感知任务那儿一样)
结构化 Query 解码:
- 每个 query 对应一条 polyline;
- 生成起点后,通过自回归方式生成后续点序列;
多类别建图:支持同时预测多类地图元素,如 divider(车道之间的分隔线)、boundary(道路边界)、arrow(导向箭头)、stopline(停止线) 等。
- 值为 0:free 空间;
- 值为 1:确定被障碍物占据;
- 值介于两者之间:存在不确定性。
- 表示每个 voxel 的被占概率,即该 voxel 被物体占据的概率;
- 输出经过 sigmoid 激活函数,将值映射到 0,1;
- 值越接近 1 → 越确定被物体占据;接近 0 → 自由空间。
- 每个 voxel 是一个多分类问题,比如:
- 通道0:free
- 通道1:occupied
- 通道2:unknown 或 uncertain
- 输出经过 softmax,每个 voxel 的 3 个类别概率和为 1:
- drivable(可通行区域);
- static obstacle(建筑物、护栏);
- dynamic obstacle(行人、车);
- unknown(不确定区域)。

