Pre-Trained Image Processing Transformer

paper:https://arxiv.org/abs/2010.04159

code:https://github.com/fundamentalvision/Deformable-DETR

基于洗漱空间采样的注意力机制:利用Deformable convolution(将固定形状的卷积过程改造成了能适应物体形状的可变的卷积过程,从而使结构适应物体形变的能力更强)对感受野上的每一个点加一个偏移量,偏移的大小是通过学习得来的,偏移后感受野不再是个正方形,而是和物体的实际形状相匹配。这么做的好处就是无论物体怎么形变,卷积的区域始终覆盖在物体形状的周围。

这篇论文提出了一个可变形注意力模块用来代替传统transformer中的attention module,只关注特征中的一部分关键位置。

Step1: 利用CNN获取多尺度特征(针对不同特征层的特征点可能拥有相同的位置编码,就无法区分他们,为了解决这个问题,增加一个'scale-level embedding',它是可学习的,仅用于区分不同的特征层,也就是同一特征层中的所有特征点会对应相同的scale-level embedding。可以这么理解,每个班级都有个叫小明的同学,如果只看姓名的话,就无法区分,现在加上了班级就可以明确区分了)

Step2: 变形注意力机制与传统self-attention的区别是query不是和全局每个位置的key都计算注意力权重,而是对于每个query,仅在全局位置中采样部分位置的key,并且value也是基于这些位置进行采样插值得到的,最后将这个局部&稀疏的注意力权重施加在对应的value上。

Step3: Decorder部分与Transformer中主要的区别在于使用可变形注意力替代了原生的交叉注意力。类似地,每层的解码过程是self-attention+cross-attention+ffn,下一层输入的object query是上一层输出的解码特征

提出的两点提升性能的策略:1. Iterative Bounding Box Refinement 使用bbox检测头部对解码特征进行预测,得到相对于参考点(boxes or points)的偏移量,然后加上参考点坐标(先经过反sigmoid处理,即先从归一化的空间从还原出来),最后这个结果再经过sigmoid(归一化)得到校正的参考点,供下一层使用

2.two-stages 在原始 DETR 中,decoder中的目标查询与当前图像无关。 受两阶段目标检测器的启发,用于生成区域建议(region proposals)作为第一阶段。 生成的区域提议将作为目标查询输入decoder进行进一步细化,形成两阶段可变形 DETR。

 

Deformable DETR (ICLR2021)的更多相关文章

  1. Deformable 可变形的DETR

    Deformable 可变形的DETR This repository is an official implementation of the paper Deformable DETR: Defo ...

  2. 基于COCO数据集验证的目标检测算法天梯排行榜

    基于COCO数据集验证的目标检测算法天梯排行榜 AP50 Rank Model box AP AP50 Paper Code Result Year Tags 1 SwinV2-G (HTC++) 6 ...

  3. 【DPM】Deformable Part Models matlab代码在windows下的调试过程

    我下载的是voc-release5 1.按照这篇文章,都操作了一遍:http://blog.csdn.net/pozen/article/details/7023742#quote 2.运行demo不 ...

  4. DPM(Deformable Parts Model)--原理(一)(转载)

    DPM(Deformable Parts Model) Reference: Object detection with discriminatively trained partbased mode ...

  5. 关于DPM(Deformable Part Model)算法中模型结构的解释

    关于可变部件模型的描写叙述在作者[2010 PAMI]Object Detection with Discriminatively Trained Part Based Models的论文中已经有说明 ...

  6. (2) 用DPM(Deformable Part Model,voc-release4.01)算法在INRIA数据集上训练自己的人体检測模型

    步骤一,首先要使voc-release4.01目标检測部分的代码在windows系统下跑起来: 參考在window下执行DPM(deformable part models) -(检測demo部分) ...

  7. 使用DPM(Deformable Part Model,voc-release3.1)算法INRIA通过训练你的身体检测模型数据集

    我的环境 DPM源代码版本号:voc-release3.1 VOC开发包版本号:VOC2007_devkit_08-Jun Matlab版本号:MatlabR2012b c++编译器:VS2010 系 ...

  8. Deformable Convolutional Network

    Deformable conv赋予了CNN位置变换的能力,与普通卷积的对比如下.可以看到,在每个特征点上,会产生一个偏移,变成 不规则的卷积(感觉本质上,就是让CNN自己去学习感受野). 思想来源于S ...

  9. 论文阅读笔记四十:Deformable ConvNets v2: More Deformable, Better Results(CVPR2018)

    论文源址:https://arxiv.org/abs/1811.11168 摘要 可变形卷积的一个亮点是对于不同几何变化的物体具有适应性.但也存在一些问题,虽然相比传统的卷积网络,其神经网络的空间形状 ...

  10. 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)

    论文源址:https://arxiv.org/abs/1703.06211 开源项目:https://github.com/msracver/Deformable-ConvNets 摘要 卷积神经网络 ...

随机推荐

  1. [Oracle19C ASM管理] ASM服务的启停

    自动方式启停 crsctl stat res -t 查看ASM服务的状态,it's ok that ora.ons和ora.diskmon是OFFLINE [grid@centos7-19c.loca ...

  2. 解决: 无法打开明确指定的数据库“SSISDB”, 用户 'NT Service\SSISScaleOutMaster150' 登录失败.

    环境: WindowsServer2019Datacenter  SQL Server2019  SSMSv18 事情: SQL安装完成后, 发现系统日志中有如下报错:   解决: 无法打开明确指定的 ...

  3. printf函数size_t的替换字符串zu

    参考:https://stackoverflow.com/questions/2524611/how-can-one-print-a-size-t-variable-portably-using-th ...

  4. Spring Boot上传文件功能的开发

    Spring Boot上传文件功能的开发 Spring Boot使用Servlet 3的API javax.servlet.http.Part来支持文件上传.Spring Boot在类Multipar ...

  5. 简易舰c远征计时器(HTML)

    有时候项目闲下来想休息的时候会跑跑舰c远征,但计时比较麻烦. 所以每个现场都会写那么几个工具.以前是vba的,这次写了个HTML的,感觉还算易用就仍上来了.省得以后换现场还得再写. 纯粹是偷懒时做的, ...

  6. laravel视图响应

    1.输出json $data = [ 'id' => 1, 'name' => 'jack', ]; return response()->json($data); 2.重定向 // ...

  7. 摹客演示Axure原型,适配更丰富机型

    Hi!各位小伙伴!又到了摹客的新功能播报时间.本次更新,对Axure原型的演示进行了优化,支持预览不同分辨率的布局:在设计规范方面,非编辑者的界面标识也更加清晰:另外还有一些细节体验的优化.下面就一起 ...

  8. js给ul下面所有的li追加类名

  9. EIRENE GSM-R编码计划

    Numbering plan overview This appendix provides an overview of the numbering plan as defined in this ...

  10. [node]启动一个简单的node接口

    来自知乎. 需要先安装一个node,安装过程不表. 新建文件: nodeServer.js // 复制这个文件到目录,再输入一下命令: // npm i express // node nodeSer ...