当前位置:   article > 正文

HyperStyle:利用超网络完成人脸反演

hyperstyle

paper

HyperStyle: StyleGAN Inversion with HyperNetworks for Real Image Editing

  • 2022 CVPR
  • StyleGan反演相关

paper code page


Abstract:

将真实图像反演到 StyleGAN 的latent space是一个充分研究的问题。然而,现有方法应用于现实世界的场景效果仍然一般,这是因为图像重建和可编辑性之间存在内在权衡:可以准确表示真实图像的潜在空间区域通常会受到语义控制的影响产生退化。

近来有些工作通过微调生成器将目标图像添加到潜在空间中图像表现良好且编辑性良好的区域来进行权衡。 但这种微调方案需要针对新图片漫长训练。

在这项工作中,我们将这种方法引入到基于encoder的反演领域,提出了HyperStyle。这是一种可以学习调整StyleGan权重的超网络,简单的调制需要训练一个参数超过30亿的超网络,而我们通过仔细的网络设计,将参数减少到与现有encoder一致。HyperStyle产生的重构效果与latent优化技术重构效果相当,并具有encoder的实时推理能力。最后我们展示了利用HyperStyle在反演任务外的几个应用中有效性,包括编辑训练数据域外的图像。

请添加图片描述


为了利用生成器的pretrained models,大多数工作都避免改变生成器执行反转时的权重。

部分工作探索:

  • 针对每个图像,调整生成器以获得更准确的反演
  • 通过随机噪声向量反演BigGAN ,选择与真实图像最匹配的向量,并渐进式优化生成器权重
  • 首先通过反演得到潜在代码(它近似地重建目标图像),然后微调生成器权重以改进图像特定的细节

但这些工作需要漫长时间的优化,通常每张图像几分钟。相比之下,HyperStyle在大量图像上训练了一个超网络,用于为任意给定的图像完成反演,且具有实时性。

总结:更准确的反演 + 可编辑性良好 + 近乎实时性 (Encoder)


网络结构

请添加图片描述

(1)首先图片经过一个encoder生成initial inversion图片

(2)将原始Input和Initial Inversion图片作为Input,送入HyperStyle网络,Input通道数为6,经过ResNet Backbone输出为16*16*512

hyperstyle.py

#x:3*h*w y:3*h*w
x_input = torch.cat([x, y_hat], dim=1)
  • 1
  • 2

ResNet BackBone结构为

# 1层卷积+4层resnet34网络层
self.conv1 = nn.Conv2d(opts.input_nc, 64, kernel_size=7, stride=2, padding=3, bias=False)
self.bn1 = BatchNorm2d(64)
self.relu = PReLU(64)

resnet_basenet = resnet34(pretrained=True)
blocks = [
    resnet_basenet.layer1,
    resnet_basenet.layer2,
    resnet_basenet.layer3,
    resnet_basenet.layer4
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

(3)Refinement Block是用优化向量参数,但是在训练过程中参数过多,为了解决这个问题,引入了Shared Refinement Block,如下图所示:

请添加图片描述

在3*3*512*512的非toRGB层之间共享两个全连接层。 这样有效的节省了训练参数量。

p.s: 3*3*512*512意指:kernel size * kernel size * input深度 * output 深度

具体层可以见:blocks

为啥不在toRGB层共享权重?

因为实验发现这样会影响GAN的编辑能力。

(4)Generator被分成了3个级别:coarse,medium,fine,不同级别控制生成图像的不同层面。由于initial inversion趋向于捕获coarse细节,所以我们将网络输入送入medium和fine generator层。

(5)迭代细化,更新generator权重,确保更准确的反演。

Training Losses

由于类似于训练encoder,所以使用了 pixel-wise L2 loss 和 LPIPS perceptual loss

对于面部区域,进一步使用了基于身份的相似性损失(使用了一个预训练面部识别网络)

对于非面部区域,使用了一个MoCo-based相似度loss
L 2 ( x , y ^ ) + λ LPIPS  L LPIPS  ( x , y ^ ) + λ sim  L sim  ( x , y ^ ) \mathcal{L}_{2}(x, \hat{y})+\lambda_{\text {LPIPS }} \mathcal{L}_{\text {LPIPS }}(x, \hat{y})+\lambda_{\text {sim }} \mathcal{L}_{\text {sim }}(x, \hat{y}) L2(x,y^)+λLPIPS LLPIPS (x,y^)+λsim Lsim (x,y^)

总结

我们介绍了一种新颖的StyleGan反演方法:HyperStyle,利用超网络的最新进展来实现近似encoder推理时间的optimization-level优化。从某种意义上说,HyperStyle 利用给定的目标图像不断学习调整、有效地优化了生成器。这样做可以减轻重建-可编辑性的权衡,并可以在广泛的输入上有效地使用现有的编辑技术。此外,HyperStyle泛化得非常好,即使是不在训练集中的域外图像,超网络和生成器都可以反演的非常好。展望未来,从训练领域进一步扩大泛化是非常可取的。这包括对未对齐图像和非结构化域的鲁棒性。前者可能会通过 StyleGAN3得到解决,而后者可能需要在更丰富的图像集上进行训练。

生成图像

反演能力的对比展示:

请添加图片描述
请添加图片描述

可编辑性的对比展示:

请添加图片描述

请添加图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/118608
推荐阅读
相关标签
  

闽ICP备14008679号