当前位置: 首页 > article >正文

《DiffusionDet: Diffusion Model for Object Detection》ICCV2023

摘要

本文提出了一种新的框架DiffusionDet,它将目标检测任务表述为从带噪声的边界框到目标边界框的去噪扩散过程(如图一所示)。在训练阶段,目标边界框逐渐扩散到随机分布,模型学习逆转这一加噪过程。在推理阶段,模型以渐进的方式细化一组随机生成的边界框以输出结果。在标准基准测试(包括MS-COCO和LVIS)上的广泛评估表明,DiffusionDet与以前建立的检测器相比,取得了有利的性能。这项工作在目标检测中带来了两个重要的发现:首先,随机边界框虽然与预定义的锚点或学习到的查询差异很大,但也是有效的目标候选;其次,目标检测这一代表性感知任务可以通过生成方式解决。

图一:将目标检测表述为从噪声框到目标框的去噪扩散过程

拟解决的问题:DiffusionDet旨在解决传统目标检测方法中存在的问题,特别是依赖于固定的一组可学习查询(如图二(a)(b)所示)的问题。作者提出了一个问题:是否有一种更简单的方法,甚至不需要可学习查询的代理?DiffusionDet通过直接从一组随机边界框(如图二(c)所示)检测对象来回答这个问题。

图二

创新之处

  1. 去噪扩散过程:DiffusionDet首次将目标检测表述为生成式去噪过程,这是据作者所知首次将扩散模型应用于目标检测。
  2. 动态边界框:DiffusionDet利用随机边界框作为目标候选,解耦了训练和评估阶段,可以在训练时使用N_{train}个随机边界框,而在评估时使用N_{eval}个随机边界框,N_{eval}可以是任意值,不需要等于N_{train}
  3. 渐进式细化:扩散模型通过迭代细化为DiffusionDet带来了好处,可以通过调整去噪采样步骤的数量来提高检测精度或加快推理速度。

方法

2.1 架构

DiffusionDet框架包含图像编码器和目标解码器两部分。图像编码器从输入图像中提取特征表示,目标解码器接收噪声边界框作为输入并预测类别分类和框坐标。在训练阶段,通过向真实边界框添加高斯噪声来构建噪声边界框。在推理阶段,DiffusionDet通过逆转学习到的扩散过程生成边界框,该过程调整噪声先验分布以适应学习到的边界框分布。

图三:在训练期间,通过将高斯噪声添加到真实框来构建噪声框。在推理中,噪声框是从高斯分布中随机采样的。

将整个模型分为两部分,图像编码器和目标解码器,前者只运行一次,从原始输入图像x中提取深度特征表示,后者将该深度特征作为条件,而不是原始图像,逐步细化来自噪声框zt的框预测。

图像编码器。图像编码器以原始图像为输入,提取其高级特征进行以下目标解码器。我们使用卷积神经网络(如ResNet)和基于transformer的模型(如Swin)来实现DiffusionDet。特征金字塔网络用于在之后为ResNet和Swin主干生成多尺度特征图。

目标解码器。从稀疏R-CNN借用,目标解码器将一组提议框作为输入,从图像编码器生成的特征映射中裁剪RoI-特征,并将这些RoI-特征发送到检测头,得到框回归和分类结果。在之后,我们的目标解码器由 6 个级联阶段组成。我们的解码器与稀疏 R-CNN 中的解码器之间的差异是:(1)DiffusionDet 从随机框开始,而 Sparse R-CNN 在推理中使用固定的学习框集; (2) Sparse R-CNN 将提议框的输入对及其对应的提议特征作为输入,而 DiffusionDet 只需要提议框; (3) DiffusionDet 在迭代采样步骤中重用检测器头,参数在不同的步骤中共享,每个步骤通过时间步嵌入指定到扩散过程,而 Sparse R-CNN 在前向传递中仅使用一次目标解码器。

2.2 训练

在训练过程中,我们首先将ground-truth框的扩散过程构建到有噪声的框中,然后训练模型逆转这个过程。

