一.论文采用的新方法

1.AttGan中skip connect的局限性

  由于encoder中对特征的下采样实际上可能损失部分特征,我们在decoder中进行上采样和转置卷积也无法恢复所有特征,因此AttGan考虑采用了skip connect,这种跳跃连接最初是resnet中为了解决网络层数过深带来的梯度爆炸和梯度消失无法训练的问题,笔者认为在人脸属性编辑这里并非是这一用途,而是为了保持最初人脸的特征。但是这一做法仍然具有其局限性,根据实验,重建图像的质量明显上升,但是控制图像属性的能力却有所下降。

  为了解决这一问题,在这篇论文中,提出了采用selective transfer units来自适应的选择encoder属性的办法解决这一问题。

  (对上面这一点的理解,我咨询了师兄,得到了解释。即encoder的结果有一些是不需要改变的,因为有的属性并不需要更改,这个时候把它skip过去就会有利于这部分区域的重建,但如果是需要改变的区域,encoder这块区域的特征直接skip过去的话,decoder就会倾向于利用这块的特征,因为还有GAN Loss和重建Loss在,所以就会导致修改效果很差。所以加上STU,就是让他自适应的选择不需要改的区域传到decoder,而让需要改的区域用的decoder改之后的feature来做生成)

2.采用差分属性向量作为输入

  在AttGan和StarGan中,都是采用源图像和目标属性完整向量作为generator的输入的,但是这样操作可能会改变一些我们无需改变的属性,为了解决这一问题,我们将差分向量作为generator的输入

  这么做的好处不仅能使该向量简化,因为目标向量和源向量往往只有细微的不同,从而简化训练过程。而且可以提高生成图像的质量,并且差分向量在实际中更好提供(笔者对这一点持怀疑态度)。

3.选择性转换单元(Selective Transfer Units)

  上面我们已经讲过了采用STU的原因,STU的结构是在GRU的基础上修改而成的。

  首先我们采用转置卷积对连接的l+1层的隐状态和差分向量做处理,改变其size。  

  然后我们用STU自适应的改变隐状态和transformed encoder feature。

  重置门r和更新门z的引入使得能自适应的改变encoder feature。

STU                                                       GRU

  上面给出了STU和GRU的结构图,STU和后者的不同是STU同时输出了sl和flt,而后者只输出了flt,而后者只输出了flt。至于这么做的原因,在后面介绍网络结构的时候就可一目了然

二.论文网络架构

  本网络主要由generator和discriminator两部分组成,上面展示了generator的主要结构,左边是encoder,右边是decoder。encoder由5个卷积层组成,decoder由5个反卷积层组成。STU用在除了第五个卷积层后。而discriminator有两部分att和adv两部分,adv用来判断图像的真假,att和adv共享卷积参数,并用全连接层用来预测生成图的属性。

  

  针对STU,其作用表示如下:

  除了第五个encoder的结果,其余的encoder feature都通过了STU的处理,部署在不同层的STU不共享参数。

  我们将encoder看成是一个整体,那么其功能可以写作

   

  对于整个generator,其功能为

三.损失函数

1.Reconstruction loss

  当target图像和source图像的属性完全相同时,reconstruction loss显然为0。根据这一基准,论文定义rec loss为

2.Adversarial loss

  这里采用了WGAN-GP的方法定义adv loss。

3.Attribute manipulation loss

  这部分为属性编辑误差,采用了交叉熵损失函数。

4.模型总优化目标

四.代码解析

