NeurIPS 2023 | AD-PT:首个大规模点云自动驾驶预训练方案

news2024/11/27 8:44:06

概要

自动驾驶领域的一个长期愿景是,感知模型能够从大规模点云数据集中学习获得统一的表征,从而在不同任务或基准数据集中取得令人满意的结果。之前自监督预训练的工作遵循的范式是,在同一基准数据集上进行预训练和微调,这很难实现预训练权重的性能可扩展性和跨数据集应用。在本文中,作者提出要解决预训练网络的泛化性问题,需要从数据层面和算法层面分别考虑。为此,作者将点云预训练任务表述为一个半监督问题,利用少量有标签和大量无标签的的点云数据来生成统一的骨干表征。首先,作者通过类别感知的伪标签生成器基于多样性的数据处理器构建了一个具有多样化数据分布的大规模预训练点云数据集;同时,将预训练和下游微调阶段关注类别不同的问题看做一个开集问题并提出了未知实例学习头,使网络从构建的多样化的预训练数据集中学习可泛化的表征。

作者利用AD-PT预训练好的权重初始化多种检测器包括PV-RCNN++,PV-RCNN,CenterPoint,SECOND,并在多个数据集(Waymo,nuScenes,KITTI)上进行微调。实验结果表明,AD-PT解耦了与自动驾驶的预训练过程和下游微调任务,在多个下游数据集上都取得了明显的性能提升。

image.png

论文题目:
AD-PT: Autonomous Driving Pre-Training with Large-scale Point Cloud Dataset
论文地址:
https://arxiv.org/abs/2306.00612
代码地址:
https://github.com/PJLab-ADG/3DTrans

动机

虽然3D检测器可以帮助自动驾驶汽车识别周围环境,但现有的基准模型很难推广到新的域(如不同的传感器设置或未见过的城市)。自动驾驶领域的长期愿景是训练出场景通用的预训练模型,该模型可泛化到不同的下游数据集。为实现这一目标,研究人员开始研究自监督预训练(SS-PT)。

但是,如图所示,应该指出的是,上述 SS-PT 与所需的自动驾驶预训练(AD-PT)范式之间存在重要区别。SS-PT 旨在从单个无标注数据集中学习,为同一数据集生成合适的表征。而 AD-PT 则希望从尽可能多并有多样性的数据中学习统一的表征,以便将学习到的特征提取能力更好地转移到各种下游数据集中。因此,SS-PT 通常只有在测试数据和预训练数据取样于同一数据集时才会表现出色,而 AD-PT 在不同数据集上具有更好的泛化性能。并且随着预训练数据集数量的增加,性能也会不断提高。

image.png
图1:不同训练范式的对比

因此,本文的重点是实现 AD 预训练,这种预训练可以很容易地应用于不同的基线模型和基准数据集。通过大量实验,作者认为要实现真正的 AD-PT,需要解决两个关键问题:1)如何建立一个统一的、数据分布多样的 AD 数据集;以及 2) 如何通过设计有效的预训练方法,从这样一个多样化的数据集中学习可泛化的表征

基于上述分析,为了实现 AD-PT 模式,作者提出了基于多样性的预训练数据准备程序和未知感知实例学习的预训练过程,以加强提取特征的代表性。相比于过去的预训练方法,AD-PT提供了一种更加统一的方法,即一旦生成预训练的权重,就可以直接加载到多个感知基线和基准中。

image.png
图2 AD-PT框架图

AD-PT框架如图2所示,主要包括大规模点云数据集准备程序和以自动驾驶为重点的统一表示学习程序。作者首先设计了一个类感知伪标签生成器来生成伪标签。之后,为了获得更多样化的样本,提出了一种基于多样性的预训练数据处理器。最后,为了在这些伪标签数据上进行预训练,以学习它们的通用表征,作者设计了一种带有一致性损失的未知感知实例学习方法。

方法

大规模点云数据集准备

1. 类别感知伪标签生成器

  • 类别感知伪标签生成。作者发现,不同基线模型对不同类别具有不同的感知能力。例如,基于中心的倾向于更好地检测小范围目标(如行人),而基于锚点的方法则在其他类别中表现更好。最终,作者利用不同模型标注不同类别。

  • 半监督学习。作者进一步利用半监督学习方法来提高伪标签的准确性。在文章中,作者使用 MeanTeacher 来进一步提高分类检测能力。最终,在 ONCE 验证集上的准确率大大超越了Benchmark上的记录。

  • 伪标签阈值。为避免标注大量假阳性实例,作者设置了一个相对较高的阈值。这样也带了了一个问题,即与 ONCE 标注数据相比,一些预测分数相对较低的困难样本没有被标注。

