DiffusionDet:用于对象检测的扩散模型

点击进入—>3D视觉工坊学习交流群

DiffusionDet:用于对象检测的扩散模型

Shoufa Chen1, Peize Sun1, Yibing Song2, Ping Luo1 1The University of Hong Kong 2Tencent AI Lab {sfchen, pzsun, pluo}@cs.hku.hk [email protected]

翻译:幸运的石头

笔者个人理解

Diffusion model是目前非常火的图片生成模型,其主要步骤是将原始图像作为真实值,然后在上面添加多轮噪声,后一轮的噪声图像只在上一轮图像的基础上生成,是一个十分标准的马尔科夫链。训练时即学习其噪声生成的过程,推理时即使用其逆过程。噪声是以像素为基本单位。在本文中,以噪声框为基本单位,通过生成的随机噪声框来推理出真实值,是一种十分新颖的推理思路。

常见的生成框有这么几种,最简单的即滑动窗口,然后是通过训练生成的检测框,随着并行计算的发展,滑动窗口演化为锚框,随后则是比较新的基于查询的检测范式。本文则是基于生成的检测方式,是笔者第一次接触的方式,于是分享这篇文章,与大家共同学习。

摘要

我们提出了 DiffusionDet,这是一个新的框架,它将对象检测表述为从噪声框到对象框的去噪扩散过程。在训练阶段,目标框从真实框扩散到随机分布,模型学会逆转这个噪声过程。在推理中,该模型以渐进的方式将一组随机生成的框细化为输出结果。对包括 MS-COCO 和 LVIS 在内的标准基准进行的广泛评估表明,与之前行之有效的检测器相比,DiffusionDet 实现了良好的性能。我们的工作在物体检测方面带来了两个重要发现。首先,随机框虽然与预定义锚点或学习查询有很大不同,但也是有效的候选对象。其次,目标检测是代表性的感知任务之一,可以通过生成的方式解决。我们的代码可在 https://github.com/ShoufaChen/DiffusionDet.

1.介绍

对象检测旨在为一幅图像中的目标对象预测一组边界框和相关类别标签。作为一项基本的视觉识别任务,它已成为许多相关识别场景的基石,例如实例分割 [33, 48],姿态估计 [9, 20],动作识别 [29, 73],对象跟踪 [41, 58] 和视觉关系检测 [40, 56]。

现代对象检测方法随着候选对象的发展而不断发展,即从经验对象先验 [24、53、64、66] 到可学习对象查询 [10,81,102])。具体来说,大多数检测器通过对经验设计的候选对象定义代理回归和分类来解决检测任务,例如滑动窗口 [25、71]、区域建议 [24、66]、锚框 [50、64] 和参考点 [ 17, 97, 101]。最近,DETR [10] 提出可学习的对象查询来消除手工设计的组件并建立端到端的检测管道,引起了人们对基于查询的检测范式的极大关注 [21、46、81、102]。

DiffusionDet:用于对象检测的扩散模型_第1张图片

图 1. 用于对象检测的扩散模型。(a) 扩散模型,其中 q 是扩散过程,pθ 是逆过程。(b) 图像生成任务的扩散模型。(c) 我们建议将目标检测表述为从噪声框到目标框的去噪扩散过程

虽然这些作品实现了简单有效的设计,但它们仍然依赖于一组固定的可学习查询。一个自然的问题是:是否有一种更简单的方法甚至不需要可学习查询的替代?

我们通过设计一个新颖的框架来回答这个问题,该框架直接从一组随机框中检测对象。从不包含需要在训练中优化的可学习参数的纯随机框开始,我们期望逐渐细化这些框的位置和大小,直到它们完美地覆盖目标对象。这种噪声到框的方法不需要启发式对象先验,也不需要可学习的查询,进一步简化了对象候选并推动了检测流程的发展。

