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

news2024/10/6 12:23:54

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.coloradmin.cn/o/842597.html

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

相关文章

Linux葵花宝典-无需自宫版

1. Linux简介 1.1 什么是Linux Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由Linus Torvalds于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、…

【知网检索稳定】第八届现代管理和教育技术国际学术会议(MMET2023)

第八届现代管理和教育技术国际学术会议(MMET 2023)将于2023年09月22-24日在中国上海召开。会议由四川大学、泰国程逸皇家大学、泰国程逸皇家大学中泰同文同学国际交流中心主办、乐山师范学院、四川职业技术学院、AEIC学术交流中心协办。会议主要围绕会议…

边写代码边学习之numpy

1. numpy.matmul() 用法 matmul() 用于计算两个数组的矩阵乘积。示例如下 def matmul_test():array1 np.array([[[1.0, 3], [1, 1], [2, 3]]])array2 np.array([[2, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0],[1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0], ])result np.matmul(array1, …

C语言有关文件的操作

打开文件与关闭文件 在编写代码时,我有一个习惯是“保证一一对应”。 写下代码fopen()之后,还没有写对文件进行增删查改等操作的代码,先立刻写上fclose(),避免忘记关闭FILE* fd的情况。 不关闭fd,在fopen()次数较少的…

linux初始命令

如果没有ip地址,配置: 查看当前时间: 指定格式查看时间: 修改时间: 查看时区: 设置时区: 查看当前工作目录: root的家目录就是根,普通用户家目录是home

迈瑞BeneVision N17/N15/N12协议解析

迈瑞BeneVision N17/N15/N12协议解析

pdf 怎么转换成word 文档?这几种方法不容错过

pdf 怎么转换成word 文档?PDF 和 Word 都是日常工作和学习中常见的文档格式,但是它们拥有不同的特点。PDF 可以保持文档格式的一致性,并且不易修改,而 Word 则更加灵活,可以随意编辑和修改。因此,将 PDF 转…

春秋云镜 CVE-2020-26042

春秋云镜 CVE-2020-26042 Hoosk CMS v1.8.0 存在sql注入漏洞 靶标介绍 Hoosk CMS v1.8.0 install/index.php 存在sql注入漏洞。 启动场景 漏洞利用 SQL注入POC POST /install/index.php HTTP/1.1 Host: xxxx User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; r…

无涯教程-Perl - chdir函数

描述 此功能将当前工作目录更改为EXPR,如果未指定,则更改为用户的主目录。此函数调用等效于Unix命令 cd EXPR 。 语法 以下是此函数的简单语法- chdir EXPRchdir返回值 如果失败,此函数返回0,如果成功,则返回1。 例 以下是显示其基本用法的示例代码,假设您在/user/home/…

【stm32】初识stm32—stm32环境的搭建

文章目录 🛸stm32资料分享🍔stm32是什么🎄具体过程🏳️‍🌈安装驱动🎈1🎈2 🏳️‍🌈建立Start文件夹 🛸stm32资料分享 我用夸克网盘分享了「STM32入门教程资料…

Proxmox VE lxc容器中使用samba共享文件夹遇到mount error(1): Operation not permitted 的解决

问题描述: 在PVE的LXC 容器中使用samba成功创建共享并使用, 用smbclient访问共享可以正常连接和使用,但是使用 mount.cifs 或者 mount.smb3时提示权限错误 mount error(1): Operation not permitted Refer to the mount.cifs(8) manual page…

【机密计算-大厂有话说】AMD

基于 VirTEE/SEV 的 SEV-SNP 平台证明 刊号 58217,版本 v1.2,发布于 2023.7 1. 介绍 VirTEE/sev 工具箱提供了一套基于 rust 语言的简单易用的 API 来访问 AMD EPYC 处理器内的安全处理器,这个库已经早已经支持传统的 SEV 固件,最…

代理模式:静态代理+JDK/CGLIB 动态代理

文章目录 1. 代理模式2. 静态代理3. 动态代理3.1. JDK 动态代理机制3.1.1. 介绍 3.1.2. JDK 动态代理类使用步骤3.1.3. 代码示例3.2. CGLIB 动态代理机制3.2.1. 介绍3.2.2. CGLIB 动态代理类使用步骤3.2.3. 代码示例 3.3. JDK 动态代理和 CGLIB 动态代理对比 4. 静态代理和动态…

uniapp 微信小程序 封装公共的请求js(api版本)

一、新建api文件夹 在项目目录下创建api文件夹,内放files跟index.js文件夹,files文件夹内放每个页面对应的js请求接口 1、index.js /*** api接口的统一出口*/ const api {}; const requireComponent require.context(./files, false, /\.js$/) requi…

3.2 防火墙

数据参考:CISP官方 目录 防火墙基础概念防火墙的典型技术防火墙企业部署防火墙的局限性 一、防火墙基础概念 防火墙基础概念: 防火墙(Firewall)一词来源于早期的欧式建筑,它是建筑物之间的一道矮墙,用…

【基础IO】文件系统 {磁盘的物理结构,存储结构,逻辑结构;CHS 和 LBA 寻址方式;磁盘分区和块组;文件inode;软硬链接}

文件系统 文件分为: 内存文件:被进程打开的文件,文件被加载到内存中供进程快速读写。磁盘文件:没有被打开的文件,保存在磁盘上。磁盘文件被分门别类的存储和管理,用于支持更好的存取。 提示: …

Amazon CodeWhisperer亚马逊云代码生成器idea体验使用

阿丹: 自从接触到微服务以来发现要写的代码越来越多了,之前一直面向ChatGPT来编程,今天找到了一个新的ai代码生成器。体验一下。安装的过程给兄弟们演示一下。 关键还是免费的。 连接如下:AI 代码生成器 - Amazon CodeWhisperer - AWS 查看…

记录第一篇被”华为开发者联盟鸿蒙专区 “收录的文章

记录第一篇被”华为开发者联盟鸿蒙专区 “社区收录的文章。 坚持写作的动力是什么? 是记录、分享,以及更好的思考 。

地理信息系统空间分析实验教程 第三版 第八章示例与练习 寻找最佳路径

寻找最佳路径 背景 随着社会经济的发展,公路的重要性日益提高。在一些交通欠发达的地区,公路 设迫在眉睫。如何根据实际地形情况设计出比较合理的公路,是一个值得研究的问题 目的 通过练习,熟悉 ArcGIS 栅格数据距离制图、表…

Docker搭建zookeeper

问题背景 前言 本文参考自:docker-compose快速搭建Zookeeper集群还有一种更加详细更加全面的部署方式:Docker之docker-compose一键部署Zookeeper集群,但笔者还未验证,先记录下来 搭建 安装docker-ce 此处不赘述 安装docker-co…