"); //-->
一、动态感知任务:BEVFormer1.1 任务简介
动态任务关注的是 检测和跟踪场景中运动物体 ,如行人、车辆、自行车等。核心目标是预测这些目标的 三维空间位置、尺寸、速度和朝向 ,为路径规划与决策系统提供实时支持。
1.2 核心算法
BEVFormer 是近年来领先的 3D 感知框架之一,提出了一种融合 Bird’s Eye View(BEV)视角和 Transformer 架构 的感知方式。它利用多摄像头输入构建 BEV 表征,并结合时序特征做运动物体感知。
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 物体框及其类别。
Lift(抬升)
在感知任务中,模型经常需要将图像信息“映射”到三维空间中。这一过程称为 Lift(抬升),可以实现实现 2D → 3D 映射,统一多个视角的感知结果。具体来说:
每个像素在原始图像中只提供 2D 信息(x, y),没有深度;
利用深度估计(或相机投影矩阵)推测该像素在 3D 空间中的位置;
所有 3D 点再“划分”为离散的三维网格(Voxel Grid),以统一尺度处理。
3D 物体框表示形式
BEVFormer 输出的 3D BBox 通常以 [x, y, z, dx, dy, dz, θ] 表示:
(x, y, z):中心坐标;
(dx, dy, dz):尺寸;
θ:朝向角。
二、静态建图任务:MapTR2.1 任务简介
静态感知任务主要关注场景中静态结构物体,包括车道线、道路边界、停止线等。这类信息对地图构建、定位、行为规划等很重要。
2.2 核心算法
MapTR 是一种矢量建图方法,首次在 Transformer 框架中实现了 Polyline 格式的地图元素生成。与传统的栅格输出不同,MapTR 直接输出点序列形式的几何结构,精度更高。
Polyline 是什么?
Polyline 是一条折线,由一系列顺序连接的点组成,常用于表示线型元素:车道线、道路边界、路沿、箭头、停止线等。
通常每条 polyline 表示为点集 [p1, p2, …, pn],每个点为 (x, y) 或 (x, y, attr)(带语义)。
MapTR 架构简介
图像特征提取:使用 CNN + Transformer 提取多摄像头图像特征;
BEV 表征生成:将图像 lift 到 3D 后,splat 投影为 BEV 特征;(前两步和动态感知任务那儿一样)
结构化 Query 解码:
每个 query 对应一条 polyline;
生成起点后,通过自回归方式生成后续点序列;
多类别建图:支持同时预测多类地图元素,如 divider(车道之间的分隔线)、boundary(道路边界)、arrow(导向箭头)、stopline(停止线) 等。
三、Freespace 感知任务:Occupancy Prediction3.1 任务简介
Freespace 任务旨在预测环境中可通行区域与障碍物位置。通过对周围三维空间进行体素划分,输出每个 voxel(体素)的占用状态。
3.2 核心算法
Occupancy 模型通常采用图像或点云输入,结合深度估计和 3D 重建,生成 Occupancy Grid,即空间占用网格。
什么是 Occupancy Grid?
Occupancy Grid 是将三维空间离散为等间距的体素格(voxel),每个 voxel 包含一个数值表示其被占用的概率:
值为 0:free 空间;
值为 1:确定被障碍物占据;
值介于两者之间:存在不确定性。
典型输出维度为 [B, C, X, Y, Z],其中 B 为 batch size,C 为类别数或 occupancy 状态数,X、Y、Z 表示 3D 空间上的 voxel 网格。
对这里的 C 再展开聊一下:
C = 1(单通道概率)
表示每个 voxel 的被占概率,即该 voxel 被物体占据的概率;
输出经过 sigmoid 激活函数,将值映射到 0,1;
值越接近 1 → 越确定被物体占据;接近 0 → 自由空间。
# 示例:输出为 [B, 1, X, Y, Z],经过 sigmoid 得到概率
occupancy_logits = model(input)
occupancy_probs = torch.sigmoid(occupancy_logits)
C > 1(多通道分类概率)
每个 voxel 是一个多分类问题,比如:
通道 0:free
通道 1:occupied
通道 2:unknown 或 uncertain
输出经过 softmax,每个 voxel 的 3 个类别概率和为 1:
# 示例:输出为 [B, 3, X, Y, Z],对 C=3 维度做 softmax
occupancy_logits = model(input)
occupancy_probs = torch.softmax(occupancy_logits, dim=1)
# occupied 概率提取
occupied_prob = occupancy_probs[:, 1, ...]
也可以引入语义标签,将空间分为:
drivable(可通行区域);
static obstacle(建筑物、护栏);
unknown(不确定区域)。
四、总结
看下图有个感觉即可:

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
实时训练驾驶人工智能
恩智浦第三代雷达收发器助力高性能成像雷达规模量产,赋能L2+至L4级自动驾驶
特斯拉监督版FSD加入中国市场
ADI:传感技术助力未来自动驾驶的发展
2035年自动驾驶出租车市场规模将达1680亿美元
计算机科学与技术反思录(2)
76-81GHz自动驾驶CMOS RADAR
掘金自动驾驶,不要把大坑当机会
曲面显示屏取代传统汽车挡风玻璃
面向算法硬件加速的FPGA实现方法
携手ADI赢得未来
数字PID控制算法之一
采用Mean-Shift和Camshift算法相结合的火焰视频图像跟踪设计
简单实用的单片机CRC 快速算法
CRC算法原理及C语言实现
数字PID控制及其改进算法的应用
自动驾驶正推动汽车行业加速布局人形机器人
加快实现自动驾驶(完整小组讨论)
加密算法之MD5算法
目标跟踪算法在红外热成像跟踪技术上的应用
高阶智驾要落地,线控底盘为什么必须执行得准
[转帖]us/os就绪表的维护算法分析
PID算法
Ouster推出 Rev8 OS 激光雷达系列 原生彩色激光雷达正式落地
有关指纹算法
自动驾驶的现状与未来(节选)
vxwokrs下静态图像压缩算法(上)
求FSK信号的解调算法,主要是铁路上的移频信号!
无线传感器网络低功耗分簇路由算法设计
基于LPC2138的血压测量算法开发平台电路图