这篇paper将巧妙地将四个loss函数结合在一起,其中每一个loss的功能不同。但这篇paper不够elegant的地方也是loss太多!在本文中,我采用散文的写作方法谈谈自己对这篇paper的理解,其实质就是“想到哪,写到哪!”

 

如上图所示,(a)输入图像;(b)用随机square模板遮住输入图像一部分;(c)复原得到的图像。理想状态下,我们希望复原出的图像与输入图像完全一致(视觉上 and 语义上)。哈哈,这个不是很简单吗,我们可以用L2范数regularize输入图像与输出图像,理想状态下,输入图像与复原出的图像完全一致!恭喜你,回答正确!作者也这样试了试,结果如Figure 3 (c)所示。

哎呀!理想与现实差距有点大哦!仔细观察一下Figure 3 (c),我们可以得出结论:复原结果模糊、复原得到的patch有点像、复原patch的边缘清晰可见。其实,这个也很好理解,L2范数倾向于去平均,这样会丢失很多高频、低频信息,使得图像较为模糊、细节丢失。简而言之,复原图像与真实图像差距有点大!换句话说,就是复原图像看起来不真实!

这时候我脑海中浮现出一个概念,GAN的判决器不就是判定随机噪声生成图像(或者patch)是否真实的吗?哈哈,我们可以把这个思路搬过来哦!如果判决器判断不出来复原的图像是否是原图,这不就表明,复原得到的图像与原始图像一致吗?当然了,L2 loss还是必须的(可以理解为一个多任务学习)。说干就干,我直接判断生成的patch的是否真实,于是得到了Figure 3 (d)。看起来比之前好多了哦!细细看来,发现这个图片不是很真实,生成的patch在整幅图像中显得不协调!

不要灰心!生成的patch在整幅图像中看起来不协调,换一种理解方式就是:整幅图像看起来不真实吗?索性我在上述两个loss的基础上,再加上一个生成的全局图像是否真实的判定。这样是不是就保证了生成的patch在整幅图像中看起来比较自然些呢?请看Figure 3 (f)美女的大致轮廓已经显现,看起来也自然的多了!

等等!对于我这个美女控来说,怎么允许美女的脸颊有褶皱呢,参看Figure 3 (f)?男的吧,我忍了!哈哈!怎么办呢?我已经耗尽脑汁了!在山重水复疑无路时,我脑海中忽然浮现出一句诗“横看成岭侧成峰”。于是,我决定大胆试试,遮住美女或者帅哥的一只眼睛,看看复原的这只眼是不是与另外一只眼搭配呢?请看下图

在(c)中,我们可以明显感觉出,所说两只眼睛单独看没有问题,但是放在帅哥的脸上,怎么那么不自然呢?给人的感觉怪怪的!我们怎么才能使得他们协调一些呢?这个问题可理解为:保证两只眼睛大小一致、五官比例匀称等一些审美上的要求吧!

咯咯!这怎么和语义分割概念那么相似呢?假如,我能够事先知道一些五官布局之类的语义,这不就帮我解决上述问题了吗?说干就干,就给她引入语义信息!!!结果如(d),真是“千呼万唤始出来”哦!总算得到了让我满意的“帅哥”、“美女”图像!!!

说了这么多,我究竟在说的是什么呢?你是在搞图像处理呢,还是在干啥?恩,不能不务正业了,下面给您放出论文中的模型

是不是看着很熟悉的样子哦!Global discriminator就是判断复原图像是否真实的;local discriminator就是判断复原图像patch是否真实的。Parsing network那个是使得得到的人脸五官匀称、整齐的!至于L2 重构,您就自己意会一下吧!这不就是将我刚刚分析的几个要素整合到CNN网络中了吗?原理建模还可以这么理解哦!

明白了这篇paper的基本思路之后,下面就是在特定的数据集上训练我们的网络,当然了这个数据集必须包含作者需要的信息:GT parsing。作者选取的数据集是,CelebA。实际上,训练好这个网络之后,我们可以拿自己的人脸试试哦,看看是变帅了呢,还是变亮了呢?

说句话外话,Loss函数太多,每一个loss函数的权值怎么选,这个的确是个“黯然销魂”的问题,作者只是给出了权重,但是没有给出一些原则哦!如果您对鸟脸比较感兴趣,估计您得自己选择这些参数了哦!也许,您一下子就能选到了最佳组合,也许您在纠结到底什么权重是合适的呢?

以上就是自己一些粗浅的看法,不当之处,敬请各位批评指正!!!

论文笔记 Generative Face Completion的更多相关文章

  1. Face Aging with Conditional Generative Adversarial Network 论文笔记

    Face Aging with Conditional Generative Adversarial Network 论文笔记 2017.02.28  Motivation: 本文是要根据最新的条件产 ...

  2. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  3. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  4. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  5. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  6. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

  7. Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型

    看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...

  8. 论文笔记(1):Deep Learning.

    论文笔记1:Deep Learning         2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...

  9. 论文笔记(2):A fast learning algorithm for deep belief nets.

    论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm ...

随机推荐

  1. Docker - 访问仓库

    仓库与注册服务器 仓库(Repository)集中存放镜像的项目或目录. 注册服务器(Registry)管理仓库的服务器,服务器上可以有多个仓库,每个仓库有多个镜像. 例如:在仓库地址docker.i ...

  2. 微信创建带参数二维码并加上logo

    1.因为带参数二维码有两种,分别是字符参数,数值参数,因此,在写创建方法的时候,需要进行判断 public void ShowQcCode(N_WX_QrCode code) { QRCodeCrea ...

  3. jQuery中的选择器(下)

    这一篇主要写过滤选择器和表单选择器 在这里,我不再已表格形式说明(自己太懒了),主要以文字形式说明一下每个选择器的作用描述.  3.过滤选择器 过滤选择器主要是通过特定的过滤规则筛选出所需的DOM元素 ...

  4. java线程总结3--synchronized关键字,原理以及相关的锁

    在多线程编程中,synchronized关键字非常常见,当我们需要进行"同步"操作时,我们很多时候需要该该关键字对代码块或者方法进行锁定.被synchronized锁定的代码块,只 ...

  5. numpy之索引和切片

    索引和切片 一维数组 一维数组很简单,基本和列表一致. 它们的区别在于数组切片是原始数组视图(这就意味着,如果做任何修改,原始都会跟着更改). 这也意味着,如果不想更改原始数组,我们需要进行显式的复制 ...

  6. Natas Wargame Level 15 Writeup(Content-based Blind SQL Injection)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAq4AAACGCAYAAAAcnwh0AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF

  7. OpenCV探索之路(十):图像修复技术

    在实际应用中,我们的图像常常会被噪声腐蚀,这些噪声或是镜头上的灰尘或水滴,或是旧照片的划痕,或者是图像遭到人为的涂画(比如马赛克)或者图像的部分本身已经损坏.如果我们想让这些受到破坏的额图片尽可能恢复 ...

  8. SpringMVC 3.2集成Spring Security 3.2

    参考:http://www.cnblogs.com/Beyond-bit/p/springmvc_and_springsecurity.html SpringMVC 3.2集成Spring Secur ...

  9. javaWeb学习总结(11)- 监听器(Listener)学习

    一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其 实就是一个实现特定接口的普 ...

  10. cpp命名空间

    1.namespace:c++里面的所有标识符都被定义到名为std的namespace中,命名空间就是标识符的各种可见范围,控制其作用域. 2.std为c++标准命名空间,c++标准库里的标识符都定义 ...