文献阅读(59)CVPR2021-Swin Transformer-Hierarchical Vision Transformer using Shifted Windows

本文主要是介绍文献阅读(59)CVPR2021-Swin Transformer-Hierarchical Vision Transformer using Shifted Windows,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文是对《Swin Transformer-Hierarchical Vision Transformer using Shifted Windows》一文的浅显翻译与理解,如有侵权即刻删除。

更多相关文章,请移步:
文献阅读总结:计算机视觉

文章目录

  • Title
  • 总结
    • 1 整体框架
    • 2 移动窗口

Title

《Swin Transformer-Hierarchical Vision Transformer using Shifted Windows》

——CVPR2021

Author: 刘泽

总结

该文是CVPR的best paper,作者胡瀚对其进行了介绍:https://www.bilibili.com/video/BV1eb4y1k7fj?from=search&seid=4785679647044800045&spm_id_from=333.337.0.0

Transformer在NLP领域的成果吸引了CV领域研究者的注意,期待为NLP和CV建立一个通用的模型架构。本文提出了Swin Transformer算法,将transformer结构引入到了CV领域中,并加入了先验知识如层次性hierarchy、局部性locality和平移不变性translational invariance等。此外,还构造了移动窗口shifted window来代替常用的滑动窗口,相比使用卷积架构的方法,效果更佳。

1 整体框架

文章将transformer结构代替了传统的卷积网络结构,将给定的图像切分为多个区块,在每个区块patch中使用self-attention方法提取特征。具体而言,每个区块会被初始化为44的大小,每个像素点有用RGB值进行表示,因此每个区块的大小为443,这些区块可以用经典方法表示成为维度大小为C的向量。而后,通过叠加多层Swin Transformer blocks,来不断压缩和提取信息。每次将22范围的区块信息压缩成一个区块,同时生成2C长度的向量。其结构如下所示:

在这里插入图片描述

右图是对单层transformer结构模型的拆解,W-MSA即基于window的multi-head self attention,其公式如下所示:

在这里插入图片描述

2 移动窗口

注意到,文章对每个区块进行了自注意力的信息提取,但没有考虑多个区块间的联系。因此,文章提出了移动窗口shifted window来替换传统的滑动窗口sliding window,建模区块与区块间的联系。滑动窗口往往按照规定的步长在数据间进行滑动提取信息,但这样的方法往往计算较为复杂。进而,文章通过利用图像不断循环滑动,来实现了窗口的移动。

在这里插入图片描述

如图所示,上图最左侧区块大小不同的切分图,正是由第二个图的变换得到的,将右下方ABC三部分提取出来,拼接到左上方,就得到了最左侧的切分图,其实际效果如下:

在这里插入图片描述

此外,文章还提出了模型的多个变体,在此不再赘述。

这篇关于文献阅读(59)CVPR2021-Swin Transformer-Hierarchical Vision Transformer using Shifted Windows的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/377483

相关文章

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar