1. Progressive Growing of GANs for Improved Quality, Stability, and Variation (PGGAN)
作者:
Tero Karras
Timo Aila
Samuli Laine
Jaakko Lehtinen
基于一个理论,高分辨率的图像相对于较小分辨率的图像,是更难train的,因为分辨率越高包含的信息越大,生成器很难生成,所以极容易被判别器判定为假。
本文提出从低分辨率的图像开始训练,逐渐从4x4训练到1024x1024,使得训练更快,更稳定。
每一个块中的工作
图中(b)相比©多了一个分支,将16x16的结果直接传到了下面(类似于残差结构)以防止原来生成好的16x16的图像被32x32中的卷积破坏,从而训练失败。
图中(b)的α会随着训练的进行改变,一开始α为0,后逐渐增大。即变为了©。
2. A Style-Based Generator Architecture for Generative Adversarial Networks (CVPR 2019)
作者:
Tero Karras
Samuli Laine
Timo Aila
都是NVIDIA的
4x4----8x8 粗粒度
16x16----32x32 中粒度
64x64----1024x1024细粒度
图中的输入Z都是从随机高维的高斯分布中取的。
Mapping network将z从高斯分布空间映射到了w空间,并通过一个仿射变换作为style输入到生成器中。
生成器中的Noise通过B块送入网络,其中的Noise在每个通道上加的大小不同,是逐像素的,这就导致有的像素大,有的像素小。
其中AdaIN的公式为:
什么是style:就是上面公式中的y_s(缩放)和y_b(偏置),所以y就是两倍feature_map数量的大小。
判断特征解耦的好不好,可以通过计算其采样点之间的路径长度,例如:如下图所示,如果解耦较好,则两个采样点之间的距离可以通过直线连接,
Perceptual path length
球面线性插值,其中z1, z2分别是两个latent code 做插值也就是风格,然后求距离,做积分,求出其之间距离.
Analyzing and Improving the Image Quality of StyleGAN (CVPR 2020)
解决了水滴状的问题,舍弃了渐变网络结构,改为固定的网络训练。
假设输入的是一个正态分布,这里的操作是将加法放到了卷积之后,乘法放到卷积中。下图展示了这一过程:
首先将AdaIN分成了normalization(正则化)和modulation(模式化),在(b)图中在每一个feature map上计算mean和std,并且在每个加偏置后添加了激活函数(leaky ReLU) 。
然后 移除了一开始的一些冗余的操作继续将Adding bias 挪到了block外边,并且将每个feature map进行了除以std的操作
最后就用下面的两个公式,改造成了最后的样子。
w和w’是原始的和模块化的权重,i是指第i个feature_map,j输出maps,k是空间卷积的角标。
Si为style中的缩放参数
对每个输出的feature_map,如果还要保证正态分布,则需要公式1中对所有的指标加起来算标准差,代表上面图(d)中的Mod和Demod代表公式2和公式1。
路径长度正则化
无论 w或图像空间方向如何,这些渐变应具有接近等长度,即小位移产生相同大小的变化。表示从潜在空间到图像空间的映射是良好的。
路径长度正则化不但提高了图片的生成质量,而且使得生成器更平滑,生成的图片反转回latent code更容易了。
StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery(ICCV 2021)
作者:
三个方法将CLIP和stylegan结合起来:
- 一个优化方案:利用基于CLIP的损失来响应用户提供的文本提示来修改输入潜在矢量。
- 一个潜在映射器:它针对给定的输入图像推断出文本引导的潜在操作步骤。
- 一个方法:在StyleGAN样式空间将文本映射到与输入无关的方向的方法。
方法一:
给一个latent code命名为w,再给一个text prompt t,构造以下的公式:
计算使用w生成的图像和文本t之间的D_CLIP,以此来修改latent code
方法二:
Latent Mapper
对于一个特定的prompt训练一个网络,主要是训练得到一个w,并且将输入的w分为了三种粒度,
loss为
方法三:
Global Directions
首先使用CLIP的text encoder去包含一个向量Δt在CLIP的嵌入空间
然后映射这个向量到一个可操作的方向Δs在S空间中
prompt engineering:对一个图像用很多的方法来进行描述最后去平均值,用target prompt 和 original prompt做差就得到了Δt.
对每个通道进行扰动,每个扰动都是该通道标准差的大小。
通过将扰动后的产生的图像和目标做内积,如果值较大,则说明该通道对目标影响较大。