我们的动机如图 1 所示。我们认为噪声到框范式的哲学类似于去噪扩散模型 [15、35、79] 中的噪声到图像过程,它们是一类可能性基于模型通过学习去噪模型逐渐去除图像中的噪声来生成图像。扩散模型在许多生成任务 [3, 4, 37, 63, 85] 中取得了巨大成功,并开始在图像分割等感知任务中进行探索 [1, 5, 6, 12, 28, 42, 89]。然而,据我们所知,还没有成功地将其应用于目标检测的现有技术。

在这项工作中,我们提出了 DiffusionDet,它通过在边界框的位置(中心坐标)和大小(宽度和高度)的空间上将检测作为生成任务来处理扩散模型的对象检测任务图片。在训练阶段,将由方差时间表 [35] 控制的高斯噪声添加到真实值以获得噪声框。然后,这些噪声框用于从骨干编码器的输出特征图中裁剪感兴趣区域 (RoI) 的 [33、66] 特征,例如 ResNet [34]、Swin Transformer [54]。最后,这些 RoI 特征被发送到检测解码器,该解码器被训练来预测没有噪声的真实值。有了这个训练目标,DiffusionDet 就能够从随机框中预测出真实框。在推理阶段,DiffusionDet 通过反转学习的扩散过程生成边界框,该过程将嘈杂的先验分布调整为边界框上的学习分布。

DiffusionDet 的 noise-to-box 管道具有 Once-for-All 的吸引人优势:我们可以训练网络一次,并在推理的不同设置下使用相同的网络参数。(1) 动态框:利用随机框作为候选对象,DiffusionDet 将训练和评估分离。DiffusionDet 可以用 Ntrain 随机框进行训练,同时用 Neval 随机框进行评估,其中 Neval 是任意的,不需要等于 Ntrain。(2) 渐进细化:扩散模型通过迭代细化使 DiffusionDet 受益。我们可以调整去噪采样步数以提高检测精度或加快推理速度。这种灵活性使 Diffusion-Det 能够适应对精度和速度有不同要求的不同检测场景

我们在 MS-COCO [51] 数据集上评估 DiffusionDet。使用 ResNet-50 [34] 主干,DiffusionDet 使用单个采样步骤实现 45.5 AP,这显著优于 Faster R-CNN [66](40.2 AP)、DETR [10](42.0 AP)并且与稀疏 R 相当-CNN [81] (45.0 )。此外,我们可以通过增加采样步骤的数量进一步将 DiffusionDet 提高到 46.2 AP。相反,现有的方法 [10, 81, 102] 不具有这种细化特性,并且在以迭代方式进行评估时会出现显著的性能下降。此外,我们进一步在具有挑战性的 LVIS [31] 数据集上进行了实验,DiffusionDet 在这个长尾数据集上也表现良好,使用 Swin-Base [54] 主干实现了 42.1 AP

我们的贡献总结如下:

• 我们将目标检测制定为生成去噪过程,据我们所知,这是第一项将扩散模型应用于目标检测的研究。

• 我们的噪声到框检测范例具有几个吸引人的特性,例如动态框的解耦训练和评估阶段以及渐进式细化。

• 我们对MS-COCO 和LVIS 基准进行了大量实验。DiffusionDet 相对于之前行之有效的检测器实现了良好的性能

2.相关工作

物体检测。大多数现代对象检测方法对经验对象先验执行框回归和类别分类,例如建议框 [24、66]、锚点 [50、64、65]、点 [84、87、101]。最近,Carion 等人。提出 DETR [10] 使用一组固定的可学习查询来检测对象。从那时起,基于查询的检测范式引起了极大的关注,并激发了一系列后续工作[46、52、57、80、81、102]。在这项工作中,我们使用 DiffusionDet 进一步推进了对象检测管道的开发,如图 2 所示。

DiffusionDet:用于对象检测的扩散模型_第2张图片

图 2. 不同对象检测范例的比较。(a) 从经验对象先验检测 [64, 66];(b) 从可学习查询中检测 [10、81、102];(c) 从随机框(我们的)中检测。

扩散模型。作为一类深度生成模型,扩散模型[35,77,79]从随机分布的样本开始,通过渐进的去噪过程恢复数据样本。扩散模型最近在计算机视觉 [4, 19, 30, 32, 36, 60, 63, 68, 69, 74, 96, 99],自然语言处理 [3, 27, 47] 等领域取得了显著成果,音频处理[38、43、45、62、82、92、95],跨学科应用[2、37、39、70、85、91、94]等。扩散模型的更多应用可以在最近的调查 [8, 96]。

