ICCV 2023 | 半监督三维目标检测新SOTA:密集匹配和量化补偿

论文链接:https://arxiv.org/abs/2304.13031
开源代码仓库地址:https://github.com/AIR-DISCOVER/DQS3D
01. 简介
本文旨在解决三维室内场景中高昂的标注成本问题,特别关注半监督条件下的三维物体检测。为了解决这一问题,我们采用了强大的自学习框架,该框架在半监督学习中取得了显著进展。虽然这种方法在图像级别或像素级别预测方面表现出色,但在目标检测问题中,目标 Proposal 匹配(后文皆称为候选框匹配)的挑战依然存在。
目前的方法通常采用两阶段流程,第一阶段对生成的候选框进行启发式选择,然后进行匹配,导致训练信号在空间上呈现稀疏分布的特点。与之不同的是,我们提出了一种单阶段的半监督三维检测算法,通过此算法,我们可以在空间上获得密集的监督信号。
然而,我们的算法也面临一个基础问题,即点到体素离散化引起的量化误差,这必然导致体素域中两个不同数据增广视图之间的不对齐。为了解决这个问题,我们推导并实现了一种闭式解,可以在线地补偿这种不对齐现象。通过这个方法,我们取得了显著的成果,例如,仅使用 20% 的标注数据,我们就成功将 ScanNet 的 mAP@0.5 从 35.2% 提升至 48.5%。
02. 方法
2.1 密集匹配
为了解决半监督三维物体检测任务,基于教师-学生网络(Mean Teachers)的自训练方法强制学生网络和教师网络的预测保持一致。因此,建立在数据增广对齐视图意义下的学生和教师预测之间的映射是至关重要的,我们称之为匹配。

以前的自训练方法 SESS 和 3DIoUMatch 采用候选框匹配来对齐学生网络和教师网络的预测对象(称为候选框),通常通过最近中心策略完成。更具体地说,每个教师候选框与其中心最接近的学生候选框对齐,如图中所示。请注意,虚线框仅用于展示教师输出的空间位置。 尽管教师候选框通常比学生候选框更准确,但我们认为候选框匹配是欠佳的,可能会阻碍从教师到学生的知识传递。这种无效性主要归因于图中所示的两种不利情况,这是由于空间中候选框的稀疏性不可避免造成的:(1)相邻的教师候选框对齐到同一个学生候选框,导致对学生的监督模糊。(2)与任何教师候选框相距较远的学生候选框对齐失败,无法从教师候选框获得监督。
为了解决上述问题,一个充分条件是学生和教师预测之间具有双射关系。我们注意到现在流行的目标检测器是在空间上稠密的,即可以逐体素地进行物体预测的启发。同时,学生和教师视图的体素锚点在空间上是相互对应的。因此,我们提出了一种叫做“密集匹配”的方法,它简单地将相应体素锚点处的预测进行配对。我们相信密集匹配方案具有以下优势:
-
每个预测对象由多个边界框预测来表示,其回归得分在不同的体素锚点处有所变化,这种现象对密集预测模型施加空间正则化,并提高了模型对局部几何的感知能力。
-
通过体素锚点的对应关系,学生和教师预测之间所需的双射关系自然建立。
这消除了前面提到的两种不利情况。基于密集匹配的优势,我们在下一节中提出了一个专门针对密集匹配方案的自训练框架。
2.2 自训练框架


2.3 量化误差及其解决方案


03. 实验
继承 SESS 和 3DIoUMatch对于半监督三维物体检测的研究,我们使用 ScanNet v2 和 SUN RGB-D 数据集对我们的框架进行了评估。
首先,我们比较了我们提出的密集匹配方法和传统的稀疏的候选框匹配方法之间的差异。 我们通过展示密集匹配策略生成的伪标签的数量和质量来验证我们提出方法的优越性,展示结果如下:
从上图中可以看到,与之前的几种方法相比,我们的方法能够生成更多且更具质量的伪标签,从而自然地,在半监督三维物体检测中表现更优异的性能:
我们在 ScanNet 和 SUN RGB-D 数据集上进行了广泛的实验,并报告了 DQS3D 及先前方法在半监督和全监督设置下的性能。 在半监督设置中,我们对训练集的不同部分(5%,10% 和 20%)进行标记。 我们在标记和未标记的数据集上都施加了一致性损失。 而在全监督设置中,我们将整个数据集都视为标记和未标记的数据集,以检查我们提出的框架是否能够从伪标签的额外监督中进一步学习。实验结果见上表。
从表中我们可以看到,我们的方法在半监督三维物体检测的基准测试中,对于 ScanNet 和 SUN RGB-D 数据集均大幅超越了先前的候选框匹配方法,并取得了新的最先进结果。 值得注意的是,mAP@0.50 的提升普遍比 mAP@0.25 的提升更大。 我们将这归因于我们的框架产生的伪标签的密集性,它为学生模型在空间上提供了更精细的监督信号。 这样,预测的物体边界框在更大程度上与目标物体重叠,有助于在更高的 IoU 阈值下实现更明显的性能提升。
然后,我们做了一系列消融实验,来证明我们提出的每个部件的有效性。
量化误差校正模块。 为了展示我们提出的量化误差校正(QEC)模块的有效性,我们在 ScanNet 数据集上进行了实验(其中 20% 的训练集带有标签)。在实验中,我们使用不同的体素大小来训练我们的提出框架,并对是否施加校正项进行对比实验。除了在“验证”集上的 mAP@{0.25,0.50} 之外,我们还报告了“有标签训练”集上预测的边界框与目标真实边界框之间的加权 IoU。物体的权重由预测的中心性度量值决定。
我们的实验结果如上表所示。 值得注意的是,在所有的体素大小下,使用校正项进行训练的实验性能都比没有使用该项的实验性能更高(最高可达 +2.49% IoU)。 这些非常显著的提升表明了量化误差校正(QEC)模块在解决量化误差这个固有问题上的有效性,从而提高了检测的准确性。



