一句话理解 BEV

BEV = 把多个摄像头的画面,统一"摊平"成一张俯视的鸟瞰图,让车在上帝视角下感知世界。

BEV(Bird’s Eye View,鸟瞰图)感知是过去几年自动驾驶视觉感知最重要的一次范式跃迁。它不再让每个摄像头各自为政地在 2D 图像上画框,而是把所有视角的图像特征"重投影"到一个统一的、以自车为中心的 3D/俯视空间里,在那里做检测、分割、预测。

理解 BEV 的关键在于它解决了一个根本矛盾:图像是透视的(近大远小、有遮挡),而驾驶决策需要的是度量空间(哪里有车、多远、多宽)。BEV 就是连接这两者的那座桥。


🚗 什么是 BEV,为什么自动驾驶需要它

什么是鸟瞰图

鸟瞰图就是从正上方往下看得到的俯视投影,类似于你在实时地图 App 里看到的"车辆位置示意图"。在自动驾驶里,BEV 通常是一个以自车为中心、覆盖周边几十米范围的栅格化网格(比如 200×200 个格子,每格 0.5 米),每个格子上挂一个特征向量。

为什么必须切换到 BEV 视角

早期的多摄像头感知是**“各自检测、后融合”**:每个相机独立跑一个 2D 检测器,再用后处理把跨相机的框拼起来。这种做法有一堆硬伤:

痛点后融合 2D 检测的问题BEV 的解决方式
跨相机拼接难同一辆车被前后两个相机看到,难以判断"是同一辆"还是"两辆"在统一 BEV 空间里自然重叠、天然去重
缺乏深度/距离2D 框没有真实距离,需要额外估计深度BEV 网格本身就是度量空间,自带坐标
无法表达 3D框只有 (x,y,w,h),没有朝向、高度BEV 上可直接输出 3D 框(位置+朝向+尺寸)
时序融合困难在图像空间对齐多帧几乎不可能BEV 空间下多帧只需做平移/旋转对齐
下游不好用规划、地图模块要自己再做一遍坐标变换BEV 特征可直接喂给下游所有任务

一句话总结:BEV 把感知从"看图说话"升级成"看地图办事",所有下游任务(检测、跟踪、建图、预测、规划)都能在同一个统一的度量空间里协同工作。这也是 UniAD、VAD 等端到端框架都把 BEV 特征作为统一中间表示的根本原因。


🔄 从 2D 图像到 3D BEV:两条主流路线

核心难题是:图像是 2D 的、透视的,怎么把它"变"成 3D 的 BEV? 这一步通常被称为 View Transformation(视角变换)。目前有两大流派。

路线一:LSS(Lift-Splat-Shoot)—— 显式几何投影

LSS(Philion & Fidler, ECCV 2020)是 BEV 感知的开山之作,思路非常直观,分三步:

  1. Lift(提升):对每个像素,预测一个深度分布(这个像素的物体可能在哪些深度上),把 2D 像素特征"拉升"成带深度的 3D 特征(实际是沿着相机射线的一组特征点)。
  2. Splat(洒落):用已知的相机内外参,把这些 3D 特征点投影(点云化)到 BEV 网格上做累积(类似 PointPillars 的池化),得到 BEV 特征图。
  3. Shoot(发射):在 BEV 特征图上跑常规的 2D 检测头(如 CenterPoint),输出 3D 检测框。

关键点:LSS 的"魔法"在于第一步——深度是隐式预测的。网络不用显式监督深度,但为了下游检测效果好,它自己学会了把每个像素放到正确的深度。后来 BEVDepth 发现,显式加一个深度监督(用 LiDAR 点云当深度 GT)能让效果大幅提升,这就是 BEVDepth 的核心贡献。

优点:几何关系清晰,可解释性强,容易扩展到多任务;缺点:深度预测不准会拖累整体,BEV 网格大时显存占用高。

路线二:BEVFormer —— Transformer 注意力采样

BEVFormer(Li et al., ECCV 2022)走了完全不同的路:不显式建栅格,而是用可学习的注意力去"查询"图像特征

核心机制:

  • BEV Queries:在 BEV 平面上初始化一组可学习的网格 query(比如 H×W 个),每个 query 代表 BEV 空间的一个位置。
  • 空间交叉注意力(Spatial Cross-Attention, SCA):每个 BEV query 把自己(通过参考点)投影回各个相机图像上,去采样对应位置的特征。这相当于"逆向查询"——BEV 上的点主动去图像里找答案。
  • 时间自注意力(Temporal Self-Attention, TSA):BEV query 还和历史帧的 BEV 特征做注意力,实现时序融合(这是 BEVFormer 的一个亮点)。

