MS-DETR论文解读

news2024/11/16 19:27:24

文章目录

  • 前言
  • 一、摘要
  • 二、引言
  • 三、贡献
  • 四、MS-DETR模型方法
    • 1、模型整体结构解读
    • 2、模型改善结构解读
    • 3、一对多监督原理
  • 五、实验结果
    • 1、实验比较
    • 2、论文链接
  • 总结


前言

今天,偶然看到MS-DETR论文,以为又有什么高逼格论文诞生了。于是,我想查看一番,改论文讨论原始DETR中使用一对一监督的传统训练过程缺乏对对象检测候选者的直接监督。本文旨在通过混合一对一监督和一对多监督来明确监督候选生成过程,从而提高DETR训练效率。本文最主要贡献在解码decoder实现行一对多监督。实验结果表明,我们的方法优于相关的DETR变体,如DN-DETR、Hybrid DETR和Group DETR,并且与相关DETR变体的组合进一步提高了性能。本博客将带领读者共同探讨此文章。


一、摘要

摘要:DETR通过基于图像特征迭代生成多个候选对象并为每个ground-truth对象提升一个候选对象来实现端到端的目标检测。在原始DETR中使用一对一监督的传统训练过程缺乏对对象检测候选者的直接监督。
本文旨在通过混合一对一监督和一对多监督来明确监督候选生成过程,从而提高DETR训练效率。我们的方法,即MS-DETR,很简单,并且对用于推理的主解码器的对象查询进行一对多监督。与具有一对多监督的现有DETR变体(如Group DETR和Hybrid DETR)相比,我们的方法不需要额外的解码器分支或对象查询。在我们的方法中,主解码器的对象查询直接受益于一对多监督,因此在对象候选预测方面是优越的。实验结果表明,我们的方法优于相关的DETR变体,如DN-DETR、Hybrid DETR和Group DETR,并且与相关DETR变体的组合进一步提高了性能。

在这里插入图片描述

二、引言

端到端目标检测方法DETR已有很多研究者研究。该类模型是基于CNN的backbone、一个编码、一个解码。解码是decoder层堆叠,每一层由self-attention、cross-attention和FFNs模块,仅接class与box预测。
DETR的解码生成很多目标候选框,他们以目标查询表征,在端到端学习方法中提出一个候选框和很多冗余的框。这些冗余候选框也靠近gt box框,如图1说明。而候选框是通过decoder的cross-attention生成。候选去重主要有解码self-attention与一对一监督完成,确保选择一个候选框符合gt box目标。不像基于NMS方法(如:fastercnn)通常使用一个监督生成候选框,而DETR模型训练对生成多个目标候选缺乏明确监督。
我们提出监督查询,该查询在解码模块混了一对一监督与一对多监督,从而改善训练效率。我们架构非常简单,我们增加模块与预测head相似,实现一对一监督,它由一个box预测、一个类别预测构成。我们命名为MS-DETR,如图3说明。我们想要指出增加的模块不影响训练过程与推理过程。
图1说明我们模型对后弦检测影响。我们发现DETR没有一对多监督也对gt目标产生多个候选框。在用一对多监督后,预测box会更好,候选框也更好。我们也发现一对一的分类与box回归 loss是低于有一对多监督。这是能够改善候选框,这样对一对一监督loss有帮助的。
我们方法通过引入额外监督(一对多)在图像特征选择上改善目标查询。与相关方法比较,如conditional DETR、Deformable DETR,明显不同,他们是修改cross-attention架orquery格式,我们方法也是,然而不同我们是一朵朵监督。特别的,我们方法直接在primary上加了一对多的监督。

三、贡献

作者在原有一对一监督DETR模型上,提出一对多监督,使其与原有一对一监督混合监督,提高DETR训练效率。

四、MS-DETR模型方法

实际是在原有DETR一对一的监督增加一对多的监督,但我感觉有些将 Group DETR和DN-DETR的平行结构换成了串行结构,且实验在哪个位置分出一对多监督结构,实际是loss约束成分。

1、模型整体结构解读

图3 说明整体架构不同,a是原始DETR,一对一的监督;b是混合DETR,一对一与一对多的监督(我们模型);c是分组DETR和DN-DETR,除了平行家吗被引入外,一个一对一监督也被强加与decoder,更多额外decoders更可能像在Group DETR和DN-DETR。d是Hybrid DETR,一个额外平行家吗被增加和一个一对多监督被增加额外解码层。

