MS-DETR论文解读

文章目录

  • 前言
  • 一、摘要
  • 二、引言
  • 三、贡献
  • 四、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

总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

12.1SPI驱动框架

SPI硬件基础 总线拓扑结构 引脚含义 DO(MOSI):Master Output, Slave Input, SPI主控用来发出数据,SPI从设备用来接收数据 DI(MISO) :Master Input, Slave Output, SPI主控用来发出数据,SPI从设备用来接收…

IPv6路由协议---IPv6动态路由(OSPFv3-4)

OSPFv3的链路状态通告LSA类型 链路状态通告是OSPFv3进行路由计算的关键依据,链路状态通告包含链路状态类型、链路状态ID、通告路由器三元组唯一地标识了一个LSA。 OSPFv3的LSA头仍然保持20字节,但是内容变化了。在LSA头中,OSPFv2的LS age、Advertising Router、LS Sequence…

Java中输入和输出处理(三)二进制篇

叮咚!加油!马上学完 读写二进制文件Data DataInputStream类 FilFeInputStream的子类 与FileInputStream类结合使用读取二进制文件 DataOutputStream类 FileOutputStream的子类 与FileOutputStream类结合使用写二进制文件 读写二进制代码 package 面…

DAPP和APP的区别在哪?

随着科技的飞速发展,我们每天都在与各种应用程序打交道。然而,你是否真正了解DAPP和APP之间的区别呢?本文将为你揭示这两者的核心差异,让你在自媒体平台上脱颖而出。 一、定义与起源 APP,即应用程序,通常指…

使用KubeSphere轻松部署Bookinfo应用

Bookinfo 应用 这个示例部署了一个用于演示多种 Istio 特性的应用,该应用由四个单独的微服务构成。 如安装了 Istio,说明已安装 Bookinfo。 这个应用模仿在线书店的一个分类,显示一本书的信息。 页面上会显示一本书的描述,书籍…

C/C++ 位段

目录 什么是位段? 位段的内存分配 位段的跨平台问题 什么是位段? 位段的声明与结构是类似的,但是有两个不同: 位段的成员必须是 int、unsigned int 或signed int 等整型家族。位段的成员名后边有一个冒号和一个数字 这是一个…

深度学习笔记(二)——Tensorflow环境的安装

本篇文章只做基本的流程概述,不阐述具体每个软件的详细安装流程,具体的流程网上教程已经非常丰富。主要是给出完整的安装流程,以供参考 环境很重要 一个好的算法环境往往能够帮助开发者事半功倍,入门学习的时候往往搭建好环境就已…

【ELISA检测】酶联免疫吸附实验概述-卡梅德生物

酶联免疫吸附实验(Enzyme linked immunosorbent assay,ELISA)是将抗原或抗体结合在固相载体表面,利用抗原抗体的特异性结合以及抗体或者抗原上标记的酶催化特定底物发生显色反应,实现目标物检测的免疫分析方法&#xf…

24/1/10 qt work

1. 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密码不匹配&…

11 个 Python全栈开发工具集

前言 以下是专注于全栈开发不同方面的 Python 库;有些专注于 Web 应用程序开发,有些专注于后端,而另一些则两者兼而有之。 1. Taipy Taipy 是一个开源的 Python 库,用于构建生产就绪的应用程序前端和后端。 它旨在加快应用程序开发&#xf…

Appium + ios环境搭建过程Mac

前提: 已经搭建好NodeJavaPythonAppium...环境 见下面的文章: ok的话按照下面的步骤搭建IOs的自动化 1. 安装Xcode 官方下载 (Downloads and Resources - Xcode - Apple Developer 1)AppStore 下载安装最新版本 2. 依赖工具 工具名描述libimobile…

Springboot的配置文件详解:从入门到精通,解读配置文件的奇妙世界

目录 1、前言 2、介绍 2.1 Springboot配置文件的作用 2.2 Springboot支持的配置文件类型 2.3 Springboot配置文件的加载顺序 3、YAML配置文件 3.1 YAML基本语法介绍 3.2 YAML中的基本数据类型 3.3 YAML中的复合数据类型 3.4 YAML中的配置属性 3.5 YAML中的多环境配置…

从0开始学Git指令(2)

从0开始学Git指令 因为网上的git文章优劣难评,大部分没有实操展示,所以打算自己从头整理一份完整的git实战教程,希望对大家能够起到帮助! 工作区(Working Directory) 就是你在电脑里能看到的目录&#x…

还不会python 实现常用的数据编码和对称加密?看这篇文章就够啦~

相信很多使用 python 的小伙伴在工作中都遇到过,对数据进行相关编码或加密的需求,今天这篇文章主要给大家介绍对于一些常用的数据编码和数据加密的方式,如何使用 python 去实现。话不多说,接下来直接进入主题: 前言 1…

Windows VSCode 使用Python

一、vscode中安装python 二、下载python.exe(即vscode中需要的python解释器) 下载地址:https://www.python.org/downloads/ 三、安装第三方代码规范工具 参考网址:https://www.python.org/downloads/ 工具介绍 flake8 &#xf…

文心一言API调用,保姆级案例分享

分享一个调用文心一言API的案例。今天自己用程序去过去文心一言模型中获取结果。 文心一言API调用如何收费? 官方给送了20块钱的体验券! 后续收费规则如下 如何开通所需要要的 API key 和 Secret key? api调用需要先在千帆平台开通API key 。…

大模型PEFT技术原理(一):BitFit、Prefix Tuning、Prompt Tuning

随着预训练模型的参数越来越大,尤其是175B参数大小的GPT3发布以来,让很多中小公司和个人研究员对于大模型的全量微调望而却步,近年来研究者们提出了各种各样的参数高效迁移学习方法(Parameter-efficient Transfer Learning&#x…

TurboDesign安装包及安装教程

下载链接: 链接:https://pan.baidu.com/s/1I_jMid-z186GgvyH3ZExGQ 提取码:z936 1.解压下载好的压缩包。 2.进入解压后的文件夹并点击进入“ADT TURBODesign Suite 6.4.0”。 3.点击“安装包”进入文件夹。 4.找到“setup.exe”并右键点…

Docker入门介绍

【一】从 dotCloud 到 Docker——低调奢华有内涵 1、追根溯源:dotCloud 时间倒回到两年前,有一个名不见经传的小公司,他的名字叫做:dotCloud。 dotCloud 公司主要提供的是基于 PaaS(Platform as a Service,平台及服务) 平台为开发者或开发商…

训练自己的GPT2

训练自己的GPT2 1.预训练与微调2.准备工作2.在自己的数据上进行微调 1.预训练与微调 所谓的预训练,就是在海量的通用数据上训练大模型。比如,我把全世界所有的网页上的文本内容都整理出来,把全人类所有的书籍、论文都整理出来,然…