【SwinTransformer】大杀四方的 Swin Transformer 详解及改进

Swin Trasnformer 新型的Transformer架构,专为计算机视觉任务设计 解决了传统Transformer从自然语言处理迁移到计算机视觉任务时面临的两大问题 Swin Transformer是由微软亚洲研究院在今年公布的一篇利用transformer架构处理计算机视觉任务的论文。Swin Transformer 在图像分类,图像分割,目标检测等各个领域已经屠榜,在论文中,作者分析表明,Transformer从NLP迁移到CV上没有大放异彩主要有两点原因:1. 两个领域涉及的scale不同,NLP的token是标准固定的大小,而CV的特征尺度变化范围非常大。 阅读详情

Swin Transformer

Shifted Window 窗口自注意力到全局自注意力,窗口建模到全局建模。

BackBone

在这里插入图片描述
上图为 Swin-Tiny的网络架构图。

  • Swin-T: C = 96, layer numbers = {2, 2, 6, 2}
  • Swin-S: C = 96, layer numbers ={2, 2, 18, 2}
  • Swin-B: C = 128, layer numbers ={2, 2, 18, 2}
  • Swin-L: C = 192, layer numbers ={2, 2, 18, 2}
Stage 0

Images:224 * 224 * 3 (H * W * 3)
Patch Partition: 56 * 56 * 48 (H/4 * W/4 * 48)

Stage 1

Linear Embedding:56 * 56 * 96 (H/4 * W/4 * C)。类似于卷积操作。

Swin Transformer Block * 2:3136 * 96。

Stage 2

Patch Merging:28 * 28 * 192 (H/8 * W/8 * 2C)。
Swin Transformer Block * 2:784 * 192。

Stage 3

Patch Merging:14 * 14 * 384 (H/16 * W/16 * 4C)。
Swin Transformer Block * 6:196 * 384 。

Stage 4

Patch Merging:7 * 7 * 768 (H/32 * W/32 * 8C)。
Swin Transformer Block * 2:49 * 768。

Patch Merging 操作

Swin Transformer Blocks 计算单元

  1. 进入LayerNorm(层归一化),然后进行多头自注意力(W-MSA),进行LayerNorm(层归一化),进行MLP操作
  2. 进入LayerNorm(层归一化),然后进行移动多头自注意力(SW-MSA),进行LayerNorm(层归一化),进行MLP操作
    在这里插入图片描述

基于窗口自注意力计算复杂度推导

Multi-head Self-Attention模块(MSA)
Window Multi-head Self-Attention模块(W-MSA)

https://blog.csdn.net/qq_45588019/article/details/122599502
在这里插入图片描述

掩码操作

后续……

改进

测试中,后续更新……

swin transformer解读 Swin Transformer: Hierarchical Vision Transformer using Shifted Windows --论文解读 论文信息、概要 Swin transformer是微软今年三月25日公布的一篇利用transformer架构处理计算机视觉任务的论文。源码仅仅公布两天就在github上收获了2.2k个stars。它是我个人认为迄今为止用tranformer架构处理计算机视觉任务最有实用价值的一篇文章,在图像分割,目标检测各个领域已经霸榜,让很多人看到了transfor 阅读详情

相关推荐

Swin Transformer详解

之前transformer主要用于NLP领域,现在也应用到了CV领域。

qq_43349542的博客 2万+

Swin Transformer网络架构、相应改进模块的理解

swin-Transformer Transformer越来越火,个人感觉基于Transformer来做视觉真是把矩阵用得出神入化!! Swin-Transformer相较于VIT改进的方法: SwinT使用类似CNN中层次化构建方法,这样的backbone有助于在此基础上构建检测和分割任务,而VIT中是直接一次性下采样16倍,后面的特征图都是维持这个下采样率不变。 在SwinT中使用Windows Multi-head Self-Attention(WMSA)的概念,在上图中4倍下采样和8倍下采样中,

weixin_45074568的博客 9992

Swin-transformer详解

swin transformer详解

一去不复返的通信er 7564

swin transformer 总结

swin transformer 总结 1. 背景介绍 原名:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows 获奖:2021 ICCV Best Paper 2.文章介绍 2.1概括 Swin Transformer 是一种新型的transformer,可以用作视觉和语言处理的统一模型 特性 - 引出了一种具有层级的特征表达方式(基于self-attentation的shifted window) - 具有线性

beizhengren的博客 8858

transformer概述和swin-transformer详解

transformer和swin-transformer

m0_60524373的博客 4200

Swin transformer详解

