019_SSSS_High-Resolution Image Synthesis and Semantic Manipulation with Conditioanl GANs

High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs(Pix2PixHD)

1. Introduction

本文也是GAN的经典文章之一,也称作Pix2PixHD。针对Pix2Pix为代表的的Conditional GAN在语义图像生成上存在的生成结果分辨率和真实度比较低的问题,本文用了一种新的对抗损失,并用多尺度的生成器和判别器结构,从而可以得到高分辨率2048x1024的结果,而且结果也有较高的真实性。

本文的主要贡献:

  1. 提出了一种新的GAN的对抗损失,和新的多尺度的生成器和判别器结构,从而能够生成高分辨率高真实度的图像。
  2. 为了支持交互式的语义编辑,本文做出了两方面的额外扩展。一个是使用instance-level的图像分割信息,从而可以单独的编辑单独的实例,提高了语义编辑的灵活性。比如可以添加或者去除某个物体,或者改变为其他物体。另一个是本文提出了一种可以在给定输入相同的语义图的情况下,生成多样性的结果。

2. Method

2.1 The Pix2Pix Baseline

本质上本文的方法还是一种Conditional GAN,其基础还是Pix2Pix。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UwEpgYQq-1667135187642)(res/019/001.png)]

Pix2Pix用到的就是最基础的GAN损失,但是这种方法在Cityscape上只能得到256x256的结果,再提高分辨率的话,会出现训练不稳定的情况,并且得到的结果并不能令人满意。

2.2 Improving Photorealism and Resolution

这部分介绍本文如何提高生成结果的真实度和分辨率。

2.2.1 Coarse-to-fine generator

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YqA8hzRK-1667135187642)(res/019/002.png)]

如图所示,一目了然,作者将生成器分成两个部分,生成器G2的前半部分将高分辨率的图像编码为低尺度的特征,然后生成器G1将低分辨率的语义图像转化为真实图像,然后生成器G2的后半部分结合前半部分的信息和G1的输出,得到高分辨率的图像。作者称G1为global generator network,称G2为local enhancer network。

这种结构可以继续扩展,比如在G={G1,G2}两种尺度条件下,可以得到2048x1024的结果,而再扩展一层local enhancer network G3,则可以得到4096x2048的结果。

2.2.2 Multi-Scale discriminator

相应的,生成器可以得到高分辨率的图像,那么判别器也要能处理高分辨率的图像。如果只用一个判别器网络,那就需要堆叠大量的卷积层,从而使得网络有更大的感受野来更好的分辨图像的,但是这样会使得判别器网络规模过大。

于是作者提出了一种多尺度的discriminator。作者用了三个判别器网络,这三个判别器网络结构相同,而且比较简单,但是输入分别是不同尺度的图像。这三个不同尺度的图像分别是高分辨率图像及其降采样2倍和4倍的图像。

于是GAN的损失就需要是一个多任务学习的损失:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SIkcqZp7-1667135187643)(res/019/003.png)]

2.2.3 Improved adversarial loss

为了提升生成结果的真实度,作者加入了特征匹配的损失。具体做法就是,利用多尺度的Discriminator中间层的结果作为特征,将生成器生成的结果与ground truth的图像经过discriminator第k层时的特征之间的差别作为损失。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DDwwUGY7-1667135187643)(res/019/004.png)]

与上一部分的多任务的GAN损失结合,可以得到整体的损失表示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BtSKSjrl-1667135187643)(res/019/005.png)]

2.3 Using Instance Map

这部分介绍作者如何加入实例层的信息。

一般情况下,语义图(semantic/label map)中每个类别的物体会有一个单独的颜色来表示,但是同一类的不同物体则没有表示出来。比如在cityscape数据集中,人都是用红色来表示的,但是这个人的性别是男是女则不能通过语义图得到。另外一些语义图给每一个物体一个单独的ID,但是这样的语义图很复杂。

于是本文的作者用了一种相对高效而又比较简单的方法。对于一张输入的图像,作者先计算其对应的边界图(boundary map)。也就是说语义图中某一点的像素值跟它的四个相邻的点像素值不同的话,那么其对应的边界图中点的值为1,否则为0。得到边界图后,与语义图concat起来一起作为生成器的输入。而判别器的输入则是语义图,边界图,和生成结果或是ground truth进行concat。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AjJgAmdd-1667135187643)(res/019/006.png)]

2.4 Learning an Instance-level Feature Embedding

这个部分介绍作者如何实现同样的语义图生成多种不同的结果。

为了得到多样的结果,作者在训练的时候加入了一个编码器网络E用来得到每个instance对应的低维的特征编码。而在训练的时候,这个网络的输出作为生成器输入的一部分,也就是说生成器的输入除了条件图像外还有低维的特征编码G(s, E(x))。

在训练结束后,将所有的instance对应的低维编码进行K-means聚类。

这样在采样阶段对于每个instance,从其对应的K-means中随机取出一个出来,这样同一个instance就有可能出现不同的低维特征编码,从而有不同的属性。比如对于一个气球的instance,可以出现不同的颜色。那么一张图中多个instance就会出现不同的组合。生成的结果也就有了多样性。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LbSR9QYv-1667135187644)(res/019/007.png)]

3. Experiments

实验部分作者分别在Cityscapes,NYU Indoor RGBD,ADE20K,Helen Face四个数据集上测试了模型的性能。
并且进行了一些Ablation Study来证明本文的改进的有效性。
具体实验结果参考原文。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XPpnghmQ-1667135187644)(res/019/008.png)]

ug871-vivado-high-level-synthesis-tutorial.pdf是有关Vivado高级综合教程的文档。该文档提供了使用Vivado高级综合工具的指南和教程,以帮助开发人员更高效地进行数字设计。 Vivado是赛灵思公司开发的综合工具套件,用于设计和实现数字电路。高级综合是一种将高级语言(如C或C++)转换为硬件描述语言(如VHDL或Verilog)的技术。它使开发人员能够使用更高级的语言进行设计,并将其转换为硬件电路,从而加快设计过程的速度。 在ug871-vivado-high-level-synthesis-tutorial.pdf中,开发人员将学习如何使用Vivado高级综合工具来创建和转换高级语言设计。文档以简单易懂的方式介绍了Vivado高级综合工具的基本概念和操作步骤。 该教程包含以下主要内容: 1. 介绍了高级综合的基本原理和优势,以及该技术可以加快设计速度的原因。 2. 解释了Vivado高级综合工具的功能和特点,以及如何进行安装和配置。 3. 提供了使用Vivado高级综合工具进行设计的具体步骤和操作指南。其中包括创建高级语言设计文件、设定综合目标和选项、运行综合和优化过程等。 4. 展示了如何生成和验证转换后的硬件电路,并进行仿真和测试。 5. 提供了一些示例案例,帮助开发人员更好地理解和应用Vivado高级综合工具。 通过学习和应用ug871-vivado-high-level-synthesis-tutorial.pdf中的内容,开发人员可以更有效地利用Vivado高级综合工具进行数字设计。这将使他们在开发过程中节省时间和精力,并且能够更快地实现设计目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值