【深度学习】StyleGANv2 2019 论文,Analyzing and Improving the Image Quality of StyleGAN

StyleGAN论文: 《A Style-Based Generator Architecture for Generative Adversarial Networks》
论文:https://arxiv.org/abs/1812.04948
代码: https://github.com/NVlabs/stylegan
StyleGANv2论文: 《Analyzing and Improving the Image Quality of StyleGAN》
论文:https://arxiv.org/abs/1912.04958
代码: https://github.com/NVlabs/stylegan2

此篇是StyleGANv2。

文章目录

  • Abstract
  • 1. Introduction
  • 2. Removing normalization artifacts
    • 2.1. Generator architecture revisited
    • 2.2. Instance normalization revisited

Abstract

基于样式的生成对抗网络架构(StyleGAN)在数据驱动的无条件生成图像建模方面取得了最先进的结果。我们揭示并分析了其特征性的一些伪影,并提出了对模型架构和训练方法的改进来解决这些问题。

特别地,我们重新设计了生成器的归一化,重新审视了渐进增长,并对生成器进行正则化,以鼓励从潜在代码到图像的映射具有良好的条件。除了提高图像质量外,这种路径长度正则化器还带来了额外的好处,使得生成器变得更容易反演。这使得我们能够可靠地将生成的图像归因于特定的网络。此外,我们还可视化了生成器如何利用其输出分辨率,并确定了一个容量问题,促使我们训练更大的模型以获得额外的质量改进。总体而言,我们改进的模型在无条件图像建模领域重新定义了现有的分布质量度量以及感知图像质量方面的技术水平。

1. Introduction

生成方法,尤其是生成对抗网络(GAN)[16]生成的图像的分辨率和质量正在迅速提高[23, 31, 5]。目前,用于高分辨率图像合成的最先进方法是StyleGAN [24],它已被证明可以可靠地适用于各种数据集。我们的工作集中在修复其特有的伪影并进一步提高结果质量。

StyleGAN [24]的独特之处在于其非传统的生成器架构。它并不只是将输入潜在代码z 2 Z传送到网络的开始,而是首先将其通过映射网络f转换为中间潜在代码。然后,通过自适应实例归一化(AdaIN)[21, 9, 13, 8]通过仿射变换产生控制合成网络g层的样式。

此外,通过向合成网络提供附加的随机噪声映射,有助于实现随机变化。已经证明[24, 38]这种设计使得中间潜在空间W比输入潜在空间Z要少纠缠得多。在本文中,我们仅关注W的所有分析,因为从合成网络的角度来看,它是相关的潜在空间。

许多观察者已经注意到StyleGAN生成的图像中的特征性伪影[3]。我们确定了这些伪影的两个原因,并描述了架构和训练方法上的变化来消除它们。首先,我们研究了常见的斑点状伪影的产生原因,并发现生成器为了规避其架构中的设计缺陷而产生了这些伪影。在第2节中,我们重新设计了生成器中使用的归一化,从而消除了这些伪影。其次,我们分析了与渐进增长[23]相关的伪影,该方法在稳定高分辨率GAN训练方面非常成功。我们提出了一个实现相同目标的替代设计——训练始于低分辨率图像,然后逐渐将焦点转移到更高分辨率——而在训练过程中不改变网络拓扑。这种新设计还使我们能够对生成的图像的有效分辨率进行推理,结果发现它比预期的要低,从而激发了容量增加的动机(第4节)。

对使用生成方法生成的图像质量的定量分析仍然是一个具有挑战性的课题。Frechet Inception Distance(FID)[20]度量了InceptionV3分类器[39]高维特征空间中两个分布的密度差异。

Precision and Recall(P&R)[36, 27]通过明确地量化与训练数据相似的生成图像的百分比以及可以生成的训练数据的百分比,提供了额外的可见性。我们使用这些指标来量化改进。

无论FID还是P&R都基于分类器网络,最近已经证明这些网络更关注纹理而不是形状[12],因此这些度量标准不能准确地捕捉图像质量的所有方面。我们观察到感知路径长度(PPL)度量标准[24],最初被引入作为估计潜在空间插值质量的方法,与形状的一致性和稳定性相关。基于这一点,我们对合成网络进行正则化,以倾向于平滑映射(第3节),并在质量方面取得明显的改进。为了应对其计算开销,我们还提议较不频繁地执行所有正则化,观察到这样做不会影响有效性。

最后,我们发现,通过使用新的、路径长度正则化的StyleGAN2生成器,将图像投影到潜在空间W中的效果要明显好于原始的StyleGAN。这使得更容易将生成的图像归因于其源头(第5节)。

