论文题目:U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation(2019-7-25)

code:https://github.com/taki0112/UGATIT(tensorflow版本)/ https://github.com/znxlwm/UGATIT-pytorch(pytorch版本)

论文主要贡献:解决无监督的图像翻译问题,当两个域的图像的纹理和形状差别很大时,现有的一些经典模型(cyclegan、UNIT、MUNIT、DRIT等)效果不佳,这些算法适用于两个域的差别不大时,如photo2vangogh和photo2portriat,而cat2dog和selfie2anime(自拍到漫画)效果不好,本文通过引入attention module和AdaLIN(Adaptive Layer-Instance Normalization)能在几何形变很大的情况下仍然有好的效果,当然形变不大时效果也超过了现有的经典方法,是SOTA,同时本文的网络结构和超参数在所有实验的数据集上是不变的,而现有的经典方法则需要精细化调参;

本文实验数据集:总共5个数据集;详细信息参见论文;

horse2zebra and photo2vangogh:这两个数据集主要是cyclegan论文实验的数据集;

cat2dog and photo2portrait:这两个数据集主要是DRIT实验的数据集;

selfie2anime:本文额外的数据集,自拍到漫画人脸,其中漫画数据集从http://www.anime-planet.com/采集,然后利用程序https://github.com/nagadomi/lbpcascade animeface检测出漫画人脸,crop后通过超分辨率得到256*256的漫画数据,注意不是直接resize;而且只挑出女性人脸训练测试;

效果图:

可见确实该方法效果很不错,值得尝试;

网络结构:

该论文主要创新点是两处,一个是将attention机制引入生成器和判别器;另一个是在生成器的解码阶段采用自适应的ILN层(Adaptive ILN---adaptive instance-layer normalization);

具体的attention是通过网络的encode编码阶段得到特征图,例如C*H*W,然后通过对特征图的最大池化成C*1*1,经过全连接层输出一个节点的预测logits,然后将这个全连接层的参数(可以知道是C个w权重),和特征图相乘得到最大池化attention的特征图,同样对特征图均值池化然后同样的操作得到均值池化attention的特征图,将两个特征图concat得到C*2通道的H*W的特征图,然后将新的特征图经过1*1卷积将通道改变成C送入decode解码阶段,同时通过将特征图flaten经过全连接得到C通道的gama和beta,作为AdaILN的参数,其中解码器的残差网络部分用AdaILN,upsample上采样部分用ILN,ILN中的所有超参数是可学习的,同样的attention操作作用于判别器;具体的过程参见作者的源代码(下篇blog详细解读),比较容易理解;

从attention的权重获取可知该论文借鉴了CAM(Class Activition Map,一般还有Grad-CAM,主要用于画热力图,变相表示网络的attention)

补充:生成器的Encode采用IN,Decode的resnetAdaILN用的AdaILN,Decode的Upsample用的ILN,判别器用的SN;

文章中说IN比LN更容易保持原图像的语义信息,但是风格转换不彻底;LN风格转换更彻底,但是语义信息保存不足,因此才有了自适应的ILN层,控制IN和LN的比例;

从上图看出:photo2portait和photo2vagogh的数据集的rogh偏向于1,说明这两个数据集更偏向于IN;

同时生成器用Relu,判别器用LRelu,斜率0.2;

网络参数如下:

实验结果:

主客观评价都很好,Excellent的效果;推荐精读论文;

补充说明:

将AdaILN换成其他Normalization的方式结果如下:

不加attention的结果:

U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization相关推荐

  1. AniGAN: Style-Guided Generative Adversarial Networks for Unsupervised Anime Face Generation

    AniGAN: Style-Guided Generative Adversarial Networks for Unsupervised Anime Face Generation论文阅读 Gith ...

  2. 论文翻译:2019_Bandwidth Extension On Raw Audio Via Generative Adversarial Networks

    论文地址:原始音频的带宽扩展通过生成对抗网络 博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/10661950.html 摘要 基于神经网络的方法最 ...

  3. ESRGAN - Enhanced Super-Resolution Generative Adversarial Networks论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

  4. Training generative adversarial networks with limited data.

    Karras, Tero, et al.Training generative adversarial networks with limited data.(2020). 用有限的数据生成对抗式网络 ...

  5. 生成对抗网络(Generative Adversarial Networks,GAN)初探

    1. 从纳什均衡(Nash equilibrium)说起 我们先来 看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句 ...

  6. GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks论文翻译以及理解

    GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks论文翻译以及理解 格式:一段英文,一段中 ...

  7. ESRGAN - Enhanced Super-Resolution Generative Adversarial Networks论文翻译——中文版

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

  8. MM2018/风格迁移-Style Separation and Synthesis via Generative Adversarial Networks通过生成性对抗网络进行风格分离和合成

    Style Separation and Synthesis via Generative Adversarial Networks通过生成性对抗网络进行风格分离和合成 0.摘要 1.概述 2.相关工 ...

  9. 生成式对抗网络(Generative Adversarial Networks,GANs)

    1. 简介 首先简要介绍一下生成模型(Generative model)与判别模型(Discriminative mode)的概念: 生成模型:对联合概率进行建模,从统计的角度表示数据的分布情况,刻画 ...

最新文章

  1. redis安装过程中遇到的问题
  2. app让个别界面横屏,其他的为竖屏,解决如下
  3. android出现adpt2的问题,android - 尝试在空对象引用上调用接口方法'int android.database.Cursor.getCount()'[重复] - 堆栈内存溢出...
  4. 雄迈400万TF卡内核补丁
  5. 用户识别率提升 25 倍 | 看神策数据如何利用 ID-Mapping 激活全域营销
  6. ECCV 2020 Spotlight | 多标签长尾识别前沿进展
  7. 搜索二维矩阵 II—leetcode240
  8. Dapr + .NET 实战(七)Secrets
  9. Abiword页面布局
  10. Linux 系统检测工具
  11. git-基本操作的小结
  12. linux的ftp指令发邮件,三种使用Linux命令发送邮件
  13. 【go网络编程】-HTTP编程
  14. 使用Pytorch来拟合函数
  15. 《Using OpenRefine》翻译~8
  16. Python 正则表达式匹配中文
  17. mysql中大文本的数据类型
  18. .Net Self Hosting 的几种方式
  19. L9954LXP_特殊功能,车门模块驱动器
  20. 状态机----C语言实现

热门文章

  1. Android之模拟美图看看拖动看图(16)
  2. vmware workstation pro15 安装win10系统详细无错步骤
  3. 经验分享之二:单片机懵懂的入门
  4. 微服务架构集大成者—Spring Cloud (转载)
  5. SSH远程端口转发(打洞)
  6. dqn系列梳理_我梳理了乡村爱情和刘老根中的重要人物,发现赵本山真是宇宙中心...
  7. 爬虫工程师如何绕过验证码?寻找阿登高地之路
  8. 数值计算方法之数值积分与微分
  9. 实验法确定控制对象模型的几种方法:
  10. Android 10.0 禁用Recent键(任务键)