数据闭环与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

相关文章

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

C# List.Sort四种重载总结

《C#List.Sort四种重载总结》本文详细分析了C#中List.Sort()方法的四种重载形式及其实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录1. Sort方法的四种重载2. 具体使用- List.Sort();- IComparable

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE