paper: https://arxiv.org/abs/2211.09788
code:https://github.com/ShoufaChen/DiffusionDet
- 探索了扩散模型在非生成类任务(目标检测)中的应用。相较于传统Coarse-to-fine方法,基于扩散思路训练有两个特点:1)随机性:结果具有一定的随机性,可用于Ensemble;2)迭代次数:不受训练时迭代次数限制。
- 比较遗憾的是提升较为有限。对第一个特性:300 bboxes -> 4000 bboxes,提升1.1 AP;对第二个特性:1 step -> 9 steps,提升1.2 AP。
- 比较惊喜的是增加bboxes数量,对推理速度影响不大。
目录
Motivation
- 对于目标检测,如何设计候选目标至关重要。现有方法包括:1)Empirical object priors,特点是候选目标的形状和数量是固定的,例如:sliding windows,region proposals,anchors等;2)Learnable object quires,特点是候选目标是需要学习的,且数量固定,例如:DETR。
- 本文考虑能否进一步简化候选目标,例如不需要Learnable quires。进一步,本文提出noise-to-box paradigm,即从随即框中逐步恢复出目标框。
Method
Architecture
由于去噪过程存在多步采样,为了节省推理时间,将模型解耦为Image Encoder和Detection Decoder。
- Image Encoder. 目标是提取图片特征,结构包括:ResNet + FPN / Swin + FPN。
- Detection Decoder.目标是基于随机框得到的RoI特征,计算目标框和分类结果,结构式类似DETR的decoder。RoI特征的提取参考了Faster R-CNN系列,通过随即框大小,选择对应FPN层提取特征。
Training
- Ground truth boxes padding. 目标是将GT框数量填充到固定数量,例如100/300等。最佳策略是填充基于高斯分布随机生成的框;
- Box Corruption. 目标是基于GT框和随机扩散时间t生成噪声框。其中为了增大信噪比,会先放大GT框的值。然后基于扩散规则加噪:
- Training Losses. 和DETR类似的匹配损失:set prediction loss。
Inference
- Sampling step. 目标是基于DDIM的采样规则,更新结果。DDIM相较于DDPM:1)新增参数σ控制去噪过程。在特殊情况下,DDIM可以等价于DDPM,同时,当σ=0时,扩散结果和初始高斯噪声一一对应。2)加速采样:采样步数可以是完整步数的子集。DiffusionDet基于DDIM进行采样,使得DiffusionDet的预测结果由初始随即框决定,同时推理时,可使用任意采样步数。
- Box Renewal. 目标是去除与训练数据分布不一致的预测结果。具体来说,会将低于阈值的预测结果替换为基于高斯分布的随机框。
- *Once-for-all. DiffusionDet的特点在于仅需一次训练,模型即适用于多种测试设定:1)任意数量的预测框;2)任意数量的采样步数。
Experiment
Setting
- Datasets. 1)MS-COCO:118K训练数据,5K测试数据,80类目标;2)LVIS v1.0:100K训练数据,20K测试数据,1203类目标。
- Inference details. MS-COCO选择分数前100的预测;LVIS选择分数前300的预测;后处理:集成每个采样步的结果,经过NMS处理后作为最终输出。
Main Properties
测试once training for all inference cases的两个应用
- Dynamic boxes. 增加测试框数量,可以提高检测效果;对于DETR:1)当N_eval < N_train,选择前N_eval个作为输出;2)当N_eval > N_train,其余结果来自随机queries;
- Progressive refinement. 增加采样步数,可以提高检测效果。
Benchmarking
Ablation Study
-
- Signal scale:考虑到框数据维度低,远小于image-to-image任务,因此需要增大信噪比;
-
- GT boxes padding:基于高斯分布的随机框效果最佳;
-
- Sampling strategy:DDIM和box renewal效果近似,同时使用效果最佳;
-
- Matching between:N_eval = N_train时效果最佳;
-
- Accuracy vs. speed:框数量从100增加到300,FPS仅减少了0.3;但是step从1增加到4,FPS减少了18.9;
-
- Random seed:训练了5个模型,并基于10组随机种子测试。实验发现:1)随机种子对测试结果影响较小,震荡范围在0.1-0.3之间;2)随机种子对模型训练结果影响小,均值在45.0附近。
Original: https://blog.csdn.net/qq_40731332/article/details/127978374
Author: zzl_1998
Title: DiffusionDet: Diffusion Model for Object Detection
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/793827/
转载文章受原作者版权保护。转载请注明原作者出处!