本文介绍了一种称为的新视觉,它可以作为 CV 的通用主干。将 Transformer 从语言适应到视觉方面的挑战来自两个域之间的差异,例如视觉实体的规模以及相比于文本单词的高分辨率图像像素的巨大差异。为解决这些差异,我们提出了一种层次化 (hierarchical) Transformer,其表示是用移位窗口 (Shifted Windows)计算的。移位窗口方案通过将自注意力计算限制在不重叠的局部窗口的同时,还允许跨窗口连接来提高效率。这种分层架构具有在各种尺度上建模的灵活性,并且。

weixin_47414581的博客 1691

Swin-Transformer网络结构详解

文章目录0 前言1 网络整体框架2 Patch Merging详解3 W-MSA详解Ω(MSA)\Omega (MSA)Ω(MSA)模块计算量Ω(W−MSA)\Omega (W-MSA)Ω(W−MSA)模块计算量4 SW-MSA详解5 Relative Position Bias详解6 模型详细配置参数 0 前言 Swin Transformer是2021年微软研究院发表在ICCV上的一篇文章,并且已经获得ICCV 2021 best paper的荣誉称号。Swin Transformer网络是Tran

霹雳吧啦Wz 28万+

对Swin-Transformer的理解

对Swin-Transformer的初步理解Introduction整体结构Patch Embedding(Partition)Patch MergingWindow Partition/ReverseWindow Attention相对位置编码Shifted Window Attention特征图移位操作Attention MaskTransformer Block整体架构参考         Swin-Transformer

菜根檀的博客 6686

Swin-Transformer 详解

用动画深入解释Swin-Transformer

欢乐的小树的博客 8986

SwinTransformer 改进:SSPCAB模块(2024最新改进方法)

SSPCAB(Spatial Pyramid Pooling with Channel Attention Block)是2024年提出的一种新型神经网络架构改进方法,专注于在保持高精度的同时显著降低计算复杂度和参数量。该方法通过创新的空间金字塔池化与通道注意力机制的结合,实现了网络结构的紧凑化和运算效率的大幅提升。核心创新点1. 混合空间金字塔池化(Hybrid Spatial Pyramid Pooling, HSPP)多尺度动态核池化:根据输入特征图尺寸动态调整池化核大小和步长交叉级联结构。

Henry的博客 1294

【LVGL】从HTML到LVGL:嵌入式UI的设计迁移与落地实践

嵌入式UI迁移实践:从HTML到LVGL 本文介绍了将HTML/CSS设计的UI原型迁移到嵌入式系统(LVGL)的完整流程,重点涉及"HTML→Figma→LVGL"的三步转换方法。具体内容包括: 设计迁移流程:通过Figma作为中间桥梁,将HTML原型转化为标准设计资产,再适配到LVGL库; 工具与参数准备:详细列出了设计迁移所需的工具链和需要提取的核心设计参数; Figma还原步骤:分组件讲解如何在Figma中1:1还原HTML设计,包括标题栏、压力显示区、图表区等核心组件; LVG

ymlmail的博客 1957

Swin-Transformer详解

Swin-Transformer是2021年微软研究院发表在ICCV上的一篇文章,并且已经获得的荣誉称号。虽然在图像分类方面的结果令人鼓舞,但是由于其低分辨率特性映射和复杂度随图像大小的二次增长,其结构不适合作为密集视觉任务或高分辨率输入图像的通过骨干网路。为了最佳的精度和速度的权衡,提出了Swin-Transformer结构。论文名称原论文地址官方开源代码地址Pytorch实现代码Tensorflow2实现代码如下图所示为:Swin-Transformer与ViT的对比结构。采样方式。

hellozhxy的博客 1万+

推荐算法之Thompson(汤普森)采样

如果想理解汤普森采样算法,就必须先熟悉了解贝塔分布。 一、Beta(贝塔)分布 Beta分布是一个定义在[0,1]区间上的连续概率分布族,它有两个正值参数,称为形状参数,一般用α和β表示,Beta分布的概率密度函数形式如下: 这里的Γ表示gamma函数。 Beta分布的均值是: 方差: ...

weixin_30508241的博客 4251

Swin-Transformer白话详解

(2)再进行位置编码,这里的位置编码,有一维位置编码,二维位置编码,相对位置编码。实验表明,一维位置编码相对更好;2D(分别计算行和列的编码,然后求和)的效果还不如1D的每一层都加共享的位置编码也没啥太大用!(1)Vit就是将图片切割各个patch, 然后拉平,进行线性映射(linear线性层);结论:编码有用,但是怎么编码影响不大,干脆用简单的得了。二、ViT(图像transformer)在检测任务中:可能使用2D更好。2.位置编码的作用和选择。

qq_41915623的博客 5134

Vivado工程芯片型号更换全流程:从IP更新到生成新bit文件(避坑指南)

