• 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附近。

     

  • 相关阅读:
    【JIRA 学习】如何配置工作流转换的时候触发弹出界面,并填写相关信息
    【Proteus仿真】【STM32单片机】太阳能热水器控制系统设计
    1. windows安装elasticSearch
    py12_[接口全网最通俗易懂的一篇] Python 真假接口/抽象类/抽象方法/多态/实例级别解析
    稳,从数据库连接池 testOnBorrow 看架构设计
    这就是程序员眼中的函数吗?(一)
    蓝桥杯1039
    【计算机网络】IP协议详解
    Hbase的集群模式安装配置(笔记)
    已解决:一个表中可以有多个自增列吗
  • 原文地址:https://blog.csdn.net/qq_40731332/article/details/127978374