DiffusionDet:Diffusion Model for Object Detection

2023-05-16

Diffusion Model for Object Detection
一种用于目标检测的扩散模型

  • Motivation
    1、如何使用一种更简单的方法代替可查询的object queries
    2、Bounding box的生成方式过去是三种,第一种为sliding windows、第二种anchor box、第三种object queries,这里其实还有一种当时非常非常火的anchor free
    3、本文提出基于生成的的检测方式,主要在目标检测方面的两大发现

  • Innovation
    1、将目标检测表示为从噪声框到对象框的去噪扩散过程。
    2、发现一随机框相比预设锚点、目标检索的方式不同但同样能实现从候选区域找到目标。
    3、发现二目标检测的特征感知提取任务可以通过生成的方式解决。
    4、图1中C的表述为目标检测表示为从噪声框到目标框的去噪扩散逆向过程

  • Contribution
    1、首次将扩散模型用于目标检测,将目标检测过程定义为一个去噪过程
    2、从噪声框到检测框通过动态框的解耦训练和评估阶段及渐进式细化
    3、在两个数据集上的实验证明了这种检测器的有效性

  • Methodology
    方差时间表控制获取噪声框的过程,通过生成技术从随机噪声框中国预测真实框
    将噪声框从骨干编码器输出的特征图中裁剪感兴趣的区域ROI特征
    将ROI特征发送到解码器预测出没有包含噪声的真实值,从而实现从随机框中预测出真实框
    1、目标检测的几种常见范式
    在这里插入图片描述
    2、扩散模型的去噪方法应用
    3、感知任务的扩散模型:参考采用像素比特扩散模型对图像和视频的全景分割,图像通过编码器进行对输入的数据特征提取表示,解码器将噪声框作为输入后预测分类和框坐标。训练过程种,噪声框是通过向真实值添加高斯噪声来构建的。推理过程种,噪声框是从高斯分布种随机采样得到的。
    4、本文的实现方式:x表示输入图像向量;b表示边框矩阵,c表示类别标签矩阵。
    4.1、通过马尔可夫链逐渐向样本数据添加噪音来定向设计扩散过程的前向传播方法,训练过程通过L2范数学习从目标噪音目标到真实目标过程(这个思路本人认为是非常经典的创新),推理阶段是从噪声图像中重建目标图像数据样本思路,由于扩散迭代所以网络结果如下。
    4.2、网络结构:编码器运行从原始输入图像提取特征,解码器逐步细化来自噪声框的真实框得到结果。
    4.3、图像编码器:从原始输入图像提取高级特征,这一部分基于ResNet、Swin的特征金字塔实现。
    4.4、图像解码器:从一组建议噪声框作为输入选举ROI,并对这些ROI借助Sparse R-CNN的6个级联对应到真实框中。
    4.5、训练过程:先从真实框到噪声框扩散生成,然后训练过程反转将额外的框填充到真实的框。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/54113e7a56bb4b92b237c307a0afc99e.png
    在这里插入图片描述
    4.6推理过程:从噪声框中寻找目标框的采样实现是通过高斯分布采样框开始逐步预测,第一步是解码器预测分类和坐标,第二步是采用DDIM进一步预测坐标,bbox通过随机框过滤恢复框,然后通过高斯分布采用把新随机框预测。

  • Result
    1、在MS-COCO上和LVIS上验证了它的通用性(once for all)
    在这里插入图片描述

  • Application
    AP表现最佳
    对比了Faster R-CNN、Cascade R-CNN、Sparse R-CNN,未来在多目标跟踪、关键点动作识别。
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    相关评论:https://www.zhihu.com/question/567414823/answer/2767617257

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DiffusionDet:Diffusion Model for Object Detection 的相关文章

  • CMake:将为 lib 构建的对象文件重用到另一个 lib 目标中

    我正在尝试将我的项目转移到CMake 同时对编译过程进行一些优化 这是交易 我有几个子目录 必须 每个子目录都编译成静态库 这有效 我想将每个子目录中的所有目标文件收集到另一个更大的 完整的静态库中 它看起来像这样 libBig a mad
  • Qt 对象的生命周期

    Qt 对象的生命周期是多少 Such as QTcpSocket socket new QTcpSocket 套接字什么时候会被销毁 我应该使用 delete socket 有什么区别吗 QTcpSocket socket 我找不到有关此的
  • 如何在 jQuery 中检查 null 对象

    我正在使用 jQuery 我想检查页面中是否存在某个元素 我写了以下代码 但它不起作用 if btext i null alert btext i text btext i text Branch i 如何检查元素是否存在 检查jQuery
  • PowerShell函数不会返回对象

    我有一个简单的函数来创建一个通用列表 function test genericType Type System Collections Generic List 1 type typedParameters System String c
  • 使模型绑定适用于没有默认构造函数的模型

    我一直在试图找到一种方法 让模型绑定与带有参数的构造函数的模型一起进行 那个行动 HttpPost public ActionResult Create Company company HttpPostedFileBase logo com
  • 序列化对于对象大小估计可靠吗?

    我使用序列化来估计对象使用的内存量 我已经读过this https stackoverflow com questions 426396 how much memory does a c net object use and this ht
  • zend框架找不到模型类?

    Yall 我有一个简单的问题 这可能是一个简单的配置问题 但是 我定义了一个模型 当我尝试从控制器访问它时 失败 模型位于模型目录中 当我查看快速启动应用程序时 看来这应该可行 这是我的模型 我的控制器停止了 这是控制器代码
  • 如何阻止 Django 中发生级联删除?

    我的 Django 应用程序中有三个模型类 class Folder models Model folder models ForeignKey Folder null True blank True related name folder
  • 在这种情况下 b 是标量对象吗?

    include
  • 在 Ruby 中跨多个类实例记忆数据的好方法是什么?

    考虑 生成数据的对象的许多实例 如果每次运行只生成一次该数据 那就太好了 class HighOfNPeriods lt Indicator def generate data indicator data DataStream new 0
  • JavaScript 数组和对象除了 .length 属性之外有什么区别?

    我认为 JS 数组只是一个哈希映射 它只接受整数值作为键 length 属性只返回最大索引 1 这是正确的吗 还有其他区别吗 您错了 数组可以有任何你想要的键 此外 他们还继承了Array原型
  • 如何销毁一个物体?

    据我所知 很少 有两种方法 var new object Then Method 1 Set to null var null Method 2 Unset unset var 还有其他更好的方法吗 我在这里吹毛求疵吗 您正在寻找unset
  • Magento:如何覆盖本地模块中的模型

    我试图在本地文件夹中覆盖本地文件夹中的模块 但我不知道是否可能 这就是我所做的 我创建了 local Mycompany Modulename Model Model php 我想覆盖 local Othercompany Modulena
  • R中整数类和数字类有什么区别

    我想先说我是一个绝对的编程初学者 所以请原谅这个问题是多么基本 我试图更好地理解 R 中的 原子 类 也许这适用于一般编程中的类 我理解字符 逻辑和复杂数据类之间的区别 但我正在努力寻找数字类和整数类之间的根本区别 假设我有一个简单的向量x
  • 如何从嵌套的对象数组中获取每个父级的值

    所以我有多个对象数组 每个对象都包含一个子对象 e g const data id 1 name parent 1 children id c1 name child 1 children id g1 name grand 1 childr
  • 无法在类对象的 ArrayList 中存储值。 (代码已编辑)

    这基本上是一个 Java 代码转换器 它涉及一个 GUI 让用户输入类类型 名称和方法 为了存储值 我创建了一个类VirtualClass与ArrayList
  • EditorTemplate 的嵌套模型的 ASP.NET MVC3 条件验证

    假设你有一个 viewModel public class CreatePersonViewModel Required public bool HasDeliveryAddress get set Should only be valid
  • 如何循环遍历对象数组并生成键值对?

    我有一个像这样的对象数组 let someObj items id 12 value true id 34 value true id 56 value false 我想将其添加到现有对象中 其中 id 是该对象的键 如下所示 let ob
  • 在 PHP 中比较两个对象的最快方法是什么?

    假设我有一个对象 在本例中为 User 对象 并且我希望能够使用单独的类来跟踪更改 用户对象不必以任何方式改变它的行为才能发生这种情况 因此 我的单独的类创建它的 干净 副本 将其存储在本地某个位置 然后可以将 User 对象与原始版本进行
  • 将值添加到对象类型c#

    我有这样的对象 object rt new page 1 现在我如何向该对象添加新值 我的意思是这样的 rt code 5 这怎么可能呢 听起来更像是你想要一个Dictionary

