DETR++: Taming Your Multi-Scale Detection Transformer论文解读

文章目录

  • 前言
  • 一、摘要
  • 二、引言
  • 三、相关研究
  • 四、模型方法
    • 1、Removing the Encoder方法
    • 2、Multi-Head方法
    • 3、Shifted Windows方法
    • 4、Bi-directional Feature Pyramid方法
    • 5、DETR++方法
  • 五、实验结果
  • 总结


前言

今天查看了一篇DETR++论文,本想网络上找博客大概浏览一下,不料网上对DETR++资料较少。无奈,我只有自己查看原文,了解其方法。为此,本篇博客将介绍DETR++论文内容,也希望我的解读会快速让朋友们了解其论文方法。


论文链接:https://arxiv.org/pdf/2206.02977v1.pdf

一、摘要

自从AlexNet在图像分类网络出现,目标检测使用CNN结构已占主导地位。随着transformer在自然邻域广泛使用,Carmethod引入DETR来处理目标检测。然而,由于self-attention存在平方计算复杂都,DETR不能狗处理多尺度特征交互,导致小目标检测效果较差。为了克服这个问题和进一步改善DETR性能。在这篇研究中,我们研究了多尺度特征交互的不同方法,并发现BIFPN在DETR中最有效,并提升检测性能。介于此发现,我们提出DETR++模型,一个新架构,改善检测结果。我们在coco2017测试提升了1.9%的AP,RICO icon测试11.5%的AP,我们提升了9.1%AP。

在这里插入图片描述

二、引言

列举众所周知基于CNN的检测模型方法,有anchors、grid、pointcetres等模式,也被cocohuopascal数据证明了有效性,当然后处理也是影响性能部分。而后作者介绍了DERT相关原理与框架。紧接着,作者提出DETR弊端,就是slow,其原因在于一个self-attention机制,特别对于视觉特征需sapn over thousands of token(简单说就是维度拉大了),另一个原因二分匹配也是耗时的。提到若是在增加多尺度特征到DETR中,就存在更大调整。因此,本文研究多个multi-level features方式加入DETR架构去改善性能,而不导致self-attention的二次方复杂度与二分匹配。作者又说了其困难,①在资源和时间限制下运行多层特征头几乎是不可能的,②transformer的encoder结构在解码detector模块是非常重要的额,也是不可能去除的,③使用滑动窗口思路是不work的,④dert头对不同目标尺度改善效果也不佳,⑤BIFPN结构嵌入DETR是有效果的,且不增加计算复杂度。

三、相关研究

作者介绍了基于CNN的模型,随后介绍多尺度特征文献回顾,解释使用多尺度特征如FPN确实改善小目标检测,并列举了一些模型。紧接着,作者说了,由于DETR计算的复杂度,原始模型不容易合并多尺度特征。这导致缺乏多尺度特征,是模型在小目标效果表现不佳。

四、模型方法

本文方式实际是介绍使用不同模块,重在neck中实现多尺度特征融合方式,探究原始DETR改进效果。最终作者选择BIFPN方法嵌入DETR,发现其效果最好。当然,我额外说下,作者说了DETR因其自身原因,添加多尺度特征模块嵌入于DETR是比较困难的,这个可能需要结合代码查看。当然,我在下面会给出作者原文对每个方法原文,读者可自行查看。

1、Removing the Encoder方法

在这里插入图片描述

2、Multi-Head方法

在这里插入图片描述

3、Shifted Windows方法

在这里插入图片描述

4、Bi-directional Feature Pyramid方法

在这里插入图片描述

5、DETR++方法

在这里插入图片描述

五、实验结果

作者实验也是基于coco2017数据集,上面是使用不同模块预测结果,下面是其它网络预测结果。但你会发现某些模块添加DETR模型效果会差,如stack方法的AP是37.3而DETR是39.9,反而降低了。具体详情如下:
在这里插入图片描述


总结

