ViTAR: Vision Transformer with Any Resolution

news/2024/4/28 7:07:02/文章来源:https://blog.csdn.net/liferecords/article/details/137120046

ViTAR: Vision Transformer with Any Resolution

相关链接:arxiv
关键字:Vision TransformerResolution AdaptabilityAdaptive Token MergerFuzzy Positional EncodingHigh-Resolution Image Processing

摘要

本文解决了视觉Transformer(ViTs)面临的一个重大挑战:在不同图像分辨率下的可扩展性受限。通常,ViTs在处理训练时未见过的分辨率时,性能会下降。我们的工作引入了两个关键创新来解决这个问题。首先,我们提出了一个动态分辨率调整的新颖模块,设计了一个单一的Transformer块,专门用于实现高效的增量令牌整合。其次,我们在视觉Transformer中引入了模糊位置编码,以在多个分辨率下提供一致的位置感知,从而防止对任何单一训练分辨率的过拟合。我们得到的模型ViTAR(Vision Transformer with Any Resolution)展示了令人印象深刻的适应性,在1120x1120分辨率下达到83.3%的top-1准确率,在4032x4032分辨率下达到80.4%的准确率,同时降低了计算成本。ViTAR在下游任务,如实例和语义分割中也表现出强大的性能,并且可以轻松地与自监督学习技术,如Masked AutoEncoder结合。我们的工作为提高ViTs的分辨率可扩展性提供了一种成本效益高的解决方案,为更通用和高效的高分辨率图像处理铺平了道路。

核心方法

image.png

  1. 自适应令牌合并器(ATM):ATM模块接收经过补丁嵌入处理的令牌作为输入。我们预设了Gh × Gw作为最终目标令牌的数量。ATM将令牌划分为大小为Gth × Gtw的网格。在实际使用中,通常设置H Gth为1或2,W Gtw也是如此。ATM通过GridAttention过程逐步合并每个网格内的令牌,最终将所有令牌映射到一个固定形状的网格上。

  2. 模糊位置编码(FPE):FPE引入了一定程度的位置扰动,将精确的位置感知转变为带有随机噪声的模糊感知。这种措施防止模型对特定分辨率的位置过度拟合,从而增强了模型对不同分辨率输入的适应性。同时,FPE可以被视为一种隐式数据增强,使模型能够学习更强大的位置信息并取得更好的性能。

实验说明

实验结果如下表所示,展示了不同模型在不同分辨率下的top-1准确率和计算复杂度(FLOPs):

模型分辨率FLOPs(G)Top1-acc(%)
DeiT-S224579.8
ResFormer-S224582.2
ViTAR-S224580.3

数据来源是ImageNet-1K、COCO和ADE20K等标准数据集。实验中使用了多种数据增强和正则化技术,如RandAugment、Mixup、CutMix和Random Erasing等。此外,还采用了AdamW优化器和余弦衰减学习率调度器进行训练。

结论

在本文中,我们提出了一种新的架构:ViTAR(Vision Transformer with Any Resolution)。ViTAR中的自适应令牌合并器使得模型能够适应性地处理可变分辨率的图像输入,通过逐步合并令牌到固定大小,极大地增强了模型的分辨率泛化能力,并在处理高分辨率输入时降低了计算成本。此外,ViTAR还包含了模糊位置编码,允许模型学习强大的位置信息并处理训练中未遇到的高分辨率输入。我们的ViTAR还与现有的基于MAE的自监督学习框架兼容,表明其在大规模未标记数据集上的应用潜力。在需要高分辨率输入的实例分割和语义分割任务中,ViTAR显著降低了计算成本,几乎不影响模型性能。我们希望这项研究能够激发后续对高分辨率或可变分辨率图像处理的研究方向。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i、EuRoC 和 TUM-VI 运行测试

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i、EuRoC 和 TUM-VI 运行测试 1 Prerequisites1.1 C11 or C0x Compiler1.2 Pangolin1.3 OpenCV1.4 Eigen3 2 安装 Intel RealSense™ SDK 2.02.1 测试设备2.2 编译源码安装 (Recommend)2.3 预编译包安装 3 编译 ORB-S…

[密码学] 密码学基础

目录 一 为什么要加密? 二 常见的密码算法 三 密钥 四 密码学常识 五 密码信息威胁 六 凯撒密码 一 为什么要加密? 在互联网的通信中,数据是通过很多计算机或者通信设备相互转发,才能够到达目的地,所以在这个转发的过程中,如果通信包…

常见的三种办公室租赁方式各自优缺点

商业办公的租赁市场。找商业办公地点,跟找住宅租房有点像,但目的和要求不同。主要也是三种方式:直接找房东租、接手别人的转租,或者找中介帮忙。每种方式都有它的小窍门和注意事项。 直租 直租商业办公,就是直接和办公…

GPT提示词分享 —— 代码释义者

提示词👇 我希望你能充当代码解释者,阐明代码的语法和语义。 3.5版本👇 free2gpt 4.0版本👇 gpt4

互联网医院APP开发攻略:搭建智能医疗平台