一致性损失。 我们在带有 20% 标签数据的 ScanNet 数据集上进行了一致性损失的对比实验。 实验结果如上表所示。 根据结果显示,缺失了边界框预测参数的一致性损失对性能影响最大,mAP@0.25 下降了 2.0%,mAP@0.50 下降了 3.2%,而其他两个一致性损失的缺失也会导致性能下降。 这些结果表明,提出的一致性损失的每个组成部分都是必要的。
04. 总结
本论文提出了 DQS3D 这一自学习半监督三维物体检测框架。与传统的 Proposal 匹配方法不同,DQS3D 利用了密集匹配,并且解决了量化误差的问题,在半监督条件下,在两个广泛使用的基准数据集 ScanNet v2 和 SUN RGB-D 上取得了显著的改进。
此外,论文还提供了证据表明,使用密集预测可以产生更有意义的伪标签,并促进自学习的效果。我们希望本文介绍的方法论和基本技术能够促进更多未来半监督学习领域的研究。
作者:高焕昂
关于TechBeat人工智能社区
▼
TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。
我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。
期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!
更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区
相关文章:
ICCV 2023 | 半监督三维目标检测新SOTA:密集匹配和量化补偿
论文链接:https://arxiv.org/abs/2304.13031 开源代码仓库地址:https://github.com/AIR-DISCOVER/DQS3D 方法效果对比图:有效在半监督情况下处理临近小物体 01. 简介 本文旨在解决三维室内场景中高昂的标注成本问题,特别关注半监…...
python+django+mysql项目实践三(用户管理)
python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 用户列表展示 urls view models html <!DOCTYPE html> <html...
Java多线程 | 操作线程的方法详解
文章目录 一、线程的启动1.1 start()方法 二、线程的休眠与中断2.1 Thread.sleep()方法2.2 interrupt()方法 三、线程的等待与唤醒3.1 wait()方法3.2 Object类的notify()和notifyAll()方法3.3 await()和signal()方法3.4 使用join()方法等待线程执行完成 四、线程的状态控制与管…...
【ConcurrentHashMap1.7源码】十分钟带你深入ConcurrentHashMap并发解析
ConcurrentHashMap1.7源码 四个核心要点 初始化PUT扩容GET Unsafe 初始化 五个构造方法 /*** Creates a new, empty map with the default initial table size (16).*/public ConcurrentHashMap() {}/*** Creates a new, empty map with an initial table size* accommodati…...
程序框架-事件中心模块-观察者模式
一、观察者模式 1.1 观察者模式定义 意图: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变是,所有依赖于它的对象都能得到通知并自动更新。 适用性: 当一个对象状态的改变需要改变其他对象, 或实际对…...
通过AOP的ProceedingJoinPoint获取方法信息
文章目录 ProceedingJoinPoint用法 ProceedingJoinPoint用法 获得切点对应的方法(Method) 本处Method指的是java.lang.reflect.Method 若切入点表达式是方法,则获得的是切入点方法的信息。若切入点表达式是注解,则获得的是使用了…...
【JavaSE】初步认识类和对象
【本节目标】 1. 掌握类的定义方式以及对象的实例化 2. 掌握类中的成员变量和成员方法的使用 3. 掌握对象的整个初始化过程 目录 1. 面向对象的初步认知 2. 类定义和使用 3. 类的实例化 4. this引用 1. 面向对象的初步认知 1.1 什么是面向对象 Java是一门纯面向对象的语…...
python中的matplotlib画饼图(数据分析与可视化)
直接开始 1、先安装pandas和matplotlib pip install pandas pip install matplotlib2、然后在py文件中导入 import pandas as pd import matplotlib.pyplot as plt3、然后直接写代码 import pandas as pd import matplotlib.pyplot as pltpd.set_option("max_columns&…...
用Rust实现23种设计模式之 职责链模式
关注我,学习Rust不迷路!! 优点 解耦:职责链模式将请求发送者和接收者解耦,使得多个对象都有机会处理请求,而不是将请求的发送者和接收者紧密耦合在一起。灵活性:可以动态地改变或扩展处理请求…...
进销存管理中的技术创新和数字化转型
在进销存管理中,技术创新和数字化转型可以通过以下具体的应用案例来实现: 自动化仓储系统:利用自动化技术和机器人系统来管理仓库操作,包括货物的装卸、分拣和存储。这可以提高仓库的运作效率,减少人力成本࿰…...
与“云”共舞,联想凌拓的新科技与新突破
伴随着数字经济的高速发展,IT信息技术在数字中国建设中起到的驱动和支撑作用也愈发凸显。特别是2023年人工智能和ChatGPT在全球的持续火爆,更是为整个IT产业注入了澎湃动力。那么面对日新月异的IT信息技术,再结合疫情之后截然不同的经济环境和…...
【超细节】Vue3组件事件怎么声明,defineEmits与emit
目录 前言 一、基本语法 1. 子组件触发 2. 父组件监听 二、 事件参数 1. 传值 2. 接收值 三、 事件校验 四、注意事项 前言 组件事件是 Vue 组件之间进行通信的一种方式。它允许一个组件触发一个自定义事件,并且其他组件可以监听并响应这个事件。 一、基本…...
java Selenium 实现简单的网页操作
官方文档:入门指南 | Selenium Selenium是一个用于Web应用测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 所以使用这个前端测试话工具,可以自动化做很多事情,比如自动化抓取网页内容,俗称网…...
(数据库系统概论|王珊)第一章绪论-第一节:数据库系统概论
目录 一:四大基本概念 (1)数据(Data) (2)数据库(DataBase,DB) (3)数据库管理系统(DataBase Management System,DBMS) (4)数据库系统(Database System,DBS…...
深入理解TCP三次握手:连接可靠性与安全风险
目录 导言TCP简介和工作原理的回顾TCP三次握手的目的和步骤TCP三次握手过程中可能出现的问题和安全风险为什么TCP三次握手是必要的?是否可以增加或减少三次握手的次数?TCP四次挥手与三次握手的异同点 导言 在网络通信中,TCP(Tra…...
基于人工智能的智能矿山解决方案
什么是智能矿山? 智能矿山是一种运用先进技术和智能化系统来管理和监控矿山运营的概念。它利用传感器、无线通信、数据分析和人工智能等技术,实现对矿山内部各个环节的实时监测、自动化控制和智能决策,从而提高矿山的效率、安全性和可持续性。…...
vue-cli3项目优化
首先添加两个量化的插件,方便对项目目前的情况进行分析: 1.添加speed-measure-webpack-plugin插件 —量化的指标可以看出前后对比 使用步骤: 安装speed-measure-webpack-plugin依赖 npm install speed-measure-webpack-plugin -D配置vue.c…...
Windows环境下VSCode安装PlatformIO Cero报错ERROR: HTTP error 403 while getting
安装PlatformIO插件成功,初始化失败 错误信息判断问题尝试访问https://pypi.tuna.tsinghua.edu.cn/simple/platformio/成功点击文件后报错如下: 解决问题- 换源 ( Windows下有两个地方需要更改)cmd命令行Pip文件 总结:…...
git bash 安装sdkadmin
1.下载相关安装包,复制到git 安装目录 D:\software\Git\mingw64\bin 2. 运行 curl -s "https://get.sdkman.io" | bash...
如何在IEEE论文中添加伪代码pseudocode
前言 记录写论文过程中需要重复用的一些小技巧: 一、如何在IEEE论文中添加伪代码pseudocode pseudocode是经常需要在论文中使用的流程图,掌握如何写伪代码图是必须得。 1.引入库 代码如下(示例): # 头部添加不可少的…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...
P10909 [蓝桥杯 2024 国 B] 立定跳远
# P10909 [蓝桥杯 2024 国 B] 立定跳远 ## 题目描述 在运动会上,小明从数轴的原点开始向正方向立定跳远。项目设置了 $n$ 个检查点 $a_1, a_2, \cdots , a_n$ 且 $a_i \ge a_{i−1} > 0$。小明必须先后跳跃到每个检查点上且只能跳跃到检查点上。同时࿰…...
基于Java项目的Karate API测试
Karate 实现了可以只编写Feature 文件进行测试,但是对于熟悉Java语言的开发或是测试人员,可以通过编程方式集成 Karate 丰富的自动化和数据断言功能。 本篇快速介绍在Java Maven项目中编写和运行测试的示例。 创建Maven项目 最简单的创建项目的方式就是创建一个目录,里面…...
