目标检测扩散模型DiffusionDet登场,扩散模型正在不同任务中“扩散”

原文链接:https://www.techbeat.net/article-info?id=4342
作者:seven_

本文介绍一项来自香港大学和腾讯AI Lab的工作,该工作提出了一个新的DiffusionDet框架,它巧妙地将目标检测任务模拟为从一个噪声框到目标框的去噪扩散过程,使得DiffusionDet天然的符合扩散模型的建模过程。在模型的训练阶段,作者将真实的目标框不断扩散到随机噪声分布中,使得模型从中学习到这一噪声建模过程。而在推理阶段,模型以一种渐进式的过程将一组随机生成的目标框不断细化为最终的预测结果。
目标检测扩散模型DiffusionDet登场,扩散模型正在不同任务中“扩散”_第1张图片

论文链接:
https://arxiv.org/abs/2211.09788
代码链接:
https://github.com/ShoufaChen/DiffusionDet

如果说去年这个时候视觉AI社区中最火热的话题是视觉Transformer的任务通吃现象,那今年的新兴选手必须是当下火热的扩散模型了。最近扩散模型在很多生成式任务中取得了巨大的成功,获得了广泛的关注。但目前在其他常规视觉任务上的探索工作还比较少。

本文介绍一项来自香港大学和腾讯AI Lab的工作,该工作提出了一个新的DiffusionDet框架,它巧妙地将目标检测任务模拟为从一个噪声框到目标框的去噪扩散过程,使得DiffusionDet天然的符合扩散模型的建模过程。在模型的训练阶段,作者将真实的目标框不断扩散到随机噪声分布中,使得模型从中学习到这一噪声建模过程。而在推理阶段,模型以一种渐进式的过程将一组随机生成的目标框不断细化为最终的预测结果

经过大量的实验表明,DiffusionDet可以标准的实验基准例如MS-COCO和LVIS等数据集上得到良好的性能,甚至超过了一些非常成熟的目标检测器。DiffusionDet的提出在另一方面也对很多感知类任务的通用框架发起了挑战,如果在一些任务上消除之前手工设计的复杂组件,而以这种生成式的代理任务进行优化,是否也会获得更好的效果呢。

一、引言

在开始介绍DiffusionDet的架构设计之前,我们先来回顾目前目标检测领域的发展趋势。目标检测旨在为一幅图像中的目标对象预测一组边界框和相关类别标签。作为一项基本的视觉感知任务,它已成为许多相关识别场景的基石,例如实例分割、姿态估计、动作识别、对象跟踪和视觉关系检测等。现在较为流行的目标检测科研方向,大多是随着候选目标的学习优化方式而不断发展,即从经验性的目标框回归方式再到可学习的目标查询方式。具体来说,在卷积神经网络时代,研究者们往往通过在具有一定先验的候选框上执行回归和分类任务来完成检测。随后在Transformer时代,DETR提出了可学习的对象query,实现了端到端的目标检测,这一演进过程如下图所示。
目标检测扩散模型DiffusionDet登场,扩散模型正在不同任务中“扩散”_第2张图片

但这种方法仍然依赖于一组固定的可学习query,本文作者在此基础上提出了一个新的疑问,“是否有一种更加简洁的方法来实现,无需给模型固定的输入向量?” 这种方式将不再需要启发式的对象框先验,也无需可学习的查询输入,将完全是一种新式的目标检测pipeline。
目标检测扩散模型DiffusionDet登场,扩散模型正在不同任务中“扩散”_第3张图片

作者受启发于最近扩散模型的建模方式,将扩散模型中从噪声到图像的生成过程扩展到目标检测任务中的噪声到框(noise-to-box)的范式,如上图所示。DiffusionDet巧妙地将目标检测任务转换为对图像中边界框的位置(中心坐标)和尺寸(宽度和高度)的空间生成任务,通过这样的转换,我们可以以一种优雅的方式来用扩散模型处理目标检测任务。在模型训练阶段,通过预先控制的高斯噪声被添加到GT目标框中来获得噪声框,然后这些噪声框会在backbone编码器(例如ResNet、Swin Transformer等)的输出特征图上裁剪出RoI特征,最后这些RoI特征被发送到检测解码器中进行训练。训练目标是从该噪声框分布中预测出无噪真实目标框。在推理阶段,DiffusionDet通过反转噪声框扩散过程来生成精确的预测框。此外,DiffusionDet的noise-to-box范式还具有以下几个优势:

  1. 动态框设计,通过使用随机噪声框,使得DiffusionDet可以将训练和评估进行解耦。具体而言,DiffusionDet可以用 N train  N_{\text {train }} Ntrain  噪声随机框进行训练,同时用 N eval  N_{\text {eval }} Neval  随机框进行评估,其中 N eval  , N train  N_{\text {eval }}, N_{\text {train }} Neval ,Ntrain  都是随机生成的.

  2. 渐进细化机制,扩散模型的去噪过程是一个渐进式生成过程,这种迭代细化也可以提升DiffusionDet的可用性和检测性能。例如我们可以通过调整去噪采样的步长来达到检测精度或加快推理速度之间的平衡,这种灵活性使DiffusionDet能够适应对精度和速度有不同要求的检测场景