DETR++论文核心是想实现类似FPN的多尺度特征融合技术,尝试了很多种方法,最终使用BIFPN靠谱。与此同时,DETR++模型也解决transformer的attention引起slow问题,并找到如何将多尺度特征嵌入DETR模型方法(作者说嵌入DETR本身困难)。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.骑手优化算法4.实验参数设定5.算法结果6.…

【飞凌 OK113i-C 全志T113-i开发板】一些有用的常用的命令测试

一些有用的常用的命令测试 一、系统信息查询 可以查询板子的内核信息、CPU处理器信息、环境变量等 二、CPU频率 从上面的系统信息查询到,这是一颗具有两个ARMv7结构A7内核的处理器,主频最高1.2GHz 可以通过命令查看当前支持的频率以及目前所使用主频 …

C++ 之LeetCode刷题记录(一)

😄😊😆😃😄😊😆😃 从今天开始cpp刷题之旅,多学多练,尽力而为。 先易后难,先刷简单的。 1、两数之和 给定一个整数数组 nums 和一个整数目标值…

【笔记】Spring的循环依赖

Spring的循环依赖 ObjectFactory:函数式接口,可以将lambda表达式作为参数放在方法的实参种,在方法执行的时候,并不会实际的调用当前lambda表达式,只有在调用getObject方法的时候才回去调用lambda表达式 为什么spring要用三级缓存…

青少年CTF-qsnctf-Web-include01include02(多种方法-知识点较多-建议收藏!)

PHP常见伪协议 php://filter是PHP中独有的一种协议,它是一种过滤器,可以作为一个中间流来过滤其他的数据流。通常使用该协议来读取或者写入部分数据,且在读取和写入之前对数据进行一些过滤,例如base64编码处理,rot13处…

TrustZone之与非安全虚拟化交互

到目前为止,我们在示例中忽略了非安全状态中可能存在的虚拟化程序。当存在虚拟化程序时,虚拟机与安全状态之间的许多通信将通过虚拟化程序进行。 例如,在虚拟化环境中,SMC用于访问固件功能和可信服务。固件功能包括诸如电源管理之…

maven完结,你真的学完了吗

书接上文:必学的maven的起步-CSDN博客 分模块开发与设计 分模块开发: 创建模块书写代码模块 模块中需要其他的模块,就将他安装到仓库然后再dep中导入依赖通过maven指令安装模块到本地仓库(install) 聚合与继承 聚合…

安捷伦Agilent 8720ES网络分析仪

Agilent安捷伦8720ES S-参数矢量网络分析仪 50MHz至20GHz 100 dB 的动态范围 优异的测量精度 2个测量通道 4个显示通道 频率和功率扫描 快扫描和数据传输速度 通过/失败测试,强大的标记功能 电校准(ECal) 内部使用测试序列的自动化 可选时域…

Spring Security 6.x 系列(12)—— Form表单认证登录自定义配置

一、前言 在本系列文章中介绍了 Form 表单认证和注销流程,对部分源码也进行详细分析。 本章主要学习 Spring Security 中表单认证的相关自定义配置。 二、自定义登录页面 Spring Security 表单认证默认规则中对未认证的请求会重定向到默认登录页面,也…

AtomHub 开源容器镜像中心开放公测,国内服务稳定下载

由开放原子开源基金会主导,华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及 OpenSDV 开源联盟、openEuler 社区、OpenCloudOS 社区等成员单位共同发起建设的 AtomHub 可信镜像中心正式开放公测。AtomHub 秉承共建、共治、共享的理念,旨在为开源组织和开…

【操作系统】补充:你看到的所有地址都不是真的

补充:你看到的所有地址都不是真的 写过打印出指针的 C 程序吗?你看到的值(一些大数字,通常以十六进制打印)是虚拟地址(virtual address)。有没有想过你的程序代码在哪里找到?你也可以…

Kubernetes pod ip 暴露

1. k8s pod 和 service 网络暴露 借助 iptables 的路由转发功能,打通k8s集群内的pod和service网络,与外部网络联通 # 查看集群的 pod 网段和 service 网段 kubectl -n kube-system describe cm kubeadm-config networking:dnsDomain: cluster.localpod…