Paper - VQGAN: Taming Transformers for High-Resolution Image Synthesis 简读

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/136055085

VQGAN: Taming Transformers for High-Resolution Image Synthesis, CVPR 2021

VQGAN: 改良 Transformer 模型以实现高清图像合成

VQGAN

源码:https://github.com/CompVis/taming-transformers

为了学习顺序数据的长距离交互,Transformers在各种任务上持续展现出最先进的结果。与卷积神经网络(CNNs)相比,Transformer不包含优先考虑局部交互的归纳偏置(Inductive Bias)。这使得Transformer具有表达能力,但也使得Transformer在处理长序列,例如高分辨率图像时,计算上不可行。本文展示如何将CNNs的归纳偏置的有效性,与Transformer的表达能力相结合,使得VQGAN能够建模,并且合成高分辨率图像。本文展示如何(i)使用CNNs学习一个富含上下文的图像成分词汇表,然后(ii)利用Transformers高效地建模,在高分辨率图像中的组合。本文的方法可以很容易地应用于条件合成任务(Conditional Synthesis Tasks),其中,非空间信息,例如对象类别,和空间信息,例如分割,都可以控制生成的图像。特别地,本文展示了使用Transformers在语义引导下,合成百万像素(1024x1024)图像的第一个结果,并且,在类条件ImageNet上获得了自回归模型中的最先进水平。

本文获得一个有效和富有表现力的模型的关键启发是,卷积和Transformer架构结合起来,可以建模视觉世界的组合性质:本文使用卷积方法来高效地学习一个包含丰富上下文的视觉部件的码本,然后学习一个全局组合的模型。这些组合中的长距离交互,需要一个富有表现力的Transformer架构,来建模其构成视觉部件的分布。此外,本文利用对抗方法,来确保局部部件的字典,捕捉到感知上重要的局部结构,从而减轻了用Transformer架构建模低级统计的需要。让Transformer专注于独特优势——建模长距离关系——使它们能够生成高分辨率的图像,这是以前无法达到的。本文的方法通过条件信息来控制生成的图像,条件信息包括期望的对象类别或空间布局。最后,实验表明,本文的方法保留了Transformer的优势,超越了基于卷积架构的先进的基于码本的方法。

Transformer的机制, d k d_{k} dk d v d_v dv 的维度相同,Mask元素成,即:

Attention

本文使用一个卷积VQGAN来学习一个包含丰富上下文的视觉部分的编码本(Codebook),其组合随后由一个自回归的Transformer架构进行建模。一个离散的编码本提供了这些架构之间的接口,而一个基于块(patch-based)的判别器,使得在保持高感知质量的同时,实现强压缩。这种方法将卷积方法的效率引入了基于变换器的高分辨率图像合成。如图:

VQGAN

VQGAN的Encoder和Decoder结构:

VQGAN

滑动注意力窗口(Sliding attention window):

Sliding attention window

在本文设置中,Transformer统一广泛的图像合成任务。本文展示了在不同的条件输入和数据集上的256×256合成结果,所有这些结果都是用相同的方法获得的,即利用有效的基于CNN的VQGAN架构的归纳偏置,结合Transformer架构的表达能力。

  • 第1行:从无条件训练的ImageNet上的补全。
  • 第2行:在RIN上的深度到图像。
  • 第3行:在ADE20K上的语义引导合成。
  • 第4行:在DeepFashion上的姿态引导人物生成。
  • 第5行:在RIN上的类条件样本。

即:

图

将滑动注意力窗口(Sliding Attention Window)方法,应用于各种条件图像合成任务。

  • 第1行:在RIN上的深度到图像。
  • 第2行:在IN上的随机超分辨率。
  • 第3和第3行:在 S-FLCKR 上的语义合成
  • 第5行:在 IN上的边缘引导合成。

生成的图像大小在368×496和1024×576之间变化,因此最好放大查看。

图2

其他:

Frechet Inception Distance (FID) Score,即FID score是一种评估生成模型图片质量的指标,使用了Inception Net-V3分类器,来评估生成图片的清晰度和多样性。基本思想是,用分类器提取真实图片和生成图片的特征向量,然后计算两组特征向量的Fréchet距离,这个距离越小,说明生成图片越接近真实图片。具体的计算公式如下:
FID ( X , G ) = ∥ μ X − μ G ∥ 2 2 + Tr ( Σ X + Σ G − 2 ( Σ X Σ G ) 1 / 2 ) \text{FID}(X, G) = \|\mu_X - \mu_G\|_2^2 + \text{Tr}(\Sigma_X + \Sigma_G - 2(\Sigma_X\Sigma_G)^{1/2}) FID(X,G)=μXμG22+Tr(ΣX+ΣG2(ΣXΣG)1/2)

其中, X X X是真实图片的集合, G G G是生成图片的集合, μ X \mu_X μX μ G \mu_G μG是两组特征向量的均值, Σ X \Sigma_X ΣX Σ G \Sigma_G ΣG是两组特征向量的协方差矩阵, Tr \text{Tr} Tr是矩阵的迹, ∥ ⋅ ∥ 2 \|\cdot\|_2 2是二范数。

FID score与之前的IS(Inception Score)相比,有以下几个优点:

  • FID score同时考虑了生成图片的清晰度和多样性,而IS只考虑了多样性。
  • FID score与人类的主观评价更一致,而IS有时会出现与人类判断不一致的情况。
  • FID score可以用于不同的条件生成任务,而IS只适用于无条件生成任务。

FID score也有一些局限性,例如:

  • FID score依赖于分类器的选择,不同的分类器可能会导致不同的结果。
  • FID score需要有一个足够大的真实图片集合作为参考,这在一些特定领域可能不容易获得。
  • FID score不能反映生成图片的语义一致性,例如是否符合给定的条件或约束。

LDM: Latent Diffusion Model, Patrick Esser, Runway ML (Stable Diffusion 的公司)

LDM

Runway 公司:

Runway

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

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

相关文章

CentOS7搭建Hadoop集群

准备工作 1、准备三台虚拟机,参考:CentOS7集群环境搭建(3台)-CSDN博客 2、配置虚拟机之间免密登录,参考:CentOS7集群配置免密登录-CSDN博客 3、虚拟机分别安装jdk,参考:CentOS7集…

mysql入门到精通005-基础篇-约束

1、概述 1.1 概念 约束是作用于表中字段上的规则,用于限制储存在表中的数据。 1.2 目的 保证数据库中数据的正确性、有效性和完整性。 1.3 常见的约束分类 一旦谈到外键,则至少涉及2张表约束是作用于表中字段上的,可以在创建表/修改表的…

c++设计模式之代理模式