关键点:BEVFormer 不需要显式预测深度,而是用注意力机制让网络自己学会"从哪个像素、哪个深度采样"。它借助 Deformable Attention 把计算量压下来,做到可训练。

优点:精度高,时序融合自然,扩展性强;缺点:训练更难、更慢,对参数敏感,工程上不如 LSS 系直观。


⚔️ 多摄像头 BEV 融合:三大技术路线对比

随着 LSS 和 BEVFormer 奠定基础,后续工作迅速分化成三大阵营。理解它们的差异,是看懂 BEV 感知论文的关键。

维度LSS 派(显式几何)Transformer 派(注意力查询)稀疏 Query 派(DETR3D 系)
代表工作LSS, BEVDet, BEVDepth, BEVStitchedBEVFormer, PolarDETR, PETR/BEVFormer v2DETR3D, Sparse4D, Far3D
视角变换核心预测深度 → 投影洒落到密集 BEV 网格BEV query 反向采样图像特征一组稀疏 3D object query 直接采样图像
是否建密集 BEV是(稠密网格)是(稠密 BEV query)否(只在目标位置算)
深度建模显式(可监督)隐式(注意力自学)隐式(位置编码 PE)
时序融合后加(BEVDet4D 拼接历史 BEV)原生支持(TSA)原生支持(query 携带历史)
精度中高(加深度监督后高)高(尤其长距离)
速度/显存显存吃紧(网格大)中等最省(稀疏,可扩远距离)
可解释性强(几何清晰)
适合任务检测、占用、分割皆可多任务统一检测为主,规划友好

三大派系要点解读

  • LSS 派的精髓是"几何 + 深度"。BEVDet 第一个把 LSS 工程化跑通完整检测 pipeline;BEVDepth 加上显式深度监督,把 nuScenes 上的精度刷上一个台阶,成为工业界最爱用的基线之一。它们的劣势是密集 BEV 网格在远距离或大范围时显存爆炸

  • Transformer 派的精髓是"端到端学习 + 时序"。BEVFormer 用注意力摆脱了对显式深度的依赖,且时序融合优雅,是研究界和部分车企(如 Tesla FSD 的早期方案思想接近)的选择。代价是训练慢、调参难

  • 稀疏 Query 派的精髓是"只算有用的地方"。DETR3D 开创性地用一组 3D object query 直接采样图像特征,不建密集 BEV,省算力、好扩远距离。Sparse4D(v1/v2/v3)进一步把稀疏做到极致,加入多层特征、时序、多任务,成为端到端框架(如 Sparse4D 配合规划)的宠儿。

💡 趋势判断:随着端到端和远距离感知的需求上升,稀疏 Query 派正在崛起——它和下游规划任务的 query 接口天然契合,显存友好,是当前最被看好的方向之一。


⏳ 时序融合:让 BEV 感知更稳定

单帧 BEV 有个老问题:速度估计难、遮挡物体"突然出现"、小目标抖动。解决方案是时序融合——把多帧 BEV 信息对齐后聚合。

为什么要时序融合

  • 估速度:单帧只能看到"车在哪",多帧才能算出"车往哪开、多快"。
  • 补遮挡:上一帧能看到的车,这一帧被别的车挡住了,时序能让它"不丢"。
  • 稳输出:多帧平均能让检测框不抖,提升下游规划稳定性。

主流时序融合方法

方法代表工作思路特点
BEV 特征拼接BEVDet4D把历史帧 BEV 按自车运动平移旋转对齐到当前帧,拼接后送检测头简单直接,LSS 系常用
时间自注意力BEVFormer当前 BEV query 与对齐后的历史 BEV 做 Deformable Attention学习能力强,效果好
Query 时序传播Sparse4D, StreamPETRobject query 跨帧传播,携带目标的"身份与历史"稀疏高效,天然做跟踪
递归/记忆机制BEVFormer+memory维护一个 BEV 记忆库,每帧更新长时序,但调参复杂

关键技巧:无论哪种方法,自车位姿对齐(ego-motion alignment)都是前提——必须把历史帧的 BEV 按自车的平移和旋转"挪"到当前坐标系,否则多帧叠在一起就是一团乱麻。


🔗 BEV 在端到端中的角色

BEV 不只是感知的输出,更是现代端到端自动驾驶的统一中间表示。理解 BEV,才能看懂 UniAD、VAD 这些端到端框架为什么这么设计。

BEV 特征为什么是端到端的"黄金接口"

  • 统一空间:感知、预测、规划都在同一个 BEV 度量空间里,无需反复坐标变换。
  • 梯度贯通:规划 loss 能一路反传到 BEV 特征乃至图像 backbone,感知被迫为规划服务
  • 多任务共享:一张 BEV 特征图,同时供检测、建图、占用、预测、规划使用,省算力。

VAD / UniAD 如何用 BEV

