系列文章目录
======================================================
专题-生成对抗网络
第一节 GAN
第二节
第三节 生成对抗网络系列—CycleGAN
第四节 生成对抗网络系列—ACL-GAN
======================================================
生成对抗网络系列—ACL-GAN
背景
这篇文章研究的场景是:paired image to image translaction, 与CycleGAN相同:在Unpaired场景下, 有两个域: 源域 X S X_{S} XS 和 目标域 X T X_{T} XT, X = X S ∪ X T X=X_{S} \cup X_{T} X=XS∪XT, 其对应的分布分别为: p S p_{S} pS, p T p_{T} pT, p X p_{X} pX。
这篇文章解决的问题:Cycle-consistency loss 由于严格的像素级约束 (例如CycleGAN中作者使用L1距离逐像素度量原图像与Cycle恢复后图像之间的差距),它无法执行几何更改,移除大物体或忽略无关的纹理
。为了克服这个问题,作者提出了所谓的Adversarial consistence loss (ACL)。
模型
ACL-GAN由5个Module组成:两个Generator,三个Discriminator, 具体如下:
G
S
:
(
x
,
z
)
→
x
S
G_{S}: (x,z) \rightarrow x_{S}
GS:(x,z)→xS: 将任意域的图像映射到源域;
G
T
:
(
x
,
z
)
→
x
T
G_{T}: (x,z) \rightarrow x_{T}
GT:(x,z)→xT: 将任意域的图像映射到目标域;
D
S
D_{S}
DS: 源域上的Discriminator;
D
T
D_{T}
DT: 目标域上的Discriminator;
D
^
\hat{D}
D^ 一致性判别器;
注
:1.
z
∈
N
(
0
,
1
)
z \in N(0, 1)
z∈N(0,1), 每个Generator本身由Noise encoder, encoder,和decoder三部分组成,Noise encoder服务于Indentity loss。
2.Generator的设计中融入噪声也是一个常用的技巧,也是ACL-GAN发挥作用的关键因素之一。
损失函数
损失函数由三部分组成: (1) Adversarial translation loss; (2) Adversarial consistency loss; (3) Inentity loss and mask.
(1)Adversarial translation loss
Adversarial translation loss比较常规,由两部分组成, 分别是源域和目标域上的, 损失形式与GAN类似:
先来看目标域上的:
其中正样本为
x
T
x_{T}
xT, 负样本为
x
ˉ
T
=
G
T
(
x
S
,
z
1
)
\bar{x}_{T}=G_{T}(x_{S}, z_{1})
xˉT=GT(xS,z1),
z
1
∈
N
(
0
,
1
)
z_{1} \in N(0, 1)
z1∈N(0,1)
再来看源域上的:
其中正样本为
x
S
x_{S}
xS, 负样本由
x
^
S
=
G
S
(
x
ˉ
T
,
z
2
)
\hat{x}_{S}=G_{S}(\bar{x}_{T}, z_{2})
x^S=GS(xˉT,z2)和
x
~
S
=
G
S
(
x
S
,
z
3
)
\tilde{x}_{S}=G_{S}(x_{S}, z_{3})
x~S=GS(xS,z3)组成,
z
2
,
z
3
∈
N
(
0
,
1
)
z_{2},z_{3} \in N(0, 1)
z2,z3∈N(0,1)
注:可以看到,源域上和目标域上的Adversarial translation losss稍有不同
,源域上的负样本多了
x
~
S
\tilde{x}_{S}
x~S, 而目标域中却没有负样本
x
~
T
\tilde{x}_{T}
x~T,
把上面两个合并起来就是:
(2)Adversarial consistency loss
动机:为了在转换后的图像中保存原图中的重要特征,提出了对抗一致性损失Adversarial consistency loss,通过一个一致性判别器
D
^
\hat{D}
D^ 实现:
D
^
\hat{D}
D^以
x
S
x_{S}
xS为参考,并采用成对的图像作为输入,以使生成器最小化联合分布
(
x
S
,
x
^
S
)
(x_{S}, \hat{x}_{S})
(xS,x^S)和联合分布
(
x
S
,
x
~
S
)
(x_{S}, \tilde{x}_{S})
(xS,x~S)之间的距离。
损失形式如下:
注:输入噪声z非常重要
,它使得对于每个
x
∈
x
S
x \in x_{S}
x∈xS,
G
S
(
x
,
z
3
)
G_{S}(x,z_{3})
GS(x,z3)可以有很多个,即所谓的多模态输出(multi-modal outputs), 否则的话,该损失项将退化为使得
x
^
S
\hat{x}_{S}
x^S与
x
S
x_{S}
xS相同,即Cycle-consistency loss。
(3)**Inentity loss **
动机:为了保证当把目标域的样本作为Generator的输入时,Generator近似于恒等映射,提出了Inentity loss。
Inentity loss的计算需要借助两个噪声编码器:
E
S
z
:
X
S
→
Z
E_{S}^{z}: X_{S} \rightarrow Z
ESz:XS→Z和
E
T
z
:
X
T
→
Z
E_{T}^{z}: X_{T} \rightarrow Z
ETz:XT→Z,
Inentity loss形式如下:
(4)Bounded focus mask
动机:实际中,某些应用程序要求生成器仅修改源图像的某些区域,而其余部分保持不变, 这就需要借助Mask。
具体来说,我们让Generator产生四个通道,其中前三个是RGB图像的通道,第四个称为有界聚焦区域,其值在0到1之间。
其中:
x
S
x_{S}
xS是源图像,
x
T
′
x_{T}^{'}
xT′是生成器的前三个输出通道,
x
m
x_{m}
xm是有界聚焦罩(即生成器的第四个输出通道)。
L
m
a
s
k
L_{mask}
Lmask定义如下:
注:最终
L
m
a
s
k
L_{mask}
Lmask会基于图像的size被归一化。
总的损失函数形式如下:
References
1.Unpaired Image-to-Image Translation using Adversarial Consistency Loss, ECCV, 2020