DiffusionDet:基于扩散模型的目标检测框架

date
Nov 20, 2022
Last edited time
Mar 27, 2023 08:41 AM
status
Published
slug
DiffusionDet基于扩散模型的目标检测框架
tags
DL
CV
summary
我的评价是, 不如不看
type
Post
Field
Plat

题目:DiffusionDet: Diffusion Model for Object Detection

作者团队:香港大学和腾讯 Shoufa Chen,Peize Sun,Yibing Song,Ping Luo
💡
就硬碰瓷Diffusion.
结构其实是类似于 Cascade RCNN, 与之不同是, 这篇文章不适用 RPN, 而是直接使用随机生成地Proposal, 另外在迭代的 Head 里面, 共享参数, 但是有个 timestamp embedding 的输入.
另外, 重点是实验的对比不公平. 在实验设置当中, 使用 step 为1 时, 网络结构即是一个没有RPN的 faster RCNN, 结果效果居然比 sparse RCNN 还好, 难不成这个 train 的设计如此神奇, 把模型训练的这么好?

摘要:

我们提出的 DiffusionDet 是一个新的目标检测框架,它将目标检测建模为从噪声框 (noisy boxes) 到目标框 (object boxes) 的去噪扩散过程在训练阶段,目标框从真值框 (ground-truth boxes) 扩散到随机分布,模型学习如何逆转这种向真值标注框添加噪声过程。在推理阶段,模型以渐进的方式将一组随机生成的目标框细化为输出结果。
在标准基准(包括 MS-COCO 和 LVIS)的广泛实验表明,与之前成熟的目标检测器相比,DiffusionDet 具有良好的性能。我们的工作给出了目标检测方面的两个重要发现:1 随机框 (random boxes) 虽然与预定义的 anchors 或 learned queries 有很大不同,但也是有效的目标候选。2 目标检测是代表性的感知任务之一,可以通过生成的方式来解决。
Figure 1. Diffusion model for object detection. 
(a) A diffusion model where  is the diffusion process and  is the reverse process. 
(b) Diffusion model for image generation task. 
(c) We propose to formulate object detection as a denoising diffusion process from noisy boxes to object boxes.
Figure 1. Diffusion model for object detection. (a) A diffusion model where is the diffusion process and is the reverse process. (b) Diffusion model for image generation task. (c) We propose to formulate object detection as a denoising diffusion process from noisy boxes to object boxes.

Introduction:

Sparse RCNN 与 DETR 依赖于一组固定的可学习查询。很显然的一个问题是:是否有一种更简单的方法,不需要可学习查询的替代品?我们通过设计一个新的框架来回答这个问题,该框架可以从一组随机框中直接检测对象。
我们从纯随机框开始,这些随机框不包含需要在训练中优化的可学习参数,然后希望逐步细化这些框的位置和大小,直到它们完美覆盖目标对象。这种对目标框添加噪声的设计(noise-to-box)不需要启发式的目标先验,也不需要可学习的查询,从而进一步简化了对象候选,并推动了检测架构的发展。
notion image
我们提出了 DiffusionDet,它通过将检测视为图像中边界框的位置(中心坐标)和大小(宽度和高度)空间上的生成任务,利用扩散模型处理目标检测任务。在训练阶段,由 variance schedule 得到的高斯噪声被添加到真值框以获得噪声框。然后,使用这些噪声框从 backbone 的 encoder 得到的输出特征图(例如 ResNet、Swin Transformer)中裁剪感兴趣区域(RoI)的特征。最后,这些 RoI 特征被送到 decoder,该解码器被用来预测没有噪声的真值框。有了这个训练目标,DiffusionDet 能够从随机框中预测真值框。在推断阶段,DiffusionDet 通过逆向的扩散过程来生成边界框,该过程将噪声先验分布调整为边界框上的学习分布。
DiffusionDet 的 noise-to-box 框架具有一劳永逸的吸引人的优势:我们可以对网络进行一次训练,并在不同的设置下使用相同的网络参数进行推断。(1)Dynamic boxes:利用随机框作为目标候选,DiffusionDet 将训练和评估解耦。DiffusionDet 可以使用随机框进行训练,同时使用随机框进行评估,其中评估时的框是任意的,不需要等于训练时的目标框。(2)Progressive refinement:扩散模型通过迭代细化使 DiffusionDet 受益。我们可以调整去噪采样步骤的数量,以提高检测精度或加快推断速度。这种灵活性使 DiffusionDet 能够适应不同的检测场景,其中对精度和速度的要求不同。
我们在 MS-COCO 数据集上评估 DiffusionDet。使用 ResNet-50 为网络主干,DiffusionDet 使用单个采样步骤实现 45.5 AP,显著优于 Faster R-CNN(40.2 AP)、DETR(42.0 AP),并与 Sparse R-CNN(45.0 AP)不相上下。此外,通过增加采样步骤的数量,我们可以进一步将 DiffusionDet 提高到 46.2 AP。相反,现有方法不具有这种细化特性,当以迭代方式进行评估时,性能会显著下降。此外,我们还在具有挑战性的 LVIS 数据集进行了实验,并且 DiffusionDet 在这个长尾数据集上也表现出色,使用 Swin Base 网络主干实现了 42.1 AP。
我们的贡献总结如下:
  • 我们将目标检测表述为一个生成式去噪过程,这是第一个将扩散模型应用于目标检测的研究。
  • 我们的 noise-to-box 检测范式具有几个吸引人的特性,例如解耦训练、动态框的评估阶段、逐步细化。
  • 我们对 MS-COCO 和 LVIS 基准进行了广泛的实验。DiffusionDet 与之前成熟的目标检测器相比,性能良好。
