在线手机网站制作,秦皇岛的网站建设公司,wordpress中英文建站,wordpress 创建表提出了一种新的框架——DiffusionDet#xff0c;它将目标检测定义为一个从有噪声的盒子到目标盒子的去噪扩散过程。在训练阶段#xff0c;目标盒从真实值盒扩散到随机分布#xff0c;模型学会了逆转这个噪声过程。 在推理中#xff0c;该模型以渐进的方式将一组随机生成的框…提出了一种新的框架——DiffusionDet它将目标检测定义为一个从有噪声的盒子到目标盒子的去噪扩散过程。在训练阶段目标盒从真实值盒扩散到随机分布模型学会了逆转这个噪声过程。 在推理中该模型以渐进的方式将一组随机生成的框细化为输出结果。 贡献
我们将目标检测制定为生成式去噪过程这是据我们所知第一个将扩散模型应用于目标检测的研究。我们的噪声到框检测范例具有几个吸引人的特性例如动态框的解耦训练和评估阶段以及迭代评估。我们对COCO、CrowdHuman 和LVIS 基准进行了广泛的实验。与之前成熟的检测器相比DiffusionDet 取得了良好的性能尤其是跨不同场景的zero-shot transferring。
1、介绍
之前存在的问题 DETR提出了可学习的目标查询消除了手工设计的组件建立了端到端检测管道引起了极大的关注。虽然这些工作实现了简单而有效的设计但它们仍然依赖于一组固定的可学习查询。一个自然的问题是:有没有一种更简单的方法甚至不需要可学习查询的代理?
为了回答这个问题我们设计了一个新的框架它可以直接从一组随机盒子中检测对象。从纯随机盒子开始不包含训练阶段需要优化的可学习参数我们期望逐步细化这些盒子的位置和大小直到它们完美覆盖目标对象。这种噪声盒方法既不需要启发式目标先验也不需要可学习查询进一步简化了目标候选并推动了检测基线的发展。 图1。用于目标检测的扩散模型。(a)扩散模型其中q是扩散过程pθ是相反过程。(b)图像生成任务的扩散模型。©我们建议将目标检测作为去噪扩散过程从有噪声的箱子到目标箱子。
我们的动机如图1所示。我们认为noise-to-box范式的原理类似于去噪扩散模型中的noise-to-image过程这是一类基于似然的模型通过学习的去噪模型逐渐去除图像中的噪声从而生成图像。扩散模型在许多生成任务中都取得了很大的成功并开始在图像分割等感知任务中得到探索。然而就我们所知还没有先前技术成功地将其应用于目标检测。
在这项工作中我们提出了 DiffusionDet它通过将检测任务作为 图像中 边界框的位置中心坐标和大小宽度和高度在空间上的 生成任务使用扩散模型来处理对象检测任务。 在训练阶段将由方差表控制的高斯噪声添加到真实图片框以获得噪声框。 然后这些噪声框用于从主干编码器的输出特征图中裁剪 感兴趣区域RoI的特征例如 ResNet 、Swin Transformer 。 最后这些 RoI 特征被送到检测解码器该解码器经过训练可以预测无噪声的真实框。通过这个训练目标DiffusionDet 能够从随机框中预测真实框。 在推理阶段DiffusionDet 通过反转学习的扩散过程来生成边界框该过程将噪声先验分布调整为边界框上的学习分布。 作为一种概率模型DiffusionDet 具有令人着迷的灵活性优势即我们可以训练一次网络并在推理阶段的不同设置下使用相同的网络参数主要包括 1动态框数。利用随机框作为候选对象我们解耦了 DiffusionDet 的训练和评估阶段即我们可以用 N t r a i n \ N_ {train}\, Ntrain 个随机框训练 DiffusionDet同时用 N e v a l \ N_ {eval}\, Neval 个随机框评估它其中 N e v a l \ N_ {eval}\, Neval 是任意的不需要等于 N t r a i n \ N_ {train}\, Ntrain。 (2)迭代评估。受益于扩散模型的迭代去噪特性DiffusionDet可以迭代地重用整个检测头进一步提高其性能。 表 1. Zero-shot transfer from COCO to CrowdHuman visible box detection.所有模型均使用 300 个盒子进行训练并使用不同数量的盒子和步骤进行测试。 DiffusionDet的灵活性使得它在探测不同场景(如稀疏或拥挤)中的对象时具有很大的优势而无需进行额外的微调。具体来说从表1可以看出在CrowdHuman数据集上直接对COCOpretraiend模型进行评估时difffusiondet通过调整评估框的数量和迭代步骤获得了显著的收益。相比之下以前的方法只能获得边际增益甚至性能下降。 此外我们在 COCO 数据集上评估 DiffusionDet。借助 ResNet-50 主干DiffusionDet 使用单个采样步骤和 300 个随机框实现了 45.8 AP显着优于 Faster RCNN (40.2 AP)、DETR (42.0 AP)与 Sparse R 相当-CNN (45.0 AP)。此外我们可以通过增加采样步骤和随机框的数量将 DiffusionDet 进一步提高到 46.8 AP。
2、方法
2.1 扩散模型介绍
在本工作中我们的目标是通过扩散模型来解决目标检测任务。
在我们的设置中数据样本是一组包围框 z 0 \ z_0\, z0 b其中b∈ R N X 4 \R^{NX4}\, RNX4是一组N个框。 训练神经网络 f θ \ f_θ\, fθ(zt, t, x)以对应的图像x为条件从噪声箱 z t \ z_t\, zt预测 z 0 \ z_0\, z0并相应地产生相应的类别标签c。 在训练过程中训练神经网络 f θ \ f_θ\, fθ(zt, t)通过使训练目标loss最小化从 z t \ z_t\, zt预测 z 0 \ z_0\, z0. 在推理阶段利用模型fθ和更新规则对噪声 z t \ z_t\, zt进行数据样本 z 0 \ z_0\, z0.的迭代重构即:zT→zT−∆→…→z0。 在本工作中我们的目标是通过扩散模型来解决目标检测任务。在我们的设置中数据样本是一组包围框z0 b其中b∈RN×4是一组N个框。训练神经网络fθ(zt, t, x)以对应的图像x为条件从噪声箱zt预测z0并相应地产生相应的类别标签c。
2.2 模型架构
由于扩散模型迭代生成数据样本在推断阶段需要多次运行模型Fθ。 然而在每一个迭代步骤中直接对原始图像应用fθ在计算上是困难的。 因此我们提出将整个模型分为图像编码器和检测解码器两个部分前者只运行一次从原始输入图像X中提取深度特征表示后者以该深度特征为条件而不是原始图像从噪声盒ZT中逐步细化盒预测。 DiffusionDet 框架。 (a) 图像编码器从输入图像中提取特征表示。检测解码器将噪声框作为输入并预测类别分类和框坐标。
2.2.1 图像编码器
图像编码器将原始图像作为输入提取其高级特征用于后续检测解码器。 我们使用卷积神经网络(如ResNet)和基于基于Transformer模型(如Swin)实现了扩散。 特征金字塔网络用于生成ResNet和Swin骨干网的多尺度特征特征图。
2.2.2 检测解码器
检测解码器借鉴Sparse R-CNN将一组proposal box作为输入从图像编码器生成的feature map中裁剪RoI-feature并将这些RoI-feature发送到检测头得到box回归和分类结果。 对于扩散问题这些建议盒在训练阶段受到真实标记的图像盒的干扰在评估阶段直接从高斯分布中采样。 (b) 检测解码器在一个检测头中有 6 个阶段遵循 DETR 和 Sparse R-CNN。此外DiffusionDet可以多次重复使用这个检测头有6个阶段这被称为“迭代评估”。
在DETR或sparse r-cnn或deformable DETR之后我们的检测解码器由6个级联阶段组成(图b)。 我们的解码器与Sparse R-CNN解码器的不同之处在于: (1)DiffusionDet从随机的盒子开始而Sparse R-CNN在推理中使用的是一组固定的学习的盒子; (2)稀疏RCNN将建议盒及其对应建议特征作为输入对DiffusionDet只需要建议盒; (3) difffusiondet可以以迭代的方式重用检测器头进行评估在不同的步骤中共享参数每个步骤通过时间步嵌入指定为扩散过程称为迭代评估而Sparse R-CNN在前向传递中只使用一次检测解码器。
2.3 训练
在训练过程中我们首先构建从真实框到噪声框的扩散过程然后训练模型来反转该过程。算法 1 提供了 DiffusionDet 训练过程的伪代码。 输入参数 images: 输入图像数据形状为[B, H, W, 3]表示批次中的图像数量及其高度、宽度以及通道数。 gt_boxes: 真实边界框数据形状为[B, *, 4]表示批次中每个图像所对应的真实边界框数量可以是不同数量每个边界框包含四个坐标。 算法步骤 对输入图像进行特征编码通过图像编码器得到特征表示feats。 将gt_boxes进行填充到同样数量Nproposal boxes的数量的边界框pb通过pad_boxes函数使得每个图像具有相同数量的边界框。 对pb进行信号缩放将其值从[0, 1]范围内映射到[-scale, scale]范围内。 随机选择一个时间步长t从0到T。 生成服从正态分布的噪声eps均值为0标准差为1其维度为[B, N, 4]用于损坏corruptgt_boxes。 基于当前的时间步长t和信号缩放后的gt_boxespb使用DiffusionDet中的alpha_cumprod函数生成混合因子对pb和eps进行组合得到损坏的边界框pb_crpt。 基于损坏的边界框pb_crpt和特征表示feats通过检测解码器detection_decoder生成预测的边界框pb_pred。 计算预测边界框pb_pred与真实边界框gt_boxes之间的损失通过set_prediction_loss函数。 返回计算得到的损失loss作为训练损失。
3.3.1 图片真实框填充Ground truth boxes padding
对于现代目标检测基准感兴趣的实例数量通常因图像而异。因此我们首先将一些额外的框填充到原始的groundtruth框使得所有框加起来为固定数量的Ntrain。我们探索了几种填充策略例如重复现有的地面实况框、连接随机框或图像大小的框。连接随机框效果最好。
3.3.2 Box corruption.
我们将高斯噪声添加到填充的真实框中。噪声尺度由αt控制αt在不同时间步t中采用单调递减的余弦时间表。值得注意的是地面实况框坐标也需要缩放因为信噪比对扩散模型的性能有显着影响。我们观察到与图像生成任务相比目标检测有利于相对较高的信号缩放值。
3.3.3 训练损失
检测检测器将被破坏的框作为输入并预测类别分类和框坐标的Ntrain预测。我们将预测损失集应用于 Ntrain 预测集。我们通过最佳传输分配方法选择成本最低的前 k 个预测为每个基本事实分配多个预测 。
3.4 推断
DiffusionDet的推理过程是从噪声到目标框的去噪采样过程。从高斯分布中采样的框开始模型逐步完善其预测如算法 2 所示。 输入参数
images: 输入图像数据形状为[B, H, W, 3]表示批次中的图像数量及其高度、宽度以及通道数。 steps: 采样步数即需要采样多少个时间步长。 T: 总时间步长。 算法步骤
对输入图像进行特征编码通过图像编码器得到特征表示feats。 生成服从正态分布的噪声pb_t均值为0标准差为1其维度为[B, N, 4]用于初始化边界框预测。 使用linespace生成一个等分线段其从 -1 开始到 T 结束等分成steps份。并且在[0, T]内生成随机时间t_now。 对每个时间区间(t_now, t_next)执行如下操作 a. 基于当前的时间步长t_now和噪声pb_t通过检测解码器detection_decoder生成预测的边界框pb_pred。 b. 基于预测边界框pb_pred和当前时间t_now以及向前时间t_next使用ddim_step函数估计t_next时刻的边界框pb_t。 c. 使用box_renewal函数更新边界框pb_t指将pb_t中的值限制在[0, 1]内。 返回最终的预测结果pb_pred。
3.4.1 取样步骤
在每个采样步骤中上一个采样步骤的随机框或估计框被发送到检测解码器以预测类别分类和框坐标。 获得当前步骤的框后采用DDIM来估计下一步的框。 我们注意到将没有 DDIM 的预测框发送到下一步也是一种可选的渐进式细化策略。但它会带来显着的恶化。
3.4.2 Box更新
在每个采样步骤之后预测框可以粗略地分为两种类型期望的预测和不需要的预测。 所需的预测包含正确位于相应对象处的框而不需要的预测则任意分布。 直接将这些不需要的框发送到下一次采样迭代不会带来任何好处因为它们的分布不是由训练中的框损坏构建的。 为了使推理更好地与训练保持一致我们提出了框更新策略通过用随机框替换这些不需要的框来恢复它们。 具体来说我们首先过滤掉分数低于特定阈值的不需要的框。 然后我们将剩余的框与从高斯分布中采样的新随机框连接起来。
3.4.3 灵活运用
由于随机框的设计我们可以使用任意数量的随机框和迭代次数来评估 DiffusionDet而无需等于训练阶段。 作为比较以前的方法在训练和评估期间依赖相同数量的处理框并且它们的检测解码器在前向传递中仅使用一次。
3.5 讨论
我们对 DiffusionDet 和之前的多级检测器进行了比较分析 。 Cascade R-CNN 采用三阶段预测细化过程其中三个阶段不共享参数并且在推理阶段仅用作完整的头一次。 最近的工作采用了与Cascade R-CNN类似的结构但具有更多阶段即六个遵循DETR的默认设置。 虽然 DiffusionDet 的头部也采用了六级结构但其显着特点是 DiffusionDet 可以多次重复使用整个头部以实现进一步的性能提升。 然而现有的工作在大多数情况下无法通过重复使用检测头来提高性能或者只能实现有限的性能提升。
4、实验
数据集coco、LVIS v1.0、CrowdHuman
4.1 参数设置处理
ResNet 和 Swin 主干网分别使用 ImageNet-1K 和 ImageNet-21K 上的预训练权重进行初始化。 新添加的检测解码器由 Xavier init 初始化。 我们使用 AdamW 优化器训练 DiffusionDet初始学习率为 2.5 × 10−5权重衰减为 10−4。 所有模型均在 8 个 GPU 上使用大小为 16 的小批量进行训练。 默认训练计划是 450K 迭代学习率在 350K 和 420K 迭代时除以 10。 数据增强策略包括随机水平翻转、调整输入图像大小的尺度抖动使最短边至少为 480 且最多 800 像素而最长边最多为 1333 以及随机裁剪增强。 我们不使用 EMA 和一些强大的数据增强如 MixUp 或 Mosaic 。 在推理阶段我们报告了 DiffusionDet 在不同设置下的性能这些设置是不同数量的随机框和迭代步骤的组合。每个采样步骤的预测由 NMS 集成在一起以获得最终预测。
4.2 性能
DiffusionDet 的主要特性在于对所有推理案例进行一次训练。
模型训练完成后可以通过改变框的数量和推理中的迭代步数来使用它如图 3 和表 1 所示。因此我们可以将单个 DiffusionDet 部署到多个场景并获得所需的速度- 无需重新训练网络即可进行准确性权衡。 图 3.DiffusionDet 的灵活性。所有实验均在 COCO 2017 训练集上进行训练并在 COCO 2017 验证集上进行评估。 DiffusionDet 对图 3a 和 3b 中的所有设置使用相同的网络参数。我们提出的 DiffusionDet 能够使用相同的网络参数从更多的提案框和迭代步骤中受益。
4.2.1 动态盒子数量
我们将 DiffusionDet 与 DETR 进行比较以展示动态框的优势。我们使用官方代码和默认设置进行 300 个训练周期通过 300 个对象查询重现 DETR 。我们用 300 个随机框训练 DiffusionDet使候选数量与 DETR 一致以进行公平比较。评估针对 {50, 100, 300, 500, 1000, 2000, 4000} 个查询或框。 由于可学习的查询在 DETR 的原始设置中训练后是固定的因此我们提出了一种简单的解决方法使 DETR 能够处理不同数量的查询当 Neval Ntrain 时我们直接从 Ntrain 查询中选择 Neval 查询当 Neval Ntrain 时我们将现有的 Ntrain 查询克隆到 Neval也称为克隆。我们为 DETR 配备了 NMS因为克隆查询将产生与原始查询相似的检测结果。如图 3a 所示DiffusionDet 的性能随着用于评估的框数量的增加而稳定增长。例如当框数从 300 增加到 4000 时DiffusionDet 可以实现 1.0 AP 增益。相反克隆更多 DETR 查询Neval 300会导致 DETR 性能从 38.8 略微下降到 38.4 AP然后是使用更多查询时保持不变。 当 Neval Ntrain 时我们还实现了另一种 DETR 方法连接额外的 Neval − Ntrain 随机初始化查询也称为连接随机。采用这种策略当 Neval 与 Ntrain 不同时DETR 的性能会明显下降。此外当 Neval 和 Ntrain 之间的差异增大时这种性能下降会变得更大。例如当框数增加到4000时采用concat随机策略的DETR只有26.4个AP比峰值低12.4即300个查询时的38.8个AP。
4.2.2 迭代评估
我们通过将迭代步骤数从 1 增加到 8 来进一步研究我们提出的方法的性能相应的结果如图 3b 所示。 我们的研究结果表明随着迭代次数的增加采用 100、300 和 500 个随机框的 DiffusionDet 模型表现出一致的性能改进。 此外我们观察到具有较少随机框的 DiffusionDet 往往通过细化获得更实质性的收益。 例如使用 100 个随机框的 DiffusionDet 实例的 AP 从 41.91 步提高到 46.18 步绝对提高了 4.2 AP。
4.2.3 Zero-shot transferring.
为了进一步验证泛化的有效性我们在 CrowdHuman 数据集上对 COCOpretrained 模型进行了评估无需任何额外的微调。 具体来说我们的重点是 [person] 类的最终平均精度 (AP) 性能。 实验结果如表 1 所示。我们的观察表明当转移到场景比 COCO 更密集的新数据集时我们提出的方法即 DiffusionDet通过增加评估框或迭代步骤的数量表现出了显着的优势。例如通过将框的数量从 300 个增加到 2000 个并将迭代步骤从 1 增加到 4DiffusionDet 分别实现了 5.3 和 4.8 的显着 AP 增益。 相比之下以前的方法表现出有限的增益或严重的性能下降AP 降低了 14.0。 DiffusionDet 令人印象深刻的灵活性意味着它对于各种场景包括人口稀少和拥挤的环境的对象检测任务来说是宝贵的资产而无需任何额外的微调要求。
4.3 检测数据集的基准测试 表 2. COCO 2017 验证集上不同物体检测器的比较。 [SNeval]表示迭代步数S和评估框Neval的数量。每个方法后面的参考文献表明其结果的来源。没有引用的方法就是我们的实现。
在表 2 中我们将 DiffusionDet 与 COCO 数据集上的几种最先进的检测器进行了比较。。值得注意的是我们的 DiffusionDet (1 300) 采用单个迭代步骤和 300 个评估框在 ResNet-50 主干上实现了 45.8 的 AP超越了 Faster R-CNN、RetinaNet 等几种成熟方法的性能、DETR 和 Sparse R-CNN 具有相当大的优势。而且DiffusionDet可以通过增加迭代次数和评估框来进一步增强其优越性。此外当主干尺寸扩大时DiffusionDet 显示出稳定的改进。 DiffusionDet 与 ResNet-101 (1 300) 达到 46.7。当使用 ImageNet-21k 预训练的 Swin-Base [60] 作为主干时DiffusionDet 获得了 52.5 AP优于 Cascade R-CNN 和 Sparse R-CNN 等强基线。 我们当前的模型仍然落后于一些成熟的作品如 DINO 因为它使用了一些更先进的组件例如可变形注意力 、更宽的检测头。其中一些技术与 DiffusionDet 正交我们将探索将这些技术合并到我们当前的流程中以进一步改进。 表 3. LVIS v1.0 验证集上不同目标检测器的比较。我们使用联合损失[112]重新实现所有检测器除了浅灰色的行带†。
LVIS 上的实验结果如表 3 所示。我们基于 detectorron2重现 Faster R-CNN 和 Cascade R-CNN而稀疏 R-CNN 则基于其原始代码。我们首先使用 detectorron2 的默认设置重现 Faster R-CNN 和 Cascade RCNN使用 ResNet50/101 主干网络分别实现 22.5/24.8 和 26.3/28.8 AP表 3 中的 †。此外我们使用中的联合损失来提高它们的性能。由于 LVIS 中的图像以联合方式进行注释[34]因此负类别注释稀疏这会恶化训练梯度特别是对于稀有类别。提出联合损失来缓解这个问题方法是对每个训练图像的类子集 S 进行采样其中包括所有正注释和负注释的随机子集。我们选择|S|所有实验中 50。 Faster R-CNN 和 Cascade R-CNN 通过联合损失获得大约 3 AP 增益。以下所有比较均基于此损失。 我们看到 DiffusionDet 使用更多的评估步骤无论是小主干还是大主干都取得了显着的成果。此外我们注意到与 COCO 相比迭代评估为 LVIS 带来了更多收益。例如它在 COCO 上的性能从 45.8 增加到 46.6 0.8 AP而在 LVIS 上从 29.4 增加到 31.52.1 AP这表明我们的 DiffusionDet 对于更具挑战性的基准测试将变得更有帮助。
4.4. 消融实验 表 4. COCO 上的 DiffusionDet 消融实验。我们报告 AP、AP50 和 AP75。如果不指定默认设置为主干网为ResNet-50[37]和FPN[55]信号尺度为2.0ground-truth框填充方法为连接高斯随机框采样时使用DDIM和框更新步。默认设置以灰色标记。
我们在 COCO 上进行消融实验来详细研究 DiffusionDet。所有实验均使用以 FPN 为骨干的 ResNet-50 和 300 个随机框进行推理无需进一步说明。
4.4.1 信号缩放
信号缩放因子控制扩散过程的信噪比 (SNR)。 我们研究了表 4a 中比例因子的影响。 结果表明缩放因子 2.0 实现了最佳 AP 性能优于图像生成任务中的标准值 1.0 [14, 38] 和用于全景分割的标准值 0.1 。 我们解释说这是因为一个框只有四个表示参数即中心坐标cxcy和框大小wh这大致类似于图像生成中只有四个像素的图像。 框表示比密集表示更脆弱例如全景分割中的 512 × 512 掩模表示。 因此与图像生成和全景分割相比DiffusionDet 更喜欢具有更高信噪比的更简单的训练目标。
4.4.2 GT盒子填充策略
我们需要将额外的框填充到原始的真实框以便每个图像具有相同数量的框。 我们研究了表4b中不同的填充策略包括 1均匀地重复原始的ground Truth box直到总数达到预定义值Ntrain (2)填充遵循高斯分布的随机框 (3) 填充遵循均匀分布的随机框 4与整个图像大小相同的填充框。连接高斯随机框最适合 DiffusionDet我们默认使用此填充策略。
4.4.3 抽样策略
我们在表 4c 中比较了不同的采样策略。 在评估不使用DDIM的DiffusionDet时我们直接将当前步骤的输出预测作为下一步的输入。 我们发现当既不采用 DDIM 也不采用盒子更新时DiffusionDet 的 AP 会随着迭代步数的增加而降低。 此外仅使用 DDIM 或盒子更新会在 3 个迭代步骤中带来轻微的好处。 此外当配备 DDIM 和更新时我们的 DiffusionDet 获得了显着的收益。 这些实验共同验证了采样步骤中 DDIM 和盒子更新的必要性。
4.4.4 Ntrain 和 Neval 之间的匹配 表 5. COCO 上训练和推理框数量之间的匹配。 DiffusionDet 在训练和推理阶段解耦了盒子的数量并且可以很好地进行灵活的组合。
DiffusionDet 具有使用任意数量的随机框进行评估的吸引人的特性。 为了研究训练框的数量如何影响推理性能我们分别使用 Ntrain ∈ {100, 300, 500} 随机框训练 DiffusionDet然后使用 Neval ∈ {100, 300, 500, 1000, 2000} 评估每个模型。 结果总结在表5中。 首先无论DiffusionDet使用多少个随机框进行训练准确率都会随着Neval的增加而稳定增加直到在2000个随机框左右达到饱和点。 其次当 Ntrain 和 Neval 相互匹配时DiffusionDet 往往会表现得更好。例如当 Neval 100 时使用 Ntrain 100 个框训练的 DiffusionDet 表现优于 Ntrain 300 和 500。
4.4.5 运行时间与准确性 表 6. 运行时间与性能。 † 表示具有 1000 个盒子的 DiffusionDet。 #Stages×#Heads表示训练和测试阶段使用的阶段和头的数量。 Stage 和 Head 的定义如图 2b 所示。
我们研究了 DiffusionDet 在多种设置下的运行时间这些设置是在小批量大小为 1 的单个 NVIDIA A100 GPU 上进行评估的。我们使用符号 #Stages×#Heads 来指示训练期间使用的阶段和头的数量和测试阶段如图 2b 所示我们的调查结果如表 6 所示。 首先我们的研究结果表明具有单个迭代步骤和 300 个评估框的 DiffusionDet 表现出与 Sparse R-CNN 相当的速度分别实现了 30 和 31 帧每秒 (FPS)。 DiffusionDet 还在 CrowdHuman 上展示了类似的零样本传输性能同时以 45.8 AP 优于 Sparse R-CNN而 COCO 上的 AP 为 45.0。此外Sparse R-CNN 两次利用这六个阶段导致 COCO 上的 AP 下降了 1.4从 45.0 到 43.6而 CrowdHuman 上的 AP 下降了 6.0从 66.6 到 60.6。同样DETR 在 COCO 上的性能下降了 0.4但在 CrowdHuman 上的性能却提高了 1.2。 当增加迭代步数时DiffusionDet 在 COCO 上实现了 0.7 AP 增益在 CrowdHuman 上实现了 3.1 AP 增益。 DiffusionDet 通过 1000 个评估框获得了明显的性能提升。然而DETR 和 Sparse R-CNN 都无法通过额外的迭代步骤实现性能提升。即使我们将级数扩大到 12也会导致 Sparse R-CNN 的性能下降。 值得注意的是在这项工作中我们利用了最基本的扩散策略 DDIM 来开创性地探索使用生成模型进行感知任务。与生成任务中使用的 Diffusion 模型类似DiffusionDet 可能会遇到采样速度相对较慢的问题。尽管如此最近提出了一系列工作来提高扩散模型的采样效率。例如最新的一致性模型提出了一种扩散模型的快速一步生成方法。我们相信更先进的扩散策略可能会解决 DiffusionDet 速度性能下降的问题我们计划在未来的工作中对此进行探索。
4.4.6 随机种子 图 4. 5 个独立训练实例的统计结果每个实例使用不同的随机种子评估 10 次。
由于 DiffusionDet 在推理开始时被给予随机框作为输入因此人们可能会问不同随机种子之间是否存在较大的性能差异。我们通过使用除随机种子之外的相同配置独立训练五个模型来评估 DiffusionDet 的稳定性。然后受前人的启发我们使用十个不同的随机种子评估每个模型实例以测量性能分布。如图4所示大多数评估结果都紧密分布在45.7 AP上。此外不同模型实例之间的性能差异很小这表明 DiffusionDet 对随机框具有鲁棒性并产生可靠的结果。
4.5.对 CrowdHuman 进行全面调整 除了4.2节中讨论的从COCO到CrowdHuman的跨数据集泛化评估之外我们进一步在CrowdHuman上全面调整DiffusionDet。比较结果如表7所示。我们看到与之前的方法相比DiffusionDet 取得了更优越的性能。例如通过单步和 1000 个框DiffusionDet 获得 90.1 AP50优于具有 1000 个框的稀疏 RCNN。此外进一步将盒子增加到3000个和迭代步骤都可以带来性能提升。
5.结论
在这项工作中我们提出了一种新颖的检测范例DiffusionDet将对象检测视为从噪声框到对象框的去噪扩散过程。我们的噪声到盒子管道具有几个吸引人的特性包括盒子的动态数量和迭代评估使我们能够使用相同的网络参数进行灵活的评估而无需重新训练模型。标准检测基准的实验表明与成熟的检测器相比DiffusionDet 实现了良好的性能。