首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

生成对抗网络在图像生成上的一些应用

这两年里在CV领域最热门的话题,除了ResNet, 应该就是生成对抗网络(GAN)了。而GAN自从Ian Goodfellow 在2014年提出,到现在已经在各个领域展示了其巨大的影响力。尤其是在图像生成领域,已经做出了很多神奇的应用。

不同名字的GAN的数量增长

一. GAN 的 基本思路

GAN的思想很简单,是由两个网络组成的,一个是生成器,一个是识别器。这两个都是神经网络。 生成器的输入是随机噪音,输出是目标的向量。 识别器是一个分类器,输入是一个向量,输出是判断该向量是否是真实的。 举个例子,在人脸图像的生成上,生成器的输入是一个随机的矩阵,输入就是一张人脸图片。而识别器的输入是一张图片,输出是该图片是真的人脸图片 还是 假的人脸图片。

GAN的基本架构(来自Goodfellow的NIPS Tutorial)

本质上说来,GAN 是要训练一个生成模型,这个模型目标是生成数据的分布是和真实数据的分布一致的。而真实数据的分布通常是未知的。因此需要一个分类器来生成决策边界,来和生成器一起拟合出可能的分布形状。这上面在理论上其实并不完备,因此需要很多的tricks来保证能训练出可用的模型。

比较分布的相似度的不同方式(来自 DeepMind的报告Understanding GAN)

在尝试的过程中,大家找了各种各样的方法,包括不同的结构,不同的cost, 不同的分布相似度计算方式等等等等,于是就有了各种各样的GAN。

二. 基于GAN的图像生成(Image-to-Image Translation)

图像生成的目标是希望把某一个领域的图片(文字)转成另一个领域的图片,并保留原始图片的内容信息。比如把一张图片从黑白的变成彩色的,或者从低分辨率的变成高分辨率的。

对于图片生成的任务来说,最重要的是要保持两个一致性:

a. 内容的一致性(content consistency), 就是说转换前后的图像在语义上应该是一致的。转换前的图像上有一只鸟,不能转换后图像上变成了一个虫子。

b. 领域的一致性(domain consistency), 就是说转换后的图像是要和目标的领域一致的。想要从白天的图片转成黑夜的图片,转换后的图片就要是晚上的,而不是雨天的。

不同的图像生成的任务(来自pix2pix 论文)

在这个领域上面,GAN取得了非常巨大的成功,尤其是17年CVPR的pix2pix 论文 和 后续的pix2pixHD文章,在方法论和效果上都很惊艳。而pix2pix 和 其他基于GAN的论文的成功,很大程度上都来自于其对于传统CV方法 和 ResNet结构的借鉴,从而从GAN的训练更可控,也能产生令人惊奇的效果。

U-Net used in pix2pix

其中pix2pix使用conditional-GAN的方式,在目标函数中增加L1-Norm的cost, 来保证输入和输出的content consistency. 同时使用U-Net的方式,用skip-connection的方式把图片的low-level feature也保留起来,而这些low-level feature是对图像的细节信息有很重要的指导作用。

pix2pixHD的效果,从左边的label 生成右边的图像

而pix2pixHD在pix2pix的基础继续改进,通过coarse-to-fine的方式,让GAN可以生成1024*2048大小的图像。

coarse-to-fine 生成器

整体的思路是先训练一个小一点的图像生成器,然后在前后再接上一个downsample 和 up-sample 的网络,来训练生成 更大的一个图像生成器。同时在识别的时候,也在每一个scale都加上一个识别器,来计算模型在不同scale上的生成error. 此外像边缘信息,同一个class的feature 做average pooling等tricks也应用来取得更好的效果。

在图像生成上,除了pix2pix 和pix2pixHD之外,还有cycleGAN, LAPGAN 等一些很有用的GAN。从这些GAN出发,可以有很多有意思的应用。

比如基于cycleGAN的 把马转变成斑马

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

还有从游戏场景生成真实场景的

Semantic-awareGrad-GAN

当然也可以用来生成女朋友~~

https://zhuanlan.zhihu.com/p/26639135

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180211A16J7Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券