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. html5-figure和figcaption元素

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  2. sitecore系统教程之内容编辑器

    内容编辑器   内容编辑器是一种编辑工具,可用于管理和编辑网站上的所有内容.它专为熟悉Sitecore及其包含的功能的经验丰富的内容作者而设计. 内容编辑器的外观和功能取决于用户的角色,本地安全设置以 ...

  3. Python学习记录之-----类

    面向过程 VS 面向对象 编程范式 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大 ...

  4. xmldecoder漏洞

    https://blog.csdn.net/youanyyou/article/details/78990312

  5. Sqoop 学习之路

    sqoop 基础知识和基本操作可以参考这篇博客:https://www.cnblogs.com/qingyunzong/p/8807252.html#_label3

  6. tensorflow学习5----GAN模型初探

    生成模型: 通过观测学习样本和标签的联合概率分布P(X,Y)进行训练,训练好的模型能够生成符合样本分布的新数据,在无监督学习方面,生成式模型能够捕获数据的高阶相关性,通过学习真实数据的本质特征,刻画样 ...

  7. window、linux安装jdk,excel 导入oracle,WebService,window 端口查看,svn服务安装,oracle用户解锁

    内存泄露分析插件http://download.eclipse.org/mat/1.3/update-site/birt插件http://download.eclipse.org//birt/upda ...

  8. ORM some

    1 -- 增 models.表名(类).objects.create(字段1=值,字段2=值) 查 models.表名(类).objects.get(pk = 3) models.表名(类).obje ...

  9. Oracle 数据库实现数据合并:merge

    1.使用update进行数据更新 1)最简单的更新 update tablea a set a.price=1.00 2)带条件的数据更新 update tablea a set a.price = ...

  10. python requests接口测试

    Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最 ...