• DiffusionDet: Diffusion Model for Object Detection


    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

    Method

    Architecture

    Training

     Inference

    Experiment

    Setting

    Main Properties

    Benchmarking

     Ablation Study


    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

    • 1. Signal scale:考虑到框数据维度低,远小于image-to-image任务,因此需要增大信噪比;
    • 2. GT boxes padding:基于高斯分布的随机框效果最佳;
    • 3. Sampling strategy:DDIM和box renewal效果近似,同时使用效果最佳;
    • 4. Matching between:N_eval = N_train时效果最佳;
    • 5. Accuracy vs. speed:框数量从100增加到300,FPS仅减少了0.3;但是step从1增加到4,FPS减少了18.9;
    • 6. Random seed:训练了5个模型,并基于10组随机种子测试。实验发现:1)随机种子对测试结果影响较小,震荡范围在0.1-0.3之间;2)随机种子对模型训练结果影响小,均值在45.0附近。

     

  • 相关阅读:
    LeetCode数组经典题目(一)
    NET 3行代码实现文字转语音功能
    怎么javaagent简单使用: 为类对象添加toString方法
    2023 年 Vue 最流行的动画库
    Linux下安装Mysql【详细】
    Linux小白零基础必备基础操作【上】
    嵌入式学习路线图
    阿里P9整理出千页笔记:Java程序设计与数据结构基础+进阶
    java模拟GPT流式问答
    机器学习——协同过滤算法(CF)
  • 原文地址:https://blog.csdn.net/qq_40731332/article/details/127978374