【PaddlePaddle】【论文复现】Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation

论文阅读

ABSTRACT

文章提供一种新的无监督图片翻译(风格迁移之类)的方法,主要应用了一种新的注意力单元和一种新的归一化函数:

  1. attention module  与之前的注意力机制方法不同处理图片之间的geometric有所不同,论文使用辅助分类器得到的注意力特征图对图片需要整体的风格改变和large shape的改变都能起到较好的作用;
  2. Adaptive Layer-Instance Normalization 文章提出的AdaLIN函数可以更灵活地控制形状(shape)和上下文语义(texture)因为依赖数据集学习参数而引起的较大的变化。
    代码: https://github.com/znxlwm/UGATITpytorch

INTRODUCTION

图像到图像的翻译旨在学习一种将图像映射到两个不同领域的功能。该话题因其在图像修复等领域的广泛应用而受到机器学习和计算机视觉领域研究者的广泛关注。尽管取得了些进展,但先前的方法由于domains之间shape和texture的变化量而显示出性能差异。例如,它们对于映射局部纹理的风格迁移任务是成功的,但是对于在wild images中具有较大形状变化的图像翻译任务通常是不成功的。因此,通常需要预处理步骤,例如图像裁剪和对齐到达限制数据分布的复杂性以避免这些问题。此外,诸如DRIT 的现有方法,其图像翻译不能既保持shape,又能改变具有固定网络架构和超参数的形状。而且网络结构或超参数设置需要针对特定的数据集。

在这项工作中,文章提出了一种新的无监督图像到图像的翻译方法,该方法以端到端的方式结合了一个新的注意力模块和一个新的可学习的归一化函数。文章的模型通过基于辅助分类器获得的注意图区分源域和目标域来引导翻译关注更重要的区域而忽略次要区域。这些注意力图被嵌入到生成器和鉴别器中,以聚焦于语义上重要的区域,从而促进形状变换。虽然生成器中的注意图会将焦点集中在明确区分两个域的区域,但鉴别器中的注意图会通过关注差异来帮助微调目标域中真实图像和虚假图像的区分。除了注意机制之外,文章还发现,对于形状和纹理变化量不同的各种数据集,归一化函数的选择对转换结果的质量有显著影响。受批量实例归一化(BIN) 的启发,我们提出了自适应层属性归一化(AdaLIN),其参数是在训练期间通过自适应地选择实例归一化(IN)和层归一化(LN)之间的适当比率从数据集学习的。AdaLIN功能帮助我们的注意力导向模型灵活控制形状和纹理的变化量。因此,文章的模型在不修改模型架构或超参数的情况下,可以执行图像翻译任务,不仅需要整体改变,而且也需要大的形状变化。在实验中,文章展示了所提出的方法与现有的最先进的模型相比的优越性,不仅在style transfer上,而且在object transfiguration上。

MODEL

【PaddlePaddle】【论文复现】U-GAT-IT

network architecture

文章的目标是训练一个函数GstG_{s \to t},仅使用从每个domain提取的不成对样本,将图像从源域(source domain)XsX_{s}映射到目标域(target domain)XtX_{t}的测试。文中的框架由两个生成器组成GstG_{s \to t}GtsG_{t \to s}和两个鉴别器DsD_{s}DtD_{t}。文章将注意力模块集成到生成器和鉴别器中。鉴别器中的注意力模块引导生成器关注对生成真实图像至关重要的区域。生成器中的注意模块将注意力放在与其他域不同的区域。在这里,文中只详细介绍了GstG_{s \to t}GtsG_{t \to s}反之亦然。

Gengerator