STGAN: A Unified Selective Transfer Network for Arbitrary Image Attribute Editing 阅读笔记和pytorch代码解读的更多相关文章

  1. 《Macro-Micro Adversarial Network for Human Parsing》论文阅读笔记

    <Macro-Micro Adversarial Network for Human Parsing> 摘要:在人体语义分割中,像素级别的分类损失在其低级局部不一致性和高级语义不一致性方面 ...

  2. Deep Transfer Network: Unsupervised Domain Adaptation

    转自:http://blog.csdn.net/mao_xiao_feng/article/details/54426101 一.Domain adaptation 在开始介绍之前,首先我们需要知道D ...

  3. “Triplet network”三元组网络阅读笔记

    记录<DEEP METRIC LEARNING USING TRIPLET NETWORK>阅读笔记 文章总体内容: 作者在前人提出的多个特征提取方法的基础上提出Triplet netwo ...

  4. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  5. Selective Kernel Network

    senet: https://arxiv.org/abs/1709.01507 sknet: http://arxiv.org/abs/1903.06586 TL, DR Selective Kern ...

  6. 论文阅读笔记四十六:Feature Selective Anchor-Free Module for Single-Shot Object Detection(CVPR2019)

    论文原址:https://arxiv.org/abs/1903.00621 摘要 本文提出了基于无anchor机制的特征选择模块,是一个简单高效的单阶段组件,其可以结合特征金字塔嵌入到单阶段检测器中. ...

  7. BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 阅读笔记

    1.BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 文献简介文献来源 ...

  8. 论文阅读笔记四:CTPN: Detecting Text in Natural Image with Connectionist Text Proposal Network(ECCV2016)

    前面曾提到过CTPN,这里就学习一下,首先还是老套路,从论文学起吧.这里给出英文原文论文网址供大家阅读:https://arxiv.org/abs/1609.03605. CTPN,以前一直认为缩写一 ...

  9. 《Network Security A Decision and Game Theoretic Approach》阅读笔记

    网络安全问题的背景 网络安全研究的内容包括很多方面,作者形象比喻为盲人摸象,不同领域的网络安全专家对网络安全的认识是不同的. For researchers in the field of crypt ...

  10. HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK阅读笔记

    HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL  DEEP  CONVOLUTIONAL NEURAL NETWORK 论文地址:https:/ ...

随机推荐

  1. .net session_end

    在做asp.net编程开发的时候,我遇见这样的问题,一个用户只能在一台机器上登录, 如果有用户在其他机器上登录,系统将提示该用户已经登录!当前登陆非法!我的做法是: 用Application变量保存已 ...

  2. iOS 10 UserNotifications 使用说明

    本教程以贴代码为主.尽可能直观,少量说明. 注意:XCode8的需要手动开启主target Capabilities中的Push Notification. 关于创建多个target后真机测试的证书问 ...

  3. 13.SpringMVC和Spring集成(一) &amp;&amp; 14.SpringMVC和Spring集成(二)

    1.概念 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,Spring致力于J2EE应用的各层的解决方案,Spring是企业应用开发的“一站式”选择,并贯 ...

  4. [BTS] Error biztalk arguments null exception string reference not set to an instance of a string. parameter name

    biztalk arguments null exception string reference not set to an instance of a string. parameter name ...

  5. servlet &amp; filter &amp; listener &amp; interceptor

    web.xml 的加载顺序是:context- param -> listener -> filter -> servlet * Servlet 对URL生效,用户处理用户的URL请 ...

  6. 实战:sqlserver 数据实时同步到mysql

    1.安装安装mysqlconnector 2.配置mysqlconnector ODBC数据管理器->系统DSN->加入->mysql ODBC 5.3 ANSI driver-&g ...

  7. Hive 7、Hive 的内表、外表、分区

    1.Hive的内表 Hive 的内表,就是正常创建的表,在 http://www.cnblogs.com/raphael5200/p/5208437.html 中已经提到: 2.Hive的外表 创建H ...

  8. ACC(Attribute Component Capability) 即特质,组件,能力

    这是一种测试计划的替代方法. ACC的指导原则如下: 1. 避免散漫的文字,推荐使用简明的列表.并不是所有的测试人员都想当小说家,也不具备将一个产品的目标或测试需求表达成散文的技能. 2.不必推销.测 ...

  9. zabbix 使用问题两个--中文乱码,以及监控ESXi下的虚拟机

    1. 中文乱码 最开始中文显现 长方形不显示文字.解决办法: c:\windows\fonts 下面复制 楷体的字体(字体随意看自己喜欢) 文件名一般为: simkai.ttf 2.将simkai.t ...

  10. lucene使用与优化

    lucene使用与优化 1 lucene简介 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品.因此它并不像www.baidu.com 或者google Desktop那么拿 ...