ActiveAnno3D采用主动学习实现领域自适应,实现大规模数据集的快速标注(代码开源)

Abstract

大规模数据集的策划仍然成本高昂且需要大量时间和资源。数据通常需要手动标注,创建高质量数据集的挑战依然存在。在这项工作中,我们使用主动学习填补了多模态3D目标检测研究的空白。我们提出了ActiveAnno3D,这是一种主动学习框架,用于选择最具信息量的训练数据样本进行标注。我们探索了各种持续训练方法,并整合了在计算需求和检测性能方面最有效的方法。此外,我们在nuScenes和TUM交通路口数据集上使用BEVFusion和PV-RCNN进行了大量实验和消融研究。结果表明,在使用TUM交通路口数据集的一半训练数据时,使用PV-RCNN和基于熵的查询策略可以实现几乎相同的性能(77.25 mAP对比83.50 mAP)。在使用一半训练数据时,BEVFusion达到了64.31的mAP,而在使用完整的nuScenes数据集时达到了75.0的mAP。我们将主动学习框架集成到proAnno标注工具中,以实现AI辅助的数据选择和标注,并将标注成本降至最低。最后,我们在我们的网站上提供代码、权重和可视化结果:https://active3d-framework.github.io/active3d-framework。

图片

Introduction

标注过程仍然是一个挑战,尤其是对于3D点云。据文献[17]所述,标注一个精确的3D框需要标注人员超过100秒的时间。这相当于nuScenes数据集的标注时间达到7,937小时。由于深度学习模型需要大量标注数据,创建大规模标注3D数据集在开发强大3D感知模型时是一大挑战。为了缓解这一挑战,主动学习旨在通过查询少量未标注数据的标签来减少标注成本,从而在标注尽可能少的样本的情况下最大化模型性能。尽管主动学习通过选择最具信息量的图像和点云帧显著降低了标注成本,但它也会由于反复的模型训练和评估周期而增加计算开销。

Related Research

主动学习技术大致可分为两类:一种依赖于特定任务的特定模型,另一种则更普遍地作用于数据本身,与数据要解决的问题无关(有时称为“基于多样性的方法”)。尽管这些技术可以结合起来创建一个采样策略,但使用基于任务或模型的主动学习策略的好处在于,理论上所选数据将对所需任务的性能优化。

主动学习在自动驾驶中的应用必须具备以下特点:

多任务:识别对一个任务最优的数据是一个良好的开始,但在实际操作中,如果主动学习的目的是减少标注预算,那么这对于必须使用相同精心策划和采样数据来解决多个任务的自动系统帮助不大——例如轨迹预测,标志和灯光检测与分类,动态目标检测和跟踪,车道检测,车辆地标识别等。幸运的是,多任务一致性测量可以通过考虑多个目标任务的性能来指导采样。

多模态:虽然自动驾驶车辆测试床可能配置了多种传感器,但3D目标检测领域的最新技术,关键在于无碰撞驾驶,利用了LiDAR(用于精确测距)和图像(用于语义实用性)。在撰写本文时,nuScenes 3D目标检测排行榜上的前33个模型都使用了这两种模态(实际上,其中两种在中间位置进一步包括了雷达)。大多数3D检测的主动学习研究不包括视觉模态,即使包括,其图像相关模块也未纳入学习循环。我们在最先进的LiDAR+相机架构上引入了主动学习。

开放集:我们还注意到,自动驾驶领域的数据本质上是开放集,这意味着今天数据集中标注的项目可能并不能完全代表在实际驾驶环境中可能出现的所有项目。标准的主动学习方法在开放集设置中由于标注数据和未标注数据之间的类别分布不匹配而不能有效执行,这也强有力地说明了在主动学习模型的分类阶段重要性,因为分类中的不确定性提供了一种识别开放集类别实例的手段。Safaei等人表明使用封闭集熵在类别概率和距离熵在学习特征上可以是有效的学习策略,能够有效地在未知的开放集池中学习,尽管这尚未应用于自动驾驶数据,因为他们的实验是在CIFAR和TinyImageNet基准上进行的。这进一步激发了我们在自动驾驶领域探索基于熵的主动学习。

图片

Method

1、采用主动学习进行3D目标检测
3D目标检测对自动驾驶和移动机器人至关重要,但构建精确的3D目标检测器依赖于大量标注数据集的可用性,而在有限的标注预算下,这是一项特别具有挑战性的任务。主动学习提供了一种有前途的解决方案,通过仅查询未标注数据池的一小部分数据的标签来减少标注成本。基于标准的查询选择过程迭代地选择最具信息量的样本进行后续模型训练,直到标注预算耗尽。在此基础上,我们将基于池的主动学习框架部署到一个仅使用LiDAR的两阶段3D目标检测器和一个多模态3D目标检测器上,采用了中的熵查询策略。我们研究了使用持续训练策略来解决主动学习资源消耗大的问题.