x{Xs,Xt}x\in\{X_{s},X_{t}\}代表来自source和target的样本。其中model GstG_{s \to t}由编码器EsE_{s}、解码器GtG_{t}以及一个辅助分类器ηs\eta_{s}组成,ηs\eta_{s}表示 xx 来自于XsX_{s}的概率。Esk(x)E_{s}^{k}(x)代表编码器中第 kk 张注意力图,其中Eskij(x)E_{s}^{k_{ij}}(x)表示第(i,j)(i,j)处的值。ηs\eta_{s}是用来学习source中第kk 张特征图的权重,wskw_{s}^{k},其主要通过全局平均池化和全局最大池化得到,ηs(x)=σ(kwskijEskij(x))\eta_{s}(x)=\sigma(\sum_{k} w_{s}^{k}\sum_{ij}E_{s}^{k_{ij}}(x))。通过wskw_{s}^{k}便能求注意力特征图as(x)=wsEs(x)={wskEsk(x)1kn}a_{s}(x)=w_{s}*E_{s}(x)=\{w_{s}^{k}*E_{s}^{k}(x)|1\le k\le n \},其中nn是编码器中特征图的数量。因此,translation model GstG_{s \to t} 就等同于 Gs(as(x))G_{s}(a_{s}(x))。对于AdaLIN函数则设置为:
AdaLIN(α,β,γ)=γ(ραI^+(1ρ)αL^+β,αI^=αμIσI2+ϵ,αL^=αμLσL2+ϵ(1) AdaLIN(\alpha,\beta,\gamma)=\gamma\cdot(\rho\cdot\hat{\alpha_{I}}+(1-\rho)\cdot\hat{\alpha_{L}}+\beta,\\ \hat{\alpha_{I}}=\frac{\alpha-\mu_{I}}{\sqrt{\sigma_{I}^2+\epsilon}},\hat{\alpha_{L}}=\frac{\alpha-\mu_{L}}{\sqrt{\sigma_{L}^2+\epsilon}} \tag{1} ρclip[0,1](ρτΔρ) \rho\leftarrow clip_{[0,1]}( \rho-\tau\Delta\rho)
其中,μI,μL\mu_{I},\mu_{L}σI,σL\sigma_{I},\sigma_{L}代表通道和层的均值和标准差。 β,γ\beta,\gamma是通过全连接层生成的,τ\tau是学习率,ρ\rho的值被限制在0到1之间,当其值更接近于1时,说明实例归一化(IN)更重要,反之,则是层归一化更重要。ρ\rho的值通过网络之间学习来进行调节。对于解码器的residual blocks,ρ\rho 的初值设置为1,而对于其up-sampling blocks则设置为0。

Discriminator

x{Xt,Gst(Xs)}x \in \{X_{t},G_{s \to t}(X_{s})\}代表来自target和source通过生成器生成的样本。同生成器一样,其中model DtD_{t}由编码器EDtE_{D_{t}}、分类码器CDtC_{D_{t}}以及一个辅助分类器ηDt\eta_{D_{t}}组成,不同于生成器的是ηDt(x)\eta_{D_{t}}(x)Dt(x)D_{t}(x)是被训练用来辨别 xx 是来自于XtX_{t}还是 Gst(Xs)G_{s \to t}(X_{s})。对于一个样本xxDtD_{t}ηDt(x)\eta_{D_{t}}(x)训练出来的编码特征图EDt(x)E_{D_{t}}(x)中的 wDtw_{D_{t}} 得到的注意力特征图 aDt(x)=wDtEDt(x)a_{D_{t}}(x)=w_{D_{t}}*E_{D_{t}}(x)。然后,discriminator DtD_{t} 就等同于 CDt(aDt(x))C_{D_{t}}(a_{D_{t}}(x))

LOSS FUNCTION

Loss 分为四部分
Adversarial loss 是转换后的图片与target图片分布差异的loss
Llsganst=(ExXt[(Dt(x))2]+ExXs[(1Dt(Gst(x)))2])(2) L_{lsgan}^{s \to t}=(\mathbb{E}_{x \sim X_{t}}[(D_{t}(x))^2]+\mathbb{E}_{x \sim X_{s}}[(1-D_{t}(G_{s \to t}(x)))^2]) \tag{2}
Cycle loss 为了缓解模式坍塌的问题,使用 cycle consistency 来对生成器进行限制,考虑图片xXsx \in X_{s}经过一系列的转换使得 xxXsX_{s}XtX_{t} ,又从 XtX_{t}XsX_{s},最后图片是可以成功转换回原域的
Lcyclest=ExXs[xGts(Gst(x))1](3) L_{cycle}^{s \to t}=\mathbb{E}_{x \sim X_{s}}[|x-G_{t \to s}(G_{s \to t}(x))|_{1}] \tag{3}
Identity loss 确保输入的颜色分布和输出的颜色分布相近,使用 identity consistency 对生成器进行限制,考虑图片xXsx \in X_{s},使用 Gst(x)G_{s \to t}(x) 进行转换后不应该发生改变
Lidentityst=ExXt[xGst(x)1](4) L_{identity}^{s \to t}=\mathbb{E}_{x \sim X_{t}}[|x-G_{s \to t}(x)|_{1}] \tag{4}
CAM loss 挖掘来自辅助分类器 ηs\eta_{s}ηDt\eta_{D_{t}} 的信息。考虑图片x{Xs,Xt}x\in\{X_{s},X_{t}\}Gst(x)G_{s \to t}(x)DtD_{t} 经过CAM知道什么地方需要改善以及目前两个domains之间最大的差别在什么地方
Lcamst=(ExXs[log(ηs(x))]+ExXt[1log(ηs(x))])(5) L_{cam}^{s \to t}=-(\mathbb{E}_{x \sim X_{s}}[log(\eta_{s}(x))]+\mathbb{E}_{x \sim X_{t}}[1-log(\eta_{s}(x))]) \tag{5} LcamDt=ExXt[(ηDt(x))2]+ExXs[1ηDt(Gst(x)))2](6) L_{cam}^{D_{t}}=\mathbb{E}_{x \sim X_{t}}[(\eta_{D_{t}}(x))^2]+\mathbb{E}_{x \sim X_{s}}[1-\eta_{D_{t}}(G_{s \to t}(x)))^2] \tag{6}
Full objective 是encoders, decoders, discriminators, and auxiliary classifiers的loss总和
minGst,Gts,ηs,ηtmaxDs,Dt,ηDs,ηDtλ1Llsgan+λ2Lcycle+λ3Lidentity+λ4Lcam(7) \mathop{min}\limits_{G_{s \to t},G_{t \to s},\eta_{s},\eta_{t}}\mathop{max}\limits_{D_{s},D_{t},\eta_{D_{s}},\eta_{D_{t}}} \lambda_{1} L_{lsgan}+ \lambda_{2} L_{cycle}+ \lambda_{3} L_{identity}+ \lambda_{4} L_{cam} \tag{7}
其中λ1,λ2,λ3,λ4\lambda_{1},\lambda_{2},\lambda_{3},\lambda_{4}分别为1,10,100,1000。其中Llsgan=Llsganst+LlsgantsL_{lsgan}=L_{lsgan}^{s \to t}+L_{lsgan}^{t \to s},其余几个也是同样的定义。

