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.引入库 代码如下(示例): # 头部添加不可少的…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
