MIMDet

Title:Unleashing Vanilla Vision Transformer with Masked Image Modeling for Object Detection

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

code:https://github.com/hustvl/MIMDet

华中科技大学&腾讯PGG

Abstract

​ 本文提出了一种方法,有效地适应掩蔽图像建模(MIM)预先训练的ViT用于目标检测,这是基于我们的观察:为了构建用于目标检测的多尺度表示,随机初始化的compact convolutional stem取代了预先训练的convolutional stem,其中间特征可以自然地作为特征金字塔的高分辨率输入,而不需要上采样。而预先训练的ViT只被认为是检测器的主干的第三阶段,而不是整个特征提取器,从而产生了ConvNet-ViT混合架构。提出的检测器名为MIMDET,使MIM预训练的ViT在COCO上超过2.3APBoxAP^{Box}APBox和2.5APMaskAP^{Mask}APMask的Swin Transformer。

Introduction

​ 在图像和视频级识别任务中,MIM预训练的ViT引人注目的迁移学习结果激励我们:对于更具有挑战性的对象或实例级识别任务,例如对象检测和实例分割,是否有可能也从强大的MIM预训练表示中获益?

​ 但是不幸的是,在VIT模型预训练在检测和分割任务的时候,直接处理对象级识别所需的高分辨率图像,使全局注意的复杂度与空间维度呈二次关系。

​ 一种方法是在微调阶段重新引入window attention或其变体,这有助于降低注意的成本。然而,使用窗口注意会导致预训练和微调之间的差异,因为窗口分区隐式地将输入视为二维规则网格,而普通的ViT则是预训练来处理一维序列。

​ 受MIM预训练的启发,这项工作追求一种不同的解决方案,以转移一个普通的ViT的对象级识别:在目标检测微调阶段,只向MIM预训练的ViT编码器提供部分输入,例如,只有25%的∼和50%的输入序列进行随机采样。输出序列片段然后补充可学习的掩码标记,并由一个小的解码器处理,以恢复完整的特征。

​ 这种看似大胆的方法在准确性-资源权衡方面却惊人地好。动机是:

  • (i)在很长一段时间内,二维连续规则被认为是来自卷积神经网络(ConvNets)以及视觉理解中的层次ViT变体的实际输入。与它们不同的是,ViT将输入视为一个单独的令牌/嵌入序列。

​ 因此,ViT处理非连续输入子集是可行的,这是方法的基础。

  • (ii)视觉信号在本质上具有严重的空间冗余,这鼓励了最近的MIM预训练方法采用非常高的掩蔽比(例如,40%∼75%)。

另一个障碍是在普通的ViT中缺乏金字塔式的特征层次结构,因为完善的视觉识别任务层通常需要多尺度的输入。在这项工作中,我们的目标不是重新设计针对单尺度ViT的特定任务层,相反,我们做了最小限度的调整,重新引入来自普通ViT的多尺度表示。

​ 新引入的ConvStem非常紧凑(只有4.1M,不到ViT-Base编码器大小的5%),它的中间特性可以直接作为特征金字塔的更高分辨率输入。产生的骨干本质上是一个ConvNet-ViT混合架构的早期阶段和最后阶段。

Method

You Only Look at One Partial Sequence

​ Object识别任务通常受益于更高分辨率的输入,这些输入通常比图像分类的输入大小高一个数量级。而普通的ViT计算空间特征聚合的全局注意,以及全局注意尺度的计算和记忆成本与输入分辨率成二次关系。因此,如果一个普通的ViT直接输入完整的输入集,微调过程将在很大程度上减慢。

​ 受到MAE的启发,将ConvStem采样的卷积结果分割为不同的patches,但是只给Encoder送入25%的patches也可以达到50%AP的精度。

推测其原因是:

  • 视觉信号是高度冗余的,并且松散地跨越空间维度,例如,普通的ViT能够在MIM预训练期间仅基于可见内容恢复丢失的上下文信息,这意味着它在生成之前就理解上下文。因此,在部分观察下,基于强的预训练表示,可以在复杂场景中进行全局视觉理解。
  • 我们的方法在MIM预训练和微调之间引入了一个较小的差距,即我们以与训练前类似的方式对ViT进行微调。在训练前,ViT学习一个任务,只需要一个可见子集作为输入的全局上下文推理。我们的微调过程模拟了MIM预训练,它只通过基于高容量表示的部分观察来进行对象级的理解。

You Only Pre-train the Third Stage

​ 本文采用了一个典型的卷积设计,通过简单地叠加3×3卷积与2步和双特征通道。每个卷积层之后都是一个层的归一化和一个GeLU激活,我们的转换逐步减少了空间维度,也丰富了信道维度。输出嵌入与原始模式嵌入具有相同的形状,作为ViT编码器的输入。

就模型尺寸而言,只有4.1M参数,不到ViT-Base编码器尺寸的5%。虽然很小,但金字塔特征层次结构自然存在于ConvStem的中间层中。我们选择的特性{4、8}像素对输入图像的输入特征FPN的前两个阶段(即,P2和P3的输入),而预先训练的作为FPN的P4的输入,输入只是通过无参数平均池化的输出。成功地获得了一个用于目标检测的FPN。

A ConvNet-ViT Hybrid Architecture