本文详细介绍了Vivado工程中更换芯片型号的全流程,包括IP更新、约束文件适配和生成新bit文件的关键步骤。特别针对FPGA开发中常见的兼容性问题提供避坑指南,帮助开发者高效完成芯片迁移,确保设计稳定性和性能优化。

weixin_42549451的博客 291

RK3568 MIPI屏幕启动异常:从uboot logo到黑屏的排查与修复

本文详细分析了RK3568平台MIPI屏幕在启动过程中,从uboot阶段正常显示logo到内核阶段黑屏的典型故障。通过硬件测量与软件调试,最终定位问题根源在于电源时序,并提供了在设备树中为屏幕供电的regulator节点添加`regulator-boot-on`属性的关键解决方案,有效解决了因内核启动早期电源管理导致的显示异常。

weixin_29161719的博客 538

YOLOv8改进添加swin transformer

改进YOLOv8,去网上找了很多教程都是充钱才能看的,NND这对一个一餐只能吃两个菜的大学生来说是多么的痛苦,所以自己去找代码手动改了一下,成功实现YOLOv8改进添加swin transformer,本人水平有限,改得不对的地方请自行改正。

qq_62127918的博客 6959

使用 MATLAB/Simulink 构建一个 核电站汽轮机与发电机协调控制系统 的仿真模型

在核电机组中,汽轮机-发电机系统是将核能最终转化为电能的关键环节。与火电机组不同,核反应堆的热惯性大、功率调节慢,因此汽轮机的控制策略需与反应堆特性相匹配,实现安全、稳定、高效的能量转换。维持发电机输出功率/频率稳定(响应电网调度)调节汽轮机进汽压力(匹配一回路蒸汽供应)实现“堆-机协调控制”保障机组在启停、变负荷、甩负荷等工况下的安全性本教程将带你使用构建一个核电站汽轮机与发电机协调控制系统汽轮机调速系统(调门控制)建模发电机与电网接口建模(同步机)

xiaoheshang_123的博客 185

swin-transformer详解及代码复现

1. swin-transformer网络结构 实际上,我们在进行代码复现时应该是下图,接下来我们根据下面的图片进行分段实现 2. Patch Partition & Patch Embedding 首先将图片输入到Patch Partition模块中进行分块,即每4x4相邻的像素为一个Patch,然后在channel方向展平(flatten)。假设输入的是RGB三通道图片,那么每个patch就有4x4=16个像素,然后每个像素有R、G、B三个值所以展平后是16x3=48,所以通过Patc

apodx的博客 1万+

【四足机器人项目实战】四足机器人嵌入式硬件设计

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、电源管理板设计及制作二、通讯中继板设计及制作三、力控无刷电机驱动板设计及制作1.磁场定向控制FOC控制原理2.电机转子位置、速度检测原理3.硬件CAN通讯原理 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对四足机器人–嵌入式硬件设计做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、电

qq_35635374的博客 1万+

063、推挽变换器的磁偏问题与解决

本文针对推挽变换器中的磁偏问题展开分析。作者通过实际案例指出,磁偏主要由开关管导通压降差异和驱动信号不对称引起,会导致变压器饱和、MOS管炸毁等问题。文章提供了四种解决方案:采用电流模式控制、添加隔直电容、优化对称驱动设计以及引入磁芯气隙(作为最后手段)。调试时应重点观察原边电流波形对称性、变压器声音和直流分量。作者强调实践经验的重要性,建议预留隔直电容位置,并指出推挽拓扑在500W以上功率场合的局限性。这些基于实战的经验总结为电源工程师提供了有价值的参考。

Jack010169的博客 300

swin transformer详解

摘要 transformer应用到CV领域的挑战: 1、相对于文本,视觉实体的尺度区别很大,例如车辆和人 2、相对于文本,图像像素的分辨率太大 解决方法:使用层级式的transformer,使用移动窗口 好处: 1、通过限制在窗口内使用自注意力,带来了更高的效率 2、通过移动,使得相邻两个窗口之间有了交互,上下层之间也就有了跨窗口连接,从而变相达到了一种全局建模的效果 3、层级式的结构不仅非常灵活的去建模各个尺度的信息并且计算复杂度随着图像大小线性增长 结论: 因为有了像卷积神经网络一样的分层结构,有了多尺

ydmyyh的博客 3万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 【LaTex】LaTex 极简使用教程(后续加附视频讲解链接)
下一篇: 【Flask框架】一. Flask框架初体验(配置环境 + 简单demo样例)
朱迪Judy霍普斯
朱迪Judy霍普斯 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄8年 7万+粉丝 638原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱迪Judy霍普斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值