感知任务的扩散模型。虽然扩散模型在图像生成方面取得了巨大成功 [15,35,79],但它们在判别任务中的潜力尚未得到充分探索。一些先驱作品尝试采用扩散模型进行图像分割任务 [1, 5, 6, 12, 28, 42, 89],例如,Chen 等人。[12] 采用比特扩散模型 [13] 对图像和视频进行全景分割 [44]。然而,尽管对这个想法很感兴趣,但以前没有成功地将生成扩散模型用于对象检测的解决方案,其进展明显落后于分割。我们认为这可能是因为分割任务是以图像到图像的方式处理的,这在概念上更类似于图像生成任务,而对象检测是一个集合预测问题[10],需要分配候选对象[ 10, 49, 66] 到真实对象。据我们所知,这是第一个采用扩散模型进行目标检测的工作。

DiffusionDet:用于对象检测的扩散模型_第3张图片

图 3. DiffusionDet 框架。图像编码器从输入图像中提取特征表示。检测解码器将噪声框作为输入并预测类别分类和框坐标。在训练期间,噪声框是通过向真实值添加高斯噪声来构建的。在推论中,噪声框是从高斯分布中随机采样的。

3.实现方式

3.1预备知识

物体检测。对象检测的学习目标是输入-目标对(x, b, c),其中x是输入图像,b和c分别是图像x中对象的一组边界框和类别标签.更具体地说,我们将集合中的第 i 个框表示为893309c3c07bc470e614fa0da61545af.jpeg,其中d145a73c9e3ddc7551b7734c1df94358.jpeg是边界框的中心坐标,fa523c6d427627f77b25c8cb18d386e9.jpeg分别是该边界框的宽度和高度

扩散模型。扩散模型 [35, 75–77] 是一类受非平衡热力学启发的基于似然的模型 [77, 78]。这些模型通过逐渐向样本数据中添加噪声来定义扩散前向过程的马尔可夫链。前向噪声过程定义为

c9844aa79039c2d57b6a29a80e71f259.png

它通过向 z0 添加噪声将数据样本 z0 转换为 t ∈ {0, 1, ..., T } 的潜在噪声样本 zt。

d6de8465a34f28a6cd574a3626c0f786.jpeg,βs 表示噪声方差表 [35]。在训练期间,神经网络 fθ (zt, t) 被训练为通过最小化带有 l2 损失的训练目标从 zt 预测 z0 [35]:

62142a874622b10f14ed1c4c2b0cd3db.png

在推理阶段,使用模型 fθ 和更新规则 [35, 76] 以迭代方式从噪声 zT 重建数据样本 z0,即 zT → zT −Δ → ... → z0。可以在附录 A 中找到更详细的扩散模型公式。

在这项工作中,我们旨在通过扩散模型解决目标检测任务。在我们的设置中,数据样本是一组边界框 z0 = b,其中 b ∈ RN ×4 是一组 N 个框。神经网络 fθ (zt, t, x) 被训练来从噪声框 zt 预测 z0,以相应的图像 x 为条件。对应的类别标签c据此产生。

3.2网络结构

由于扩散模型迭代生成数据样本,因此需要在推理阶段多次运行模型 fθ。然而,在每个迭代步骤中直接将 fθ 应用于原始图像在计算上是难以处理的。因此,我们建议将整个模型分成两部分,图像编码器和检测解码器,其中前者只运行一次以从原始输入图像 x 中提取深度特征表示,后者以此深度特征为条件,而不是原始图像,以逐步细化来自嘈杂框 zt 的框预测。

图像编码器。图像编码器将原始图像作为输入,并为接下来的检测解码器提取其高级特征。我们使用 ResNet [34] 等卷积神经网络和 Swin [54] 等基于 Transformer 的模型来实现 DiffusionDet。特征金字塔网络 [49] 用于根据 [49、54、81] 为 ResNet 和 Swin 主干生成多尺度特征图。

检测解码器。借鉴稀疏 R-CNN [81],检测解码器将一组建议框作为输入,从图像编码器生成的特征图中裁剪 RoI 特征 [33、66],并将这些 RoI 特征发送到检测头以获得框回归和分类结果。在 [10,81,102] 之后,我们的检测解码器由 6 个级联阶段组成。我们的解码器与 Sparse R-CNN 解码器的区别在于:

(1)DiffusionDet 从随机框开始,而 Sparse R-CNN 在推理中使用一组固定的学习框;

(2) 稀疏 R-CNN 将建议框及其相应的建议特征对作为输入,而 DiffusionDet 只需要建议框;

(3) DiffusionDet 在迭代采样步骤中重新使用检测器头,并且参数在不同步骤之间共享,每个步骤都通过时间步嵌入 [35、86] 指定到扩散过程,而稀疏 R-CNN 使用检测解码器仅在前向传播中进行一次

3.3训练

在训练过程中,我们首先构建从 ground-truth boxes 到 noisy boxes 的扩散过程,然后训练模型来反转这个过程。算法 1 提供了 DiffusionDet 训练过程的伪代码

DiffusionDet:用于对象检测的扩散模型_第4张图片

真实值填充。对于现代对象检测基准 [18、31、51、72],感兴趣实例的数量通常因图像而异。因此,我们首先将一些额外的框填充到原始真实值,以便所有框加起来达到固定数量 Ntrain。我们探索了几种填充策略,例如,重复现有的真实值、连接随机框或图像大小框。这些策略的比较在 4.4 节中,连接随机框效果最好

Box corruption。我们将高斯噪声添加到填充的真实值。噪声尺度由 αt 控制(在等式(1)中),如 [59] 中所提出的,αt 在不同的时间步长 t 中采用单调递减的余弦时间表。值得注意的是,真实值坐标也需要缩放,因为信噪比对扩散模型的性能有显着影响 [12]。我们观察到对象检测比图像生成任务更倾向于使用相对更高的信号缩放值 [13,15,35]。更多讨论在第 4.4 节

训练损失。检测器将 Ntrain 个损坏的框作为输入,并预测 Ntrain 个类别分类和框坐标的预测。我们在 Ntrain 预测集上应用集预测损失 [10, 81, 102]。我们通过最佳传输分配方法 [16、22、23、90] 选择成本最低的前 k 个预测,为每个基本事实分配多个预测。

3.4推理

DiffusionDet 的推理过程是从噪声到目标框的去噪采样过程。从以高斯分布采样的框开始,模型逐渐改进其预测,如算法 2 所示。

采样步骤。在每个采样步骤中,随机框或来自上一个采样步骤的估计框被发送到检测解码器以预测类别分类和框坐标。在获得当前步骤的框后,采用 DDIM [76] 来估计下一步的框。我们注意到,将没有 DDIM 的预测框发送到下一步也是一种可选的渐进细化策略。然而,如第 4.4 节所述,它会带来显着的恶化。

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

Once-for-all。得益于随机框设计,我们可以使用任意数量的随机框和采样步骤数来评估 DiffusionDet,而无需等于训练阶段。作为比较,以前的方法 [10、81、102] 在训练和评估期间依赖相同数量的处理框,并且它们的检测解码器在前向传递中仅使用一次

4.实验

我们首先展示了 DiffusionDet 的Once-for-all属性。然后我们将 DiffusionDet 与之前在 MS-COCO [51] 和 LVIS [31] 数据集上建立良好的检测器进行比较。最后,我们提供了 DiffusionDet 组件的消融研究。

MS-COCO [51] 数据集在 train2017 集中包含约 118K 个训练图像,在 val2017 集中包含约 5K 个验证图像。总共有 80 个对象类别。我们报告多个 IoU 阈值 (AP)、阈值 0.5 (AP50) 和 0.75 (AP75) 的框平均精度

LVIS v1.0 [31] 数据集是一个大词汇对象检测和实例分割数据集,具有 100K 训练图像和 20K 验证图像。LVIS 与 MS-COCO 共享相同的源图像,而其注释捕获 1203 个类别的长尾分布。我们在 LVIS 评估中采用 MS-COCO 风格的框度量 AP、AP50 和 AP75

4.1实施细节

训练时间表。ResNet 和 Swin 主干分别在 ImageNet-1K 和 ImageNet-21K [14] 上使用预训练的权重进行初始化。新添加的检测解码器使用 Xavier init [26] 进行初始化。我们使用 AdamW [55] 优化器训练 DiffusionDet,初始学习率为 2.5 × 10−5,权重衰减为 10−4。所有模型都在 8 个 GPU 上使用大小为 16 的小批量进行训练。对于 MS-COCO,默认的训练计划是 450K 次迭代,学习率在 350K 和 420K 次迭代时除以 10。对于LVIS,训练计划是210K、250K、270K。数据扩充策略包含随机水平翻转、调整输入图像大小的缩放抖动,使得最短边至少为 480 且最多为 800 像素,而最长边最多为 1333 [93],以及随机裁剪扩充。我们不使用 EMA 和一些强大的数据增强,如 MixUp [98] 或 Mosaic [23]。

推理细节。在推理阶段,检测解码器迭代地改进高斯随机框的预测。我们分别为 MS-COCO 和 LVIS 选择前 100 名和前 300 名的评分预测。NMS 将每个采样步骤的预测组合在一起以获得最终预测。

DiffusionDet:用于对象检测的扩散模型_第5张图片

(a) 动态框。DETR 和 DiffusionDet 都经过 300 个对象查询或建议框的训练。推理中更多的建议框带来了 DiffusionDet 的准确性提升,同时退化了 DETR

DiffusionDet:用于对象检测的扩散模型_第6张图片

(b) 渐进细化。DiffusionDet 使用 300 个建议框进行训练,并使用不同数量的建议框进行评估。对于所有情况,准确度都会随着细化次数的增加而增加。

图 4. DiffusionDet 的Once-for-all属性。所有实验都在 COCO 2017 训练集上进行训练,并在 COCO 2017 验证集上进行评估。DiffusionDet 对图 4a 和 4b 中的所有设置使用相同的网络参数。我们提出的 DiffusionDet 能够受益于更多的建议框和使用相同网络参数的迭代改进。

4.2主要性能

DiffusionDet 的主要属性在于对所有推理案例进行一次训练。一旦模型被训练好,它可以通过改变框的数量和推理中的样本步骤的数量来使用,如图4所示。Diffusion-Det可以通过使用更多的框或/和更多的细化步骤来获得更好的准确性,代价是更高的延迟。因此,我们可以将单个 DiffusionDet 部署到多个场景,并在无需重新训练网络的情况下获得所需的速度-精度权衡

动态盒子。我们将 DiffusionDet 与 DETR [10] 进行比较,以显示动态框的优势。与其他检测器的比较在附录 B 中。我们使用官方代码和 300 轮训练的默认设置使用 300 个对象查询重现 DETR [10]。我们用 300 个随机框训练 DiffusionDet,以便候选的数量与 DETR 一致,以便进行公平比较。评估针对 {50, 100, 300, 500, 1000, 2000, 4000} 个查询或框。

DiffusionDet:用于对象检测的扩散模型_第7张图片

表 1. 在 COCO 2017 val set 上与不同物体检测器的比较。每个方法后面的参考标明其结果的来源。没有引用的方法是我们的实现

DiffusionDet:用于对象检测的扩散模型_第8张图片

表 2. 在 LVIS v1.0 验证集上与不同物体检测器的比较。我们使用联合损失 [100] 重新实现所有检测器,除了浅灰色的行(带有 †)