在这里插入图片描述

2、模型改善结构解读

MD-DETR改善,a图是一对一与一对多监督在每个decoder层输出后发生,而b与a就是cross-attention与self-attention位置不同。c和d是将一对多监督在中间执行。
在这里插入图片描述

3、一对多监督原理

一对多匹配是基于预测置信度和与groundtruth的iou获得代价矩阵,在对每个gt目标匹配选择top K的queries,并过滤低于阈值τ的queries。
在这里插入图片描述

五、实验结果

1、实验比较

作者在epoch=12或24比较不同模型差异,如下表:
在这里插入图片描述
在这里插入图片描述

2、论文链接

该论文有部分注释,下载链接如下:

链接:https://pan.baidu.com/s/1_PxFMsto6uXSRCj29K0lIA
提取码:depa

总结

该篇文章比较容易读,但我感觉技术应该不是那么惊艳(个人理解),而读者想更加深刻理解,需查看源码,我只是大概说了该篇论文相关内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1372268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文解决新手所有python环境变量报错问题

问题描述: cmd控制台输入python或pip后会出现下面情况 首先确保安装程序时勾选了安装pip pip的所在目录,可以打开该目录查看是否存在 如果还有问题,确保环境变量配置了python的路径 具体操作步骤 此处的用户环境变量是只针对当前系统用户有效&a…

由于找不到x3daudio1_7.dll无法继续执行此代码的多种解决方法大全

在我们运行软件游戏的时候,偶尔会出现无法运行的报错,其中之一就是“找不到x3daudio1_7.dll”的错误。x3daudio1_7.dll是Windows操作系统中的一个重要动态链接库文件,主要负责音频设备的3D音效功能。电脑“找不到x3daudio1_7.dll”可能会导致…

2024年AIGC趋势展望:视频生成的“百模大战”

