Face Aging with Conditional Generative Adversarial Network 论文笔记

2017.02.28 

Motivation:

  本文是要根据最新的条件产生式对抗玩网络(CGANs)来完成,人类老年照片的估计。

  主要是做了一下两个事情:

    1. 根据年龄阶段,进行照片的老年估计,用 acGAN 网络来完成;

    2. 提出一种 隐层变量优化算法(latent vector optimization approach),允许 acGAN 可以重构输入人脸图像,与此同时,保留原本人脸的个体。

    

  猛地一看,这个流程图,其实是挺迷惑人的,我感觉。

  按照上述流程图,来看看作者想要达到什么效果:

  1. 首先给定一张输入图像 x ,假设年龄记为 y0,找到一个最优的隐层向量 z*,使得可以产生一个重构的人脸 x-,尽可能的和初始的人脸尽可能的相似。

  2. 给定一个目标年龄 $y_{target}$,产生一张结果人脸图像 $x_{target} = G(z*, y_{target})$,简单的完成年龄的切换。

  其实,这个文章是做了这么一个事情:

  结合 条件产生式对抗网络 和 隐层向量之间的loss 来完成整个网络的训练。

  首先,作者是在给定一张图像的基础上,进行人脸的老化估计。作者这里考虑了 输入随机 noise 对最终结果的影响。

    自己随机的产生了一堆 noise Z,然后在条件--->> 年龄这个标签的条件下,利用对抗网络生成许多伪造的 image ;

    由于是自己根据 noise z 生成的,这里相当于是 已经有了 groundtruth,我们训练一个 encode 网络,将输入的人脸图像,估计其 编码后的 向量 z* ;

    通过不断地训练,可以得到 能够预测图像隐层编码的网络 Encoder 。

  

  其次,我们文章的一个很重要的卖点在于,可以保持生成图像和输入图像是 相同的身份,是同一个人,那么,这里是怎么做到的呢?

    因为我们知道,GAN 生成的数据,一般都是看起来有模有样,但是实际上是很难控制输出什么的。

    本文之所以可以做到这一点,就是因为,在生成图像的过程中,加入了隐层变量 z 之间的 loss,即:

    

    这样在生成图像过程中,考虑生成的图像和原始输入图像之间的隐层向量 z 之间的差距,尽可能的小,就可以将这个事情 model 的非常好!

  总结起来就是,在生成图像的过程中,首先学习一个编码网络,可以预测图像的隐层变量。然后在 GAN 过程中,加入这个 loss,作为衡量输出图像质量好坏的一个标准。

  这样,生成的人脸图像,不但可以尽可能的和原始图像保持是同一个人,另外,又可以,在条件 年龄的基础上,生成对应年龄阶段的人脸图像。

  

  大致就是这么个流程。有任何疑问,请发邮件与我联系! wangxiaocvpr@foxmail.com

Face Aging with Conditional Generative Adversarial Network 论文笔记的更多相关文章

  1. 论文阅读:Single Image Dehazing via Conditional Generative Adversarial Network

    Single Image Dehazing via Conditional Generative Adversarial Network Runde Li∗ Jinshan Pan∗ Zechao L ...

  2. StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记

    StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks  本文将利 ...

  3. 论文笔记之:Conditional Generative Adversarial Nets

    Conditional Generative Adversarial Nets arXiv 2014   本文是 GANs 的拓展,在产生 和 判别时,考虑到额外的条件 y,以进行更加"激烈 ...

  4. 论文阅读之:Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network

    Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network  2016.10.23 摘要: ...

  5. ASRWGAN: Wasserstein Generative Adversarial Network for Audio Super Resolution

    ASEGAN:WGAN音频超分辨率 这篇文章并不具有权威性,因为没有发表,说不定是外国的某个大学的毕业设计,或者课程结束后的作业.或者实验报告. CS230: Deep Learning, Sprin ...

  6. Speech Super Resolution Generative Adversarial Network

    博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/10874993.html 论文作者:Sefik Emre Eskimez , Kazuhito K ...

  7. 生成对抗网络(Generative Adversarial Network)阅读笔记

    笔记持续更新中,请大家耐心等待 首先需要大概了解什么是生成对抗网络,参考维基百科给出的定义(https://zh.wikipedia.org/wiki/生成对抗网络): 生成对抗网络(英语:Gener ...

  8. GAN Generative Adversarial Network 生成式对抗网络-相关内容

    参考: https://baijiahao.baidu.com/s?id=1568663805038898&wfr=spider&for=pc Generative Adversari ...

  9. Conditional Generative Adversarial Nets

    目录 引 主要内容 代码 Mirza M, Osindero S. Conditional Generative Adversarial Nets.[J]. arXiv: Learning, 2014 ...

随机推荐

  1. cookie中存取中文

  2. QTCreator 调试:unknown debugger type "No engine"

    [1]QTCreator调试,应用程序输出:unknown debugger type "No engine" 如图:下断点->调试程序->应用程序输出 说明:调试器无 ...

  3. linux常用命令:nl 命令

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  4. DataBase(28)

    1.数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立.使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完 ...

  5. JAVA中异常状况总结

    之前在<会当凌绝顶>这本书中学到过对于异常处理的知识,当时也是根据书上的代码,自己进行编写大概知道是怎么回事儿,王老师给我们上了一节课之后,发现异常处理可以发挥很大的作用.  通过在网络上 ...

  6. 20165316 实验四 Android程序设计

    20165316 孙勖哲 第四次实验 Android 程序设计1 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID, 安装 Andr ...

  7. doc&Alt+/ 快捷键设置&ThreadLocal Fameset与Frame区别

    Alt+/不管用原因:新版本中MyEclipse的Alt+/是别的快捷键,Ctrl+Space是提示标签快捷键,而Ctrl+Space与输入法切换冲突不能用.MyEclipse设置Alt+/快捷键 1 ...

  8. bzoj3196 二逼平衡树

    题目链接 平衡树系列最后一题 坑啊 10s时间限制跑了9764ms...还是要学一学bit套主席树啦... 经典的线段树套treap...至于第一发为什么要TLE(我不会告诉你treap插入的时候忘了 ...

  9. sudo: apt-get: command not found

    apt-get是debian(Ubuntu)才有的包管理器,而在Apple 的OS X系统中是没有的. brew(全称Homebrew)是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或 ...

  10. 【附】Python安装

    Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上. 首先要实现Python安装及环境变量配置,然后会得到Python解释器(就是负责运行Python程序的), ...