Question
改进目前的反演方法
Contribution
提出了一个基于残差的encoder,对比之前只经过一次推理的方法,该方法会进行多次迭代以获得更准确的结果,并且多次迭代需要的时间对比优化方法可以忽略不计
改进了encoder的重建能力,并且只增加了微不足道的推理时间
因为经过了多次迭代,该方法对encoder的复杂度要求不高,所以重新设计了简单版本的pSp和e4e编码器
Method
architecture
其中是当前的迭代次数,在第次迭代时,我们有ground truth ,第次迭代产生的结果和latent code ,当时,
首先将ground truth和上次迭代的结果在channel这一维度上concatenate起来
获得了一个6通道的tensor ,而encoder 的任务是生成一个残差
更新第次迭代生成的latent code
使用更新后的和生成器生成第t次迭代产生的图片
上述encoder 为简化设计的pSp、e4e的encoder,以pSp为例,相比于之前从三个不同size的feature map提取特征,重新设计的encoder只从最后的feature map上提取特征,如下图
上述生成器为预训练的StyleGAN
loss
该方法使用的loss没有在文中描述,应该是因为使用的还是之前那几个loss,没有新的loss添加,大致看了下代码中使用的仍然是pSp中使用的loss
训练过程,同样是经过了几次迭代,每次迭代都计算梯度,然后在全部迭代结束之后,再更新网络参数
Results
重建效果对比
以上每一部分的第4列为基于学习的方法pSp、e4e,第五列为对应的使用简化pSp、e4e作为encoder的ReStyle。
与基于学习的方法(pSp、e4e)相比,有更好的重建效果,尤其是细节方面。其重建效果接近但没有超过基于优化的方法,但是使用的时间远小于基于优化的方法。
花费时间与质量对比
如图,从最终效果上来看,优化的方法和具有优化部分的混合方法的最终效果是最好的,但是其使用时间也是最长的,而ReStyle的使用时间与基于学习的pSp、e4e相差无几,但效果更好,甚至在LPIPS这一项达到了优化方法的水平
单观察ReStyle的曲线,可以发现迭代增加的效果会随迭代次数增加而减小,而且仅需要很少次数的迭代就获得了最好的效果
每一次迭代效果的变化
因为论文中的实验图没有真实图片,所以截取了补充材料中的图片,其中图片为每次迭代后生成的图片,蓝色为相对上一次迭代生成的图片变化小的地方,红色为相对上一次迭代生成的图片变化大的地方
上图为不同方法迭代的效果图
编辑能力
对比专门为编辑设计的e4e,仍然具有比优化和混合方法更好的编辑能力,并且比e4e的重建效果要好
Encoder Bootstrapping
该方法可以用于将真实图片转化为卡通图片,如图,用从FFHQ上训练的encoder,输入原始图像和平均图像,生成一个初始的,然后将其用作Toonify迭代的初始值,Toonify就是一个生成卡通图象的StyleGAN
以下是与其他方法的对比图以及每次迭代的对比图
Think
迭代应该是在找这个encoder泛化能力的极限,再想提升效果就只能对单张图片优化,猜测提高encoder的复杂度并增加迭代次数可以提高重建能力到优化方法的水平。而且可能出现的情况是,即使这个更复杂的encoder相对于之前最先进的encoder效果并没有提升,但是通过ReStyle迭代后可能会产生比最先进的encoder更好的效果
Why Work
该方法应该就是使用了优化方法迭代的特点,把用loss对单张图片进行优化改成了用encoder对单张图片进行优化,理所当然比单次迭代的方法要好