Ground truth boxes填充。首先将一些额外的框填充到原始Ground truth框,以便所有框加起来等于固定数量的N_{train}。探索了几种填充策略,例如重复现有的地面实况框、连接随机框或图像大小框。这些策略的比较发现,连接随机框效果最好。

Box corruption。将高斯噪声添加到填充的Ground truth框框中。

训练损失。目标解码器以N_{train}损坏的框为输入,预测类别分类和框坐标的N_{train}预测。我们在 N_{train}预测集上应用集合预测损失。通过最优传输分配方法选择成本最低的前 k 个预测来为每个基本事实分配多个预测。

2.3 推理 

DiffusionDet的推理过程是一个从噪声到目标盒的去噪采样过程。从高斯分布中抽样的box开始,模型逐步改进其预测。

抽样步骤。在每个采样步骤中,将随机box或上次采样步骤的预测box送入目标解码器,以预测类别分类和box坐标。在得到当前步骤的box数后,采用DDIM估计下一步的盒数。将没有DDIM的预测框发送到下一步也是一种可选的渐进优化策略。

box更新。在每个采样步骤之后,预测框可以大致分为两种类型,期望和不期望的预测。期望的预测包含适当地位于相应对象的框,而不期望的预测则是任意分布的。直接将这些不需要的box发送到下一次采样迭代不会带来好处,因为它们的分布不是由训练中的box损坏构建的。为了使推理更好地与训练一致,我们提出了box更新策略,通过将这些不需要的box替换为随机的box来恢复这些box。具体来说,我们首先过滤掉得分低于特定阈值的不需要的框。然后,我们将剩余的box与从高斯分布中抽样的新随机box连接起来。

Once-for-all。由于随机box的设计,我们可以用任意数量的随机box和采样步数来评估DiffusionDet,而不需要等于训练阶段。相比之下,以前的方法在训练和评估过程中依赖于相同数量的处理box,并且它们的目标解码器在前传过程中只使用一次。

结论

DiffusionDet通过将目标检测视为从噪声边界框到目标边界框的去噪扩散过程,提出了一种新的检测范式。这种噪声到框的管道具有动态框和渐进式细化等吸引人的特性,使得我们可以使用相同的网络参数在不同的推理情况下获得所需的速率-精度权衡,而无需重新训练模型。在标准检测基准上的实验表明,DiffusionDet与建立的检测器相比具有有利的性能。未来的工作可能会将DiffusionDet应用于视频级任务,例如目标跟踪和动作识别,或者将DiffusionDet从封闭世界扩展到开放世界或开放词汇目标检测。


http://www.kler.cn/a/392474.html

相关文章:

  • 【面试题】发起一次网络请求,当请求>=1s,立马中断
  • Python 连接 Redis 进行增删改查(CRUD)操作
  • AWS认证SAA-C0303每日一题
  • Spring框架之观察者模式 (Observer Pattern)
  • 监控录音如何消除杂音?降低录音噪音的五个技巧
  • Python数据预处理
  • Android Mobile Network Settings | APN 菜单加载异常
  • Docker如何以配置文件方式安装nginx
  • WPF应用设置参数存储
  • 【Linux】Linux环境基础开发工具使用(下)
  • C++入门基础知识148—【关于C++ 二元运算符重载】
  • C#语言:现代软件开发的核心工具
  • shardingsphere5.5.1基于spring体系的集成-数据脱敏04
  • uni-app表格带分页,后端处理过每页显示多少条
  • 深入理解接口测试:实用指南与最佳实践5.0(一)
  • Scala的List习题
  • 鸿蒙next版开发:相机开发-录像(ArkTS)
  • 算法训练(leetcode)二刷第二十三天 | 455. 分发饼干、*376. 摆动序列、53. 最大子数组和
  • 机器学习 笔记
  • 在 Ubuntu 上安装 `.deb` 软件包有几种方法
  • 【数据治理】你知道如何做静态脱敏吗?
  • TTL器件和CMOS器件的逻辑电平
  • 【动态规划】打家劫舍类问题
  • wordpress实用功能A5资源网同款 隐藏下载框 支付框 需要登录才能查看隐藏的内容
  • 系统架构设计师论文:论软件维护方法及其应用
  • git同步fork和原始仓库