热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

点击下方卡片,关注“CVer”公众号AICV重磅干货,第一时间送达点击进入—自动驾驶微信技术交流群作者:CaptainJack|

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>自动驾驶微信技术交流群

作者:Captain Jack | (源:知乎)编辑:CVer

https://zhuanlan.zhihu.com/p/596524036

目前实用 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 变得很难,尤其是多相机相互之间的关系让这个问题更加复杂。最可靠的方法反而是:堆更多的数据。

点击进入—>CV微信技术交流群

CVPR/ECCV 2022论文和代码下载

后台回复:CVPR2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:ECCV2022,即可下载ECCV 2022论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

自动驾驶 交流群成立
扫描下方二维码,或者添加微信:CVer222,即可添加CVer小助手微信,便可申请加入CVer-自动驾驶 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如自动驾驶+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲扫码或加微信号: CVer222,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!▲扫码进群
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 前言:拿到一个案例,去分析:它该是做分类还是做回归,哪部分该做分类,哪部分该做回归,哪部分该做优化,它们的目标值分别是什么。再挑影响因素,哪些和分类有关的影响因素,哪些和回归有关的 ... [详细]
  • PRML读书会第十四章 Combining Models(committees,Boosting,AdaBoost,决策树,条件混合模型)...
    主讲人网神(新浪微博:豆角茄子麻酱凉面)网神(66707180)18:57:18大家好,今天我们讲一下第14章combiningmodel ... [详细]
  • S3D算法详解
    S3D论文详解论文地址:RethinkingSpatiotemporalFeatureLearning:Speed-AccuracyTrade-offsinVide ... [详细]
  • navicat生成er图_实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题
    摘要:目前复杂问题包括两种:含约束的问题和多跳关系问题。本文对ACL2020KBQA基于查询图生成的方法来回答多跳复杂问题这一论文工作进行了解读 ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
author-avatar
戒得掉既烟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有