【arXiv2007】【逆推】Collaborative Learning for Faster StyleGAN Embedding

该论文提出了一种结合优化迭代器和编码器的协同学习策略,用于改进StyleGAN的逆向推理。针对现有方法在GAN逆推中的不足,如速度慢和初始化敏感等问题,该方法在训练中采用协同学习,用编码器初始化迭代器并以迭代后的图像监督编码器训练,从而实现快速且精确的逆推。实验结果显示,这种方法在保留图像细节的同时,显著提高了逆推效率。
摘要由CSDN通过智能技术生成
  • 论文链接:https://arxiv.org/abs/2007.01758

文字版

这次给大家带来一篇做 GAN 逆推的论文,单位是上海交通大学倪冰冰老师组的

我会从这 5 个方面来介绍这篇论文

背景

首先是背景,stylegan 能学到解耦合的一些信息,这对我们定向做编辑很有好处,而基于 stylegan 做编辑的前提就是要把真实图片逆推到 stylegan 的空间中

动机

然后是动机,可以看到之前的一些方法的逆推效果不够好,但是他这个文章有点奇怪,这篇文章写的时候应该周博磊老师那个组的 Indomain inversion 已经出了,但是他整篇文章都没有提到这篇文章,只和一些传统的方法进行了对比

研究目标

然后他的研究目标呢,就是想做一个又快又好的逆推

方法

然后来讲一下他的方法,先看一下网络整体的一个框架。我之前说过,现在做 GAN 逆推一般就是两个套路,第一个就是不用网络,用一个优化迭代器不断迭代调整,第二个就是学一个 encoder,也就是文章中的 embedding network。这篇文章把两个方法的优点结合了起来,提出了一个叫协同学习的策略。这个框架图比较大,我把它拆成几块来讲一下。

首先,我先讲一下他是如何推理的,他的推理阶段只用过一个 embeding network

关于训练的话,我拆成两块来分析,第一就是迭代器阶段,因为他不是一个学网络的过程,简单来说就是初始化一个向量,这个向量通过生成器之后能生成一张图片,这个图片和我们想要的图片肯定存在差异,这个时候会产生 loss,这个 loss 回传去调整初始化的向量。这个方法存在两个问题,第一个就是速度很慢,第二个就是如何初始化是非常影响最后的效果,就是万一掉到局部最优里面去了就爬不出来了。loss 的话就是一个 MSE 的 loss 和特征的 loss

第二个方法是训一个 encoder,比较好理解,学习的是原图到 code 的一个映射。他的问题在于 encoder 的表现能力不是那么强,所以可能泛化能力会比较差,这个也是现在我看到的很多基于 encoder 做 gan 逆推的一个共同问题。一般来说,现在的方法都是把 encoder 和迭代器串联起来的,用 encoder 的输出当作迭代器的初始化,但是这样就会把迭代的时间加入到推理中去,速度上会吃一些亏

然后我讲一下这篇文章中用到的 encoder 结构,他是进去一张图片,通过两个网络来提取 id 特征和 attribute 特征,这个 EidE_{id}Eid 就是 ArcFace 的前几层,EattrE_{attr}Eattr 是 ResNet 的前几层,然后这两个网络的输出用类似于 GauGAN 的 SPADE 融合方式进行融合,输出的特征经过一个树接,也就是局部连接层得到输出。他这里和 GauGAN 的 SPADE 有一点点不同,他的融合是直接把 FC 的输出截成两段做的,然而真正的 SPADE 是用卷积做的。

前面说了迭代器和 encoder 都有缺点,这篇文章提出了一个叫协同学习的方法,把两个方法的优点结合起来,规避了缺点。这个协同学习只在训练中出现。每次都把 encoder 的输出作为迭代器的输入,这解决了迭代器初始化敏感的问题。同时,用迭代器处理后的图片监督训练 encoder,而不是用原图,这解决了 encoder 表达能力不够的问题。

对于训练的 loss,采用了图片和 code 的 MSE loss,以及图片的 perception loss

实验

然后来看实验,先看运行时间,可以看到相比那些迭代器的方法,他是最快的。另外注意一下,stylegan-encoder 方法是 encoder 和迭代器串联起来的

然后是一些定量实验,可以看到在这两个数据集上的各个指标上,本文的方法和最佳的方法差距都很小,但是时间比 image2stylegan++ 要快得多

然后是这个定性的实验,可以看到本文的方法和 image2stylegan++ 最大限度保留了细节,其他的方法会略有模糊

然后是一个关于迭代器初始化的实验,这个实验主要就是说明本文的 encoder 输出效果已经很好了,不必在推理的时候叠一个迭代器。第一行是随机初始化,可以看到迭代了 100 步效果还是很垃圾,第二行是从平均脸开始迭代,100 步之后效果还行,但是嘴唇等细节还是不好,第三行是本文的方法,就算不迭代,效果也已经和原图差不多了

然后是协同学习的定量实验,先看第一个表,可以看到如果切断协同学习初始化的这一段,即每次都是从平均脸开始迭代,效果会变差

第二个表是说如果用原图监督,而不是迭代器处理后的图片监督,效果也会差不少

还有挺有意思的一个实验,就是说网络的所谓解耦合,因为现在是一张图进入两个网络,作者就想是不是这两个网络学到了解耦合的特征。这个表的意思就是说如果不用两个网络提特征融合,而是直接一个简单的 resnet,效果会变差。这个图的意思就是说从融合起来的效果来看,网络的确把 id 特征和属性特征分开了

结论

文章的结论就是提出了一个又快又好的逆推方法

视频版

[arXiv] Collaborative Learning for Faster StyleGAN Embedding

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值