0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DiffusionDet检测范式实现良好性能

3D视觉工坊 来源:自动驾驶算法实验室 作者:闵称 2022-11-24 10:51 次阅读

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

常见的生成框有这么几种,最简单的即滑动窗口,然后是通过训练生成的检测框,随着并行计算的发展,滑动窗口演化为锚框,随后则是比较新的基于查询的检测范式。

我们提出了 DiffusionDet,这是一个新的框架,它将对象检测表述为从噪声框到对象框的去噪扩散过程。在训练阶段,目标框从真实框扩散到随机分布,模型学会逆转这个噪声过程。在推理中,该模型以渐进的方式将一组随机生成的框细化为输出结果。对包括 MS-COCO 和 LVIS 在内的标准基准进行的广泛评估表明,与之前行之有效的检测器相比,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]。

6f43d634-6b83-11ed-8abf-dac502259ad0.png

图 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 所示。

6f7b2cf6-6b83-11ed-8abf-dac502259ad0.png

图 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] 到真实对象。据我们所知,这是第一个采用扩散模型进行目标检测的工作。

6f963e60-6b83-11ed-8abf-dac502259ad0.png

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

3.实现方式

3.1预备知识

物体检测。对象检测的学习目标是输入-目标对(x, b, c),其中x是输入图像,b和c分别是图像x中对象的一组边界框和类别标签。更具体地说,我们将集合中的第 i 个框表示为6fb1f27c-6b83-11ed-8abf-dac502259ad0.png,其中6fbfca5a-6b83-11ed-8abf-dac502259ad0.png是边界框的中心坐标,6fd50ef6-6b83-11ed-8abf-dac502259ad0.png分别是该边界框的宽度和高度

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

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

71cb0490-6b83-11ed-8abf-dac502259ad0.png,βs 表示噪声方差表 [35]。在训练期间,神经网络 fθ (zt, t) 被训练为通过最小化带有 l2 损失的训练目标从 zt 预测 z0 [35]:

71dcd40e-6b83-11ed-8abf-dac502259ad0.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 训练过程的伪代码

71f179fe-6b83-11ed-8abf-dac502259ad0.png