图片

2、熵查询: 在主动学习中,查询策略是选择下一个要注释的数据样本的关键。熵查询是一种策略,用于评估模型预测的不确定性。熵 H(X) 使用以下公式计算:

H(X)=−i∑(P(xi)logP(xi))

这里,P(xi) 表示模型分配给类 xi 的概率。高熵表示不确定性较高,表明这些样本对于注释来说是最具信息量的。
3、仅LiDAR的3D物体检测中的主动学习: 首先,使用两阶段的PV-RCNN模型进行仅LiDAR的3D物体检测。在推理阶段,使用各种查询策略,包括基于不确定性、基于多样性和混合方法,每种方法都有其选择信息样本的特定标准。其中一种提到的策略是T-CRB(临时一致性CRB),设计用于从未标记数据池中选择最具信息量的时间一致性点云集。
4、 选择一个目标检测模型

图片

5、持续训练策略采用了一种主动学习方法,其中初始的3D检测器在最初标记的数据集上进行预训练。查询策略通过连续的训练周期识别最具信息量的数据样本,并从“神谕”那里获取标签。随后,使用增强的训练集更新初始模型。然而,这个过程以其时间和资源密集性为特征,因为模型在每个训练周期都会从头开始重新训练,使用不断扩展的标记数据集。此外,这种方法忽略了在先前训练周期中积累的知识。为了解决这一挑战,我们增强了主动训练周期,通过整合多种连续训练策略。

Experiments

下图提供了与主动学习中各种查询策略相关的3D物体检测性能见解。评估涵盖了诸如BADGE 、CoreSet 、蒙特卡洛抽样、置信度抽样、CRB以及时间修改的CRB(T-CRB)等多种策略。这种分析有助于精确定位最有效的方法,以适应TUM交通十字路口数据集的独特特征。表II中的结果显示,在TUM交通十字路口数据集上,PV-RCNN检测器使用随机抽样查询策略表现优于熵查询策略,如图4左侧所示。然而,在LiDAR+摄像头模型中,情况并非如此。如图4右侧所示,在除第四轮外的每一轮中,熵查询策略都优于随机查询策略。

图片

图片

图片

总结

文章的主要贡献包括:
1、提出了ActiveAnno3D框架,用于选择对训练最有信息量的样本进行标记。
2、探索了不同的持续训练方法,并集成了计算需求和检测性能最高效的算法。

3、在nuScenes和TUM Traffic Intersection数据集上对BEVFusion和PV-RCNN进行了广泛的实验和消融研究。将ActiveAnno3D集成到proAnno标记工具中,以实现AI辅助数据选择和标记,最小化标记成本。

引用:

ActiveAnno3D - An Active Learning Framework for Multi-Modal 3D Object Detection

欢迎关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

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

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

相关文章

前端引用vue/element/echarts资源等引用方法Blob下载HTML

前端引用下载vue/element/echarts资源等引用方法 功能需求 需求是在HTML页面中集成Vue.js、Element Plus(Element UI的Vue 3版本)、ECharts等前端资源,使用Blob下载HTML。 解决方案概述 直接访问线上CDN地址:简单直接&#xff0c…

【踩坑】修复报错Cannot find DGL libdgl_sparse_pytorch_2.2.0.so

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 错误复现 原因分析 解决方法 错误复现 import dgldataset dgl.data.CoraGraphDataset() graph dataset[0] graph.adjacency_matrix() 原因分…

centos通过官网下载安装最新版mysql方案

官网下载步骤: 点击DOCUMENTATION mysql的yum仓库Using the MySQL Yum Repository 向下翻,查看安装命令 点击下载mysql安装包 下载对应的版本 不注册,直接下载社区版 下载好的安装包 安装步骤: 把rpm包导入到服务器…

ConsiStory:无需训练的一致性文本到图像生成技术

随着大规模文本到图像(T2I)扩散模型的发展,用户可以更自由地通过文本指导图像生成过程。然而,要在不同的提示中保持同一主题的视觉一致性仍然是一个挑战。现有的方法通常需要对模型进行微调或预训练,以教授新词汇来描述…

2.2.1 ROS2案例以及案例分析

1.案例需求 需求1:编写话题通信实现,发布方以某个频率发布一段文本,订阅方订阅消息,并输出在终端。 需求2:编写话题通信实现,发布方以某个频率发布自定义接口消息,订阅方订阅消息,并…

在docker配置Nginx环境配置

应用于商业模式集中,对于各种API的调用,对于我们想要的功能进行暴露,对于不用的进行拦截进行鉴权。用于后面的付费 开发环境 正式上线模式 一、常用命令 停止:docker stop Nginx重启:docker restart Nginx删除服务&a…

Liunx网络配置

文章目录 一、查看网络配置永久修改网卡临时修改网卡 二、查看主机名称 hostname三、查看路由表条目 route四、查看网络连接情况netstat五、获取socket统计信息ss六、查看当前系统中打开的文件和进程的工具lsof七、测试网络连通性ping八、跟踪数据包 traceroute九、域名解析 ns…