由于在 DETR 的原始设置中训练后可学习的查询是固定的,我们提出了一个简单的解决方法来使 DETR 能够处理不同数量的查询:当 Neval < Ntrain 时,我们直接从 Ntrain 查询中选择 Neval 查询;当 Neval > Ntrain 时,我们连接额外的 Neval − Ntrain 随机初始化查询(又名 concat random)。我们在图 4a 中展示了结果。DiffusionDet 的性能随着用于评估的框数的增加而稳步提高。相反,当 Neval 与 Ntrain 不同时,即 300,DETR 有明显的性能下降。此外,当 Neval 和 Ntrain 之间的差异增加时,这种性能下降会变得更大。例如,当框数增加到 4000 时,DETR 只有 26.4 个 AP 和 concat 随机策略,比峰值低 12.4(即 38.8 个 AP 和 300 个查询)。作为比较,DiffusionDet 可以通过 4000 个盒子实现 1.1 的 AP 增益。

当 Neval > Ntrain 时,我们还为 DETR 实现了另一种方法,将现有的 Ntrain 查询克隆到 Neval(也称为克隆)。我们观察到 concat 随机策略始终比克隆策略表现更好。这是合理的,因为克隆查询将产生与原始查询相似的检测结果。相比之下,随机查询为检测结果引入了更多的多样性

渐进式细化。DiffusionDet 的性能不仅可以通过增加随机框的数量来提高,还可以通过迭代更多的步骤来提高。我们通过将迭代步骤从 1 增加到 9,使用 100、300 和 500 个随机框评估 DiffusionDet。结果如图 4b 所示。我们看到具有这三种设置的 DiffusionDet 都具有稳定的性能提升和更多的优化步骤。此外,具有较少随机框的 DiffusionDet 往往会随着细化而获得更大的增益。例如,具有 100 个随机框的 DiffusionDet 实例的 AP 从 42.4(1 步)增加到 45.9(9 步),绝对 3.5 AP 改进。这种精度性能与 300 个随机框的 45.0(1 步)和 500 个随机框的 45.5(1 步)相当,表明 DiffusionDet 的高精度可以通过增加建议框的数量或迭代步骤来实现。

相比之下,我们发现以前的方法 [10、81、102] 没有这种细化特性。他们只能使用一次检测解码器。使用两个或更多迭代步骤会降低性能。更详细的比较可以在附录 C 中找到。

4.3检测数据集的基准测试

我们在 MS-COCO 和 LVIS 数据集上将 DiffusionDet 与之前的检测器 [7,10, 50, 66, 81, 102] 进行比较。在本小节中,我们采用 500 个框进行训练和推理。更详细的实验设置在附录 D 中。 

DiffusionDet:用于对象检测的扩散模型_第9张图片

表 3.MS-COCO 上的 DiffusionDet 消融实验。我们报告 AP、AP50 和 AP75。如果不指定,默认设置为:backbone是ResNet-50[34] with FPN[49],signal scale是2.0,ground-truth boxes padding方法是拼接Gaussian random boxes,采样使用DDIM和box renewal步骤,其中框更新的分数阈值为0.5,训练和评估都使用300个框。默认设置以灰色标记

MS-COCO。在表 1 中,我们比较了 DiffusionDet 与之前在 MS-COCO 上的检测器的对象检测性能。没有细化的 DiffusionDet(即第 1 步)使用 ResNet-50 主干实现 45.5 AP,以非常重要的优势优于 Faster R-CNN、RetinaNet、DETR 和 Sparse R-CNN 等成熟方法。此外,DiffusionDet 在使用更多迭代细化时可以使其优势更加显著。例如,当使用 ResNet-50 作为主干时,DiffusionDet 比稀疏 R-CNN 单步高 0.5 AP(45.5 对 45.0),而 8 步高 1.2 AP(46.2 对 45.0)。

当主干尺寸按比例增加时,DiffusionDet 显示出稳定的改进。DiffusionDet with ResNet-101 达到 46.6 AP(1 步)和 47.1 AP(8 步)。当使用 ImageNet-21k 预训练的 Swin-Base [54] 作为主干时,DiffusionDet 单步获得 52.3 AP,8 步获得 52.8 AP,优于 Cascade R-CNN 和 Sparse R-CNN