从本质上讲,特征提取器是一个ConvNet-ViT混合架构,是一个整洁的ConvNet/ConvStem,模型最后是一个很强的ViT。这也与当前最先进的视觉编码器设计方法的趋势相一致。ConvNet/ConvStem更适合于早期的视觉信号处理,并为ViT编码器和检测器引入了二维感应偏差,而ViT架构更可扩展,并倾向于具有更大的模型容量。

事实上,ConvStem不能通过MIM进行预训练,也不支持任何视觉编码器的MIM预训练,因为内核大小大于步幅的密集滑动卷积会跨块传播信息,导致信息泄漏并阻碍MIM。只需要在第三阶段进行预训练。

Experiment

Unleashing Vanilla Vision Transformer with Masked Image Modeling for Object Detection相关推荐

  1. 【arXiv2022】GroupTransNet: Group Transformer Network for RGB-D Salient Object Detection

    paper:https://arxiv.org/abs/2203.10785 目录 一 动机 二 方法 三 网络框架 3.1 模态纯化模块(MPM) 3.2 尺度统一模块 (SUM) 3.3 多 Tr ...

  2. 论文笔记-Vanilla Transformer:Character-Level Language Modeling with Deeper Self-Attention

    论文笔记-Vanilla Transformer:Character-Level Language Modeling with Deeper Self-Attention 1. 介绍 2. Chara ...

  3. 一文细数Vision transformer家族成员

    可以看作是vision transformer的idea集,查漏补缺使用.需要精读的文章前面加了*号,均附有文章链接及代码链接. 下面这个链接基本上有所有的ViT的论文地址:https://githu ...

  4. ViTDet:Exploring Plain Vision Transformer Backbonesfor Object Detection(arXiv 2022)

    最前面是论文翻译,中间是背景+问题+方法步骤+实验过程,最后是文中的部分专业名词介绍(水平线分开,能力有限,部分翻译可能不太准确) 探索用于目标检测的普通视觉Transformers骨干 在本文中,& ...

  5. 【深度学习】搞懂 Vision Transformer 原理和代码,看这篇技术综述就够了

    作者丨科技猛兽 编辑丨极市平台 导读 本文对Vision Transformer的原理和代码进行了非常全面详细的解读,一切从Self-attention开始.Transformer的实现和代码以及Tr ...

  6. UCSB微软提出VIOLET,用Masked Visual-token Modeling进行端到端的视频语言学习!性能SOTA...

    关注公众号,发现CV技术之美 ▊ 写在前面 视频语言(VidL)建模的一个巨大挑战在于,从图像/视频理解模型提取的固定视频表示与下游VidL数据之间的脱节 .最近的研究试图通过端到端的训练来解决这个问 ...

  7. Contrastive Learning Rivals Masked Image Modeling in Fine-tuning via Feature Distillation

    特征蒸馏FD:让对比学习匹敌图像掩码自监督学习 paper:[2205.14141] Contrastive Learning Rivals Masked Image Modeling in Fine ...

  8. Vision Transformer 必读系列之图像分类综述(二): Attention-based

    文 @ 000007 号外号外:awesome-vit 上新啦,欢迎大家 Star Star Star ~ https://github.com/open-mmlab/awesome-vit​gith ...

  9. Vision Transformer 综述

    本文来自{A Survey on Vision Transformer}  T-PAMI2022 目录 Abstract 1. Introduction 2. Formulation of Trans ...

最新文章

  1. sencha app refresh
  2. 天正怎么批量填充柱子_天正CAD插件使用教程合集
  3. PHP中的include和require
  4. HDU多校3 - 6975 Forgiving Matching(多项式匹配字符串)
  5. 《从零开始学Swift》学习笔记(Day 16)——字典集合
  6. puppet 认证错误:Could not request certificate: unknown message digest algorithm
  7. Oracle数据库中dual是什么东西啊?
  8. 苹果Mac如何在全屏幕模式下使用 App?
  9. vlan理论03-vlan映射
  10. php ajax怎么拿id,php ajax无刷新分页,支持id定位
  11. 史上最全面的Javaweb完整学习教程,Java小白必备!
  12. TBase环境部署过程及使用一
  13. JDK8新特性03 Lambda表达式03_Java8 内置的四大核心函数式接口
  14. php英文数字转为中文,利用PHP怎么将英文数字转换为阿拉伯数字
  15. android 分辨率 尺寸大小,Andriod界面设计的分辨率和尺寸适配全攻略
  16. java mye_JAVA环境搭建之MyEclipse10+jdk1.8+tomcat8环境搭建详解
  17. debian修改字体
  18. 苹果内购噩梦条款3.1.1,知道这些小细节才不会被拒审
  19. 单片机c语言快速除法运算,单片机开发厂家之单片机C语言快速精度除法方案
  20. 谷歌浏览器audio标签自动播放音乐问题解决

热门文章

  1. 3dmax 单位匹配和基本单位设置
  2. Nextcloud的部署迁移过程
  3. PS部分实现helloworld
  4. 计算机屏幕三种,多屏互动的三种表现类型
  5. 如何判断两个链表是否相交并求出相交点
  6. 2191: 【USACO】Crowded Cows
  7. android hide方法 末班,Android调用@hide系统隐藏类的几种方法
  8. Git详解之六 Git工具
  9. WTL CCheckListViewCtrl详解及示例
  10. 操作系统 - 虚拟内存