1. Introduction
定义domain和style
Here, domain implies a set of images that can be grouped as a visually distinctive category, and each image has a unique appearance, which
we call style.
For example, we can set image domains based on the gender of a person, in which case the style include makeup, beard, and hairstyle.
2. StarGAN v2
2.1. Proposed framework
输入图像
x
∈
X
\mathbf{x}\in\mathcal{X}
x∈X,arbitrary domain
y
∈
Y
y\in\mathcal{Y}
y∈Y,
y
y
y相当于domain的id
Generator(Figure 2a)
生成器
G
G
G将一幅输入图像
x
\mathbf{x}
x按照指定的style code
s
\mathbf{s}
s,生成图像
G
(
x
,
s
)
G(\mathbf{x}, \mathbf{s})
G(x,s)
按照之前的做法,应该将target domain y y y送入 G G G中,此处将style code s \mathbf{s} s送入 G G G中,要求 s \mathbf{s} s是target domain y y y的一种style
Mapping network(Figure 2b)
给定latent code
z
\mathbf{z}
z(下文提到了
z
\mathbf{z}
z是随机采样Gaussian Distribution得到的),Mapping Network
F
F
F将
z
\mathbf{z}
z转换为指定domain
y
y
y中的一个style code
s
\mathbf{s}
s,即
s
=
F
y
(
z
)
\mathbf{s}=F_y(\mathbf{z})
s=Fy(z),下标
y
y
y表示
F
F
F中的一个branch,因为
F
F
F是多个branch的,所以说
F
F
F是multi-task architecture
注:multi-branch architecture
F
y
F_y
Fy其实可以用condition architecture
F
(
z
,
y
)
F(\mathbf{z}, y)
F(z,y)来代替,这样处理更加灵活
Style encoder(Figure 2c)
给定输入图像
x
\mathbf{x}
x以及对应的domain
y
y
y,encoder网络
E
E
E负责解析出图像所包含的style code
s
=
E
y
(
x
)
\mathbf{s}=E_y(\mathbf{x})
s=Ey(x)
Question:因为
E
E
E也是multi-branch architecture,那么假设
x
\mathbf{x}
x对应了domain 1,那么
F
y
=
1
(
x
)
F_{y=1}(\mathbf{x})
Fy=1(x)是对
x
\mathbf{x}
x提取得到的style code,但是其它branch
F
y
≠
1
(
x
)
F_{y\neq1}(\mathbf{x})
Fy=1(x)的输出,其实是没有意义的
Discriminator(Figure 2d)
判别器
D
D
D包含多个分支,每个分支
D
y
D_y
Dy负责判别在domain
y
y
y中图像的真假
Q:原版StarGAN的判别器只接收一个输入,如果额外接收一个label作为输入会怎样?
A:判别器只接收图像作为输入,输出real/fake和domain_id,等价于判别器接收图像和label作为输入,输出real/fake
2.2. Training objectives
Adversarial objective
在训练过程中,随机采样latent code
z
∈
Z
\mathbf{z}\in\mathcal{Z}
z∈Z以及target domain
y
~
∈
Y
\tilde{y}\in\mathcal{Y}
y~∈Y,然后生成target style code
s
~
=
F
y
~
(
z
)
\tilde{\mathbf{s}}=F_{\tilde{y}}(\mathbf{z})
s~=Fy~(z),接着使用
G
G
G生成图像
G
(
x
,
s
~
)
G(\mathbf{x}, \tilde{\mathbf{s}})
G(x,s~),于是adversarial loss定义如下
L
a
d
v
=
E
x
,
y
[
log
D
y
(
x
)
]
+
E
x
,
y
~
,
z
[
log
(
1
−
D
y
~
(
G
(
x
,
s
~
)
)
)
]
(
1
)
\begin{aligned} \mathcal{L}_{adv}=&\mathbb{E}_{\mathbf{x},y}\left [ \log D_y(\mathbf{x}) \right ]+\\ &\mathbb{E}_{\mathbf{x},\tilde{y},\mathbf{z}}\left [ \log\left ( 1-D_{\tilde{y}}\left ( G\left ( \mathbf{x},\tilde{\mathbf{s}} \right ) \right ) \right ) \right ] \qquad(1) \end{aligned}
Ladv=Ex,y[logDy(x)]+Ex,y~,z[log(1−Dy~(G(x,s~)))](1)
Style reconstruction
为了保证
G
G
G生成的图像包含了style code
s
~
\tilde{\mathbf{s}}
s~,定义style reconstruction loss如下
L
s
t
y
=
E
x
,
y
~
,
z
∥
s
~
−
E
y
~
(
G
(
x
,
s
~
)
)
∥
1
(
2
)
\mathcal{L}_{sty}=\mathbb{E}_{\mathbf{x},\tilde{y},\mathbf{z}}\left \| \tilde{\mathbf{s}}-E_{\tilde{y}}(G(\mathbf{x},\tilde{\mathbf{s}})) \right \|_1 \qquad(2)
Lsty=Ex,y~,z∥s~−Ey~(G(x,s~))∥1(2)
意思是将
E
E
E用来计算loss,如果生成的图像
G
(
x
,
s
~
)
G(\mathbf{x},\tilde{\mathbf{s}})
G(x,s~)被
E
E
E解码出来的style code与
s
~
\tilde{\mathbf{s}}
s~差异很大的话,说明
G
G
G没有按照
s
~
\tilde{\mathbf{s}}
s~去生成图像
style reconstruction loss可以看作是一种约束“相貌”的损失函数
Style diversification
为了保证
G
G
G生成图像的多样性,定义diversity sensitive loss如下
L
d
s
=
E
x
,
y
~
,
z
1
,
z
2
∥
G
(
x
,
s
~
1
)
−
G
(
x
,
s
~
2
)
∥
1
(
3
)
\mathcal{L}_{ds}=\mathbb{E}_{\mathbf{x},\tilde{y},\mathbf{z}_1,\mathbf{z}_2}\left \| G(\mathbf{x},\tilde{\mathbf{s}}_1)-G(\mathbf{x},\tilde{\mathbf{s}}_2) \right \|_1 \qquad(3)
Lds=Ex,y~,z1,z2∥G(x,s~1)−G(x,s~2)∥1(3)
对于
G
G
G来说,需要最大化公式(3),如果对于同一幅图像
x
\mathbf{x}
x使用两个完全不同的style code
z
1
,
z
2
\mathbf{z}_1, \mathbf{z}_2
z1,z2生成出来的图像很相像的话,那么说明
G
G
G的多样性不足
Since the objective does not have an optimal point, we linearly decay the weight of the loss to zero during training.
Preserving source characteristics
我们要求
G
G
G只改变图像与domain有关的部分,对于domain-invariant characteristics(比如pose,表情等)要求不变,通过cycle consistency loss来保证
L
c
y
c
=
E
x
,
y
,
y
~
,
z
∥
x
−
G
(
G
(
x
,
s
~
)
,
s
^
)
∥
1
(
4
)
\mathcal{L}_{cyc}=\mathbb{E}_{\mathbf{x},y,\tilde{y},\mathbf{z}}\left \| \mathbf{x}-G\left ( G\left ( \mathbf{x},\tilde{\mathbf{s}} \right ),\hat{\mathbf{s}} \right ) \right \|_1 \qquad(4)
Lcyc=Ex,y,y~,z∥x−G(G(x,s~),s^)∥1(4)
其中
s
^
=
E
y
(
x
)
\hat{\mathbf{s}}=E_y(\mathbf{x})
s^=Ey(x)是图像
x
\mathbf{x}
x的estimated style code
Full objective
L
D
=
−
L
a
d
v
(
5
)
\mathcal{L}_D=-\mathcal{L}_{adv} \qquad(5)
LD=−Ladv(5)
L
F
,
G
,
E
=
L
a
d
v
+
λ
s
t
y
L
s
t
y
−
λ
d
s
L
d
s
+
λ
c
y
c
L
c
y
c
(
6
)
\begin{aligned} \mathcal{L}_{F,G,E}&=\mathcal{L}_{adv}+\lambda_{sty}\mathcal{L}_{sty}\\ &-\lambda_{ds}\mathcal{L}_{ds}+\lambda_{cyc}\mathcal{L}_{cyc} \qquad(6) \end{aligned}
LF,G,E=Ladv+λstyLsty−λdsLds+λcycLcyc(6)
3. Experiments
Evaluation metrics.
衡量生成图像的评价指标有Frechét inception distance (FID)和learned perceptual image patch similarity (LPIPS)
3.1. Analysis of individual components
Baseline StarGAN的config包括:WGAN-GP、ACGAN discriminator、depth-wise concatenation
【总结】
StarGAN v2的优点是,训练数据只需要domain级别的标注,而不需要style级别的标注
缺点是对于只能处理一对domain
For multi-domain comparisons, we train these models multiple times for every pair of image domains.