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

  • 论文阅读
    • ABSTRACT
    • INTRODUCTION
    • MODEL
      • Gengerator
      • Discriminator
    • LOSS FUNCTION
    • EXPERIMENTAL RESULTS
      • The detail of architecture
      • Some results
      • CAM analysis
      • AdaLIN analysis

论文阅读

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

network architecture

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

Gengerator

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

Discriminator

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

LOSS FUNCTION

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

EXPERIMENTAL RESULTS

The detail of architecture

generator architecture

local discriminator

global discriminator

Some results



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

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

CAM analysis


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

AdaLIN analysis


上图中,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进行综合,形成自适应的调整,得到更好的效果。

【PaddlePaddle】【论文复现】U-GAT-IT相关推荐

  1. 【PaddlePaddle论文复现】LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS阅读心得

    [PaddlePaddle论文复现]LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS阅读心得 作者:Andrew B ...

  2. 飞桨PaddlePaddle(论文复现)-BigGAN解读

    飞桨PaddlePaddle(论文复现)-BigGAN解读 先来看看效果(左上脚为生成的图像) 论文在现有GAN的基础上对生成样本的保真度与多样性之间的权衡进行改进 在ImageNet的128*128 ...

  3. 【PaddlePaddle论文复现营】Temporal Pyramid Network for Action Recognition

    [PaddlePaddle论文复现营]Temporal Pyramid Network for Action Recognition 写在前面的话 论文简介 从视频分类领域中的一个痛点谈起 相关工作 ...

  4. 飞桨PaddlePaddle论文复现:图像的一阶运动模型(初版)

    介绍 图片动画主要的任务是将源图像的'外表'提取出来和从驱动视频中提取出来的运动模式相结合. 本文和前任的最大区别是这个模型训练产生图像动画不需要网络有前置知识而仅仅依赖源图片和驱动视频进行生成,而且 ...

  5. 经典论文复现 | InfoGAN:一种无监督生成方法

    过去几年发表于各大 AI 顶会论文提出的 400 多种算法中,公开算法代码的仅占 6%,其中三分之一的论文作者分享了测试数据,约 54% 的分享包含"伪代码".这是今年 AAAI ...

  6. PaddlePaddle飞桨论文复现营——3D Residual Networks for Action Recognition学习笔记

    PaddlePaddle飞桨论文复现营--3D Residual Networks for Action Recognition学习笔记 1 背景知识 1.1 C3D C3D是一种3D卷积提取视频特征 ...

  7. 3D目标检测(单目)D4LCN论文复现(paddlepaddle)

    D4LCN: Learning Depth-Guided Convolutions for Monocular 3D Object Detection (CVPR2020) 基于深度引导卷积的单目3D ...

  8. 经典论文复现 | LSGAN:最小二乘生成对抗网络

    来源:PaperWeekly 本文约2500字,建议阅读10分钟. 本文介绍了经典AI论文--LSGAN,它比常规GAN更稳定,比WGAN收敛更迅速. 笔者这次选择复现的是 Least Squares ...

  9. 这场论文复现的华山论剑,谁能拔得头筹

    问世间,AI技术谁家最高? 每人都有不同的看法.而在各个市场调研机构的眼中,评价一家企业AI技术实力最直观的数据,就是其AI专利和相关论文的产出量. 而评价一个员工在AI方面能力的高低就要复杂一些.因 ...

最新文章

  1. win2003服务器记录文件夹,在Windows Server 2003里快速查找文件
  2. 《毅力-如何培养自律的习惯》读后感
  3. 在桌面拔和平精英改成计算机,和平精英一键修改画质电脑版
  4. linux 编译src.rpm,CentOS6.5下编译src.rpm包的内核
  5. 永恒纪元服务器维护时间,永恒纪元各个阶段玩法攻略指南少走弯路
  6. hdu 4318 Power transmission 临接表 广搜 多校联合赛(二) 第九题
  7. 用maven骨架新建项目以及解决速度慢的问题
  8. 计算机的概念与发展典型例题,计算机考试基本概念与典型例题.doc
  9. 知识改变命运 股市改变人生
  10. PopClip:你会热爱的文本穿梭机
  11. 考研英语 - word-list-30
  12. windows系统安全
  13. 超星作业文件解压和自动命名脚本
  14. 2016年终总结与来年计划
  15. 笔记本电脑不显示WIFI列表无法连接到网络的解决办法
  16. 应Oracle BEA定下每股21美元收购价
  17. 安卓获取string.xml文件里的值
  18. 安卓APP源码和设计报告——小说阅读器
  19. 学无止境啊,身体是革命本钱
  20. 财务计算机专业英文怎么说,财务与计算机 英文简历模板

热门文章

  1. 软件测试的类型有那些?都有什么不同?
  2. js UMD规范——AMD和CommonJS的糅合(一)
  3. 3.10 Maya历法
  4. 中兴防火墙配置_中兴防火墙命令手册 中兴c600基本命令
  5. Opencv C++图像处理(全)
  6. 利用mathematica画多个函数图像
  7. Python 多张 Excel 合并为一张 Excel
  8. 无线智能蓝牙追踪防丢器
  9. 薅羊毛软件-抢福袋源码分享
  10. 中国手机力推5G,却让苹果摘了桃子