真实值填充。对于现代对象检测基准 [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 将每个采样步骤的预测组合在一起以获得最终预测。

7219ed8a-6b83-11ed-8abf-dac502259ad0.png

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

7237c0f8-6b83-11ed-8abf-dac502259ad0.png

(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} 个查询或框。

7248c7d6-6b83-11ed-8abf-dac502259ad0.png

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

726bb778-6b83-11ed-8abf-dac502259ad0.png

表 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 中。

72904110-6b83-11ed-8abf-dac502259ad0.png

表 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 更喜欢具有更高信噪比的更简单的训练目标

72bcee7c-6b83-11ed-8abf-dac502259ad0.png

图 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 从封闭世界扩展到开放世界或开放词汇对象检测

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1129

    浏览量

    40648
  • 检测器
    +关注

    关注

    1

    文章

    857

    浏览量

    47635
  • 噪声
    +关注

    关注

    13

    文章

    1115

    浏览量

    47346

原文标题:DiffusionDet:用于对象检测的扩散模型

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何检测阻尼器的性能

    检测阻尼器的性能是确保其在实际应用中可靠性的关键步骤。以下是一些常见的阻尼器性能检测方法: 一、外观检查 目的 :检查阻尼器的外部是否有损伤、变形、锈蚀等缺陷。 方法 :通过视觉和触摸
    的头像 发表于 11-14 10:54 68次阅读

    雨刮器压力分布检测wipe有用吗?

    过小则可能导致胶条无法有效地贴合玻璃,影响清洁效果,同时也会加速胶条的老化。 优化驾驶体验 :良好的雨刮器性能可以提供清晰的视线,减少驾驶员的疲劳感,提高驾驶的舒适性和安全性。压力分布检测有助于确保
    发表于 09-23 14:59

    如何在采用 SOT563 封装的 TPS56x242-7 上实现良好的热性能

    电子发烧友网站提供《如何在采用 SOT563 封装的 TPS56x242-7 上实现良好的热性能.pdf》资料免费下载
    发表于 09-12 11:07 0次下载
    如何在采用 SOT563 封装的 TPS56x242-7 上<b class='flag-5'>实现</b>更<b class='flag-5'>良好</b>的热<b class='flag-5'>性能</b>

    PPEC:零成本技术交底,赋能电源开发新范式

    。二、电源开发方案合作 PPEC电源开发模式:基于客户需求进行样机研发,并交付全套开发生产技术资料,研发费用可抵PPEC芯片货款,实现“0“成本技术交底,赋能电源开发新范式。▍客户需求:客户提出需求
    发表于 09-06 19:06

    鸿蒙原生应用元服务开发-初识仓颉开发语言

    仓颉编程语言是一种面向全场景应用开发的通用编程语言,可以兼顾开发效率和运行性能,并提供良好的编程体验,主要具有如下特点: 语法简明高效 :仓颉编程语言提供了一系列简明高效的语法,旨在减少冗余书写
    发表于 08-15 10:00

    鸿蒙原生应用元服务开发-初识仓颉开发语言

    仓颉编程语言是一种面向全场景应用开发的通用编程语言,可以兼顾开发效率和运行性能,并提供良好的编程体验,主要具有如下特点: 语法简明高效 :仓颉编程语言提供了一系列简明高效的语法,旨在减少冗余书写
    发表于 07-30 17:49

    建立有效的DNS性能检测机制

    今天来分享如何建立有效的DNS性能监测机制,实时或定期监测关键指标。 一、建立DNS性能监测机制 (一)选择合适的监测工具 市场上有多种DNS性能监测工具可供选择,如IP数据云DNS检测
    的头像 发表于 07-08 16:00 262次阅读

    武汉凯迪正大分享电缆电气性能检测检测内容与规范

    电缆其电气性能直接关系到系统的稳定性和安全性,电缆电气性能检测成为了确保电缆质量、保障系统正常运行的关键环节。本文将介绍武汉凯迪正大对电缆电气性能
    的头像 发表于 07-03 16:44 300次阅读

    MEMS谐振传感器新范式:热噪声驱动的传感器的可行性与动态检测性能

    resonant sensors”的研究论文,提出了一种新的微纳谐振传感器范式——热噪声驱动的谐振传感器, 构建了该范式下传感器信噪比、动态范围与频率稳定性等性能指标的理论框架,并实验验证了热噪声驱动的传感器的可行性与动态
    的头像 发表于 06-29 10:57 1.1w次阅读
    MEMS谐振传感器新<b class='flag-5'>范式</b>:热噪声驱动的传感器的可行性与动态<b class='flag-5'>检测</b><b class='flag-5'>性能</b>

    开关电源输入EMI滤波器设计与仿真案例

    开关电源中常用EMI滤波器抑制共模干扰和差模干扰。三端电容器在抑制开关电源高频干扰方面有良好性能
    的头像 发表于 05-01 10:00 2.1w次阅读
    开关电源输入EMI滤波器设计与仿真案例

    基于OpenHarmony音符检测实现原理

    一、音符检测的基本原理 本文基于 OpenHarmony 开源系统提供了一种音符检测的原理方法,结合多首音乐,运用了 python 和 C++ 两种编程环境实现了预期的检出效果。旨在为振动马达
    的头像 发表于 03-04 14:11 399次阅读
    基于OpenHarmony音符<b class='flag-5'>检测</b><b class='flag-5'>实现</b>原理

    气密性检测仪怎么实现自检

    气密检测仪是现代制造业常用的检测设备之一,主要用于检测产品的密封性能。为保证检测仪器的准确性和可靠性,
    的头像 发表于 02-19 17:54 410次阅读
    气密性<b class='flag-5'>检测</b>仪怎么<b class='flag-5'>实现</b>自检

    鸿蒙语言ArkTS(更好的生产力与性能

    风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。 针对JavaScript(简称JS)/TS并发能力支持
    发表于 02-17 15:56

    怎么检测电源管理芯片的性能检测指标是什么?

    电源芯片用于电源转换和管理,其性能直接影响着电源管理芯片的工作效率和可靠性,影响电子设备的质量和性能。电源管理芯片性能检测指标有转换效率、开关频率、输出电压精度、温度。
    的头像 发表于 12-07 14:56 1483次阅读

    如何正确使用和维护电源适配器使其保持良好性能状态?

    如何正确使用和维护电源适配器使其保持良好性能状态? 电源适配器是我们日常生活中经常用到的一种电源设备,用于将交流电转换为适合设备使用的直流电。正确使用和维护电源适配器可以保证其良好性能
    的头像 发表于 11-23 15:49 1195次阅读