[pdf][arXiv][code]

Introduction

GAN Inversion的船新版本,已知y=G(w;θ)y=G(w;\theta),以往方法都是通过改变ww来生成符合的图片输出,参数θ\theta往往是固定的。而该方法和之前的另一个方法PTI则反其道而行之,ww只使用一个从Encoder生成的初始值,然后对参数θ\theta进行更新

我之前也想过是否可以改变参数,可以通过网络生成参数,和这篇思路差不多,或者直接反向传播时更新参数,猜测应该和PTI差不多,但是后来仔细一想,更新参数应该是会出现问题的,而该论文中的实验恰好提供了证据,会在后面进行讨论

Method

方法可以说是很简单,使用了一个Hypernetwork H生成参数的偏移Δ\Delta,输入是ground truth xx,以及使用一个Encoder预测出的潜在编码w^init\hat w_{init}输入到生成器中生成的图片y^init\hat y_{init},然后对生成器的参数通过以下公式进行更新

θ^θ(1+Δ)\hat\theta\leftarrow\theta\cdot(1+\Delta)

Hypernetwork H使用了一个ResNet作为Backbone,然后使用一组细化块生成每一层的参数。而为了减少需要生成的参数量,对于一些细化块,使用了共享权重的全连接层。同时只对除了toRGB以外的层进行更新

为了不断细化网络,还引用了和ReStyle一样的迭代机制,令y^0=G(w^init;θ)\hat y_0=G(\hat w_{init};\theta),之后的每次迭代生成Δt=H(y^t1,x)\Delta_t=H(\hat y_{t-1},x)并将参数更新为θt\theta_t,然后生成新的重建图像y^t=G(w^init;θt)\hat y_t=G(\hat w_{init};\theta_t)

Loss就还是常规的那几个,L2损失、感知损失以及身份损失

Experiments

重建效果如上

编辑效果如上

重建效果是很好的,可以与优化方法相比,编辑效果也还不错,因为潜在编码依旧位于潜在空间中编辑效果较好的位置

上图中左边是计算的不同编辑强度下与原图的身份相似度,右边好像是微笑的强度吧,文中并没有具体的说明,可以看到该方法的编辑效果是还不错的,而且在较强编辑力度下能获得比其他方法更好的相似度

总结

在思考参数更新时,我想到了以下问题

对于一张图片yy以及其对应的潜在编码ww,对yy进行反演生成预测的不是很准确的潜在编码w^\hat w,以及对应的图片y^\hat y。之前的方法是改变w^\hat w让他尽量与ww相同,从而使y^\hat yyy尽量相同。而优化参数的话,如果w^\hat w不会进行改变,那么就是改变参数使w^\hat w对应的图片尽量接近yy,这种方法的最终效果应该是可以很好,但是有一个问题,就是ww对应的图片可能将不会是yy,会发生一些改变,而且就算不发生改变,www^\hat w非常接近,他们附近的分布也会发生扭曲,因为w^\hat w在原本的分布中是不对应yy

不管是以上两种情况中的哪种,或者对于不同的图片会出现两种不同的情况,w^\hat w附近的分布都一定会有所改变,如果改变只存在于w^\hat w局部地区,那对编辑效果来说一定是有影响的

带着这个问题去看了下实验,发现确实有证据证明我的猜想,图六对身份相似性的实验中,更改参数的方法HyperStyle和PTI在0左右都有一个大幅下降再上升的过程,这应该就是w^\hat w附近分布扭曲导致的,HyperStyle得益于多次的迭代,可以令分布更加平滑,所以幅度不是很大,而且远处也有优化,相似度比其他方法更高

不论如何,更新生成器参数都是一个新的思路,但是并不完美,可以考虑是否可以同时更新w^\hat w,减少对分布的影响,使整个分布更加平滑,编辑效果也会更好