
信息利用率高:相对于单目算法,BEV感知能够有效利用环视相机提供的多视角信息;
模型拓展性强:在输入模态上支持点云,在输出任务上并行支持目标检测、语义地图、运动预测等关键任务;
算法复杂度低:算法能够并行处理多张环视图像、端到端输出三维空间下的检测结果,无需复杂的后融合。

BEVDet,智驾感知新范式
BEVDet可实现在芯片上的高效部署。遵循模块化设计理念,包含图像编码、视角变换、鸟瞰视角编码、3D目标预测四大模块。四大模块均无需做特殊代码处理,极大简化算法在芯片平台的部署效率。在相同的推理精度下,BEVDet算法推理速度达到同类算法的4到15倍,显存占用比同类算法少两个数量级。

BEVerse,面向视觉中心化的大感知统一框架
BEVerse通过一个模型高效实现4D感知、实时局部地图、运动预测等自动驾驶关键模块,在nuScenes上同时取得三个任务上的最优性能。

面向征程5的BEV算法优化
面向征程5,我们对BEV算法进行了针对性优化:
针对Image-view Encoder的优化,参考地平线VargNet模型结构做优化,实现计算量压缩;
针对View Transformer的优化,利用BEVPoolV2方式对计算流程和显存占用进行优化;同时考虑相机畸变,节省资源占用;
图像空间辅助loss,提升 BEV 空间的感知效果。

征程5支持 QAT 量化训练和 PTQ 后量化两种方式,鉴智机器人主要采用 QAT 方式。具体部署流程包括浮点模型训练、量化模型训练、编译和部署四步。浮点模型训练中,因鉴智机器人BEV算法无太多特殊计算单元,部署中无需做算子替换,极大提升了部署效率。

在征程5,我们基于FX Graph Mode实现QAT训练,通过这种方式可以节省如算子融合、插入量化节点等诸多工作,整体流程无需大量代码开发,通过模型转换即可实现部署成果。

为了提升模型在征程5的感知效果和性能,我们针对模型的预处理、模型结构、模型后处理也分别做了一些尝试,以下是我们的一些经验:
预处理:输入归一化,尽可能使用mean=128,std=1/128这样的参数;
backbone:参考EfficientNet,VargNet的结构;
head:针对难度不同的任务,自动调整loss weight,确保任务稳定性;
后处理:能放在bpu算的算子尽可能放在bpu上;模型最后的sigmoid算子可以去除;调整后处理顺序,避免对稠密的输出做后处理等。

了解感知技术细节,请关注「面向征程 5 的自动驾驶感知算法研发和实践」直播实录:
PhiGent Sharing