notion image

3. Approach

3.2. Architecture

我们将整个模型分成两个部分,即图像编码器和检测解码器,其中前者仅运行一次以从原始输入图像 中提取深度特征表示,而后者将此深度特征作为条件,迭代地从噪声框 中逐步细化边界框预测。
Image encoder。图像编码器将原始图像作为输入,并为以下检测解码器提取其高级特征。我们使用卷积神经网络(如 ResNet)和基于 Transformer 的模型(如 Swin)实现 DiffusionDet。特征金字塔网络用于生成 ResNet 和 Swin 骨干的多尺度特征图。
Detection decoder。借用 Sparse R-CNN,检测解码器将一组建议框作为输入,以从图像编码器生成的特征图中裁剪 RoI 特征,并将这些 RoI 特征送到检测头,以获得框回归和分类结果。我们的检测解码器由 6 个级联阶段组成。我们的解码器与 Sparse R-CNN 解码器的区别在于:(1)DiffusionDet 从随机框开始,而 Sparse R-CNN 使用一组固定的学习盒进行推理;(2) Sparse R-CNN 将 proposal bbox 与 proposal feature 作为输入对,而 DiffusionDet 仅需要建议框;(3) DiffusionDet 在迭代采样步骤中重新使用检测器头,并且参数在不同步骤中共享,其中每一个 head 都以 timestep embedding,而 Sparse R-CNN 仅在前向过程中每个 head 只使用一次。
3.3. Training
在训练过程中,我们首先构建了从真值框到噪声盒的扩散过程,然后训练模型来逆转这个过程。算法 1 提供了 DiffusionDet 训练过程的伪代码。
notion image
Ground truth boxes padding. 对于目标检测基准,感兴趣的实例的数量通常在图像中有所不同。因此,我们首先将一些额外的框填充到原始真值框中,使所有框相加为固定数量。我们探索了几种填充策略,例如,重复现有的真值框、合并随机框或图像大小框。第 4.4 节对这些策略进行了比较,合并随机框效果最佳。
Training losses. 目标检测器将 个损坏的框作为输入,并预测类别分类和框坐标。我们将 set prediction loss 应用于预测集合。我们通过最优传输方法选择成本最小的前 个预测,为每个真值框分配多个预测。

3.4. Inference

DiffusionDet 的推理过程是从噪声到检测框的去噪采样过程。如算法 2 所示,从以高斯分布采样的检测框开始,模型逐步细化其预测。
Sampling step. 在每个采样步骤中,来自最后采样步骤的随机框或估计框被送到检测解码器,以预测类别和边界框坐标。在获得当前步骤的框之后,采用 DDIM[76] 来估计下一步骤的框。我们注意到,将没有 DDIM 的预测框发送到下一步也是一种可选的渐进细化策略。然而,如第 4.4 节所述,这会导致严重恶化。
Box renewal. 在每个采样步骤之后,可以将预测的框粗略地分类为两种类型,期望的和不期望的预测。期望的预测包含正确定位在相应对象上的框,而不期望的预测任意分布。直接将这些不需要的盒子发送到下一个采样迭代不会带来好处,因为它们的分布不是由训练中的 box corruption 构造的。为了使推理更好地与训练保持一致,我们提出了框更新策略,通过用随机框替换这些不期望的框来恢复它们。具体来说,我们首先过滤掉分数低于特定阈值的不期望的框。然后我们将剩余的框与从高斯分布采样的新随机框连接起来。
Once-for-all. 由于随机框的设计,我们可以使用任意数量的随机框和采样步骤来评估 DiffusionDet,这不需要等于训练阶段。作为比较,先前的方法在训练和评估期间依赖于相同数量的处理框,并且它们的检测解码器在前向传递中仅使用一次。

4. Experiments

我们首先展示 DiffusionDet 的 once-for-all 特性。然后,我们在 MS-COCO 和 LVIS 数据集上将 DiffusionDet 与之前的检测器进行比较。最后,我们对 DiffusionDet 的组成进行了消融研究。

4.1. Implementation Details.

Once-for-all properties of DiffusionDet. All experiments are trained on COCO 2017 train set and evaluated on COCO 2017 val set. DiffusionDet uses the same network parameters for all settings in Figure 4a and 4b. Our proposed DiffusionDet is able to benefit from more proposal boxes and iterative refinements using the same network parameters.
Once-for-all properties of DiffusionDet. All experiments are trained on COCO 2017 train set and evaluated on COCO 2017 val set. DiffusionDet uses the same network parameters for all settings in Figure 4a and 4b. Our proposed DiffusionDet is able to benefit from more proposal boxes and iterative refinements using the same network parameters.

4.3. Benchmarking on Detection Datasets

我们在 MS-COCO 和 LVIS 数据集上比较了 DiffusionDet 和之前的检测器。在本小节中,我们采用 500 个框进行训练和推理。更详细的实验设置见附录 D。
notion image
notion image

4.4. Ablation Study

我们在 MS-COCO 上进行消融实验,以详细研究 DiffusionDet。所有实验都使用带 FPN 的 ResNet-50 作为主干,300 个检测框用于训练和推理,无需进一步规范。
notion image

© Lazurite 2021 - 2024