一. 相关资源
论文地址:https://arxiv.org/abs/2007.01758
代码地址:https://github.com/syguan96/Faster_StyleGAN_Embedding(还未开源)
二. 背景与动机
背景:stylegan 能学到解耦合的一些信息,这对我们定向做编辑很有好处,而基于 stylegan 做编辑的前提就是要把真实图片逆推到 stylegan 的空间中,即获得隐向量。
动机:由于之前获取可解构的隐向量存在各种缺点,作者的目标用该方法得到一个又好又快的逆推。
三. 其它逆推方法(科普)
1. 基于迭代的方法
该方法不是一个学网络的过程,简单来说就是初始化一个向量,这个向量通过生成器之后能生成一张图片,这个图片和我们想要的图片肯定存在差异,这个时候会产生 loss,这个 loss 回传去调整初始化的向量。
缺点:
(1)由于需要不断迭代,所以速度非常慢;
(2)初始化非常影响最后的结果,万一掉到局部最优里面去了就爬不出来了。
优点:整体效果还是不错的。
2. 基于学习的方法
该方法是训一个 encoder,比较好理解,学习的是原图到 code 的一个映射。他的问题在于 encoder 的表现能力不是那么强,所以可能泛化能力会比较差,这个也是现在很多基于 encoder 做 gan 逆推的一个共同问题。
缺点:表现能力不是那么强;
优点:一次前向推理,速度快。
四. 算法核心(协同学习方法)
算法框架如下:
作者结合了迭代方法和学习方法的优点,可以快速获得表现力强的逆推向量。
核心思想讲解:作者先用迭代的方法获得隐向量w0,然后用w0来监督学习到的We(看到这里,是不是有点像知识蒸馏的原理),这样会使学习到的隐向量表现力更强。同时,用学习到的影向量作为迭代的初始向量,减少迭代次数。最后,加上MSE和LPIPS损失函数,学习到解耦的表现力强的隐向量。
在推理时,只需要一次前向传播即可获得隐向量。
以上就是作者的核心啦!!!
五. 实验
1. 推理速度
可以看到,其推理速度遥遥领先于其他算法。
2. 效果展示
可以看到:在推理速度很快的情况下,达到了当前领先算法的效果。
3. 补充实验
实验结果:(1)作者的算法不需要迭代,即可达到很好的结果。(2)影向量的初始化对结果的影响很大。
如需技术交流,请联系博主,大家一起加油: