BEV感知模型实用的一些经验

作者 | Captain Jack  编辑 | CVer

原文链接:https://zhuanlan.zhihu.com/p/596524036

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【BEV感知】技术交流群

后台回复【3D检测综述】获取最新基于点云/BEV/图像的3D检测综述!

目前实用 BEV 的技术方案已经有大概半年时间了,多个 BEV 模型都在不同项目做了实际部署,可以在这些工作的基础上做一些经验总结了。

内容其实是断断续续写的,因为新冠的脑雾在我身上可感知的大概持续了半个月。

BEV 带来的优势:

1. 实际的运行性能提升

虽然这个看起来比较反直觉。但是实际上性能反而比 2D 任务更好,而且还能保持基本对标甚至更好的指标。同样的两个任务,我们使用更少的算力(1/3 不到),由单相机扩展到 6相机,依然保持了实时运行。在测试指标上,基本保持了一致。当然,我们的 BEV 感知范围减少了侧向和后向的范围。

相比传统的方案,主要的提升来源:

  1. 整个 Pipeline 处理更加简单和一致,相比一些传统的方案,代码量降低了很多,在工程方向上,这个极大的一个优点。越少的代码,代表越少的bug,越低的维护成本。

  2. 由于没有了 infer 后的一些额外后处理工作带来的指标降低,模型结构可以进一步简化,不用在模型这里去补偿。

  3. Multi-scale 的融合集中在模型内部。

  4. 在 BEV 的统一框架下,我们可以将多个任务融合在一个模型中统一处理。

2. 稳定性提升

这个无需怀疑,我们的经验和之前 Tesla AI day 上的一些宣传是一致的:

  • 模型预测正确的情况下,车道线的内外八、大幅度的抖动基本不会出现。单单这一点,已经解决了非常多的问题。

  • 从上一点引申出来,之前的很多问题都可以很容易的归约到一个问题上:更多的数据。看起来很粗暴,但是这是数据驱动的前置条件,不满足这个条件,就不用谈什么数据驱动。

3. 多目模型无盲区

在使用多目的 BEV 模型后,车身周边的障碍物感知是提升显著的。由于多个原因,评测集合中的车身侧后的 GT 是有盲区的,模型都可以正常检测。目标在切换不同相机感知范围时,在我们自己的测试集上看,很少有跳变。

4. 功能扩展难度降低

由于这一框架更加稳定,通用,功能扩展基本都可以在 head 上简单增加内容。比如 Tracking Embedding 的功能,代码 + 验证训练,仅仅需要 3 天,实际上绝大部分时间都在训练上。

问题:

1. 硬件支持

主要的来源是算子限制。最近一年中,BEV 的论文,百家齐放。但是落实到我们使用的 AI 加速器上,大部分都不支持。即使勉强支持,性能也不行。我们最终还是切换到 MLP 的方案上实现上车运行。

2. 信息丢失

2D -> 3D 的转换模块带来的信息损失,带来的直接问题就是远距离、小目标的检测不理想。不过由于目前阶段的感知范围相对比较小,还没有要求到100m开外,所以整体上表现还不明显。但是这个问题可能依然是未来必须要面对的问题,我这里有一部分的工作也在尝试缓解这个问题。

3. 数据需求

  1. 数据量需求较大:

    由于2D -> 3D 的部分我们使用的是 MLP,非常容易过拟合。

    视觉上 3D 本身的 augmentation 很难做,而且对于硬件标定有依赖。

  2. 生成难度也较大:目前阶段还大量使用激光来辅助数据生成,但是这样的方案由于传感器的原因,在未来是没法扩展的。这也是目前阶段我们在尝试考虑的一个问题。

  3. 随着多目任务的引入,带来了一个很难避免的问题:模型和相机的布置基本处于一个硬绑定的状态。对于普通的公司,必须面对这个问题:怎么样可以用尽量少的数据、更快的适配新的车型。在我看来这是一个体系化的解决方案,数据、硬件、算法、工程,都需要针对这一问题作出适应。

  4. 目前来看,特斯拉的 4D 标注在静态元素上确实是一个比较符合逻辑的方案,成本和效率都比较高(当然也会有一些问题)。但是动态元素上的工作,我们还在考虑。

挑战:

1. 感知面对战争迷雾的挑战

当然这个和 BEV 本身并没有直接关系。但是感知模块即使做到完美也存在盲区、遮挡、极限范围外的问题。所以,如何更好的处理不确定性,增加容错度是依然需要面对的问题。

我自己爱说的一句:感知做到最后都是预测。一旦涉及到预测,就引入了不确定性和概率。如何利用模型来应对这个问题,应该是未来工作内容的一个重点。

2. 新的 2D -> 3D 转换模块的探索

在学界,已经有很多方案。主要方向:利用投影、Transformer 及其变体、直接的MLP。

目前从应用角度来看,都还有或多或少的缺陷。怎样实用化一个新的转换模块,也是需要考虑的。公司内部也有其他的 team 做了一些探索性的工作,提供了一些情报支持,我们自己也在开展下一代转换模块的选型和试验。

从我个人的角度来看,逐渐的减少先验限制才可能会有更好的结果。当然,从工业界研发来看,要把握好时机和程度,做好平衡。

3. 数据量的提升

BEV 方案相对来说是比较吃数据的。当然,也没有夸张到是数据怪兽,非特斯拉的数据量不行,正常的公司慢慢迭代稳定后,是可以达到一个基准线的。

本身引入 3D 空间后,augmentation 变得很难,尤其是多相机相互之间的关系让这个问题更加复杂。最可靠的方法反而是:堆更多的数据。

往期回顾

All in One | UniAD:一种包含全栈自动驾驶算法的统一架构设计

ba53f8a46b5ed08c263e7e4bfd13e06d.png

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、硬件配置、AI求职交流等方向;

5e40e83c7eb56875ce40408c63e4806f.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值