作用 代理模式主要用于,通过代理类,来控制实际对象的访问权限 案例 class VideoSite { public:virtual void freeVideo()0;virtual void vipVideo()0;virtual void trickVideo()0; };class FixBugVideoSite:public VideoSite { public:void freeVideo()…

uniCloud ---- schema2code

目录 schema2code有两种方式 label属性 component属性 group属性 应用 DB Schema里有大量的信息,其实有了这些信息,前端将无需自己开发表单维护界面,uniCloud可以自动生成新增、修改、列表、详情的前端页面,以及admin端的列…

人工智能(pytorch)搭建模型24-SKAttention注意力机制模型的搭建与应用场景

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型24-SKAttention注意力机制模型的搭建与应用场景,本文将介绍关于SKAttention注意力机制模型的搭建,SKAttention机制具有灵活性和通用性,可应用于计算机视…

【极数系列】Flink集成KafkaSink 实时输出数据(11)

文章目录 01 引言02 连接器依赖2.1 kafka连接器依赖2.2 base基础依赖 03 使用方法04 序列化器05 指标监控06 项目源码实战6.1 包结构6.2 pom.xml依赖6.3 配置文件6.4 创建sink作业 01 引言 KafkaSink 可将数据流写入一个或多个 Kafka topic 实战源码地址,一键下载可用&#xf…

Go语言安全编码:crypto/sha1库全面解析

Go语言安全编码:crypto/sha1库全面解析 简介SHA-1基础原理和特点SHA-1与其他哈希算法的比较代码示例:基本的SHA-1哈希生成 使用crypto/sha1处理数据处理字符串和文件的SHA-1哈希代码示例:为文件生成SHA-1哈希 常见错误和最佳实践 在实际项目中…

C++ PE文件信息解析

尝试解析PE文件结构, 于是编写了此PE信息助手类, 暂时完成如下信息解析 1.导出表信息(Dll模块, 函数) 2.导入表信息(Dll模块, 函数) 3.资源表信息(字符串表, 版本信息, 清单信息) CPEHelper.h #pragma once// // brief: PE文件解析助手类 // copyright: Copyright 2024 Flame…

Linux------命令行参数

目录 前言 一、main函数的参数 二、命令行控制实现计算器 三、实现touch指令 前言 当我们在命令行输入 ls -al ,可以查看当前文件夹下所有文件的信息,还有其他的如rm,touch等指令,都可以帮我们完成相应的操作。 其实运行这些…

2024-02-06 TCP/UDP work

1. 画出TCP三次握手和四次挥手的示意图,并且总结TCP和UDP的区别 三次握手: 4次挥手: tcp/udp区别 TCP 1. 稳定,提供面向连接的,可靠的数据传输服务 2. 传输过程中,数据无误、数据无丢失、数据无失序、…

python+PyQt5实现指示灯检查

UI: 源代码: # -*- coding: utf-8 -*-# Form implementation generated from reading ui file CheckImageWinFrm.ui # # Created by: PyQt5 UI code generator 5.15.2 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again…

企业邮箱是什么?企业邮箱百科

本文将为大家讲解:1、企业邮箱的定义;2、企业邮箱的主要功能特点;3、企业邮箱如何选择和部署;4、企业邮箱的运营与维护;5、企业邮箱在实际工作中的应用与挑战;6、2024年最新五大企业邮箱盘点   下面提到的…

基础面试题整理6之Redis

1.Redis的应用场景 Redis支持类型:String、hash、set、zset、list String类型 hash类型 set类型 zset类型 list类型 一般用作缓存,例如 如何同时操作同一功能 2.redis是单线程 Redis服务端(数据操作)是单线程,所以Redis是并发安全的,因…

C语言的起源

1940年代,最早的开始,编程语言是机器语言,用0/1表示的、计算机能直接识别和执行的一种机器指令的集合。最早的编程方式,就是给纸带打孔或者卡片机打孔。机器语言直接与硬件沟通,极具针对性,但是非常难于理解…

解密 ARMS 持续剖析:如何用一个全新视角洞察应用的性能瓶颈?

作者:饶子昊、杨龙 应用复杂度提升,根因定位困难重重 随着软件技术发展迭代,很多企业软件系统也逐步从单体应用向云原生微服务架构演进,一方面让应用实现高并发、易扩展、开发敏捷度高等效果,但另外一方面也让软件应…

【分享】如何运用数字I/O来保护继电器

1.简述 在开关系统中,短路或者是开路的情况下,由于存在着额外的电流或者是电压,继电器往往会过载。所有的继电器都有一个最大的承载电流和热切换功率,如果超出了这个范围,会增加继电器焊接在一起的风险,从…

7.electron之渲染线程发送事件,主进程监听事件

如果可以实现记得点赞分享,谢谢老铁~ Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 将 Chromium 和 Node.js 嵌入到了一个二进制文件中,因此它允许你仅需一个代码仓库,就可以撰写支持 Windows、…

蓝桥杯省赛无忧 课件92 行列式

01 什么是行列式 02 行列式的性质 03 高斯消元求行列式

vue+vite项目,动态导入静态资源的几种方式

博主的桌面工具软件已经正式开发,获取方式: 可以关注我的小程序【中二少年工具箱】获取。(若小程序更新有延迟,可先收藏小程序) 通过下载链接 百度网盘: 链接:https://pan.baidu.com/s/15zDnSoEzJGSZLjpD…

kafka 文件存储机制

文章目录 1. 思考四个问题:1.1 topic中partition存储分布:1.2 partiton中文件存储方式:1.3 partiton中segment文件存储结构:1.4 在partition中如何通过offset查找message: 2. kafka日志存储参数配置 Topic是逻辑上的概念&#xff…