我们的实现和训练模型可在 https://github.com/NVlabs/stylegan2 获取。

2. Removing normalization artifacts

我们首先观察到,由StyleGAN生成的大多数图像都展示出类似水滴的特征性伪影。如图1所示,即使在最终图像中水滴可能不明显,它仍存在于生成器的中间特征映射中。这种异常从64×64的分辨率开始出现,在所有特征映射中都存在,并且在更高分辨率下逐渐变得更加明显。这种一致性伪影的存在令人困惑,因为鉴别器应该能够检测到它。

我们将问题指向了AdaIN操作,该操作单独对每个特征映射进行均值和方差归一化,从而可能破坏特征之间幅度相关性中的任何信息。我们假设水滴伪影是生成器有意地通过实例归一化绕过信号强度信息的结果:通过创建一个强烈的局部尖峰来主导统计数据,生成器可以有效地在其他地方按其意愿缩放信号。我们的假设得到了支持,当从生成器中移除归一化步骤(如下所述)时,水滴伪影完全消失。

在这里插入图片描述

2.1. Generator architecture revisited

首先,我们将修改StyleGAN生成器的若干细节,以更好地支持我们重新设计的归一化。

这些变化本身在质量指标方面要么没有影响,要么具有微小的积极作用。

图2a显示了原始的StyleGAN综合网络g [24],图2b则通过显示权重和偏差,并将AdaIN操作分解为其两个组成部分:归一化和调制,将图表扩展到了完整细节。这使我们可以重新绘制概念上的灰色框,以便每个框表示网络中一个样式处于活动状态的部分(即“样式块”)。有趣的是,原始的StyleGAN在样式块内应用了偏差和噪声,从而使它们的相对影响与当前样式的幅度成反比。我们观察到,通过将这些操作移出样式块,它们在规范化数据上运行,可以获得更可预测的结果。此外,我们注意到,在此更改之后,仅对标准偏差进行归一化和调制已足够(即不需要均值)。将偏差、噪声和归一化应用于恒定输入也可以安全地移除,而不会观察到明显的缺陷。此变体如图2c所示,将成为我们重新设计的归一化的起点。

2.2. Instance normalization revisited

StyleGAN的主要优势之一是通过样式混合来控制生成的图像,即在推断时为不同层提供不同的潜在变量w。

实际上,样式调制可能会使某些特征映射放大一个数量级甚至更多。为了使样式混合正常工作,我们必须在每个样本的基础上明确抵消这种放大效应,否则后续层将无法对数据进行有意义的操作。

如果我们愿意牺牲特定于尺度的控制(见视频),我们可以简单地去除归一化,从而消除伪影,同时还略微改善了FID [27]。

现在,我们将提出一种更好的替代方案,既消除了伪影,又保留了完全可控性。主要思想是基于传入特征映射的期望统计信息进行归一化,但不强制执行。

图2:我们重新设计了StyleGAN综合网络的架构。 (a) 原始的StyleGAN,其中A表示从W学习得到的样式的可学习仿射变换,B是一个噪声广播操作。 (b) 具有完整细节的相同图表。在这里,我们已将AdaIN分解为显式的归一化,然后是调制,两者都在每个特征映射的均值和标准偏差上进行操作。我们还标注了学习得到的权重(w),偏差(b)和恒定输入©,并重新绘制了灰色框,使得每个框中只有一个样式处于活动状态。激活函数(渗漏ReLU)总是在添加偏差后立即应用。© 我们对原始架构进行了几处变更,这些变更在正文中有所解释。我们在开始时删除了一些冗余操作,将b和B的添加移到样式的活动区域之外,并仅调整每个特征映射的标准偏差。(d) 修改后的架构使我们能够用“解调”操作替换实例归一化,我们将这个操作应用于与每个卷积层相关联的权重。
在这里插入图片描述

回想一下,在图2c中,一个样式块由调制、卷积和归一化组成。让我们首先考虑调制接着卷积的效果。调制根据传入的样式对卷积的每个输入特征映射进行缩放,这实际上可以通过缩放卷积的权重来实现:

在这里插入图片描述

其中,w和w’分别是原始和调制后的权重,si是与第i个输入特征映射相对应的缩放因子,j和k分别枚举卷积的输出特征映射和空间足迹。

现在,实例归一化的目的基本上是从卷积输出特征映射的统计数据中消除s的影响。我们观察到,可以更直接地实现这一目标。假设输入激活是具有单位标准偏差的独立同分布随机变量。经过调制和卷积后,输出激活的标准偏差为:

在这里插入图片描述

