【计算机视觉】Vision Transformers算法介绍合集(一)

news2024/12/29 11:50:54

文章目录

    • 一、Vision Transformer
    • 二、Swin Transformer
    • 三、Detection Transformer
    • 四、Data-efficient Image Transformer
    • 五、self-DIstillation with NO labels
    • 六、Deformable DETR
    • 七、Compact Convolutional Transformers
    • 八、NesT
    • 九、Pyramid Vision Transformer
    • 十、Dense Prediction Transformer
    • 十一、Convolutional Vision Transformer
    • 十二、Tokens-To-Token Vision Transformer
    • 十三、Multiscale Vision Transformer
    • 十四、MoCo v3
    • 十五、LV-ViT

Vision Transformers 是应用于视觉任务的类似 Transformer 的模型。 它们源于 ViT 的工作,直接将 Transformer 架构应用于非重叠的中型图像块上进行图像分类。 您可以在下面找到不断更新的视觉转换器列表。

ViT类型模型可以进一步分为均匀尺度ViT、多尺度ViT、带卷积的混合ViT和自监督ViT。 下面列出的方法全面概述了应用于一系列视觉任务的 ViT 模型。

一、Vision Transformer

Vision Transformer(ViT)是一种图像分类模型,它在图像块上采用类似 Transformer 的架构。 将图像分割成固定大小的块,然后将每个块线性嵌入,添加位置嵌入,并将所得向量序列馈送到标准 Transformer 编码器。 为了执行分类,使用了向序列添加额外的可学习“分类标记”的标准方法。

在这里插入图片描述

二、Swin Transformer

Swin Transformer 是视觉变压器的一种。 它通过合并更深层中的图像块(以灰色显示)来构建分层特征图,并且由于仅在每个局部窗口(以红色显示)内计算自注意力,因此具有输入图像大小的线性计算复杂性。 因此,它可以作为图像分类和密集识别任务的通用主干。 相比之下,以前的视觉 Transformer 会生成单个低分辨率的特征图,并且由于全局自注意力的计算,输入图像大小的计算复杂度是二次方的。

在这里插入图片描述

三、Detection Transformer

Detr(即检测变压器)是一种基于集合的目标检测器,在卷积主干之上使用变压器。 它使用传统的 CNN 主干来学习输入图像的 2D 表示。 该模型将其展平并用位置编码对其进行补充,然后将其传递到变压器编码器。 然后,变压器解码器将少量固定数量的学习位置嵌入(我们称之为对象查询)作为输入,并另外关注编码器输出。 我们将解码器的每个输出嵌入传递到共享前馈网络(FFN),该网络预测检测(类和边界框)或“无对象”类。

在这里插入图片描述

四、Data-efficient Image Transformer

数据高效图像转换器是一种用于图像分类任务的视觉转换器。 该模型使用 Transformer 特有的师生策略进行训练。 它依赖于蒸馏令牌,确保学生通过注意力向老师学习。

在这里插入图片描述

五、self-DIstillation with NO labels

DINO(无标签自蒸馏)是一种自监督学习方法,它使用标准交叉熵损失直接预测由动量编码器构建的教师网络的输出。

在这里插入图片描述
在这里插入图片描述

六、Deformable DETR

可变形 DETR 是一种目标检测方法,旨在缓解 DETR 收敛速度慢和复杂度高的问题。 它结合了可变形卷积的稀疏空间采样和 Transformers 的关系建模功能的最佳性能。 具体来说,它引入了一个可变形注意模块,该模块关注一小组采样位置,作为所有特征图像素中突出关键元素的预过滤器。 该模块可以自然地扩展到聚合多尺度特征,而无需借助 FPN。

在这里插入图片描述

七、Compact Convolutional Transformers

紧凑卷积变压器利用序列池并用卷积嵌入替换补丁嵌入,从而实现更好的归纳偏差并使位置嵌入成为可选。 CCT 比 ViT-Lite(较小的 ViT)实现了更好的精度,并增加了输入参数的灵活性。

在这里插入图片描述

八、NesT

NesT 堆叠规范的 Transformer 层,对每个图像块独立进行局部自注意力,然后分层“嵌套”它们。 空间相邻块之间的处理信息的耦合是通过每两个层次结构之间所提出的块聚合来实现的。 整体的层次结构可以由两个关键的超参数决定:

在这里插入图片描述
在这里插入图片描述

九、Pyramid Vision Transformer

PVT(金字塔视觉变压器)是一种视觉变压器,利用金字塔结构使其成为密集预测任务的有效骨干。 具体来说,它允许使用更细粒度的输入(每个补丁 4 x 4 像素),同时随着 Transformer 的加深而缩小其序列长度,从而降低计算成本。 此外,空间减少注意(SRA)层用于进一步减少学习高分辨率特征时的资源消耗。

在这里插入图片描述
在这里插入图片描述

十、Dense Prediction Transformer

密集预测变压器(DPT)是一种用于密集预测任务的视觉变压器。

