数据闭环与AutoLabeling方案总结!(Waymo/Uber/Open MMLab)

2023-10-11 02:40

本文主要是介绍数据闭环与AutoLabeling方案总结!(Waymo/Uber/Open MMLab),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者 | AmazingRoad  编辑 | 汽车人

原文链接:zhuanlan.zhihu.com/p/587140851

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

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【全栈算法】技术交流群

后台回复【标定工具】获取2D检测/分割/关键点,3D点云检测分割标注工具!

1什么是数据闭环

自动驾驶中的数据闭环,是指算法研发由case-driven转向data-driven的核心步骤。我大概整理了下数据闭环的链路,如下图所示:

282f345fe17c60cb77bb797d869995bc.png
数据闭环链路
  • 链路中的环节包含工具链路打通和算法开发两部分。

  • 算法开发主要有数据挖掘、数据标注、模型优化这三部分。

  • 这里面数据标注中的自动标注,即AutoLabeling是目前数据闭环中最为核心的部分。

  • 数据挖掘和模型优化,也是需要攻克和解决的点,只不过从成本和效率上,目前优先级没有自动标注高。

2AutoLabeling方案

以下的讨论以目标检测任务为例。

Pipeline

  • 目标检测任务的主要pipeline流程包含目标检测、轨迹生成、轨迹优化三部分

  • 其中目标检测模型、MOT算法,都有比较成熟的算法,所以AutoLabeling中创新点主要体现在轨迹优化这个步骤。

47574e2b3c7425c779468080e1896466.png
AutoLabeling Pipeline

学术界的SOTA

目前关于AutoLabeling的完整方案方面的论文不是很多,这里面比较有代表性的有:

  • 谷歌的Waymo在2021年发表的:《Offboard 3D Object Detection from Point Cloud Sequences》

  • Uber的ATG(Advanced Technology Group)在2021年发表的:《Auto4D: Learning to Label 4D Objects from Sequential Point Clouds》

  • Open MMLab在2022年发表的:《MPPNet: Multi-Frame Feature Intertwining with Proxy Points for 3D Temporal Object Detection》

下面对这三篇文章做了个简单地总结和对比:

论文机构轨迹优化的方法发表年限
Auto4DUberBEV空间特征2021.01
Offboard3DWaymoPoint-Based2021.03
MPPNetOpenMMLabFormer(基于Attention)2022

Auto4D的轨迹优化

  • Size Branch: 累积全轨迹点(时域信息忽略),BEV编码,得到全局的稳定size。

  • Update:基于最近corner align,更新全轨迹的box属性。

  • Path Branch:累积全轨迹点(保留时域信息,但时域和高度channel合并),BEV编码,得到相邻帧位移

c64c071162481fbcc9db3009d7f3fdfc.png

Offboard3D的轨迹优化处理

  • 动静态判断:box中心点方差<1m/s^2,首尾帧中心点偏移<1m,则为静态,否则为动态。

  • 静态轨迹优化:前背景分割网络对box周围的原始点进行分割,box回归网络得到box属性(基于PointNet)

  • 动态轨迹优化:对于点进行前背景分割+点序列编码,对于框进行序列编码,最后加2层box回归网络。

3d3805cf630388042770d4562a0bd5bb.png

MPPNet

  • 选取代理点:每个框均匀选择代理点(4x4x4)

  • 单帧提取特征:提取几何特征、运动特征

  • 组内特征编码:x、y、z、c通道分割使用MLP进行feature mixing

  • 组间特征编码:使用Former结构,共享K、V,进行feature mixing

  • 3D检测头:使用Tranformer Decoder

fb87d373145edfe2bfa3ce568e351799.png

往期回顾

Make RepVGG Greater Again!揭示重参化量化崩溃根因并解决(美团)

788b9ae924c7b4fb895ba282629b930a.png

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

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

2962b098f70c63cabb1a3c35e0ee411a.jpeg

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

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

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

996732cc82675b44cf5e845e197c0187.jpeg

这篇关于数据闭环与AutoLabeling方案总结!(Waymo/Uber/Open MMLab)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/184945

相关文章

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

Redis事务与数据持久化方式

《Redis事务与数据持久化方式》该文档主要介绍了Redis事务和持久化机制,事务通过将多个命令打包执行,而持久化则通过快照(RDB)和追加式文件(AOF)两种方式将内存数据保存到磁盘,以防止数据丢失... 目录一、Redis 事务1.1 事务本质1.2 数据库事务与redis事务1.2.1 数据库事务1.

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

Mybatis拦截器如何实现数据权限过滤

《Mybatis拦截器如何实现数据权限过滤》本文介绍了MyBatis拦截器的使用,通过实现Interceptor接口对SQL进行处理,实现数据权限过滤功能,通过在本地线程变量中存储数据权限相关信息,并... 目录背景基础知识MyBATis 拦截器介绍代码实战总结背景现在的项目负责人去年年底离职,导致前期规