BEV感知这两年从论文里的概念一路杀进量产项目,成了智能驾驶感知栈里绕不开的一块拼图。我最早接触BEV是在一个泊车场景的预研项目里,当时团队想把环视鱼眼和超声波的数据统一到同一个空间表达下,试了各种后处理拼接方案都不理想,直到把视角切到鸟瞰图这个统一坐标系,很多原本拧巴的问题突然就顺了。这篇内容我想把从零入门BEV感知的完整学习路径拆开讲清楚,包括纯视觉方案和多传感器融合方案两条主线各自的技术脉络、关键模块、实操要点,以及我在实际项目里踩过的坑。不管你是刚进感知组的算法工程师,还是做传统视觉想转型BEV的开发者,或者是对自动驾驶感知感兴趣的学生,都能从这条路线里找到可以直接上手的切入点。BEV本身不是一个具体算法,而是一种空间表达范式,理解这一点,后面的学习才不会跑偏。
1. 先搞清楚BEV到底在解决什么问题
1.1 从“各自为战”到“统一坐标系”的视角转换
传统自动驾驶感知的做法是分而治之:前视相机做目标检测,侧视相机做车道线,毫米波雷达做距离测量,每个传感器在自己的坐标系里输出结果,最后靠后处理做融合。这套方案在量产车上跑了很多年,但它有个根本性的麻烦——每个传感器的视角和坐标系都不一样,融合的时候要做大量的坐标变换和时序对齐,误差会一层层累积。更头疼的是,当你想做跨摄像头的目标关联时,比如一个车从左边相机视野进入右边相机视野,你得先判断这两个检测框是不是同一个目标,这个判断在图像空间里做非常不可靠。
BEV的思路是把所有传感器的信息都投影到一个统一的鸟瞰图平面上,在这个平面里,每个像素代表真实世界地面上的一个固定尺寸区域,比如0.5米乘0.5米。这样一来,不管信息来自哪个相机、哪个雷达,最终都落在同一张“地图”上,融合就变成了在同一张图上的特征叠加,坐标变换的复杂度大幅下降。你可以把BEV理解成给自动驾驶车画一张实时更新的俯视地图,车自己在地图中心,周围的车、人、车道线、路沿都在图上标出来,后续的规划控制模块直接在这张图上做决策就行。
这个视角转换带来的好处是连锁性的。首先是多传感器融合变得自然,相机特征和雷达特征在同一个空间里可以直接拼接或者注意力交互;其次是时序融合变得简单,上一帧的BEV特征和当前帧的BEV特征在同一坐标系下可以直接做时序对齐;最后是下游任务变得统一,检测、分割、预测都可以共享同一个BEV特征图,不用每个任务单独维护一套空间表达。
1.2 BEV感知的三大核心任务与量产诉求
入门BEV,先要知道它主要用来干什么。量产项目里BEV感知通常承载三类任务:第一类是BEV目标检测,在鸟瞰图上框出车辆、行人、骑行者等动态目标,输出位置、尺寸、朝向和速度;第二类是BEV地图分割,把车道线、路沿、人行横道、停止线等静态元素在鸟瞰图上分割出来,形成局部语义地图;第三类是BEV occupancy预测,把空间划分为三维体素或者二维栅格,预测每个格子是否被占用,这对处理异形障碍物特别有用。
量产对BEV感知的诉求和学术评测不太一样。学术上追求在公开数据集上刷指标,量产上更看重几个实际维度:一是实时性,BEV特征图的分辨率和网络深度直接决定推理耗时,车上算力有限,得在精度和速度之间找平衡;二是鲁棒性,雨雾天气、夜间低照度、相机遮挡这些 corner case 下BEV输出不能崩;三是可解释性,出了问题要能定位是哪个相机、哪个模块的贡献出了偏差;四是数据闭环,BEV模型的训练依赖大量标注数据,量产项目得有高效的标注和回灌机制。理解这些诉求,你在学习BEV方案选型时就会有更明确的取舍标准,而不是盲目追最新的网络结构。
1.3 纯视觉与多传感器融合两条路线的分野
BEV感知按输入模态分两条主线。纯视觉路线只靠相机图像,通过几何投影或者网络学习的方式把图像特征抬升到BEV空间,代表思路有LSS系列的显式深度估计抬升、BEVFormer系列的查询式注意力抬升、以及基于MLP的隐式抬升。纯视觉的优势是硬件成本低、语义信息丰富,相机能识别颜色、文字、交通标志这些雷达给不了的信息;劣势是对深度估计的依赖强,单目深度本身有歧义,远距离和恶劣光照下容易失准。
多传感器融合路线在相机基础上引入激光雷达或者毫米波雷达,用雷达的精确测距来补相机的深度短板。融合的时机分前融合、特征融合和后融合:前融合在原始数据层做,比如把点云投影到图像上做颜色渲染;特征融合在BEV空间做,相机BEV特征和雷达BEV特征拼接或注意力交互;后融合在各传感器独立输出结果后做关联。量产上特征融合用得最多,因为它兼顾了精度和灵活性。入门阶段我建议先把纯视觉路线走通,理解BEV特征是怎么从图像抬升上来的,再去叠加雷达分支,这样你对每个模块的贡献会有清晰的感知,不会一上来就被融合的复杂度淹没。
2. 入门学习路线的阶段拆解
2.1 第一阶段:补齐几何与深度学习基础
BEV感知的门槛不在网络结构本身,而在它背后的几何直觉。你至少得把相机成像模型吃透:针孔相机模型里内参矩阵怎么定义、外参怎么描述相机相对车体的位姿、像素坐标到归一化坐标再到相机坐标最后到世界坐标的完整变换链。这个变换链是BEV投影的数学基础,LSS里的视锥点云生成、BEVFormer里的参考点投影,本质都是这条链的不同用法。我建议你拿一个简单的场景手推一遍:假设相机内参已知、外参已知、图像上一个像素点对应地面上的哪个位置,把公式写出来代进去算一遍,比看十篇博客都管用。
深度学习基础方面,重点补三块:卷积网络的特征提取(ResNet、EfficientNet这些骨干网络的结构差异)、Transformer的注意力机制(尤其是交叉注意力和可变形注意力,BEVFormer大量用到)、以及多任务学习的损失设计。注意力机制这块要理解清楚query、key、value的物理含义,在BEV里query通常对应BEV平面上的网格点,key和value对应图像特征,注意力权重反映的是每个BEV网格该从图像的哪些位置取信息。这个直觉建立起来,后面看BEVFormer的代码会顺畅很多。
2.2 第二阶段:吃透纯视觉BEV的三种抬升范式
纯视觉BEV的核心问题是:二维图像特征怎么变成三维或者鸟瞰图特征。目前主流有三种范式,我按学习难度从低到高排。
第一种是显式深度估计抬升,代表是LSS。它的思路很直白:对每个相机,预测每个像素的深度分布,然后把图像特征沿深度方向展开成一个视锥点云,每个点带上特征和深度概率,再通过外参把这些点投影到BEV平面上,最后做BEV网格的池化聚合。这个方案的优点是几何可解释性强,你能清楚看到每个BEV格子是由哪些像素贡献的;缺点是深度预测本身有误差,而且视锥点云数量大,池化操作耗时。入门我建议从LSS入手,把它的视锥生成、点云投影、BEV池化三个步骤的代码逐行读一遍,理解张量形状怎么变化。
第二种是查询式注意力抬升,代表是BEVFormer。它不显式预测深度,而是在BEV平面上初始化一组网格query,每个query通过可变形注意力去图像特征里采样,采样位置由query投影到各相机图像上的参考点决定。这个方案绕开了深度估计,靠网络自己学怎么采样,精度通常比LSS好,但训练更依赖数据量,而且可变形注意力的实现细节多,调试起来门槛高。学这个范式之前,务必先把可变形注意力的原理搞明白。
第三种是隐式MLP抬升,思路是用全连接层直接做图像特征到BEV特征的映射,不显式建模几何。这类方案结构简单、速度快,但几何一致性弱,通常用在算力受限的场景或者作为baseline。入门阶段了解即可,不用深挖。
2.3 第三阶段:叠加多传感器融合分支
纯视觉走通之后,往融合方向扩展。我建议的路径是先做雷达点云的BEV特征化,把毫米波雷达或者激光雷达的点云通过体素化或者柱状化(PointPillars那套思路)变成BEV特征图,然后和相机BEV特征做拼接或者注意力融合。融合模块的设计有几个关键决策:融合在哪个尺度做(单尺度还是多尺度)、用什么融合算子(concat、add、cross-attention)、时序信息怎么引入。量产上比较常见的做法是在BEV特征图上做多尺度融合,浅层特征融合细节、深层特征融合语义。
这个阶段还要重点学时序融合。单帧BEV感知在遮挡和远距离下容易漏检,引入历史帧的BEV特征能显著提升召回。常见做法是把上一帧的BEV特征按自车运动做空间对齐,然后和当前帧特征做通道拼接或者注意力融合。时序对齐的精度直接影响融合效果,自车位姿估计的误差会在这里放大,实际项目里这块要单独调。
2.4 第四阶段:从开源代码到量产落地的差距补齐
开源BEV方案和量产落地之间隔着不少工程工作。开源代码通常假设输入图像已经去畸变、对齐好、时间同步好,量产车上这些前提都得自己保证。你需要补的工程能力包括:多相机的时间硬同步和软同步、图像去畸变和在线标定、BEV特征图的分辨率与算力预算匹配、模型量化与部署优化、以及失效检测和降级策略。这些内容在论文里基本看不到,但决定了BEV方案能不能真正跑在车上。入门阶段不用全部掌握,但要有意识地去了解,避免学完开源代码到了项目里发现处处是坑。
3. 核心模块的细节拆解与实操要点
3.1 视锥点云生成:LSS抬升的第一步
LSS的视锥点云生成是整个纯视觉BEV链路里最需要几何直觉的一步。具体做法是:对每个相机的每个像素,沿相机坐标系下的深度方向均匀采样D个点,每个点有三维坐标,然后把这些点通过外参变换到自车坐标系,再投影到BEV平面。这里有个实操细节:深度采样范围要覆盖实际感知距离,比如近处1米到远处50米,采样点按深度均匀分布还是按对数分布,会影响近处和远处的分辨率分配。我实测下来,对数分布在远近兼顾上更均衡,因为近处深度变化快、远处深度变化慢,均匀采样会导致远处点太稀疏。
另一个关键点是视锥点云的数量控制。假设6个相机、每个相机特征图分辨率是H×W、深度采样D个点,那视锥点云总数就是6×H×W×D。如果H=W=32、D=60,那就是36万多点,每个点还要带特征维度,显存和计算压力都不小。实际项目里通常会把图像特征图降采样到较低分辨率再做抬升,或者用稀疏采样策略。这个取舍要在精度和速度之间做实验,没有一刀切的最优解。
注意:视锥点云投影到BEV平面后,会有多个点落在同一个BEV格子里,池化方式(求和、平均、最大)会影响特征分布。求和会让密集区域的特征幅值偏大,平均会稀释稀疏区域的特征,实际用的时候建议先试求和,再根据检测效果调整。
3.2 BEV网格与感受野的匹配设计
BEV特征图的分辨率选择是个容易被忽视但影响很大的决策。BEV网格的物理尺寸(每个格子代表多少米)决定了感知的空间精度:格子太大,小目标(行人、锥桶)在BEV上只占不到一个格子,检测会漏;格子太小,特征图尺寸暴涨,算力吃不消。量产上常见的配置是BEV范围覆盖自车周围前后各50米、左右各25米,网格分辨率在0.25米到0.5米之间。以0.5米为例,100米×50米的范围对应200×100的BEV特征图,这个尺寸对下游网络比较友好。
感受野的匹配是另一个细节。BEV网格上的每个点要聚合来自图像的特征,如果某个BEV格子对应的图像区域跨越了多个相机,融合逻辑要处理好边界。实际项目里相机之间的重叠区域是融合的重点也是难点,重叠区的特征要做加权或者注意力选择,避免简单拼接导致特征重复。我踩过的坑是早期没处理重叠区,导致重叠区域的目标检测置信度异常偏高,后来加了重叠区的特征归一化才解决。
3.3 可变形注意力的采样点偏移学习
BEVFormer里的可变形注意力是纯视觉BEV的精度关键。它的逻辑是:每个BEV query投影到各相机图像上得到一个参考点,然后在参考点周围学习一组采样偏移,从偏移后的位置取特征。这里的核心是偏移量由网络学习,网络会根据图像内容自己决定往哪个方向多看几眼。实操上要注意两点:一是参考点的投影要处理相机内外参的精度,外参标定误差会直接体现在参考点偏移上;二是采样偏移的学习需要足够的训练数据,数据量不足时偏移会学得比较随机,效果反而不如固定采样。
训练策略上,可变形注意力的偏移学习通常需要更长的预热期,学习率调度要配合。我试过在训练初期冻结偏移学习、只训其他部分,等特征提取稳定后再放开偏移学习,收敛更稳。另外,多尺度可变形注意力(在不同分辨率的特征图上采样)对远近目标的兼顾有帮助,但会增加计算量,量产上要权衡。
3.4 雷达分支的特征化与融合算子选择
雷达点云进BEV的常见做法是体素化:把点云划分成三维体素,每个体素内做特征聚合(点数、平均速度、反射强度等),然后沿高度方向压缩成BEV特征图。毫米波雷达点云稀疏,体素化后很多格子是空的,直接和相机BEV特征拼接会引入大量零值,稀释相机特征。实际做法是对雷达BEV特征做稀疏卷积或者用掩码注意力,只在有雷达点的位置做融合。
融合算子的选择上,concat最简单但参数量大,add最轻量但融合能力弱,cross-attention融合能力最强但计算开销大。量产上我见过比较多的是在浅层用concat、深层用attention的组合策略。融合的时机也值得琢磨:早融合(在特征提取早期就融合)能让雷达信息参与相机特征的学习,但雷达和相机的特征分布差异大,早融合容易互相干扰;晚融合(各自提取完BEV特征再融合)更稳,但融合深度不够。折中方案是在BEV特征提取的中段做融合,兼顾两者。
4. 实操过程:从零搭一个最小可跑的BEV检测链路
4.1 数据准备与坐标系定义
动手之前先把坐标系定清楚,这是后面所有变换的基础。我建议定义四个坐标系:图像坐标系(像素坐标)、相机坐标系(原点在光心,Z轴朝前)、自车坐标系(原点在后轴中心地面,X轴朝前,Y轴朝左,Z轴朝上)、BEV坐标系(原点在自车坐标系原点,X轴对应自车前方,Y轴对应自车左方,网格索引和物理坐标的映射关系要写死)。这四个坐标系之间的变换矩阵要提前算好,写成配置文件,后面代码里统一调用,避免到处手写变换导致混乱。
数据方面,入门阶段可以用公开数据集练手,重点确认三件事:相机内外参是否齐全、多相机图像是否时间同步、标注是否包含BEV视角下的目标框。如果标注只有图像视角的框,需要自己做投影转换,这个转换的精度会影响训练效果,建议先用少量数据验证转换逻辑正确再批量处理。
4.2 图像骨干网络与特征金字塔
骨干网络选型上,入门用ResNet-50就够了,它的特征提取能力足够验证链路通不通,而且预训练权重好找。特征金字塔(FPN)的作用是输出多尺度特征,浅层高分辨率特征保留细节、深层低分辨率特征保留语义,BEV抬升时通常用中等分辨率的特征图(比如原图的1/16或1/32)。这里有个实操建议:先把骨干网络单独跑通,确认输入图像经过骨干后输出的特征图尺寸和通道数符合预期,再往下接BEV模块,避免一上来全链路联调时定位不到问题。
特征图的通道数选择也要注意,通道太多会增加后续BEV抬升的计算量,通道太少特征表达能力不够。入门配置用256通道比较稳妥,量产上会根据算力预算调整到128或更少。
4.3 BEV抬升模块的实现与张量形状追踪
以LSS思路为例,抬升模块的实现分三步。第一步,对每个相机的特征图做1×1卷积,输出通道数为“特征维度+深度 bins数”,然后split成特征和深度分布两部分,深度分布过softmax归一化。第二步,生成视锥点云:预定义每个像素对应的D个深度值,结合相机内参算出相机坐标系下的三维点,再用外参变换到自车坐标系,最后投影到BEV平面得到每个点的BEV网格索引。第三步,做BEV池化:把视锥点云的特征按BEV网格索引做累加,同时统计每个格子的点数做归一化。
这三步的张量形状变化要盯紧。假设batch=2、6相机、特征图32×32、特征维度64、深度bins=60,那第一步输出形状是(2, 6, 64+60, 32, 32),split后特征(2, 6, 64, 32, 32)、深度(2, 6, 60, 32, 32)。第二步视锥点云形状是(2, 6, 60, 32, 32, 3),展平后是(2, 6×60×32×32, 3)。第三步池化后BEV特征形状是(2, 64, 200, 100)。每一步形状对不上就停下来查,别硬跑,形状错误往往意味着几何逻辑有bug。
4.4 检测头与损失函数配置
BEV特征出来之后接检测头。入门阶段用简单的anchor-free检测头就行,在BEV特征图上每个位置预测目标类别、中心点偏移、尺寸、朝向。损失函数用focal loss做分类、L1 loss做回归,朝向预测用sine/cosine编码避免角度周期性跳变。这里有个容易忽略的点:BEV视角下目标的尺寸和朝向分布与图像视角差异很大,anchor的尺寸设计或者回归目标的归一化方式要重新统计,不能直接套用图像检测的经验。
训练时先用小学习率预热,观察分类损失和回归损失的下降曲线。如果分类损失降但回归损失不降,通常是回归目标的尺度没归一化好;如果两个都不降,检查BEV特征是不是全零或者数值异常,常见原因是视锥点云投影后大部分点落在BEV范围外,池化后特征稀疏。
4.5 训练调参与收敛判断
训练调参上,batch size在显存允许下尽量大,BEV模型的batch size对收敛稳定性影响明显。学习率用余弦退火配合 warmup,warmup步数占总步数的5%到10%。数据增强方面,图像侧的随机裁剪、颜色抖动可以用,但要注意裁剪后相机内参要同步更新,否则BEV投影会错位。BEV侧的增强比如随机旋转、平移,要同步变换标注,这块容易出bug,建议增强逻辑单独写单元测试。
收敛判断不能只看总损失,要分模块看:分类损失收敛到多少、回归损失收敛到多少、验证集上的BEV检测mAP是多少。我习惯在训练中期每隔几个epoch做一次可视化,把BEV检测结果画在鸟瞰图上和真值对比,肉眼能发现很多指标看不出来的问题,比如朝向系统性偏转、远距离目标漏检。
5. 常见问题与排查技巧实录
5.1 投影错位类问题的定位思路
BEV项目里最高频的问题就是投影错位:图像上的目标投影到BEV后位置偏了。排查这类问题我有一套固定流程。先查标定参数,内参的焦距和主点是否和实际图像分辨率匹配,外参的旋转平移是否符合坐标系定义,这一步用已知位置的标定板验证最直接。再查坐标变换顺序,从像素到相机到自车到BEV的变换矩阵乘法顺序不能错,矩阵是左乘还是右乘、是点乘还是矩阵乘,写代码时容易混。最后查图像预处理,去畸变、裁剪、缩放这些操作有没有同步更新内参,很多错位是预处理改了图像但没改内参导致的。
提示:投影错位排查时,建议在图像上画几个已知世界坐标的标记点(比如地面上的锥桶),看它们投影到BEV后是否落在预期位置,这比看检测结果更直接。
5.2 特征稀疏与检测漏检的成因分析
BEV特征稀疏表现为特征图上大量零值或者低幅值,导致远距离和小目标漏检。成因通常有三个:一是视锥点云投影后落在BEV范围外的比例太高,检查深度采样范围和BEV范围是否匹配;二是池化时归一化方式不当,求和池化在稀疏区域幅值太低,可以改成平均池化或者加一个可学习的归一化;三是相机重叠区处理不当,重叠区的特征被重复计算或者被覆盖。针对远距离漏检,可以单独对远距离BEV区域做特征增强,比如在损失函数里给远距离目标更高权重,或者在BEV特征图上做多尺度融合。
5.3 时序融合引入的拖影与对齐误差
时序融合用不好会引入拖影:运动目标在BEV上出现重影或者拖尾。根因是历史帧BEV特征按自车运动对齐时,只补偿了自车运动,没补偿目标自身运动。解决思路有两种:一是缩短时序融合的帧间隔,减少目标位移;二是在融合时引入目标运动估计,对历史特征做目标级的对齐。实际项目里前者更常用,因为后者复杂度高。另外,自车位姿估计的误差会直接体现在对齐上,位姿估计的抖动会导致BEV特征整体偏移,这块要和定位模块联合调试。
5.4 常见问题速查表
| 问题现象 | 可能原因 | 排查方向 | 解决思路 |
|---|---|---|---|
| BEV目标位置整体偏移 | 外参标定误差或坐标系定义不一致 | 用标定板验证外参,检查变换矩阵顺序 | 重新标定,统一坐标系定义 |
| 远距离目标漏检严重 | 深度采样范围不足或BEV分辨率太低 | 检查深度采样上限和BEV网格尺寸 | 扩大采样范围,提高BEV分辨率 |
| 重叠区目标置信度异常高 | 重叠区特征重复计算 | 可视化重叠区特征幅值 | 重叠区特征归一化或加权融合 |
| 训练损失不下降 | BEV特征全零或数值异常 | 检查视锥点云投影后BEV范围内的点数 | 调整投影范围,检查池化逻辑 |
| 时序融合出现拖影 | 目标运动未补偿或位姿抖动 | 对比单帧和时序融合的检测结果 | 缩短融合间隔,联合调试定位 |
| 朝向预测系统性偏转 | 朝向编码或回归目标定义有误 | 检查sine/cosine编码和角度范围 | 修正编码方式,重新统计朝向分布 |
5.5 几个容易被忽视的实操心得
第一个心得是先可视化再调参。BEV项目里很多问题靠看损失曲线看不出来,把BEV特征图、检测结果、投影点云画出来,问题往往一目了然。我习惯在训练脚本里加一个可视化回调,每隔固定步数存一张BEV结果图,训练完回看这些图能发现很多规律。
第二个心得是模块化验证。BEV链路长,从图像到骨干到抬升到检测头,任何一环出错都会影响最终结果。我的做法是每个模块单独写测试:骨干网络验证输出形状,抬升模块验证投影点的BEV索引是否落在合理范围,检测头验证在合成数据上能否过拟合。模块级测试通过后再联调,定位问题的效率高很多。
第三个心得是数据质量比模型结构更重要。BEV模型的精度上限很大程度由标注质量决定,尤其是BEV视角下的目标框标注,标注员在鸟瞰图上标框的难度比图像视角高,标注一致性容易出问题。实际项目里要建立标注质检机制,定期抽样复核,别等模型训不出来才怀疑数据。
第四个心得是算力预算要提前算。BEV特征图的分辨率、骨干网络的深度、融合模块的复杂度,这三者共同决定推理耗时。入门阶段可以不管,但往量产方向走之前,一定要在目标硬件上做一次完整的耗时profile,把每个模块的耗时拆开看,找出瓶颈再针对性优化。我见过不少方案在服务器上精度很好,到了车端算力不够只能砍模块,精度掉得厉害。
6. 学习资源与进阶方向
6.1 按阶段匹配的学习材料类型
入门阶段我建议以开源代码加论文精读为主。纯视觉BEV先把LSS和BEVFormer的论文读透,配合开源实现逐行看代码,重点看数据流和张量形状。论文里的公式要自己推一遍,尤其是投影变换和注意力计算部分。融合方向再补PointPillars和典型的融合BEV论文,理解雷达特征怎么进BEV。这个阶段不要贪多,把一个方案的代码吃透比泛读十个方案更有价值。
进阶阶段转向工程实践和问题驱动。找一些BEV相关的技术分享或者工程复盘类内容,重点看别人怎么解决投影错位、时序对齐、部署优化这些实际问题。这个阶段的学习材料不一定是论文,工程博客和技术分享往往更有针对性。同时开始在自己的数据上复现方案,复现过程中遇到的问题才是真正让你进步的东西。
6.2 从入门到量产的技能补齐清单
从能跑通开源代码到能参与量产项目,中间要补的技能我列个清单供参考。标定与同步方面,要理解相机内外参标定的原理和流程、多传感器时间同步的机制;部署优化方面,要了解模型量化、算子融合、推理引擎的基本用法;数据闭环方面,要理解标注流程、数据回灌、badcase挖掘的基本方法;系统设计方面,要理解BEV感知在整体感知栈里的位置、和下游规划控制的接口定义。这些技能不需要入门阶段就掌握,但要有意识地逐步补齐,避免只懂算法不懂工程。
6.3 后续可以深入的方向
BEV感知本身还在快速演进,几个值得关注的方向:一是无参标定的BEV,减少对精确标定的依赖,提升系统鲁棒性;二是端到端BEV感知与预测规划联合优化,把BEV特征直接喂给下游任务,减少中间信息损失;三是occupancy与BEV的融合,用occupancy补BEV在异形障碍物上的短板;四是时序建模的深化,从简单的特征拼接走向更精细的运动建模。这些方向入门阶段了解即可,等基础扎实了再选一个深入。
我在实际项目里的体会是,BEV感知的学习曲线前期陡后期平,最难的是建立几何直觉和打通第一条链路,一旦跑通一个最小方案,后面的扩展都是在这个框架上做加法。踩过的坑主要集中在投影和时序这两块,而这两块恰恰是论文里讲得最少、工程里最要命的部分。所以如果你正在入门,别急着追最新的网络结构,先把一条最简单的链路从头到尾跑通、把每个坐标变换搞清楚,这个基础打牢了,后面学什么方案都快。