通过提取非重叠斑块,然后对其展平表示(DPT-Base 和 DPT-Large)进行线性投影,或者通过应用 ResNet-50 特征提取器(DPT-Hybrid),将输入图像转换为标记(橙色)。 图像嵌入通过位置嵌入得到增强,并添加了与补丁无关的读出标记(红色)。 令牌通过多个变压器阶段。 令牌从不同阶段重新组装成多种分辨率的类似图像的表示(绿色)。 融合模块(紫色)逐步融合和上采样表示以生成细粒度的预测。

在这里插入图片描述

十一、Convolutional Vision Transformer

卷积视觉 Transformer (CvT) 是一种将卷积合并到 Transformer 中的架构。 CvT 设计将卷积引入到 ViT 架构的两个核心部分。

首先,Transformers 被划分为多个阶段,形成 Transformers 的层次结构。 每个阶段的开始由一个卷积令牌嵌入组成,该嵌入在 2D 重塑令牌图上执行重叠卷积操作(即,将扁平令牌序列重塑回空间网格),然后进行层归一化。 这使得模型不仅可以捕获局部信息,还可以逐步减少序列长度,同时增加跨阶段标记特征的维度,实现空间下采样,同时增加特征图的数量,就像 CNN 中执行的那样。

其次,Transformer 模块中每个自注意力块之前的线性投影被替换为提出的卷积投影,该投影在 2D 重塑令牌图上采用 s × s 深度可分离卷积运算。 这使得模型能够进一步捕获局部空间上下文并减少注意机制中的语义歧义。 它还允许管理计算复杂性,因为卷积的步长可用于对键和值矩阵进行二次采样,以将效率提高 4 倍或更多,同时将性能下降降至最低。

在这里插入图片描述

十二、Tokens-To-Token Vision Transformer

T2T-ViT(Tokens-To-Token Vision Transformer)是一种 Vision Transformer,它结合了 1)分层的 Tokens-to-Token (T2T) 转换,通过递归地将相邻的 Tokens 聚合成一个 Token(Tokens)来逐步将图像结构化为 tokens。 -to-Token),这样可以对周围令牌表示的局部结构进行建模,并可以减少令牌长度; 2)经过实证研究后,受 CNN 架构设计启发,为视觉变换器提供了具有深窄结构的高效主干。

在这里插入图片描述

十三、Multiscale Vision Transformer

多尺度视觉变压器(MViT)是一种用于对图像和视频等视觉数据进行建模的变压器架构。 与在整个网络中保持恒定通道容量和分辨率的传统 Transformer 不同,多尺度 Transformer 具有多个通道分辨率缩放阶段。 从输入分辨率和小通道尺寸开始,各阶段分层扩展通道容量,同时降低空间分辨率。 这创建了一个多尺度的特征金字塔,早期层以高空间分辨率运行,以模拟简单的低级视觉信息,而更深的层则以空间粗糙但复杂的高维特征运行。

在这里插入图片描述

十四、MoCo v3

在这里插入图片描述
在这里插入图片描述

十五、LV-ViT

LV-ViT 是一种视觉转换器,使用标记标签作为训练目标。 与 ViT 的标准训练目标不同,ViT 的标准训练目标是在额外的可训练类标记上计算分类损失,标记标记利用所有图像补丁标记以密集的方式计算训练损失。 具体来说,标记标记将图像分类问题重新表述为多个标记级识别问题,并为每个补丁标记分配由机器注释器生成的单独位置特定的监督。

在这里插入图片描述

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

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

相关文章

什么是MQ消息队列及四大主流MQ的优缺点(个人网站复习搬运)

什么是MQ消息队列及四大主流MQ的优缺点 小程序要上一个限时活动模块,需要有延时队列,从网上了解到用RabbitMQ可以解决,就了解了下 MQ 并以此做记录。 一、为什么要用 MQ 核心就是解耦、异步和…

算法笔记—多数相加

首先,我们要引入一个一道题目1. 两数之和 - 力扣(LeetCode) 两数之和 其实这道题很简单,但是,可以使用内嵌循环来进行遍历,找到符合要求的数据,返回下标即可。 但今天提供另一个方法&#xff…

劳务管理 视频监控 项目版智慧工地管理系统源码

智慧工地管理系统将人工智能技术、传感器技术、虚拟现实技术等更多高新技术嵌入到建筑、机器、人员佩戴的设备、工地出入口大门等各种物体中,广泛互联形成“物联网技术”,再与“互联网技术”融合,完成项目管理利益相关者与项目施工现场的融合…

数据仓库模型设计V2.0

一、数仓建模的意义 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储起来之后,数据才能得到高性能、低成本、高效率、高质量的使用。 高性能:良好的数据模型能够帮助我们快速查询…

考研算法47天:01背包

问题描述 算法详细步骤 代码随想录 (programmercarl.com) ac代码 #include <iostream> using namespace std; int bag[1001]; int bagMax[1001]; int bagvalue[1001]; int main(){int n,v;cin>>n>>v;for(int i0;i<n;i){cin>>bag[i]>>bagva…

跨站脚本攻击实验-beef