LVIS v1.0。我们在表 2 中比较了在更具挑战性的 LVIS 数据集上的结果。我们基于 detectron2 [93] 重现了 Faster R-CNN 和 Cascade R-CNN,而在其原始代码上重现了 Sparse R-CNN。我们首先使用 detectron2 的默认设置重现 Faster R-CNN 和 Cascade R-CNN,分别使用 ResNet-50/101 主干实现 22.5/24.8 和 26.3/28.8 AP(表 2 中带有 †)。此外,我们使用 [100] 中的联合损失来提高它们的性能。由于 LVIS 中的图像是以联合方式注释的 [31],负类别注释稀疏,这会恶化训练梯度,特别是对于稀有类别 [83]。联邦损失被提议通过为每个训练图像采样类的子集 S 来缓解这个问题,其中包括所有正注释和负注释的随机子集。在 [100] 之后,我们选择 |S| = 50 在所有实验中。Faster R-CNN 和 Cascade R-CNN 通过联邦损失获得大约 3 个 AP 收益。以下所有比较均基于此损失

我们看到 DiffusionDet 使用更多的细化步骤获得了显著的收益,同时具有小型和大型骨干。此外,我们注意到与 MS-COCO 相比,细化在 LVIS 上带来了更多收益。例如,它在 MS-COCO 上的性能从 45.5 增加到 46.2(+0.7 AP),而在 LVIS 上从 30.4 增加到 31.9(+1.5 AP),这表明我们的精炼策略将对更具挑战性的基准更有帮助

4.4消融研究

我们在 MS-COCO 上进行消融实验以详细研究 DiffusionDet。所有实验都使用带有 FPN 的 ResNet-50 作为骨干和 300 个框用于训练和推理,没有进一步的说明。

信号缩放。信号比例因子控制扩散过程的信噪比 (SNR)。我们在表 3a 中研究了比例因子的影响。结果表明,2.0 的缩放因子实现了最佳 AP 性能,优于图像生成任务中的标准值 1.0 [13、35] 和用于全景分割的标准值 0.1 [12]。我们解释说这是因为一个框只有四个表示参数,即中心坐标(cx,cy)和框大小(w,h),这粗略地类似于图像生成中只有四个像素的图像.框表示比密集表示更脆弱,例如全景分割中的 512×512 掩模表示 [13]。因此,与图像生成和全景分割相比,DiffusionDet 更喜欢具有更高信噪比的更简单的训练目标

DiffusionDet:用于对象检测的扩散模型_第10张图片

图 5. 5 个独立训练实例的统计结果,每个实例用不同的随机种子评估 10 次。图中的数字表示平均值。

GT 框填充策略。如第 3.3 节所述,我们需要将额外的框填充到原始真实值,以便每个图像具有相同数量的框。我们在表 3b 中研究了不同的填充策略,包括(1.)均匀地重复原始真实值,直到总数达到预定义值 Ntrain;(2.) 填充服从高斯分布的随机框;(3.) 填充服从均匀分布的随机框;(4.) 填充与整个图像大小相同的框,这是 [81] 中可学习框的默认初始化。串联高斯随机框最适合 DiffusionDet。我们默认使用这种填充策略。

抽样策略。我们在表 3c 中比较了不同的采样策略。在评估不使用 DDIM 的 DiffusionDet 时,我们直接将当前步骤的输出预测作为下一步的输入。我们发现,当既不采用 DDIM 也不采用框更新时,DiffusionDet 的 AP 会随着评估步骤的增加而降低。此外,仅使用 DDIM 或 box renewal 在 4 步时会带来轻微的好处,而在使用更多步时不会带来进一步的改进。此外,我们的 DiffusionDet 在配备 DDIM 和更新时获得了显著的收益。这些实验共同验证了采样步骤中 DDIM 和盒子更新的必要性。

盒子更新阈值。如第 3.4 节所述,提出了框更新策略以重新激活分数低于特定阈值的预测。表 3d 显示了框更新的分数阈值的影响。阈值 0.0 表示不使用框更新。结果表明 0.5 的阈值比其他阈值表现稍好。