最终的性能如下表所示:

image.png

2. 基于多样性的预训练数据处理器

  • 数据线束多样化。为了获得线束多样化的数据,作者使用range image作为中间变量,对点云数据进行上采样和下采样。具体来说,给定一个有 n 个线束的激光雷达点云(如 ONCE 数据集有 40 个线束),每个环有 m 个点,range image 可通过下式求得:

image.png

  • 具有更多 RoI 多样性: 不同地点采集的物体大小的分布不一致。为了克服这一问题,作者通过随机重缩放每个物体的长度、宽度和高度来获得多样性更强的实例帮助预训练。

在大规模点云数据集下学习统一表征

通过使用上述方法获得统一的预训练数据集,可以提高场景级和实例级的多样性。然而,伪标注数据集只有有限的类别标签,此外,如之前所述,为了获得准确的伪标注,作者设置了较高的置信度阈值,这可能会不可避免地忽略一些较难的实例。这些被忽略的实例在预训练数据集中可能并不重要,但在下游数据集中可能被视为感兴趣的类别(例如,nuScenes 数据集中的 “barrier”),在预训练过程中会被抑制。

为了缓解这一问题,作者将预训练视为一个开集学习问题,将对象性得分相对较高的背景区域视为未知实例。这些实例在预训练阶段被忽略,但可能对下游任务至关重要。对象性得分是从区域建议网络(RPN)中获得的。然而,由于这些未知实例包含大量的背景区域,因此在预训练阶段直接将这些实例作为前景实例处理是不合适的,会导致主干网络激活大量的背景区域。

为了克服这一问题,作者利用双分支头作为委员会来发现哪些区域可以有效地作为前景实例。具体来说,通过对双分支对象性分数大于一定阈值的bounding boxes进行基于距离的匹配,并将一致性强的区域在训练过程中当做前景。双分支一致性特征可以由下面公式获得:

实验

实验设置

  • 预训练数据集。我们利用ONCE数据集,ONCE由大量无标注数据和少量代标注数据组成,包含许多场景和天气条件。在进行预训练时,我们将Car,Pedestrian和Cyclist合并为一个统一的类别。我们的主要结果是基于 ONCE 的100K数据进行,并使用更大量的数据(500K,1M)来验证预训练的可扩展性。

  • 微调数据集。我们在Waymo,nuScenes和KITTI上进行了少量数据以及全量数据的实验。

实验结果

这里只展示了主要实验结果,更多结果请参考我们的论文。

image.png
Waymo上的实验结果

image.png
在nuScenes上的实验结果

image.png
在KITTI上的结果

image.png
增加预训练数据量的结果

总结

在这项工作中,作者提出了 AD-PT 范式,旨在在统一的数据集上进行预训练,训练出泛化性强且表征能力强的骨干网络,从而提升在多个下游数据集上的性能。通过所提出的数据准备流程以及未知实例学习头,分别从数据集算法层面提升模型的泛化能力。在多个基准数据集上的实验表明,AD-PT的预训练权重可以加载到多种检测器中,并且取得性能的提升。


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1096951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为云云耀云服务器L实例评测|企业项目最佳实践之包管理工具安装软件(六)

华为云云耀云服务器L实例评测|企业项目最佳实践系列: 华为云云耀云服务器L实例评测|企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测|企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测&#xff5…

10 | JpaSpecificationExecutor 实现的原理是什么

在开始讲解之前,请先思考几个问题: JpaSpecificationExecutor 如何创建?它的使用方法有哪些?toPredicate 方法如何实现? 带着这些问题,我们开始探索。先看一个例子感受一下 JpaSpecificationExecutor 具体…

09 | JpaSpecificationExecutor 解决了哪些问题

QueryByExampleExecutor用法 QueryByExampleExecutor(QBE)是一种用户友好的查询技术,具有简单的接口,它允许动态查询创建,并且不需要编写包含字段名称的查询。 下面是一个 UML 图,你可以看到 QueryByExam…

ReID的各种Loss的pytorch实现

为了提高ReID的性能通常会采用softmax loss 联合 Triplet Loss和Center Loss来提高算法的性能。 本文对Triplet Loss和Cnetr Loss做一个总结,以简洁的方式帮助理解。 Triplet Loss和Center Loss都是从人脸识别领域里面提出来的,后面在各种图像检索任务…

笔记本Win10系统一键重装操作方法

笔记本电脑已经成为大家日常生活和工作中必不可少的工具之一,如果笔记本电脑系统出现问题了,那么就会影响到大家的正常操作。这时候就可以考虑给笔记本电脑重装系统了。接下来小编给大家介绍关于一键重装Win10笔记本电脑系统的详细步骤方法。 推荐下载 系…

遗传算法------微生物进化算法(MGA)

前言 该文章写在GA算法之后:GA算法 遗传算法 (GA)的问题在于没有有效保留好的父母 (Elitism), 让好的父母不会消失掉. Microbial GA (后面统称 MGA) 就是一个很好的保留 Elitism 的算法. 一句话来概括: 在袋子里抽两个球, 对比两个球, 把球大的放回袋子里, 把球小…

Qt中各个功能模块遵循的协议

Qt 中各个模块的协议,是在变化的,并不是一成不变 不同版本,协议有可能会变。同一版本,在不同时间期间,协议也可能会变 具体以官网为准

搜索引擎站群霸屏排名源码系统+关键词排名 前后端完整的搭建教程

开发搜索引擎站群霸屏排名系统是一项重要的策略,通过在搜索引擎中获得多个高排名站点,可以大大提高企业的品牌知名度,从而吸引更多的潜在客户和消费者。而且当潜在客户在搜索结果中看到多个与您的品牌相关的站点时,他们可能会认为…

EtherCAT报文-BRD(广播读)抓包分析

0.工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1.EtherCAT报文帧结构 EtherCAT使用标准的IEEE802.3 Ethernet帧结构,帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44-1498字节的数据。数据区由一个或…

ST-SSL:基于自监督学习的交通流预测模型

文章信息 文章题为“Spatio-Temporal Self-Supervised Learning for Traffic Flow Prediction”,是一篇发表于The Thirty-Seventh AAAI Conference on Artificial Intelligence (AAAI-23)的一篇论文。该论文主要针对交通流预测任务,结合自监督学习&#…

EtherCAT报文-BWR(广播写)抓包分析

0.工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1.EtherCAT报文帧结构 EtherCAT使用标准的IEEE802.3 Ethernet帧结构,帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44-1498字节的数据。数据区由一个或…

【2023研电赛】全国技术竞赛一等奖:基于FPGA的超低时延激光多媒体终端

该作品参与极术社区组织的研电赛作品征集活动,欢迎同学们投稿,获取作品传播推广,并有丰富礼品哦~ 基于FPGA的超低时延激光多媒体终端 参赛单位:华东师范大学 指导老师:刁盛锡 参赛队员:王泽宇 谢祖炜 秦子淇…

解读 | 自动驾驶系统中的多视点三维目标检测网络

原创 | 文 BFT机器人 01 背景 多视角三维物体检测网络,用于实现自动驾驶场景高精度三维目标检测,该网络使用激光雷达点云和RGB图像进行感知融合,以预测定向的三维边界框,相比于现有技术,取得了显著的精度提升。同时现…

【重要!合规政策更新】英国,儿童玩具相关产品卖家,请及时关注!EN71

合规政策更新! 尊敬的卖家: 您好! 我们此次联系您是因为您正在销售需要审批流程的商品。为此,亚马逊正在实施审批流程,以确认我们网站上提供的商品类型须符合指定的认证标准。要在亚马逊商城销售这些商品,您…

第六篇Android--ImageView、Bitmap

ImageView,和前面介绍的TextView、EditText,都继承自View都是View的子类。 ImageView 是用于呈现图片的视图。View可以理解为一个视图或控件。 1.简单使用 在drawable-xxhdpi文件夹下放一张图片: xml中把这张图片设置给ImageView&#xff0…

MySQL单表查询基础综合练习

一、单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 v…

三勾知识付费(PHP+vue3)微信小程序平台+SAAS+前后端源码

项目介绍 三勾小程序商城基于thinkphp8element-plusuniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。 软件架…

BUUCTF学习(二):一起来撸猫

1、介绍 2、解题 (1)查看网页源代码 (2)解读代码内容 (3)得出结论 网址:一起来撸猫http://df4c147d-c7f4-4aac-a9d6-fdce2606ee18.node4.buuoj.cn:81/?catdog 第二题结束

PyTorch入门教学——在虚拟环境中安装Jupyter

1、简介 Jupyter Notebook是一个开源的web应用程序,可以使用它来创建和共享包含实时代码、方程、可视化和文本的文档。Jupyter Notebook是一个交互式笔记本,可以当作python编译器来使用。 2、安装 在安装Anaconda时是自带了Jupyter Notebook的&#x…

Unity第一人称移动和观察

创建一个可以自由移动的第一人称视角 人物通过WSAD进行前后左右移动,通过鼠标右键进行旋转 Step1:创建一个Player玩家,在节点下加两个子物体,一个摄像头和一个Capsule充当身体 Step2:创建一个脚本挂载在Player节点下,再在这个Pl…