• GAN Step By Step -- Step2 GAN的详细介绍及其应用


    GAN Step By Step

    logo

    心血来潮

    GSBS,顾名思义,我希望我自己能够一步一步的学习GAN。GAN 又名 生成对抗网络,是最近几年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频。GAN是一个图像的全新的领域,从2014的GAN的发展现在,在计算机视觉中扮演着越来越重要的角色,并且每年都能产出各色各样的东西,GAN的理论和发展都蛮多的。我感觉最近有很多人都在学习GAN,但是国内可能缺少比较多的GAN的理论及其实现,所以我也想着和大家一起学习,并且提供主流框架下 pytorch,tensorflow,keras 的一些实现教学。

    在一个2016年的研讨会,杨立昆描述生成式对抗网络是“机器学习这二十年来最酷的想法”。

    Step2 GAN的详细介绍及其应用

    GAN基本框架

    上一次已经介绍了一下GAN的基本框架和基本公式,如图所示


    10大典型的GAN算法

    GAN 算法有数百种之多,大家对于 GAN 的研究呈指数级的上涨,目前每个月都有数百篇论坛是关于对抗网络的。

    下图是2014-2018每个月关于 GAN 的论文发表数量:

    关于GANs的论文呈指数级增长

    如果你对 GANs 算法感兴趣,可以在 「GANs动物园」里查看几乎所有的算法。我们为大家从众多算法中挑选了10个比较有代表性的算法,技术人员可以看看他的论文和代码。

    在这里插入图片描述

    GAN MAPs

    接下来,我也会一一学习这些GAN的知识,一起遍历这个GAN的地图

    上面内容整理自《Generative Adversarial Networks – The Story So Far》原文中对算法有一些粗略的说明,感兴趣的可以看看。

    GAN的优缺点

    3个优势

    1. 能更好建模数据分布(图像更锐利、清晰)
    2. 理论上,GANs 能训练任何一种生成器网络。其他的框架需要生成器网络有一些特定的函数形式,比如输出层是高斯的。
    3. 无需利用马尔科夫链反复采样,无需在学习过程中进行推断,没有复杂的变分下界,避开近似计算棘手的概率的难题。

    2个缺陷

    1. 难训练,不稳定。生成器和判别器之间需要很好的同步,但是在实际训练中很容易D收敛,G发散。D/G 的训练需要精心的设计。
    2. 模式缺失(Mode Collapse)问题。GANs的学习过程可能出现模式缺失,生成器开始退化,总是生成同样的样本点,无法继续学习。

    Application


    姿势引导人形像生成

    通过姿势的附加输入,我们可以将图像转换为不同的姿势。例如,右上角图像是基础姿势,右下角是生成的图像。

    img


    下面的优化结果列是生成的图像。

    img


    该设计由二级图像发生器和鉴频器组成。生成器使用元数据(姿势)和原始图像重建图像。判别器使用原始图像作为CGAN设计标签输入的一部分。

    img


    CycleGAN

    跨域名转让将很可能成为第一批商业应用。GANs将图像从一个领域(如真实的风景)转换为另一个领域(莫奈绘画或梵高)。

    img


    例如,它可以在斑马和马之间转换图片。

    img


    Cyclegan构建了两个网络G和F来构建从一个域到另一个域以及反向的图像。它使用判别器d来批评生成的图像有多好。例如,G将真实图像转换为梵高风格的绘画,并且DY用于区分图像是真实的还是生成的。

    域A到域B:------------------------>

    bg right width:600px

    我们在反向域B域A中重复该过程:

    width:600px


    PixelDTGAN

    根据名人图片推荐商品已经成为时尚博客和电子商务的热门话题。Pixeldtgan的作用就是从图像中创建服装图像和样式。

    img


    bg  width:600px

    bg width:600px


    超分辨率

    从低分辨率创建超分辨率图像。这是GAN显示出非常令人印象深刻的结果,也是具有直接商业可能性的一个领域。

    img


    与许多GAN的设计类似,它是由多层卷积层、批标准化、高级relu和跳跃连接组成。

    img


    PGGAN

    Progressive GAN可能是第一个展示商业化图像质量的GAN之一。以下是由GAN创建的1024×1024名人形象。

    img


    它采用分而治之的策略,使训练更加可行。卷积层的一次又一次训练构建出2倍分辨率的图像。

    img


    在9个阶段中,生成1024×1024图像。

    img


    高分辨率图像合成

    需要注意的是这并非图像分割,而是从语义图上生成图像。由于采集样本非常昂贵,我们采用生成的数据来补充培训数据集,以降低开发成本。在训练自动驾驶汽车时可以自动生成视频,而不是看到它们在附近巡航,这就为我们的生活带来了便捷。

    网络设计:

    img

    bg right:30% width:600px


    文本到图像(StackGAN

    文本到图像是域转移GAN的早期应用之一。比如,我们输入一个句子就可以生成多个符合描述的图像。

    bg vertical width:600px

    bg right:60% width:600px


    文本到图像合成

    另一个比较通用的实现:

    img


    人脸合成

    不同姿态下的合成面:使用单个输入图像,我们可以在不同的视角下创建面。例如,我们可以使用它来转换更容易进行人脸识别图像。

    bg right width:700px


    图像修复

    几十年前,修复图像一直是一个重要的课题。gan就可以用于修复图像并用创建的“内容”填充缺失的部分。

    img


    学习联合分配

    用面部字符P(金发,女性,微笑,戴眼镜),P(棕色,男性,微笑,没有眼镜)等不同组合创建GAN是很不现实的。维数的诅咒使得GAN的数量呈指数增长。但我们可以学习单个数据分布并将它们组合以形成不同的分布,即不同的属性组合。

    width:800px

    bg right width:600px


    DiscoGAN

    DiscoGAN提供了匹配的风格:许多潜在的应用程序。DiscoGAN在没有标签或配对的情况下学习跨域关系。例如,它成功地将样式(或图案)从一个域(手提包)传输到另一个域(鞋子)。

    img

    DiscoGAN和cyclegan在网络设计中非常相似。


    img


    Pix2Pix

    PIX2PIx是一种图像到图像的翻译,在跨域Gan的论文中经常被引用。例如,它可以将卫星图像转换为地图(图片左下角)。

    img


    DTN

    从图片中创建表情符号。

    bg right:40% width:500px

    img


    纹理合成

    img


    图像编辑 (IcGAN)

    重建或编辑具有特定属性的图像。

    width:500px

    img


    人脸老化(Age-cGAN)

    width:500px

    img


    创建动画角色

    众所周知,游戏开发和动画制作成本很高,并且雇佣了许多制作艺术家来完成相对常规的任务。但通过GAN就可以自动生成动画角色并为其上色。

    center width:400px

    使用Generative Adversarial Networks创建自动动画人物角色


    生成器和判别器由多层卷积层、批标准化和具有跳过链接的relu组成。

    img


    神经照片编辑器

    基于内容的图像编辑:例如,扩展发带。

    img神经照片编辑


    细化图像

    img

    目标检测

    这是用gan增强现有解决方案的一个应用程序。

    img


    图像融合

    将图像混合在一起。

    img

    生成三维对象

    这是用gan创建三维对象时经常引用的一篇文章。

    img


    音乐的产生

    GaN可以应用于非图像领域,如作曲。

    img

    img


    医疗(异常检测)

    GAN还可以扩展到其他行业,例如医学中的肿瘤检测。

    img

    img

  • 相关阅读:
    pandas数据分析:十分钟快速入门重点函数速查
    acwing算法基础之数据结构--KMP算法
    《非暴力沟通》就是分享式沟通
    本地外卖市场趋势怎么样?成为行业黑马的机会有多大呢?
    理解MySQL的会话变量、局部变量和全局变量
    php沿河农产品特卖网站的设计与实现毕业设计源码201524
    HTML网页规划与设计【冬季奥林匹克运动会——带报告5200字】HTML+CSS+JavaScript
    Qt - 聊天室发送图片/文件
    使用Java实现电影权限管理系统
    轻松实现文件按大小归类保存,高效管理你的文件库!
  • 原文地址:https://blog.csdn.net/weixin_45508265/article/details/127091858