Ntrain 和 Neval 之间的匹配。正如在第二节中讨论的那样。4.2,DiffusionDet 具有使用任意数量的随机框进行评估的吸引人的特性。为了研究训练框的数量如何影响推理性能,我们分别使用 Ntrain ∈ {100, 300, 500} 随机框训练 DiffusionDet,然后使用 Neval ∈ {100, 300, 500, 1000} 评估这些模型中的每一个。结果总结在表 3e 中。首先,无论 DiffusionDet 使用多少个随机框进行训练,精度都会随着 Neval 的增加而稳定增加,直到在大约 2000 个随机框处达到饱和点。其次,当 Ntrain 和 Neval 相互匹配时,DiffusionDet 往往表现更好。例如,当 Neval = 100 时,使用 Ntrain = 100 个框训练的 DiffusionDet 表现优于 Ntrain = 300 和 500。

精度与速度。我们在表 3f 中测试了 DiffusionDet 的推理速度。运行时间在单个 NVIDIA A100 GPU 上进行评估,小批量大小为 1。我们对 Ntrain ∈ {100, 300} 的多种选择进行了实验,并保持 Neval 与相应的 Ntrain 相同。我们看到将 Ntrain 从 100 增加到 300 会带来 2.5 AP 增益,而延迟成本可以忽略不计(31.6 FPS 对 31.3 FPS)我们还测试了当 Ntrain = 300 时 4 步的推理速度。我们观察到更多的改进成本带来更多的推理次并导致更少的 FPS。将精炼步骤从 1 增加到 4 提供 0.8 AP 增益,但会使检测器变慢。作为参考,我们将 DiffusionDet 与具有 300 个提议的稀疏 R-CNN 进行比较,而具有 300 个框的 DiffusionDet 与稀疏 R-CNN 的 FPS 非常接近。

随机种子。由于 DiffusionDet 在推理开始时被赋予随机框作为输入,因此有人可能会问不同随机种子之间是否存在较大的性能差异。我们通过独立训练五个模型来评估 DiffusionDet 的稳定性,除了随机种子外,这些模型具有严格相同的配置。然后,我们使用 10 个不同的随机种子评估每个模型实例,以衡量性能的分布,受到 [61, 88] 的启发。如图 5 所示,大多数评估结果都分布在 45.0 AP 附近。此外,平均值均在 45.0 AP 以上,不同模型实例之间的性能差异很小,这表明 DiffusionDet 对随机框具有鲁棒性并产生可靠的结果。

5.结论和未来的工作

在这项工作中,我们通过将对象检测视为从噪声框到对象框的去噪扩散过程,提出了一种新的检测范式 DiffusionDet。我们的 noise-to-box 管道有几个吸引人的特性,包括动态框和渐进式细化,使我们能够使用相同的网络参数来获得所需的速度-精度权衡,而无需重新训练模型。标准检测基准的实验表明,与成熟的检测器相比,DiffusionDet 实现了良好的性能

为了进一步探索扩散模型解决对象级识别任务的潜力,未来的几项工作是有益的。尝试将 DiffusionDet 应用于视频级任务,例如对象跟踪和动作识别。另一种是将 DiffusionDet 从封闭世界扩展到开放世界或开放词汇对象检测

本文仅做学术分享,如有侵权,请联系删文。

点击进入—>3D视觉工坊学习交流群

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

8.从零搭建一套结构光3D重建系统[理论+源码+实践]

9.单目深度估计方法:算法梳理与代码实现

10.自动驾驶中的深度学习模型部署实战

11.相机模型与标定(单目+双目+鱼眼)

12.重磅!四旋翼飞行器:算法与实战

13.ROS2从入门到精通:理论与实战

14.国内首个3D缺陷检测教程:理论、源码与实战

15.基于Open3D的点云处理入门与实战教程

16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

重磅!粉丝学习交流群已成立

交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。

扫描以下二维码,添加小助理微信(dddvision),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

DiffusionDet:用于对象检测的扩散模型_第11张图片

▲长按加微信群或投稿,微信号:dddvision

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,4000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

DiffusionDet:用于对象检测的扩散模型_第12张图片

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

你可能感兴趣的:(DiffusionDet:用于对象检测的扩散模型)