即,输出是由相应权重的L2范数缩放的。随后的归一化旨在将输出恢复为单位标准偏差。根据方程式2,如果我们通过1/σj来缩放(“解调”)每个输出特征映射j,则可以实现这一目标。或者,我们可以再次将其融入卷积权重中:

在这里插入图片描述

其中,ε是一个小常数,用于避免数值问题。

现在,我们已经将整个样式块烘焙到了一个单一的卷积层中,其权重根据s使用方程1和方程3进行调整(图2d)。与实例归一化相比,我们的解调技术较弱,因为它是基于信号的统计假设而不是特征映射的实际内容。类似的统计分析在现代网络初始化器中广泛使用[14, 19],但我们不知道它以前曾被用作依赖数据的归一化的替代方法。我们的解调也与权重归一化[37]相关,后者在对权重张量重新参数化的过程中执行了相同的计算。以前的研究已经确定在GAN训练的背景下,权重归一化是有益的[43]。

我们的新设计消除了特征性伪影(图3),同时保留了完全可控性,如附带的视频所示。FID基本上没有受到影响(表1,A、B行),但精确度和召回率之间有明显的变化。我们认为这通常是可取的,因为可以通过截断将召回率转换为精确度,然而相反的情况并不成立[27]。在实际应用中,我们的设计可以通过使用分组卷积高效实现,详细信息请参见附录B。为了避免在方程3中考虑激活函数,我们对激活函数进行缩放,以保留预期的信号方差。

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

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

相关文章

电池的正极是带正电?

首先说明结论:电池正极带正电,负极带负电。 一个错误的实例: 如果说电流是从电池正极流动到电池负极,那么电子就是从负极流动到正极,那么正极就是带负电。----这个说法是错误的。这是因为,根据那么很出名…

简绘ChatGPT支持Midjourney绘图 支持stable diffusion绘图

简绘支持Midjourney绘图和stable diffusion绘图。 这意味着简绘具备Midjourney绘图和stable diffusion绘图功能的支持。

无涯教程-Perl - redo函数

描述 此函数将重新启动当前循环,而不会强制判断控制语句。块中不再执行任何语句。如果存在继续块,将不会执行。如果指定了LABEL,则在LABEL标识的循环开始时重新开始执行。 语法 以下是此函数的简单语法- redo LABELredo返回值 此函数不返回任何值。 例 以下是显示其基本…

Shell编程之条件测试、if语句、case语句

条件语句 一、条件测试1.1 测试命令1.1 文件测试1.2 整数比较1.3 字符串比较1.4 逻辑测试1.4.1 逻辑与 &&1.4.2 逻辑或 || 1.4.3 组合应用1.5 多个命令组合执行 ( ) { } 二、if语句2.1单分支结构2.2 多分支结构2.4 if语句练习2.4.1 单分支2.4.2 简单的交互式分数反馈 三…

元宇宙核能发电VR模拟仿真实训教学为建设新型电力系统提供重要支撑

随着“碳达峰、碳中和”目标与建设新型能源体系的提出,在元宇宙环境下建设电力系统是未来发展的趋势。以物联网、区块链、数字孪生、混合现实等技术为主要代表的元宇宙技术体系及其在电力和能源系统中的应用,将会促进智能电网的发展,为建设新…

VR安全宣传系列:防触电虚拟现实体验

在电气工作中,安全问题始终是重中之重。为了更好地提高公众的电气安全意识和技能,广州华锐互动开发了一种基于虚拟现实技术的模拟系统——VR防触电虚拟体验系统。这种系统可以模拟各种因操作不当导致的触电事故场景,并提供沉浸式的体验&#…

利用OpenSSL实现私有 CA 搭建和证书颁发

利用OpenSSL实现私有 CA 搭建和证书颁发 一、私有 CA 搭建1. 安装openssl2. 配置 openssl3. 生成 CA 自己的私钥4. 生成 CA 自己的自签证书5. 验证自签证书 二、向私有CA申请证书流程1. 生成应用私钥文件2. 根据应用私钥生成证书申请文件3. 向CA请求颁发证书4. 验证应用证书5. …

2022年09月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;指定顺序输出 依次输入3个整数a、b、c,将他们以c、a、b的顺序输出。 时间限制&#xff1a;1000 内存限制&#xff1a;65536 输入 一行3个整数a、b、c&#xff0c;以空格分隔。 0 < a,b,c < 108 输出 一行3个整数c、a、b&#xff0c;整数之间以一个空格分…

腾讯云服务器标准型CVM实例详细介绍S5/S6/SA2/SR1/SA3/S4等