实验目的 学习XSS工具/手工攻击的原理掌握XSS工具/手工攻击的方法学习防御XSS的方法/原理 实验工具 burpsuite Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具&#xff0c;并为这些工具设计了许多接口。所有的工具都共享一个能处理并显示HTTP 消息&#xff…

电路电子技术2电容电感伏安关系 计算电路中某两端电压

1.计算电流 思路&#xff1a;可以知道R1两端的电压&#xff0c;即U1&#xff0c;计算出流过R1的电流。接下来计算R2两端的电压&#xff0c;即US-U1&#xff0c;进而知道流过R2的电流。根据在节点处的KCL&#xff0c;即可求出I。 2.电容电感伏安关系 电容元件与电感元件的伏安…

购买问界M7大五座(自动驾驶走进我们的生活一)

龙龙在两天前下了问界M7大五座的大定&#xff08;5000元&#xff09;&#xff0c;今天周末陪幺姨、姨爹、龙龙在重庆汽博问界4S店谈完了M7大五座的订购事宜。 早上10点到店后&#xff0c;姨爹在问界M5上完成了他的第一次自动驾驶试驾。小唐先开了一段路示范自驾&#xff0c;在回…

机器学习(16)---聚类(KMeans)

聚类 一、聚类概述1.1 无监督学习与聚类算法1.2 sklearn中的聚类算法 二、 KMeans2.1 基本原理2.2 簇内误差平方和 三、sklearn中的KMeans3.1 所用模块3.2 聚类算法的模型评估指标3.3 轮廓系数3.4 CHI(卡林斯基-哈拉巴斯指数) 四、KMeans做矢量量化4.1 概述4.2 案例 一、聚类概…

第二节:利用VBA代码交换三个单元格的值

【分享成果&#xff0c;随喜正能量】经常在做一件事时&#xff0c;一开始动力很足&#xff0c;可时间久了&#xff0c;就会出现意志力消耗殆尽。流水不腐&#xff0c;户枢不蠹。做一件对自己好的小事&#xff0c;养一个好习惯&#xff0c;慢慢坚持&#xff0c;持续去做&#xf…

[abc复盘] abc319 20230909

[abc复盘] abc319 20230909 总结A - Legendary Players1. 题目描述2. 思路分析3. 代码实现 B - Measure1. 题目描述2. 思路分析3. 代码实现 C - False Hope1. 题目描述2. 思路分析3. 代码实现 D - Minimum Width1. 题目描述2. 思路分析3. 代码实现 E - Bus Stops1. 题目描述2.…

k8s pod概念、分类及策略

目录 一.pod相关概念 &#xff12;.Kubrenetes集群中Pod两种使用方式 &#xff13;.pause容器的Pod中的所有容器共享的资源 &#xff14;.kubernetes中的pause容器主要为每个容器提供功能&#xff1a; &#xff16;.Pod分为两类&#xff1a; 二.Pod容器的分类 1.基础容器…

第P5周—运动鞋识别

一、前期工作 1.导入数据集 数据集&#xff1a;工作台 - Heywhale.com import torch import matplotlib.pyplot as plt from torchvision import transforms, datasets import os, PIL, random, pathlibdata_dir rD:\P5-data\test data_dir pathlib.Path(data_dir)data_pa…

进程退出、孤儿进程、僵尸进程

进程退出 子进程退出&#xff0c;有些资源需要父进程去释放 /*#include <stdlib.h>void exit(int status);#include <unistd.h>void _exit(int status);status参数&#xff1a; 进程退出的一个状态信息。父进程回收资源的时候可以获取 */#include <stdlib.h>…

【C++】使用红黑树进行封装map和set

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

【IEEE 13 节点分配系统中的THD降低】系统的谐波分析给出了各种总线上电流和电压的谐波频谱和THD(Simulink实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

phantomjs插件---实现通过链接生成网页截图

Phantomjs | PhantomJS 配置要求 windows下&#xff0c;安装完成phantomJS 设置phantomjs环境变量【也可直接使用phantomjs目录下的执行文件】 直接通过访问php文件执行/通过cmd命令行执行【phantomjs phantom_script.js】 linux下,安装完成phantomJS 设置phantomjs环境变量 直…

模拟实现链式二叉树及其结构学习——【数据结构】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 之前我们实现了用顺序表完成二叉树(也就是堆)&#xff0c;顺序二叉树的实际作用就是解决堆排序以及Topk问题。 今天我们要学习的内容是链式二叉树&#xff0c;并且实现链式二叉树&#xff0c;这篇博客与递归息息相关&a…

前端JavaScript中requestAnimationFrame:优化动画和渲染的利器

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 引言 1. requestAnimationFrame简介 2. requestAnimationFrame的属性 3. requestAnimationFrame的应用场景 3.1…

在Copernicus Data Space Ecosystem下载Sentinel数据及使用脚本检索和下载数据

文章目录 1.前言2.Copernicus Data Space Ecosystem使用介绍3.使用脚本检索和下载Sentinel数据4.最后 建了一个QQ群&#xff0c;大家可以在里边聊聊水色遥感数据下载和数据处理方面的事情&#xff1a;1087024529 1.前言 最近使用Sentinelsat库在Copernicus Open Access Hub下载…