论文阅读【检测】:商汤 ICLR2021 | Deformable DETR

文章目录

    • 论文地址
    • Abstract
    • Motivation
    • 技术细节
      • 多尺度backbone特征
      • MSDeformAttention
    • 小结

论文地址

Deformable DETR
推荐视频:bilibili

Abstract

DETR消除对目标检测中许多手工设计的组件的需求,同时表现出良好的性能。然而,由于Transformer注意模块在处理图像特征映射方面的局限性,它收敛速度慢特征空间分辨率有限。为了缓解这些问题,提出了 Deformable DETR,其注意力模块只关注参考周围的一小组关键采样点。可变形 DETR 可以比 DETR(尤其是在小物体上)获得更好的性能,训练时间减少了 10 倍。
代码 。

Motivation

DETR的问题:
(1)它需要更长的训练时期才能收敛到现有的对象检测器。例如,在 COCO基准测试中,DETR 需要 500 个 epoch 才能收敛,这比 Faster R-CNN 慢大约 10 到 20 倍 。

(2) DETR在检测小物体时性能相对较低。现代目标检测器通常利用多尺度特征,从高分辨率特征图中检测小物体。同时,高分辨率特征图导致 DETR 的不可接受的复杂性。

上述问题主要归因于 Transformer 组件将几乎均匀的注意力权重转换为特征图中的所有像素。学习注意力权重以专注于稀疏有意义的位置,需要长时间的训练 epoch。另一方面,Transformer 编码器中的注意力权重计算是像素数的二次计算。因此,处理高分辨率特征图具有非常高的计算和内存复杂性。

可变形卷积 是一种强大且高效的机制来关注稀疏的空间位置。它自然避免了上述问题。但是它缺乏元素关系建模机制。

论文提出了Deformable DETR,它缓解了DETR收敛速度慢、复杂度高的问题。它结合了可变形卷积的稀疏空间采样和 Transformer 的关系建模能力的优点。提出了Deformable attention模块,该模块将一小组采样位置作为从所有特征图像素中突出关键元素的预过滤器。该模块可以自然地扩展到聚合多尺度特征,而无需 FPN (Lin et al., 2017a) 的帮助下。在Deformable DETR中,利用(多尺度)可变形注意模块代替Transformer注意模块处理特征映射。

技术细节

在这里插入图片描述
总的来说就是 利用了backbone多尺度的特征信息,用MSDeformAtten 替换了encoder/decoder中的MHAttention。
在这里插入图片描述

多尺度backbone特征

获取三个不同尺度的特征,构建类似FPN的操作,然后对齐到相同的channel数进行concat。
在这里插入图片描述
在这里插入图片描述

MSDeformAttention

1.原始的query feature 分别经过两个线性分支得到 位置偏移量attention权重
2.通过位置偏移量算出采样点在特征图上的位置
3.由采样点的位置 获得对于特征点的value
4.attention权重和采样点的value相乘
相对于原始transformer attention的Q,K,V。attention权重不再由Q,K获得,而是直接通过query feature 算出来的。
有个要注意的点,由于有4个不同尺寸的feature map。其anchor坐标都是先经过归一化的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结

Deformable attention这个idea 确实挺好的,大幅度减少了计算量。巧妙的运用了多尺寸的信息。经典之作。

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

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

相关文章

MongoDB - 聚合阶段 $count、$skip、$project

文章目录 1. $count 聚合阶段2. $skip 聚合阶段3. $project 聚合阶段1. 包含指定字段2. 排除_id字段3. 排除指定字段4. 不能同时指定包含字段和排除字段5. 排除嵌入式文档中的指定字段6. 包含嵌入式文档中的指定字段7. 添加新字段8. 重命名字段 1. $count 聚合阶段 计算匹配到…

Odoo 17 仪表盘开发指南:打造高效的数据可视化中心

在现代企业管理中,数据驱动的决策至关重要。Odoo 17 提供了强大的平台来构建自定义仪表板, 适用于数据统计、工作台、驾驶舱、数据可视化等场景,以便用户能够一目了然地监控关键指标并做出及时反应。本文将介绍如何在 Odoo 17 中开发一个灵活且高度定制化的仪表盘系统,包括…

12_TypeScript 模块 以及 模块化封装DB 库

