4、StyleGAN系列
简介
NVIDIA在2017年提出的ProGAN解决了生成高分辨率图像(如1024×1024)的问题。ProGAN的关键创新之处在于渐进式训练——从训练分辨率非常低的图像(如4×4)的生成器和判别器开始,每次都增加一个更高的分辨率层。
存在的问题:与多数GAN一样,ProGAN控制生成图像的特定特征的能力非常有限。这些属性相互纠缠,即使略微调整输入,会同时影响生成图像的多个属性。所以如何将ProGAN改为条件生成模型,或者增强其微调单个属性的能力,是一个可以研究的方向。
解决方法:StyleGAN是NVIDIA继ProGAN之后提出的新的生成网络,其主要通过分别修改每一层级的输入,在不影响其他层级的情况下,来控制该层级所表示的视觉特征。这些特征可以是粗的特征(如姿势、脸型等),也可以是一些细节特征(如瞳色、发色等)
利用stylegan2生成的网红人脸(现实中不存在的假脸)
性别转换
stylegan
左边是传统生成器,右边为StyleGAN 生成器,由Mapping network和Synthesis network组成
Mapping network用于将Latent code z 转换为w,用来影响图像的style
Synthesis network用于生成图像
Mapping Network
输入维度为512x1,由8个全连接层组成,输出维度为512x1
z是符合均匀分布或者高斯分布的随机变量,所以变量之间的耦合性比较大,难以控制视觉特征。比如数据集中长头发的人很常见,那么更多的输入值便会映射到该特征上,那么z中其他变量也会向着该值靠近、无法更好地映射其他特征,因此通过Mapping network,生成一个不必遵循训练数据分布的向量w,减少了特征之间的相关性,完成解耦
latent code转换得到w后,经过仿射变换生成A,分别送入Synthesis network的每一层网络,进行控制特征,因为Synthesis network的网络层有18层,通过w生成得到了18个控制向量,用于控制不同的视觉特征
Synthesis network
Synthesis network按照输出维度可以分为4x4,8x8,16x16,32x32,64x64,128x128,256x256,512x512,1024x1024,同时每一个都包含两个卷积层,一个Upsample,一个3x3卷积特征学习,一共包含18层
利用512 * 4 * 4的输入代替传统初始输入
避免初始输入值取值不当而生成不正常图片
有助于减少特征纠缠随机变化(添加噪声noise)
stylegan通过用噪声 ( noise ) 来影响头发丝、皱纹、肤色等细节部分,为了控制噪声仅影响图片样式上细微的变化, StyleGAN 采用类似于 AdaIN 机制的方式添加噪声(噪声输入是由不相关的高斯噪声组成的单通道数据,它们被馈送到生成网络的每一层)。 即在 AdaIN 模块之前向每个通道添加一个缩放过的噪声,并稍微改变其操作的分辨率级别特征的视觉表达方式。 加入噪声后的生成人脸往往更 加逼真与多样自适应实例归一化(AdaIN)
此前的风格迁移方法,一种网络只对应一种风格,速度很慢。基于AdaIN可以“self modulate” the generator快速实现任意图像风格的转换
特征图的均值和方差中带有图像的风格信息。所以在这一层中,特征图减去自己的均值除以方差,去掉自己的风格。再乘上新风格的方差加上均值,以实现转换的目的。StyleGAN的风格不是由图像的得到的,而是w生成的
- 样式混合(通过混合正则化)
进一步明确风格控制(训练过程中使用)
在训练过程中,stylegan采用混合正则化的手段,即在训练过程中使用两个latent code w (不是1个)。通过Mapping network输入两个latent code z,得到对应的w1和w2(代表两个风格),接下来为它们生成中间变量w’。然后利用第一个w1映射转换后来训练一些网络级别,用另一个w2来训练其余的级别,于是便能生成混合了A和B的样式特征的新人脸
第一部分是 Coarse styles from source B,分辨率(4x4 - 8x8)的网络部分使用B的style,其余使用A的style, 可以看到图像的身份特征随souce B,但是肤色等细节随source A;
第二部分是 Middle styles from source B,分辨率(16x16 - 32x32)的网络部分使用B的style,这个时候生成图像不再具有B的身份特性,发型、姿态等都发生改变,但是肤色依然随A;
第三部分 Fine from B,分辨率(64x64 - 1024x1024)的网络部分使用B的style,此时身份特征随A,肤色随B
大致结论:低分辨率的style 控制姿态、脸型、配件 比如眼镜、发型等style,高分辨率的style控制肤色、头发颜色、背景色等style
- Truncation Trick
** Truncation Trick,截断技巧。从数据分布来说,低概率密度的数据在网络中的表达能力很弱,直观理解就是,低概率密度的数据出现次数少,能影响网络梯度的机会也少,网络学习到其图像特征的能力就会减弱。如何解决该问题呢,truncation trick大致做法如下**
** 首先找到数据中的一个平均点,然后计算其他所有点到这个平均点的距离,对每个距离按照统一标准进行压缩,这样就能将数据点都聚拢了(相当于截断了中间向量
4、StyleGAN系列相关推荐
- 年轻的LeCun、吴恩达长啥样?升级版StyleGAN告诉你
来源:机器之心 来自以色列特拉维夫大学的研究者在生成图像方面又有了新的升级,所用方法在保留源图像身份的同时,在细节编辑上实现了更精细的效果. 英伟达提出的风格迁移模型 StyleGAN 系列,一直是人 ...
- 成熟的GAN会自己分析脸部纹理!英伟达StyleGAN团队出新作,网友:竟然还能有突破...
杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 换脸的GAN,还能有啥突破? 要不,分析个脸部纹理试试. 不得不说,真有点科幻电影的赶脚~ 这是英伟达最新推出GAN--Alias-Free ...
- 【每周CV论文推荐】StyleGAN人脸属性编辑有哪些经典论文需要阅读
欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 当前人脸图像领域的研究和落地都发展得非常迅速 ...
- GAN网络系列博客(三):不受坐标限制的GAN(StyleGAN3)
目录 1. 概述 2. 连续信号分析 2.1 等变网络层 3. 具体实现 3.1 傅里叶特征和基础简化 3.2 根据连续插值进行的步骤重建 4.实验 总结 Reference 关于StyleGAN系列 ...
- stylegan2:analyzing and improving the image quality of stylegan
StyleGAN 和 StyleGAN2 的深度理解 - 知乎StyleGAN 论文:A Style-Based Generator Architecture for Generative Adver ...
- 辞职读博:研究AI设计怪物,从《游戏王》卡牌开始
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 让AI画 ...
- 《预训练周刊》第14期:World-GAN:Minecraft 世界的生成模型、CMU博士论文探究可控文本生成...
No.14 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第14期&l ...
- 皮克斯技术指导辞职读博:研究AI设计怪物,从《游戏王》卡牌开始
梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 让AI画人脸见得多了,要是让AI画个幻想中的怪物又如何? 来看几个,先是人形的: 再来个兽形的: 还有诡异到说不出来属于什么型的: 你可能会 ...
- 【视频课】生成对抗网络经典任务,详解基于GAN的图像生成算法!
前言 欢迎大家关注有三AI的视频课程系列,我们的视频课程系列共分为5层境界,内容和学习路线图如下: 第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用. 第2层 ...
最新文章
- Creative Web Typography Styles | Codrops
- CIA困局:天下再无007,AI识别下无处遁行的“特工”们
- 趣谈设计模式 | 模板方法模式(Template Method):封装不变部分,扩展可变部分
- P2260 [清华集训2012]模积和,P2834 能力测验(二维除法分块)
- python字符串的内部函数_Python中字符串中内置函数
- MATLAB矩阵的算术运算
- 网友投诉顺丰快递员私拆快递物品摆拍、言语骚扰 官方处理来了...
- [转载] 利用python对csv文件进行简单的数据分析
- WARN No appenders could be found for logger的解决方法
- c盘存放文件夹的功能
- oracle数据库rtf内容替换,如何将RTF转换为纯文本?
- dolphinscheduler2.0.5 HTTP任务类型改造
- 离境收心,入于虚无。
- 笔记本超薄本14寸,15.6寸,16.1寸对比图
- 【魔方攻略】镜面魔方教程(原创)
- 【001】C++11允许匿名类型、局部类型作为模板实参
- Python 获取 网易云音乐热门评论(python2/python3代码)
- 网上书店订单流程c语言源代码,网上书店的设计及实现.doc
- 一日一技:用Python做游戏有多简单 (2)
- IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总
热门文章
- MotionEvent中getAction、getActionMask、getActionIndex区别
- 运算放大器(一):电压跟随器
- [siggraph19]《荒野大镖客2》的大气云雾技术(1/4)
- C# 取消按钮焦点 (非自定义控件)
- zookeeper服务器主动断开与客户端的连接问题
- python3 gb2312转utf8_python2和python3字符编码 unicode,utf-8,gb2312相互转换encode,decode...
- C#网页采集数据的几种方式(WebClient、WebBrowser和HttpWebRequest/HttpWebResponse)
- 这领导当的,你该怎么办?
- win7系统浏览器老是自动弹出网页怎么办
- html中的if函数,countif函数的使用方法