随机推荐

  • Linux上SMB挂载提示mount: block device //xxx.xxx.xx.xx/xx is write-protected, mounting read-only时解决办法

    当在Linux上挂载SMB服务器时候有时会提示如下错误 xff1a root 64 test mount o username 61 lisi 192 168 23 32 smb test mount block device 192 16
  • Linux下的LAMP环境搭建时访问PHP页面时变成下载页面的原因

    在搭建LAMP环境的时候遇到了配置完PHP环境后测试访问PHP页面的时候却变成下载的情况 xff0c 主要的影响有一下两个方面 1 PHP的配置问题 2 主要原因是httpd conf配置文件内容出错大致有下面几个地方 xff1a Load
  • 服务器肉鸡/入侵被恶意利用的排查和优化方案

    排查方法 xff1a 1 账户方面 xff1a Windows xff1a xff08 1 xff09 检查服务器内是否有异常的账户 xff0c 查看下服务器内是否有非系统和用户本身创建的账户 xff0c 一般黑客创建的账户账户名 后会有
  • Opensuse如何安装桌面环境

    安装必须的范式 xff1a zypper install t pattern kde kde plasma 编辑 etc sysconfig displaymanager 文件并设定 DISPLAYMANAGER 61 kdm xff0c
  • 怎么用谷歌学术检索下载外文文献

    谷歌学术是一个可以免费搜索外文学术文章的搜索引擎 xff0c 包括了世界上绝大部分出版的学术期刊 xff0c 可广泛搜索学术文献 谷歌学术可了解有关某一领域的学术文献 xff1b 了解某一作者的著述 xff0c 并提供书目信息 xff08
  • 英文文献去哪里查找,8个超强英文文献查找网站建议收藏

    英文文献去哪里查找 xff1f 找对方向用对工具可大幅提升学习和研究效率 xff01 下面详细介绍8个查找英文文献非常好用的网站 一 文献党下载器 xff08 wxdown org xff09 xff1a 该网站几乎整合汇聚了所有文献数据库
  • 基于STM32系列的模拟串口(非阻塞式)

    STM32单片机一般少则3个串口 多则5个 而我这次的项目还偏偏5个硬件串口还是不够用 至于不够用的原因 哎 是项目做到后面有定制 随便哪个串口都省不得 没得办法 只能另想法子咯 板子上有几个预留IO口 可以用来模拟串口 模拟串口一般都选9
  • 复制一个目录下的所有文件到另外一个目录(Java实现)

    首先说说我的思路 xff0c 要复制一个目录下的所有文件到另外的一个目录下 xff0c 我们不知道目录下的结构是怎么样的 xff0c 也不知道目录有多少层 xff0c 文件有多少个 xff0c 这样我们会想用循环 xff0c for 但是我
  • RT-Thread嵌入式操作系统

    一 系统架构 RT Thread xff0c 全称是 Real Time Thread xff0c 顾名思义 xff0c 它是一个嵌入式实时多线程操作系统 RT Thread 主要采用 C 语言编写 xff0c 浅显易懂 xff0c 方便移
  • 1.javascript类型中你不知道的细节

    1 数据类型 基本数据类型 xff1a Undefined xff1b Null xff1b Boolean xff1b String xff1b Number xff1b Symbol xff1b Object 1 1 undefined
  • RT-Thread内核基础

    RT Thread内核基础 1 RT Thread 内核介绍 下图为 RT Thread 内核架构图 xff0c 内核处于硬件层之上 xff0c 内核部分包括内核库 实时内核实现 实时内核的实现包括 xff1a 对象管理 线程管理及调度器
  • 安装和配置VNC服务器的法则

    这是一个关于怎样在你的 CentOS 7 上安装配置VNC服务的教程 当然这个教程也适合 RHEL 7 在这个教程里 xff0c 我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置VNC 服务器 我们都知道 xff0c 作为
  • 阿里云轻量应用服务器使用教程

    阿里云轻量应用服务器怎么远程连接 xff1f 轻量服务器可以更换操作系统吗 xff1f 使用轻量应用服务器如何搭建网站 xff1f 轻量应用服务器端口如何开通 xff1f 阿里云百科来详细说下轻量服务器远程连接 搭建网站 开放端口等详细使用
  • 超详细!阿里内部都在用的K8S实战手册,新手看这一篇就够了

    一直关注云计算领域的人 xff0c 必定知道Kubernetes的崛起 如今 xff0c 世界范围内的公有云巨头 xff08 谷歌 亚马逊 微软 华为云 阿里云等等 xff09 都在其传统的公共云服务之上提供托管的Kubernetes服务
  • YOLO目标检测多种改进模型

    写于2020年11月 一 SlimYOLOv3 论文链接 xff1a arxiv org abs 1907 11093 代码链接 xff1a https github com PengyiZhang SlimYOLOv3 二 YOLOV3
  • 解决cv2.error报错解决方案

    问题摘要 xff1a 一般出现如下 xff1a 解决cv2 error OpenCV 4 2 0 C projects opencv python opencv 报错 cv2 error OpenCV 4 2 0 C projects op
  • YOLOv5网络结构分析

  • EraseNet:端到端的真实场景文本擦除方法

    六 相关资源 EraseNet论文链接 xff1a https ieeexplore ieee org document 9180003 EraseNet代码 xff1a https github com lcy0604 EraseNet
  • 《程序人生》

    对乔布斯和马斯克访谈的反思 xff1a 1 这个世界不在乎你的自尊 xff0c 只在乎你自我感觉良好的同时有所成就 说明大多数人的观点是 乌合之众 xff0c 必须有从想到去做到的能力 xff0c 面子是无能者维护尊严的盾牌 2 年轻时候一
  • DiffusionDet:Diffusion Model for Object Detection

    Diffusion Model for Object Detection 一种用于目标检测的扩散模型 Motivation 1 如何使用一种更简单的方法代替可查询的object queries 2 Bounding box的生成方式过去是三