框架BEV 的角色关键设计
UniAD密集 BEV 特征作为所有任务的共享底座track query 在 BEV 上做跟踪 → 运动 → 占用 → 规划,任务级串联
VAD向量化 BEV(车道线、agent 用矢量而非栅格)替代密集 BEV大幅降算力,2~4 倍加速,更易上车
SparseDrive进一步全程稀疏,放弃密集 BEV稀疏 query 贯穿检测/预测/规划,效率最高

演进脉络:从 密集 BEV(UniAD)向量化 BEV(VAD)稀疏 Query(SparseDrive),端到端在 BEV 这一层上不断瘦身,本质是在**“空间分辨率"和"计算效率"之间找平衡**。


🏆 代表性工作一览

下面这张表把核心 BEV 感知工作按流派和贡献梳理清楚,方便查阅:

工作流派核心贡献
LSS(2020)LSS 派开山提出 Lift-Splat 框架,首次把多相机图像转成 BEV,奠定几何投影路线
BEVDet(2021)LSS 派工程化第一个把 LSS 跑通为完整 3D 检测 pipeline,验证可行性
BEVDepth(2022)LSS 派 + 深度监督显式加 LiDAR 深度监督,精度大幅提升,成工业基线
BEVFormer(2022)Transformer 派用 Spatial/Temporal Attention 做 BEV,原生时序,精度 SOTA
DETR3D(2021)稀疏 Query 先驱用 3D object query 采样图像,跳过密集 BEV
PETR / PETRv2(2022)Transformer 变体用 3D 位置编码(PE)替代交叉注意力投影,简洁高效
Sparse4D v1/v2/v3(2023-24)稀疏 Query 集大成多层特征 + 时序 + 多任务,稀疏高效,端到端友好
BEVStitched / SOLOFusionLSS 派长时序长时序融合,提升远距离与遮挡场景表现
Far3D(2023)稀疏 Query 远距离专门针对远距离检测优化

🛠️ 工程挑战:把 BEV 真正搬上车

BEV 在论文里很美,但上车要过几道硬关。

挑战一:内存/显存占用

密集 BEV 网格(比如 200×200×80 通道)加上多相机、多尺度、时序缓存,显存动辄几十 GB,车端芯片(Orin 等)很难承受。

解法:稀疏 Query(Sparse4D)、向量化表示(VAD)、降网格分辨率、混合精度、BEV 特征量化压缩、按需时序缓存(只存少量关键帧)。

挑战二:实时性

BEV 感知要求 10Hz 以上(<100ms),但 Transformer 注意力和多相机特征提取都极其耗算力。

解法Deformable Attention 把注意力局部化、TensorRT 部署优化、模型蒸馏(大 BEV 老师蒸馏小 BEV 学生)、量化(INT8)、算子融合、削减历史帧数量。

挑战三:多传感器融合

纯视觉 BEV 在恶劣天气、夜间、远距离上不如 LiDAR,如何把 LiDAR/雷达和视觉 BEV 融合是上车刚需。

融合层级做法特点
结果级融合各传感器各自出 BEV,再做后处理拼接简单但损失信息
特征级融合把 LiDAR BEV 特征和视觉 BEV 特征拼接/相加主流,效果好
早期/点级融合把图像特征贴到 LiDAR 点上再聚合信息最全,计算重

代表工作如 BEVFusion(MIT/清华),就是把视觉 BEV 和 LiDAR BEV 在特征层对齐融合,做到"1+1>2”。

挑战四:标注成本

BEV 的 3D 标注(尤其跨相机一致的 3D 框、占用网格)极其昂贵。

解法:用 LiDAR 自动标注再迁移到纯视觉、弱监督/半监督、合成数据(世界模型生成场景并自动出标注)。


✅ 小结

BEV 感知是现代自动驾驶视觉感知的基石,它把"多相机各自为战"变成了"统一俯视视角协同作战"。记住三条主线:

  1. 视角变换是核心:两大流派——LSS(显式几何 + 深度)BEVFormer(注意力查询),外加崛起的 稀疏 Query(DETR3D/Sparse4D)
  2. 时序融合是关键:BEVDet4D 拼接、BEVFormer 时间注意力、Sparse4D 的 query 传播,都是为了让感知更稳、更快、更抗遮挡
  3. BEV 是端到端的黄金接口:从 UniAD 的密集 BEV,到 VAD 的向量化,再到 SparseDrive 的全稀疏,BEV 这一层在不断瘦身,推动端到端走向可上车。

一句话点题:BEV 之于自动驾驶,就像"统一坐标系"之于多模块协作——没有它,一切都是散装的。


💡 这是「知识点拆解」系列的一篇。理解了 BEV,再回头看端到端(UniAD/VAD/SparseDrive)和世界模型,你会顺畅很多。下期见。