paper
PTI
: Pivotal Tuning for Latent-based Editing of Real Images
- 2022 ACM TOG
- StyleGan 人脸编辑相关
- 人脸投影
在StyleGAN中,编辑图像前,必须首先将图像投影到latent space,然后事实证明,StyleGAN的latent space在失真和可编辑性之间存在固有平衡,即图像在近似保持原始外观的情况下存在一定令人信服的可编辑性。实际上,生成器域外的图像在保留面部ID信息的情况下完成图像编辑仍然十分困难,在本文中,我们提出了一种弥补这个差距的方法。我们的方法稍微训练了生成器,以便域外图像更真实地投影到latent space。同时,将初始投影latent code充当枢轴,围绕它微调生成器,利用一个正则化项保证其身份。这种训练过程最终会使投影更加真实准确、而不影响可编辑能力。最后我们验证了方法地准确性和先进性,同时针对多种图像完成编辑展现了我们的技术。
Introduction
由于StyleGAN训练成本非常高,而且pretrained model实现了前所未有的视觉质量,所以流行的方法是冻结生成器。相比之下,我们微调生成器使其适应所需的输入图像,方法包括两个主要步骤:
(1)首先利用现有的反演方法将图像投影为可编辑的latent code
(2)利用Priotal Tuning – 微调pretrained stylegan,使用上一步找到的枢轴 (latent code)来生成图像。
关键的想法:即使生成器微调,但latent code仍然可以保持其编辑质量。我们的实验表明,微调后的生成器保留了枢轴代码的编辑能力,同时实现了前所未有的重构质量。
Method
由于StyleGan具有解耦性质,轻微和局部的调整可以使其生成效果完成更改、而不会破坏其强大的编辑能力。因此,针对给定的图像(可能在外观方面的分布是不满足要求的),我们建议在生成器域内找到其最近的可编辑点,然后将这个关键点拉向目标,对其附近影响很小。如此在满足人物的相似度的同时确保了可编辑能力。
1. Inversion
投影(反演)的目的是为Pivotal Tuning寻找到一个起点。由于StyleGan的原生latent space w具有最佳的可编辑性,同时在Pivotal Tuning期间的失真较少,我们选择了将图像inversion到w空间,而不是目前主流使用的w+空间。我们使用了现成的反演方法,本质上,通过LPIPS 感知损失函数,直接优化latent code w 和噪声向量 n来重建输入图像 x,使用噪声优化正则化项显着改善了反演质量【因为噪声正则化避免了噪声向量中包含重要信息】。 这意味着一旦 $ w_{p} $ 已经确定后,n 值在最终的视觉外观中起次要作用。优化定义如下:
w
p
,
n
=
a
r
g
m
i
n
L
L
P
I
P
S
(
x
,
G
(
w
,
n
;
θ
)
)
+
λ
n
L
n
(
n
)
θ
:
权
重
L
n
:
噪
声
正
则
化
项
w_{p},n = arg\ min \mathcal{L}_{LPIPS}(x,G(w,n;\theta))+\lambda_{n}\mathcal{L}_{n}(n) \\ \theta : 权重 \ \ \mathcal{L}_{n}:噪声正则化项
wp,n=arg minLLPIPS(x,G(w,n;θ))+λnLn(n)θ:权重 Ln:噪声正则化项
2.Pivotal Tuning
应用在反演中获得的潜码 w,生成与原始图像 x 相似的图像,但可能表现出明显的失真。 因此,在第二步中,我们解冻生成器并微调使其重建输入图像 x。使用枢轴代码至关重要,因为使用随机或平均潜码会导致收敛失败。训练损失函数如下:
L
p
t
=
L
L
P
I
P
S
(
x
,
x
p
)
+
λ
L
2
L
L
2
(
x
,
x
p
)
x
p
:
微
调
后
生
成
图
像
\mathcal{L}_{pt} = \mathcal{L}_{LPIPS}(x, x^p) + λ_{L2}\mathcal{L}_{L2}(x, x^p) \\ x^p : 微调后生成图像
Lpt=LLPIPS(x,xp)+λL2LL2(x,xp)xp:微调后生成图像
当生成器fintune完成后,我们可以使用任何latent space编辑工具来编辑输入图像。
3. Locality Regularization(局部正则化)
通过pivotal tuning可以提高生成器重构输入图像的精度,甚至可以围绕它进行成功的编辑。但它也会产生连锁反应:由non-local latent code生成的图像视觉质量收到破坏(当针对多个身份信息finetune时特别容易出现)
为了缓解这个问题,我们引入了一个正则化项,即将PTI的更改限制在latent space中的local空间。在每次迭代中,我们随机采样一个正态分布的随机向量z,通过mapping network产生相应的潜在latent code wz,然后通过插值参数a完成wz和wp之间的插值。
w
r
=
w
p
+
α
w
z
−
w
p
∥
w
z
−
w
p
∥
2
w_{r}=w_{p}+\alpha \frac{w_{z}-w_{p}}{\left\|w_{z}-w_{p}\right\|_{2}}
wr=wp+α∥wz−wp∥2wz−wp
将新生成的wr送入生成器,通过2中所描述的loss function优化生成器,完成局部正则化。