【vmbox centos7 网络配置】【centos7 glances 安装】【centos7 安装MySQL5.7】

文章目录 vmbox centos7 网络配置centos7 修改镜像地址centos7 安装 glancesCentOS 7 上安装 MySQL 5.7 并进行基本的安全配置使用 firewalld 开放 3306 端口 可以远程连接mysql vmbox centos7 网络配置 目前 能组建集群 虚拟机网络互通,虚拟机能访问外网 创建一个…

FlinkCDC-3.1.1 DataStream Source

问题&#xff1a; Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.catalog.ObjectPath 解决&#xff1a; 在poml文件中&#xff0c;导入的flink-table依赖把“ <scope>”去掉 <properties><maven.compiler.source>8</maven.compi…

链串算法库构建

学习贺利坚老师链串算法库 数据结构之自建算法库——链串_串数据结构-CSDN博客 本人详细解析博客 串的链式存储及其基本操作实现_串链式存储的操作-CSDN博客 版本更新日志 V1.0 : 结合顺序串操作, 使用链串进行优化, 此次链串, 空间将不受限制, 只写了最基本的操作, 相当于 单链…

地级市空气质量指数AQI、环境污染PM2.5、SO2

2015-2021年地级市月度空气质量数据&#xff08;AQI、SO2、NO2、PM2.5、PM10、O3、CO&#xff09; 目录 探究环境污染对经济增长的影响 一、引言 二、数据来源与描述性统计 三、实证模型 &#xff08;一&#xff09;模型设定 &#xff08;二&#xff09;变量说明 四、程…

经典递归分析

在前面一篇中, 已经看过许多直观的递归的例子, 在这篇里, 将分析两个经典的递归问题, 阶乘与菲波那契数列数列, 在此过程中, 还将对比递归与循环(迭代)间的异同, 探讨递归与内存中的栈的关系, 以及递归的效率等问题. 如无特别说明, 示例使用的是 Java, IDE 则为 Eclipse. 阶乘(…

介绍一些好玩且实用的开源的AI工具

介绍一些好玩且实用的开源的AI工具 随着人工智能技术的迅猛发展&#xff0c;开源社区涌现出了许多关于AI的项目&#xff0c;这些项目不仅展示了技术的创新力&#xff0c;也为开发者提供了丰富的工具和资源。本文将介绍几个既有趣又实用的开源人工智能工具&#xff0c;它们不仅…

【电路笔记】-B类放大器

B类放大器 文章目录 B类放大器1、概述2、B类放大器介绍3、推挽式配置4、限制交叉失真5、B类放大器效率6、总结1、概述 我们在之前的文章中已经知道,A 类放大器的特点是导通角为 360,理论最大效率为 50%。 在本文中,我们将详细介绍另一类放大器,称为B类放大器,它是为解决A…

GD32单片机使用TIMER进行外部计数

网上关于使用GD32单片机的ETI引脚作为计数器输入引脚的资料少之又少&#xff0c;此文希望有需要的朋友避免弯路。 我们把ETI引脚作为方波输入引脚&#xff0c;其中ETR输入引脚为PA0。通过查资料得知&#xff1a; 因此将先将引脚进行映射&#xff0c;代码如下&#xff1a; voi…

Linux_进程池

目录 1、进程池基本逻辑 2、实现进程池框架 3、文件描述符的继承 4、分配任务给进程池 5、让进程池执行任务 6、回收子进程 7、进程池总结 结语 前言&#xff1a; 在Linux下&#xff0c;进程池表示把多个子进程用数据结构的方式进行统一管理&#xff0c;在任何时候…

18. JAVA 多线程锁介绍

1. 前言 本节内容主要是对 Java 多线程锁进行介绍&#xff0c;是对锁的一个全方位的概述&#xff0c;为我们对后续深入学习不同的锁的使用方法奠定一个良好的基础。本节内容的知识点如下&#xff1a; 乐观锁与悲观锁的概念&#xff0c;以及两种锁之间的区别&#xff0c;这是并…

【unity实战】使用unity的新输入系统InputSystem+有限状态机设计一个玩家状态机控制——实现玩家的待机 移动 闪避 连击 受击 死亡状态切换

最终效果 文章目录 最终效果前言人物素材新输入系统InputSystem的配置动画配置代码文件路径状态机脚本创建玩家不同的状态脚本玩家控制源码完结 前言 前面我们已经写过了使用有限状态机制作一个敌人AI&#xff1a;【unity实战】在Unity中使用有限状态机制作一个敌人AI 那么玩…

【苍穹外卖】Day1遇到的问题

1、lombok版本不兼容问题 java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module 0x3278991b) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.comp…

Java项目:基于SSM框架实现的毕业论文管理系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的毕业论文管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能…