BEV 3D 转换模块的动静态任务特性与选择
Link:
从之前工作中的总结的一些经验扩展:
Captain Jack:BEV 感知模型实用的一些经验我们在实际使用中,发现不同的感知任务对 BEV 的 3D 转换特性可能有不同的需求,这些差异化的需求,在学界角度可能并不需要考虑。但是在实际工程使用中,可以成为一个 trade off 的因素。
首先,我们需要将任务区分为两类:
- 静态任务(ST):大部分情况下 2D -> 3D 关系不会有变化的任务,比如:所有的路面静态元素的检测(车道线、路沿、停止线、标识等等)。
- 动态任务(DT):与静态不同,每个像素与 3D 空间的位置会发生变化的任务,具体的:所有的动态障碍物检测(车辆的随着 3D 空间的位置的变化,会带来 2D 像素位置的变化,无法形成 u,v 像素一定是 x, y, z 的固定关系)
对应的,我们也可以将 3D 转换模块区分为两类:
- 静态模块(SM):IPM、MLP,固定映射关系的权重。
- 动态模块(DM):Attention 大类的基本都属于这个(Transformer, LSS, Deformed Atten 等等),可以动态调整映射关系。
从我们的经验上看:
- DM 的表达能力比较强,可以同时支持 ST 和 DT 任务,但是,训练技巧上要求相对高一点,目前部署上可能存在阻力。
- SM 一般实现简单、速度较快,对于 ST 有更好的支持能力。(经验来看,静态模块在静态任务上的指标可以轻松超过动态模块,训练难度也低不少
- 相似条件下,在动态任务上,DM 的指标还是更有优势。(但是,经验上,百万数据量下,SM 虽然有一定劣势,但是并没有到完全拉开的 gap)
所以,在实际工程工作中,如何选择和取舍是有比较大的空间的。比如:
- 纯静态任务,完全可以不用 Transformer, LSS 这些 fancy 的结构。甚至简单的featmap IPM 就可以取得不错的结果。
- 多任务的情况下,根据实际的数据量、指标需求、性能要求,可以灵活组合不同的转换模块。
对于不同转换模块的量化对比,也可以参考这篇:
Simple-BEV: What Really Matters for Multi-Sensor BEV Perception?