互联网医院APP为患者提供了便捷的就医途径,还为医生和医院提供了更加高效的服务和管理手段。接下来,小编将我们本文将就互联网医院APP的开发攻略,以及如何搭建智能医疗平台进行探讨。 1.确定需求和目标 这包括确定服务对象(患者、…

鸿蒙HarmonyOS应用开发之C/C++标准库机制概述

OpenHarmony NDK提供业界标准库 libc标准库、 C标准库 ,本文用于介绍C/C标准库在OpenHarmony中的机制,开发者了解这些机制有助于在NDK开发过程中避免相关问题。 1. C兼容性 在OpenHarmony系统中,系统库与应用Native库都在使用C标准库&#…

基于springboot实现房屋租赁管理系统项目【项目源码+论文说明】

基于springboot实现房屋租赁系统演示 摘要 房屋是人类生活栖息的重要场所,随着城市中的流动人口的增多,人们对房屋租赁需求越来越高,为满足用户查询房屋、预约看房、房屋租赁的需求,特开发了本基于Spring Boot的房屋租赁系统。 …

Sublime for Mac 使用插件Terminus

1. 快捷键打开命令面板 commandshiftp2. 选择 Package Control: Install Package,然后会出现安装包的列表 3. 在安装终端插件前,我们先装个汉化包,ChineseLocallization,安装完重启 4. 输入 terminus,选择第一个&am…

瑞吉外卖实战学习--登录功能的开发

登录功能的开发 前端1、创建实体类Employee和employee表进行映射,可以直接导入资料中提供的实体类1.1、字段名称对应上,有下划线的使用驼峰对应,因为在配置文件中进行了配置1.2、employee 文件 2、创建Controller、Service、Mapper2.1、Mapper文件2.2、定…

利用机器学习打造反电信诈骗系统

利用机器学习打造反电信诈骗系统 技术与功能数据集与模型可视化分析与词云结语 随着互联网的普及,电信诈骗日益猖獗,给人们的生活和财产安全带来了巨大的威胁。为了有效应对这一挑战,我们开发了一款基于机器学习的反电信诈骗系统,…

从后端到前端

原文地址:从后端到前端 - Pleasure的博客 下面是正文内容: 前言 在前面几章中主要介绍了系统开发的后端部分,但是验证接口的适用性只能通过专门的软件(Apifox,Postman等)来进行测试。那从现在开始&#xf…

mysql公用表表达式CTE

公用表达式是MySQL8.0的新特性,它是一个命名的临时结果集,作用范围是当前语句。 可以理解成为当前sql语句定义了一个视图,sql语句的任何地方都可以使用这个视图,如果被多次使用就体现出了公用表达式的特点公用。 依据语法结构和执…

【Linux】进程>环境变量地址空间进程调度

主页:醋溜马桶圈-CSDN博客 专栏:Linux_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.环境变量 1.1 基本概念 1.2 常见环境变量 1.3 查看环境变量方法 1.4 和环境变量相关的命令 1.5 环境变量的组织方式 1.6 通…

Sodinokibi勒索病毒,BTC钱包地址被曝光

Sodinokibi勒索病毒在国内首次被发现于2019年4月份,2019年5月24日首次在意大利被发现,在意大利被发现使用RDP攻击的方式进行传播感染,这款病毒被称为GandCrab勒索病毒的接班人,从样本逆向分析的角度,可以看到Sodinokib…

发展规划--IM系统

1、时代背景 5G应用,多终端应用,物联网应用,小程序,工业互联,大数据应用等等大前端时代的到来,程序员不能只关注crud,因为以后的服务并发量只会越来越多。 高并发架构师、大数据架构师或者说j…

【Git篇】复习git

文章目录 🍔什么是git⭐git和svn的区别 🍔搭建本地仓库🍔克隆远程仓库🛸git常用命令 🍔什么是git Git是一种分布式版本控制系统,它可以追踪文件的变化、协调多人在同一个项目上的工作、恢复文件的旧版本等…

椋鸟数据结构笔记#2:复杂度

萌新的学习笔记,写错了恳请斧正。 目录 复杂度 时间复杂度 空间复杂度 通过复杂度衡量算法好坏 复杂度 复杂度是衡量算法好坏的一种方式。一般分为时间复杂度和空间复杂度,分别用于衡量一个算法在运行时间长短和占据内存空间多少两方面的优劣。 一…

elasticsearch 6.8.x 索引别名、动态索引扩展、滚动索引

文章目录 引言索引别名(alias)创建索引别名查询索引别名删除索引别名重命名索引别名 动态索引(index template,动态匹配生成索引)新建索引模板新建索引并插入数据索引sys-log-202402索引sys-log-202403索引sys-log-202…

C语言例4-3:复合语句,输出a,b的值

代码如下&#xff1a; //复合语句&#xff0c;输出a,b的值 #include<stdio.h> int main(void) {int a 10;printf("a %d\n",a);{int b20; //复合语句printf("b %d\n",b); //复合语句中的数据定义语句放在其他语句的前面}return …

uniapp实现单选组件覆盖选中样式

uniapp实现单选组件覆盖选中样式 完整代码&#xff1a; <!-- 是否选择组件: trueOfFalseChooseBtn --> <template><view class"is-true-body"><view class"btn-con" :class"isTrue ? btn-con-active : " click"clic…