腾讯云CVM服务器标准型实例的各项性能参数平衡&#xff0c;标准型云服务器适用于大多数常规业务&#xff0c;例如&#xff1a;web网站及中间件等&#xff0c;常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格&#xff0c;腾讯云服务器网来详细说下云服务器CVM标准…

使用sqlplus连接oracle,提示ORA-01034和ORA-27101

具体内容如下 PL/SQL Developer 处 登录时 终端处 登录时 ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Process ID: 0 Session ID: 0 Serial number: 0 解决方法是执行以下命令 sqlplus /nolog conn / as sysdba startup …

0001nginx简介、相关模型与原理

文章目录 一. 什么是Nginx二. ngnix的一些模型1、nginx的进程模型2、worker的抢占&#xff08;锁&#xff09;机制模型3. nginx事件处理模型 三. nginx加载静态资源的过程 一. 什么是Nginx Nginx是一个高性能HTTP反向代理服务器&#xff0c;以下是nginx的相关能力 反向代理&am…

JDK 8 升级 JDK 17 全流程教学指南

JDK 8 升级 JDK 17 首先已有项目升级是会经历一个较长的调试和自测过程来保证允许和兼容没有问题。先说几个重要的点 遇到问题别放弃仔细阅读报错&#xff0c;精确到每个单词每一行&#xff0c;不是自己项目的代码也要点进去看看源码到底是为啥报错明确你项目引入的包&#x…

【Transformer】自注意力机制Self-Attention | 各种网络归一化Normalization

1. Transformer 由来 & 特点 1.1 从NLP领域内诞生 "Transformer"是一种深度学习模型&#xff0c;首次在"Attention is All You Need"这篇论文中被提出&#xff0c;已经成为自然语言处理&#xff08;NLP&#xff09;领域的重要基石。这是因为Transfor…

word横向页面侧面页码设置及转pdf后横线变竖线的解决方案

在处理材料的时候&#xff0c;会遇到同一个文档里自某一页开始&#xff0c;页面布局是横向的&#xff0c;这时候页码要设置在侧面&#xff0c;方法是双击页脚&#xff0c;然后在word工具栏上选择“插入”——>“文本框”——>“绘制竖版文本框”&#xff0c;然后在页面左…

C++小游戏贪吃蛇源码

graphics.h是针对DOS下的一个C语言图形库 (c也可以) 目前支持下载此头文件的常用的有两种: 1. EGE (Easy Graphics Engine)2. EasyX Graphics LibraryEGE, 全名Easy Graphics Engine, 是windows下的简易绘图库&#xff0c;是一个类似BGI(graphics.h)的面向C/C语言新手的图形库…

P11-Transformer学习1.1-《Attention Is All You Need》

Transformer目录:《Transformer Paper》1.0 CV Transformer必读论文5篇_汉卿HanQ的博客-CSDN博客 前文参考:Transformer1.0-预热_汉卿HanQ的博客-CSDN博客 全文1w3字左右&#xff0c;按照论文翻译个人理解精读&#xff0c;如果对你有所帮助&#xff0c;欢迎点个赞哦&#xff…

springboot基础

springboot基础 一、springboot课程介绍 Spring Boot 提供一种快速使用spring的方式&#xff0c;基于约定大于配置的思想&#xff0c;可以让开发者不必在配置与逻辑业务中来回进行思维切换&#xff0c;全身心的投入到业务的代码编写中&#xff0c;从而大大提高了开发效率。20…

2022年12月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;加一 输入一个整数x&#xff0c;输出这个整数加1后的值&#xff0c;即x1的值。 时间限制&#xff1a;1000 内存限制&#xff1a;65536 输入 一个整数x(0 ≤ x ≤ 1000)。 输出 按题目要求输出一个整数。 样例输入 9 样例输出 10 以下是使用C语言编写的解决方案…

Shell编程之正则表达式(非常详细)

正则表达式 1.通配符和正则表达式的区别2.基本正则表达式2.1 元字符 &#xff08;字符匹配)2.2 表示匹配次数2.4 位置锚定2.5 分组 和 或者 3.扩展正则表达式4.部分文本处理工具4.1 tr 命令4.2 cut命令4.3 sort命令4.4 uniq命令 1.通配符和正则表达式的区别 通配符一般用于文件…

Linux系统下安装Git软件

环境说明 Linux系统&#xff1a;CentOS 7.9 安装GCC等 JDK版本&#xff1a;jdk-8u202-linux-x64.tar.gz Maven版本&#xff1a;apache-maven-3.8.8-bin.tar.gz 在以上环境下安装Git&#xff08;git-2.41.0.tar.gz&#xff09;软件。 查看是否安装Git软件 查看Git版本&#…
最新文章