二、 本文方法

2.1 整体框架

本文作者在开始介绍DiffusionDet的框架之前,首先回顾了一下diffusion model和目标检测的基础理论,随后根据这些理论引出了框架的设计想法。作者提到diffusion model可以看做是一类受非平衡热力学启发的基于likelihood的模型,其通过通过逐渐向样本数据添加噪声来定义前向扩散过程的马尔科夫链。前向过程被定义为:

q ( z t ∣ z 0 ) = N ( z t ∣ α ˉ t z 0 , ( 1 − α ˉ t ) I ) q\left(z_{t} \mid z_{0}\right)=\mathcal{N}\left(z_{t} \mid \sqrt{\bar{\alpha}_{t}} z_{0},\left(1-\bar{\alpha}_{t}\right) I\right) q(ztz0)=N(ztαˉt z0,(1αˉt)I)

它通过向 z 0 z_{0} z0 添加噪声将数据样本 z 0 z_{0} z0 转换潜在的噪声样本 z t z_{t} zt t ∈ { 0 , 1 , . . . , T } t \in \{0, 1, ..., T\} t{0,1,...,T} 。其中, α ˉ t : = ∏ s = 0 t α s = ∏ s = 0 t ( 1 − β s ) \bar{\alpha}_{t}:= \prod_{s=0}^{t} \alpha_{s}=\prod_{s=0}^{t}\left(1-\beta_{s}\right) αˉt:=s=0tαs=s=0t(1βs) β s \beta_{s} βs 表示噪声方差表。 在训练过程中,神经网络 f θ ( z t , t ) f_{\theta}\left(z_{t}, t\right) fθ(zt,t) 通过最小化目标 ℓ 2 \ell_{2} 2 损失来预测 从 z 0 z_{0} z0 z t z_{t} zt

L train  = 1 2 ∥ f θ ( z t , t ) − z 0 ∥ 2 \mathcal{L}_{\text {train }}=\frac{1}{2}\left\|f_{\theta}\left(z_{t}, t\right)-z_{0}\right\|^{2} Ltrain =21fθ(zt,t)z02

在推理阶段,用模型 f θ f_{\theta} fθ 和更新规则以迭代的方式从噪声 z T z_{T} zT 中重建数据样本 z 0 z_{0} z0 ,例如 z T → z T − Δ → … → z 0 z_{T} \rightarrow z_{T-\Delta} \rightarrow \ldots \rightarrow z_{0} zTzTΔz0.

对于目标检测而言,其学习目标是目标对( x x x b b b c c c),其中 x x x 是输入图像, b b b c c c 分别是图像 x x x 中物体的边界框和类别标签的集合。更具体地说,我们应该将该集合中的第 i i i 个框表述为 b i = ( c x i , c y i , w i , h i ) b^{i}=\left(c_{x}^{i}, c_{y}^{i}, w^{i}, h^{i}\right) bi=(cxi,cyi,wi,hi),其中 ( c x i , c y i ) \left(c_{x}^{i}, c_{y}^{i}\right) (cxi,cyi) 是边界框的中心坐标, ( w i , h i ) \left(w^{i}, h^{i}\right) (wi,hi) 分别是该边界框的宽度和高度。

基于以上基础,作者引出了DiffusionDet的整体框架,如下图所示,可以看到,DiffusionDet的设计非常的简洁直观。由于扩散模型以迭代的形式来不断的生成数据样本,因此需要在推理阶段多次运行模型 f θ f_{\theta} fθ 。然而,如果在每个迭代步骤中直接在原始图像上应用 f θ f_{\theta} fθ,这会带来庞大的计算代价。因此,作者建议将整个模型分成两部分,图像编码器和检测解码器,其中前者只运行一次以从原始输入图像 x x x 中提取深度特征表示,后者以此深度特征为条件,而不是以原始图像为条件,以逐步细化来自噪声框 z t z_{t} zt 的框预测。
目标检测扩散模型DiffusionDet登场,扩散模型正在不同任务中“扩散”_第4张图片

2.2 图像编码器和解码器设计

