Ting-Chun Wang, Ming-Yu Liu, Jun-Yan Zhu, Andrew Tao, Jan Kautz, and Bryan Catanzaro. "High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs", in CVPR, 2018.

摘要:

我们提出了一个新方法,使用CGANs从语义标签图生成高分辨率的逼真图像。CGANs已经被应用在多种场景,但是其结果总是局限在低分辨率,还不够真实。在这个工作中,我们通过一个新的对抗损失,新的多尺度生成器和判别器架构,来生成2048x1024的吸引人的结果。此外,我们还通过两个附加特性将框架扩展到交互式可视化操作。首先,我们合并了物体的实例分割信息,它支持对物体的操作,例如删除/添加对象和更改对象类别。此外,我们提出了一种方法,在相同的输入条件下生成不同的结果,支持用户交互式地更改物体外观。人类的意见研究表明,我们的方法明显优于现有的方法,提高了深度图像合成和编辑的质量和分辨率。

介绍

实现以下功能:
主功能:通过一个新的对抗损失和多尺度生成器、判别器来生成高清图像,同时perceptual loss可进一步略微提高合成效果。
交互式拓展1:使用实例级物体分割信息,可进一步提高图像质量,实现对物体的灵活修改(物体增删,换类别)。
交互式拓展2:提取实例级特征,实现一对多的图像生成,支持物体的特征编辑。

方法

1. 主功能

主功能是一个coarse to fine的过程。分为三个部分:coarse-to-fine generator, multi-scale discriminators, improved adversarial loss。

  • coarse-to-fine generator
    生成器由两个子网络G1和G2组成,其中G1是全局生成器,G2是局部增强生成器。
    G1的架构是基于[22]的,有三部分:a convolutional front-end G1(F) , a set of residual blocks G1(R) [18], and a transposed convolutional back-end G1(B)。输入输出的分辨率均为1024*512。
    G2的结构与G1相同,三部分G2(F), G2(R), G2(B)。不同于G1的是,G2的输入标签图和输出图像分辨率为2048*1024。另一个不同点是,G2(R)的输入是G2(F)和G1(B)的输出(最后一层)的feature map的element-wise sum。
    训练过程中,先训练G1,后训练G2,再一起fine-tune。

  • multi-scale discriminators
    使用多尺度判别器做高分辨率判别器,即3个相同网络架构但处理图像尺寸不同的判别器。处理图像的尺寸分别是2048*1024,1024*512,512*256。训练时分别用三种尺度的真假图像训练判别器。
    其中,处理coarsest尺度的判别器有最大的感受野,更全局的视野,能使生成器生成全局一致(连续)的图像。处理finest尺度的判别器能使得生成器产生更精细的细节。
  • improved adversarial loss
    添加一个基于判别器的feature matching loss,稳定训练。即从判别器的中间层提取特征,学习匹配真实图像和生成图像的这些中间表示。(具体含义还得看代码参透)

    这个feature matching loss 和perceptual loss相关。实验中讨论了两个loss一起提高性能的效果。
    加入了feature matching loss的目标函数如下:

2. 交互式扩展1

原理:提出实例图中最重要的信息是物体边界,因此计算实例边界图(instance boundary map)。
计算方法:一个像素点与周围四个像素标签全部相同则赋值0,否则赋值1。即边界处为1,物体内部为0。
具体实现:实例边界图和语义标签图(原输入)的one-hot vector表示串联,输入生成器。同样,判别器的输入是实例边界图、语义标签图和真假图像这三者的通道级串联。
效果:加入实例边界图的模型能生成更真实的物体边界。

3. 交互式扩展2

原理:提出添加低维特征通道作为生成器的输入,从而可以通过修改这些特征来对生成图像进行灵活控制。
计算方法:训练一个编码器网络E,来寻找对应于图像中每个实例的目标的低维特征向量。编码器架构是标准的encoder-decoder网络。在encoder的输出层加上实例级的平均池化层来计算实例的平均特征,然后平均特征传播给该实例的所有像素点。
具体实现:训练中,编码器和生成器判别器一起训练。一旦编码器训练好,就在训练集中所有实例上运行编码器来记录得到的特征。然后对每个语义类别的所有特征执行k-means聚类算法,从而每个聚类都编码了一个特定风格的特征。在推断阶段,随机选取一个聚类中心作为特征,这个特征将和标签图一起输入到生成器中。

实现

实现细节:lambda = 10,K = 10(k-means),
Baselines:pix2pix,CRN
评价准则:语义分割scores,MTurK


论文中方法较多,n个问题有待解答。看代码后再补充。

#论文笔记# [pix2pixHD] High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs的更多相关文章

  1. 论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN

    论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN ICCV 2017 Paper: http://op ...

  2. [论文笔记][半监督语义分割]Universal Semi-Supervised Semantic Segmentation

    论文原文原文地址 Motivations 传统的训练方式需要针对不同 domain 的数据分别设计模型,十分繁琐(deploy costs) 语义分割数据集标注十分昂贵,费时费力 Contributi ...

  3. 论文笔记:Concept Mask: Large-Scale Segmentation from Semantic Concepts

    Concept Mask: Large-Scale Segmentation from Semantic Concepts 2018-08-21 11:16:07 Paper:https://arxi ...

  4. Video Frame Synthesis using Deep Voxel Flow 论文笔记

    Video Frame Synthesis using Deep Voxel Flow 论文笔记 arXiv 摘要:本文解决了模拟新的视频帧的问题,要么是现有视频帧之间的插值,要么是紧跟着他们的探索. ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. DNS 解析流程

    DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工 ...

  2. Cookie操作类、 包括创建、读取、修改、获取、销毁cookie

    Cookie操作类. 包括创建.读取.修改.获取.销毁cookie import java.util.Hashtable; import java.util.Iterator; import java ...

  3. ILMerge最佳实践

    背景 为了生成的代码更加简捷,复制方便,常常会把多个可执行文件合并成一个. 方案 Project=>Properties=>Build Events=>Edit Post-build ...

  4. 如何规避javascript多人开发函数重名问题

    命名空间 封闭空间 js模块化mvc(数据层.表现层.控制层) seajs(如果了解的呢,可以说) 变量转换成对象的属性 对象化

  5. React 常用面试题目与分析

    调用 setState 之后发生了什么? 在代码中调用setState函数之后,React 会将传入的参数对象与组件当前的状态合并,然后触发所谓的调和过程(Reconciliation).经过调和过程 ...

  6. django 定时脚本

    python 第三方定时执行 from datetime import datetime import time import os from apscheduler.schedulers.backg ...

  7. java中FILE类常用API介绍

  8. js确定来源页然后跳转

    <script type="text/javascript"> function Navigate() { if(document.referrer == 'http: ...

  9. SolrCloud中的文件与Collection管理

    转载请出自出处:http://eksliang.iteye.com/blog/2124078 http://eksliang.iteye.com/ 一.内嵌启动SolrCloud时端口默认分配 当 S ...

  10. CodeForces - 721E

    题目大意 现有一个长为 L的数轴,你要从0走到 L 给出n个互不相交的可行域. 你要选择长度为p的段,要求每一个段都要在可行域内. 选完一段之后下一段要么和其相接,要么和其间距至少为t,求问最多能选择 ...