[pdf][arXiv][code]

Introduction

本质上还是GAN Inversion,相较于以往的对于潜在编码的更新,改变思路去更新StyleGAN的参数,HyperStyle思路也是借鉴于此

不同点是该论文中使用的是比较朴素的优化方法,而HyperStyle则添加了更多模块,提出了一个基于学习的方法,但是因为这篇论文的思想更加朴素,所以可以通过它研究一下对StyleGAN参数更新方法的特点

该方法的基本思想就是,通过优化StyleGAN的参数,将原本编辑效果较好,但重建效果很差的空间,拉到能让原图更好重建,同时还能保留编辑能力的地方

Method

方法没什么好说的,主要都是Loss,对于一张图xx,先使用其他反演方法获得一个初始的潜在编码wpw_p,然后固定住wpw_p,再更新StyleGAN的参数θ\theta

Loss首先使用了LPIPS和L2损失,公式如下

Lpt=LLPIPS(x,xp)+λL2LL2(x,xp)\mathcal L_{pt}=\mathcal L_{LPIPS}(x,x^p)+\lambda_{L2}\mathcal L_{L2}(x,x^p)

当有多张图片时,公式如下

Lpt=1Ni=1N(LLPIPS(xi,xip)+λL2LL2(xi,xip))\mathcal L_{pt}=\frac{1}{N} \sum_{i=1}^{N} (\mathcal L_{LPIPS}(x_i,x_i^p)+\lambda_{L2}\mathcal L_{L2}(x_i,x_i^p))

其中,xp=G(wp,θ)x^p=G(w_p,\theta^*)xip=G(wi,θ)x_i^p=G(w_i,\theta^*)θ\theta^*是调整后StyleGAN的参数

除此之外,该方法还提出了一个局部正则化的损失,大致意思是好像是为了将变化限制在潜在空间中的一个区域,避免区域外的图像质量受到影响

从高斯分布采样一个zz,然后通过StyleGAN的映射网络生成对应的wz=f(z)w_z=f(z),使用一个超参数α\alpha进行插值,公式如下

wr=wp+αwzwpwzwp2w_r=w_p+\alpha\frac{w_z-w_p}{||w_z-w_p||_2}

使用原来的参数和调整后的参数分别生成对应的图片,xr=G(wr;θ)x_r=G(w_r;\theta)xr=G(wr,θ)x_r^*=G(w_r,\theta^*),然后对两者计算LPIPS和L2 Loss,使得这部分不发生变化

L=LLPIPS(xr,xr)+λL2RLL2(xr,xr)\mathcal L=\mathcal L_{LPIPS}(x_r,x_r^*)+\lambda_{L2}^{R}\mathcal L_{L2}(x_r,x_r^*)

当有多张图片时

L=1Nri=1Nr(LLPIPS(xr,i,xr,i)+λL2RLL2(xr,i,xr,i))\mathcal L=\frac{1}{N_r}\sum_{i=1}^{N_r}(\mathcal L_{LPIPS}(x_{r,i},x_{r,i}^*)+\lambda_{L2}^{R}\mathcal L_{L2}(x_{r,i},x_{r,i}^*))

最后的优化过程则被定义为

θ=argmaxθLpt+λRLR\theta^*=\underset{\theta^*}{\arg\max}\mathcal L_{pt}+\lambda_{R}\mathcal L_{R}

Results

以上是反演与编辑的效果,可以看出重建出的图片质量不错但是会丢失一些细节,其实我感觉之所以效果还不错,是因为这几张图都是在域内的,跑过他的代码发现,如果是StyleGAN无法生成的东西,比如一些发饰,仅通过几百次优化也还是无法生成的。而如果通过数万次优化过程,虽然可以几乎完美重建原图,但编辑后的图像质量会大打折扣,发生扭曲和伪影,而且发饰也会在编辑的过程中自动消失

域外图像的重建,没有给出编辑结果,猜测是因为编辑效果并不好

对CelebA-HQ的重建,会丢失细节,而且经过实验发现细节部分的重建并不理想

总结

思想很朴素,所以感觉效果并没有很好,经过多次优化确实可以使重建效果越来越好,但是对应的编辑后的图像质量会下降,不过编辑的效果好像并没有改变

对整个StyleGAN进行了调整,可能因此导致了如果想要很好的重建效果,需要进行数万次的优化,而即使如此细节部分也还是很模糊(或许可以通过频域Loss来提升?)

如果能在获得很好重建效果的同时,在编辑过程中也不会产生质量下降就好了,甚至更进一步可以使原本不在域中的物品,比如发饰,在编辑过程中保留,这就有点类似于小gap域的调整了