对于图像编码器,其将原始图像作为输入,并为接下来的检测解码器提取其高级特征。本文使用ResNet等卷积神经网络和Swin-Transformer等基于自注意力的模型来实现编码器,其中都包含了多尺度金字塔特征提取的设计。而对于检测解码器来说,作者借鉴了Sparse R-CNN[1]中的设计,检测解码器将一组提议框作为输入,从图像编码器生成的特征图中裁剪RoI特征,并将这些RoI特征发送到检测头以获得框回归和分类结果,DiffusionDet的检测解码器由6个级联块构成。作者还强调了DiffusionDet的解码器与Sparse R-CNN中解码器的几个区别:

  1. DiffusionDet从随机噪声框开始,而Sparse R-CNN在推理中使用固定的学习框输入

  2. Sparse R-CNN将提议框和其相应的RoI特征作为输入样本对,而DiffusionDet只需要提议框作为输入即可。

  3. DiffusionDet在迭代采样步骤中会重新执行检测头,因此参数会在不同的步骤中共享,每个步骤都通过时间步长指定给扩散过程,而Sparse R-CNN在前向传递中只使用一次检测解码器。

2.3 训练和测试

在训练过程中,作者首先实现了从真实目标框到噪声框的扩散过程,然后训练模型以来反转这个过程。下图中的算法1展示了DiffusionDet训练过程的伪代码。DiffusionDet的推理过程可以看做是模型从噪声到对象预测框的去噪采样过程,如下图中的算法2所示,模型从以高斯分布采样的随机框开始逐步细化其预测来得到最终的检测结果。
目标检测扩散模型DiffusionDet登场,扩散模型正在不同任务中“扩散”_第5张图片
为了提高模型性能,作者在实际操作中还加入了一些操作,在训练阶段,作者对目标框进行了padding操作,因为考虑到RoI数量在不同图像中可能不同,因此作者首先先将一些额外的框填充到原始真值框中,使目标框的数量固定。此外为了增加随机性,作者在将高斯噪声添加到真实框的过程中,引入了一个噪声尺度 α t \alpha_{t} αt 来控制, α t \alpha_{t} αt 在不同的时间步长 t t t 中采用单调递减的cosine值。

三、实验效果

本文的实验主要在MS-COCO和LVIS这两个具有代表性的通用目标检测基准上进行,下表中展示了DiffusionDet与其他具有代表新的SOTA目标检测器的性能对比,可以看到,在backbone为ResNet-50时,DiffusionDet在没有细化的情况下(即第1步)取得了45.5*的AP值,这已经超过了如Faster R-CNN、RetinaNet、DETR和Sparse R-CNN等检测器。此外,当DiffusionDet加大迭代细化步骤时可以获得更多的性能提升。当将backbone更换为更大的ResNet-101或Swin-Base时,DiffusionDet可以得到更大的性能提升,这表明DiffusionDet可以在骨干网规模扩大时展示出稳定的提升
目标检测扩散模型DiffusionDet登场,扩散模型正在不同任务中“扩散”_第6张图片
下表展示了DiffusionDet在LVIS数据集上的实验结果,相比于MS-COCO,LVIS数据集更具挑战性,因为LVIS中的图像是以混合方式进行标注,这给模型训练带来困难。在下表中我们可以观察到,当DiffusionDet使用更多的细化步骤时,其在小规模backbone和大规模backbone上都获得了显著的性能提升。此外,作者还注意到,DiffusionDet的渐进细化机制在LVIS上相比MS-COCO数据集会有更多的提升。例如,它在MSCOCO上的性能可以从45.5提高到46.2(+0.7AP),而在LVIS上从30.4提高到31.9(+1.5AP)。
目标检测扩散模型DiffusionDet登场,扩散模型正在不同任务中“扩散”_第7张图片

四、总结

在这项工作中,作者通过将目标检测任务转换为从噪声框到对象框的去噪扩散过程,提出了一种新的检测范式DiffusionDet。DiffusionDet的noise-to-box过程有几个非常重要的特性,动态框设计和渐进细化机制,这使得模型可以使用相同的网络参数来获得在不同使用场景中所需的速度精度权衡,而无需重新训练模型。作者也通过实验证明,DiffusionDet与其他经典的成熟的检测器相比,可以得到更佳的性能。作者还提到DiffusionDet的未来发展方向,可以尝试将其扩展到视频级任务,例如对象跟踪和动作识别,也可以使用DiffusionDet来解决开放世界(open-world )任务。

参考

[1] Peize Sun, Rufeng Zhang, Yi Jiang, Tao Kong, Chen- feng Xu, Wei Zhan, Masayoshi Tomizuka, Lei Li, Zehuan Yuan, Changhu Wang, et al. Sparse r-cnn: End-to-end object detection with learnable proposals. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 14454–14463, 2021.

Illustration by Manypixels Gallery from IconScout

-The End-

关于我“门”

将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门-TechBeat技术社区以及将门创投基金。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:
[email protected]

你可能感兴趣的:(技术文章,计算机视觉,目标检测,扩散模型)