论文:StyleFlow: Attribute-conditioned Exploration of StyleGAN-Generated Images using Conditional Continuous Normalizing Flows
- ACM TOG 2021
前言:本文论文有点繁琐晦涩,以下内容仅代表个人阅读理解
摘要
Abstract: 现在可以通过uncondition gan(例如Stylegan)生成高质量、多样化、逼真的图像,但是控制生成过程的属性选项有限、同时很难保证输出的质量,此外由于gan latent space的纠缠特性,沿着一个属性进行编辑很容易导致其他属性的篡改。本文在条件探索纠缠潜空间的背景下,研究了属性条件抽样和属性控制编辑两个子问题。
作为 GAN 潜空间中条件连续正规化流的一个实例,我们将条件探索表述为由属性特征决定的条件连续正规化流,从而将 StyleFlow 作为这两个子问题的一个简单、有效和鲁棒的解决方案。我们使用 StyleGAN 的人脸和汽车的潜在空间来评估我们的方法,并且在真实照片和 StyleGAN 生成的图像上展示沿着各种属性的细粒度分离编辑。例如,对于面孔,我们改变相机的姿势,光照变化,表情,面部毛发,性别和年龄。最后,通过广泛的定性和定量比较,我们证明了 StyleFlow 相对于其他并发工作的优越性。
作者进行了以下两个任务:
(1)属性条件采样(即采样具有目标属性的高质量真实图像)
(2)可控制的属性编辑(即只编辑目标属性,最好的保留源图像其他信息)
其中,在任务1中,生成图像采用了StyleGan生成器,为了计算图像的属性,使用了一个属性分类器
模型方法
作者这篇文章写的比较详细,介绍了很多内容,但是不容易阅读。
在第四部分,讲解了NORMALIZING FLOWS
,其实这也是该方法的核心内容,关于Flow
流的介绍,但是对于初次了解的人(比如我)读起来就非常的晕,接下来就用通俗易懂的方式来介绍本篇文章模型方法。
由于StyleGan的生成过程为:
- 首先通过随机种子生成一个符合高斯分布的随机向量z
- 将z经过mapping network生成解耦的向量w
- 然后将w送入systhesis network生成图片
作者介绍了两种FLOW
流的方法:DNF、CNF,用于计算数据分布之间的转换,最终作者选择使用了CNF。(这里不作介绍,感兴趣可以阅读论文)
可以理解为:1.通过CNF模块,可以将w向量结合attributes向量经过reverse inference(反向推理)得到z向量 2.通过CNF模块,也可以将z向量结合attributes向量经过forward inference(正向推理)得到w向量
CNF模块的结构如下图所示:
下面来看StyleFlow的模型:
(1)Joint Reverse Encoding(JRE):首先得到一个w向量(可以根据real images投影得到),利用generator生成图片,然后将图片送入分类器(作者使用的是微软人脸属性分类api和光照预测网络DPR)得到attributes向量,接下来将w和at向量送入CNF网络得到z向量
(2)Conditional Forward Editing(CFE):编辑修改attributes,然后将其和z向量送入CNF网络得到w’向量。(在这里编辑向量使用的应该也是类似interfacegan训练出来的方向向量)
(3)Edit Specific Subset Selection:作者实验发现,将w’向量加载到w+的不同层可以带来良好的效果。例如,1.更改光照:放入7~11层 2.更改年龄:放入4~7层等。
StyleFlow生成效果评估 - FID得分
关于训练部分
StyleFlow主要训练的是CNF blocks,这部分推荐阅读论文以及项目issues作者的回复。
编辑生成图
最后展示一下StyleFlow方法的编辑效果图:
尾言
StyleFlow的论文写的非常详细,还是推荐大家看一看~