2023年底发布的svd(stabilityai/stable-video-diffusion-img2vid Hugging Face)、EMU(https://ai.meta.com/blog/emu-text-to-video-generation-image-editing-research/)、i2vgen-xl(GitHub - ali-vilab/i2vgen-xl: Official repo for VGen: a holistic video generation eco…

Python教程38:使用turtle画动态粒子爱心+文字爱心

Turtle库是Python语言中的一个标准库,它提供了一种有趣的方式来介绍编程和图形绘制的基本概念。Turtle库使用一个虚拟的“海龟”来绘制图形。你可以控制海龟的方向、速度和位置,通过向前移动、向左转或向右转等命令来绘制线条、圆弧多边形等图形。 -----…

导波光学理论基础

导波光学理论基础 一、电磁场基本方程 1.1 麦克斯韦方程组、物质方程、边值关系 麦克斯韦方程组 麦克斯韦方程组是一组微分方程,只能求得通解 如果需要唯一的确定各场矢量,还需补充一些边界条件 线性、静止、各向同性介质的物质方程 D ⃗ ε E ⃗ …

无法访问Bing网站 - 解决方案

问题 Bing官方网址:https://www.bing.com/ 电脑无法访问Bing网站,但手机等移动设备可以访问Bing网站,此时可尝试以下方案。 以下方案适用于各种系统,如Win/Linux系统。 解决方案 方案1 修改Bing网址为:https://www4…

【C++】STL 算法 ⑨ ( 预定义函数对象示例 - 将容器元素从大到小排序 | sort 排序算法 | greater<T> 预定义函数对象 )

文章目录 一、预定义函数对象示例 - 将容器元素从大到小排序1、sort 排序算法2、greater<T> 预定义函数对象 二、代码示例 - 预定义函数对象1、代码示例2、执行结果 一、预定义函数对象示例 - 将容器元素从大到小排序 1、sort 排序算法 C 标准模板库 ( STL , Standard Te…

软件测试工程师经典面试题总结

一、接口测试如何设计测试用例&#xff1f; 首先&#xff0c;接口测试用例与其他测试用例是一样的&#xff0c;都是为了证明程序存在错误&#xff0c;其出发点相同&#xff1b;接口测试用例的对象是接口&#xff0c;需要验证各个系统及组件间的接口&#xff1b;其三是接口测试的…

firewalld高级配置

IP伪装与端口转发 在互联网发展初期&#xff0c;设计者们并没有想到互联网会发展到现在这个空前繁荣的阶段&#xff0c;所以&#xff0c;设 计的Pv4地址空间只有32位.但是随着互联网的发展&#xff0c;P地址变得严重缺乏&#xff0c;并且地址分配不均匀&#xff0c; 所以就在原…

Vue学习笔记五--路由

1、什么是路由 2、VueRouter 2、1VueRouter介绍 2、2使用步骤 2、3路由封装 3、router-link 3.1两个类名 3.2声明式导航传参 4、路由重定向、404 当找不到路由时&#xff0c;跳转配置到404页面 5、路由模式 6、通过代码跳转路由---编程式导航&传参 路由跳转时传参 跳转方式…

13年老鸟整理,自动化测试落地实施方案总结,看这篇就够了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 一般来说&#xf…

C++类与对象基础(8)

目录 1. 隐式类型转换与关键字explicit: 1.1 隐式类型转换举例&#xff1a; 1.2 explicit关键字&#xff1a; 2. 友元&#xff1a; 2.1 友元函数&#xff1a; 2.2 友元类&#xff1a; 3. 内部类&#xff1a; 4. 勘误&#xff1a; 1. 隐式类型转换与关键字explicit: 1.1…

DelayQueue原理探究

DelayQueue并发队列是一个无界阻塞延迟队列&#xff0c;队列中的每个元素都有个过期时间&#xff0c;当从队列获取元素时&#xff0c;只有过期元素才会出队列。队列头元素是最快要过期的元素。 DelayQueue类图结构 由该图可知&#xff0c;DelayQueue内部使用PriorityQueue存放…

【揭秘APT攻击】——内网渗透实战攻略,带你领略网络安全的绝密世界!

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 介绍 什么是内网&#xff1f; 什么是内网渗透&#xff1f; 内网渗透的目的&#xff1a; 内网…

Spring MVC 参数接收

参数接收 Springmvc中&#xff0c;接收页面提交的数据是通过方法形参来接收&#xff1a; 处理器适配器调用springmvc使用反射将前端提交的参数传递给controller方法的形参 springmvc接收的参数都是String类型&#xff0c;所以spirngmvc提供了很多converter&#xff08;转换器…

CSS3实现轮播效果

在我们不使用JS的情况下&#xff0c;是否也可以实现轮播功能呢&#xff1f; 答应是可以的 上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>轮播</title><style>.boss…

数据结构实验4:链表的基本操作

目录 一、实验目的 二、实验原理 1. 节点 2. 指针 3.链表的类型 3.1 单向链表 3.2 双向链表 3.3 单向循环链表 3.4 双向循环链表 4. 单链表的插入 4.1 头插法 4.2 尾插法 4.3 在指定位置插入元素 5. 单链表的删除 5.1 删除指定数值的节点 5.2 删除指定位置的节点 …

网络编程套接字(Socket)

文章目录 1 重点知识2 预备知识2.1 理解源IP地址和目的IP地址2.2 认识端口号2.3 理解 "端口号" 和 "进程ID"2.4 理解源端口号和目的端口号2.5 认识TCP协议2.6 认识UDP协议2.7 网络字节序 3 socket编程接口3.1 socket 常见API3.2 sockaddr结构 4 简单的UDP网…

statsmodels.tsa 笔记 detrend(去趋势)

1 基本使用方法 statsmodels.tsa.tsatools.detrend(x, order1, axis0) 2 参数说明 x数据。如果是二维数组&#xff0c;那么每一行或每一列将独立地去除趋势&#xff0c;但趋势的阶数是一样的。order趋势的多项式阶数。0 表示常数趋势&#xff08;即没有趋势&#xff09;&…

redis可视化工具 RedisInsight

redis可视化工具 RedisInsight 1、RedisInsight是什么2、下载RedisInsight3、使用RedisInsight4、其他redsi可视化工具 1、RedisInsight是什么 RedisInsight 是一个用于管理和监控 Redis 数据库的图形用户界面&#xff08;GUI&#xff09;工具。它是由 Redis Labs 开发的&…