TypeScript 模块 1、模块中暴露方法12、模块中暴露方法23、模块中暴露方法34、封装[上一节的db 库](https://blog.csdn.net/qq_46143850/article/details/140664100)5、TypeScript 命名空间 模块的概念(官方): 关于术语的一点说明&#xff1a…

TCP Nagle算法,TCP_CORK,延迟确认机制简单介绍

Nagle Nagle算法是一种改善TCP/IP网络效率的算法。 算法的目的 主要目的是减少网络中小数据包的数量,从而减少网络拥塞。它通过延迟发送小数据包来实现这一目标,直到有足够的数据可以发送一个完整的数据包。 工作原理 如果要发送的数据量达到了最大分段大小(Maximum Segmen…

Android笔试面试题AI答之Android系统与综合类(1)

答案仅供参考,来着文心一言、Kimi.ai 目录 1.简述嵌入式实时操作系统,Android 操作系统属于实时操作系统吗?嵌入式实时操作系统简述Android操作系统是否属于实时操作系统 2.简述Android系统的优势和不足?3.简述Android的系统架构 &#xff1…

实战深度学习--进行蘑菇分类

数据集:https://pan.quark.cn/s/4d3526600c0c 概述 本笔记将介绍如何使用Python和深度学习库(如TensorFlow和Keras)来构建一个卷积神经网络(CNN)模型,以区分可食用和有毒的蘑菇。我们将从数据准备、模型构…

Vue.js 与 Ajax(vue-resource)的集成应用

Vue.js 与 Ajax(vue-resource)的集成应用 Vue.js 是一款流行的前端JavaScript框架,以其简洁、灵活和高效的特点而受到开发者的喜爱。在实际开发中,与后端服务的通信是不可或缺的,而Ajax技术是实现这一功能的关键。在V…

C语言 -- 动态内存管理

C语言 -- 动态内存管理 1. 为什么要有动态内存分配2. malloc 和 free2.1 malloc2.2 free 3. calloc 和 realloc3.1 calloc3.2 realloc 4. 常见的动态内存的错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对非动态开辟内存使用free释放4.4 使用free释放一块动…

【力扣】SQL题库练习5

高级查询和连接 1341.电影评分 表:Movies ------------------------ | Column Name | Type | ------------------------ | movie_id | int | | title | varchar | ------------------------ movie_id 是这个表的主键(具有唯一值的列)。 ti…

力扣131题:分割回文串的 Java 实现

引言 力扣(LeetCode)是一个在线编程平台,提供了大量的编程题目供开发者练习。第131题“分割回文串”是一个有趣的字符串处理问题,要求将一个字符串分割成尽可能多的回文子串。本文将介绍如何使用 Java 解决这个问题。 题目描述 …

05 capture软件创建元器件库(以STM32为例)

05 创建元器件库_以STM32为例 一、新建原理图库文件二、新建器件三、开始创建元器件 一些IC类元件,需要自己创建元器件库。 先看视频,然后自己创建STM32F103C8T6的LQFP48的元器件。 STM32F103C8T6是目前为止,自己用的最多的芯片。 先要有数据…

mysqlMHA

mysqlMHA 什么是MHA ​ 高可用模式下的故障切换,基于主从复制. ​ 至少需要3台 ​ 故障切换过程在0-30秒之内. ​ 这过程和keepalive比较像,也是通过vip地址,根据vip地址所在的主机,确定主备. ​ 主和备不是靠优先级确定的,主从复制的时候就确定了主,备是在MHA的过程中确…

Qt自定义MessageToast

效果&#xff1a; 文字长度自适应&#xff0c;自动居中到parent&#xff0c;会透明渐变消失。 CustomToast::MessageToast(QS("最多添加50张图片"),this);1. CustomToast.h #pragma once#include <QFrame>class CustomToast : public QFrame {Q_OBJECT pub…

【学习笔记】解决Serial Communication Library编译问题

【学习笔记】解决编译 Serial Communication Library 时的 Catkin 依赖问题 Serial Communication Library 是一个用 C 编写的用于连接类似 rs-232 串口的跨平台库。它提供了一个现代的 C 接口&#xff0c;它的工作流程设计在外观和感觉上与 PySerial 相似&#xff0c;但串口速…

ControlNet on Stable Diffusion

ControlNet on Stable Diffusion 笔记来源&#xff1a; 1.Adding Conditional Control to Text-to-Image Diffusion Models 2.How to Use OpenPose & ControlNet in Stable Diffusion 3.ControlNet与DreamBooth&#xff1a;生成模型的精细控制与主体保持 4.Introduction t…

光猫设置桥接 路由器pppoe拨号 设置正常访问光猫 (openwrt)

网络信息展示 光猫桥接很简单吧&#xff0c;就不说了。先来列出修改前的网络接口和网络信息。 光猫192.168.1.1&#xff0c;openwrt 10.0.0.0/8 初始配置 需要记录的信息&#xff1a;WAN的网络设备&#xff08;eth1&#xff09;&#xff0c;光猫的IP&#xff08;192.168.1.1&am…

StarryCoding-35:鼠鼠我鸭

题目描述 在一个叫做酱西功爷枝叶鸡树学院的地方有&#x1d45b;n只小动物&#xff0c;要么是鼠鼠&#xff0c;要么是鸭鸭&#xff0c;从11到&#x1d45b;n编号&#xff0c;每只小动物有个体重&#x1d44e;&#x1d456;ai​。 在这个学校里&#xff0c;存在一种神奇的魔法…

Symfony 入门指南:快速安装与基础配置

Symfony 入门指南&#xff1a;快速安装与基础配置 Symfony 是一个强大而灵活的 PHP 框架&#xff0c;广泛应用于构建现代 Web 应用程序。本指南将带您一步一步地了解如何快速安装 Symfony&#xff0c;并完成基本配置&#xff0c;以便您能够开始使用这个强大的框架。 目录 引…

使用法国云手机进行面向法国的社媒营销

在当今数字化和全球化的时代&#xff0c;社交媒体已经成为企业营销和拓展市场的重要工具。对于想进入法国市场的企业来说&#xff0c;如何在海外社媒营销中脱颖而出、抓住更多的市场份额&#xff0c;成为了一个关键问题。法国云手机正为企业提供全新的营销工具&#xff0c;助力…

Spring Boot多租户配置与实现

在现代应用程序中&#xff0c;多租户架构是一种非常流行的设计模式。多租户架构允许多个客户&#xff08;租户&#xff09;共享同一个应用程序实例&#xff0c;同时确保数据的隔离性和安全性。本文将详细介绍如何在Spring Boot应用程序中配置和实现多租户支持&#xff0c;并提供…