EXPERIMENTAL RESULTS

The detail of architecture

【PaddlePaddle】【论文复现】U-GAT-IT

generator architecture

【PaddlePaddle】【论文复现】U-GAT-IT

local discriminator

【PaddlePaddle】【论文复现】U-GAT-IT

global discriminator

Some results

【PaddlePaddle】【论文复现】U-GAT-IT
【PaddlePaddle】【论文复现】U-GAT-IT
其中(a)是原图片,(b)-(d)分别来自生成器、Local 和 global 判别器的注意力图,(e)是文章实验的结果,(f)-(j)是其他模型生成的图片。

以及不同评价指标下U-GAT-IT的表现,可以看出来都是非常优秀的。
【PaddlePaddle】【论文复现】U-GAT-IT
【PaddlePaddle】【论文复现】U-GAT-IT

CAM analysis

【PaddlePaddle】【论文复现】U-GAT-IT
上图中(a)是原图片,(b)-(d)分别来自生成器、Local 和 global 判别器的注意力图,(e)是进行使用了CAM,而(f)没有使用CAM。
如图(b)注意力特征图帮助生成器关注了原图片domain中与目标图片domain中差异更大的区域比如眼睛、嘴之类的。并且通过local和global判别器的注意力图可视化可以看出这些往往是判断目标图片是真是假的重要依据。比如图(f)眼睛和其他部分风格就未进行转换。

AdaLIN analysis

【PaddlePaddle】【论文复现】U-GAT-IT
上图中,a)是原图片,b)是文章的结果, c)是只在带有CAM的decoder中使用IN,d)是只在带有CAM的decoder中使用LN,e)是只在带有CAM的decoder中使用AdaLIN,f)是只在带有CAM的decoder中使用GN。
如图c)只用IN进行归一化,原图片的特征是进行了很好地保存,但是目标图片的风格未进行到充分的转换,d)只用LN进行归一化,则起到相反的作用。反观文章的结果使用 ρ\rho 来对IN和LN进行综合,形成自适应的调整,得到更好的效果。

相关文章: