9

这只狗,其实是猫变的:图像转换神器 StarGAN v2来了!

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzI5MDUyMDIxNA%3D%3D&%3Bmid=2247492856&%3Bidx=3&%3Bsn=ad82d03150b7a9036ed2276434a00140
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

加入极市 专业CV交流群,与 6000+来自腾讯,华为,百度,北大,清华,中科院 等名企名校视觉开发者互动交流!更有机会与 李开复老师 等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。 关注  极市平台  公众号  , 回复  加群, 立刻申请入群~

来源:新智元@微信公众号

编辑:大明、鹏飞

【导 读】 最新的神奇变脸工具StarGAN第二版来了! 这次不仅可以人变人,还能实现猫、狗、虎、豹各种动物无缝切换,输入图片给进去,想变什么自己挑!目前数据集和Github资源已开放。

猫变狗、狗变虎、虎变豹,男人变女人,无缝切换是个什么神奇体验?

最近,一家名为Clova Research的机构的研究团队就像让用户体验一把这种神奇,他们提出的StarGAN v2图像转换模型能够实现这一点。

StarGAN v2:青出于蓝,同时解决多样性和扩展性

优秀的图像-图像转换模型需要学习不同视觉域之间的映射,要同时满足以下属性: 1)生成图像的多样性和 2)在多个域上的可扩展性。 现有方法一般只能解决这两个问题的其中一个,即要么对于所有域,其呈现的多样性有限,要么需要使用多个模型。

StarGAN v2可以同时解决这两个问题,在CelebAHQ面部和新的动物面部数据集(AFHQ)上进行的实验表明,StarGAN v2在图像质量、多样性和可扩展性方面较基线标准和过去的模型均实现了提升。为了更好地评估模型,还发布了AFHQ数据集,该数据集具有较大域间和域内差异的高质量动物面部图像。

mAJBRfJ.jpg!web

考虑到每个图像域中的不同样式,理想的图像-图像转换应该能够合成图像。但是,设计和学习此类模型是很复杂的,因为数据集中可能涵盖大量图像模式和领域。

Github资源地址:

https://github.com/clovaai/stargan-v2

为了解决图片样式的多样性问题,过去的新方法向生成器加入了低维潜代码,从标准的高斯分布中随机采样。但是,由于这些方法仅考虑了两个域之间的映射,因此无法扩展到越来越多的域。例如,具有N个域,这些方法需要训练N(N-1)个生成器来处理每个域之间的转换,从而限制了它们的实际使用。

为了解决可扩展性问题,有研究提出了统一的框架。StarGAN 是最早的模型之一,它使用一个生成器来学习所有可用域之间的映射。生成器将域标签作为附加输入,并学习将图像转换为相应的域。但是,StarGAN仍然需要学习每个域的确定性映射,这可能无法获取数据分布的多模式性质。在给定源图像的情况下,它不可避免地在每个域中产生相同的输出。

StarGAN v2可以同时解决这两方面的问题,可以跨多个域生成不同的图像。 该方法以StarGAN为基础,用特定域的样式代码替换原来的域标签,这些代码可以表示特定域的各种形式。 StarGAN v2引入两个模块,一个映射网络和一个样式编码器。前者学习将随机高斯噪声转换为样式代码,后者学习从给定的参考图像中提取样式代码。

最后,利用这些样式代码,生成器会成功地在多个域上学习合成各种图像(图1)。StarGAN v2确实受益于新的样式代码的使用。与目前的SOTA方法相比,我们的方法可扩展到多个域,并且在视觉质量和多样性方面生成了性能更好的结果。 

研究人员还提出了质量更高、变化范围更宽的动物面孔(AFHQ)新数据集,更好地评估域间和域内差异较大的图像-图像翻译模型的性能,并公布了数据集。

IJZnq22.jpg!web

CelebA-HQ数据集和新收集的动物脸部(AFHQ)数据集上的各种图像合成结果。第一列显示输入图像,其余列是StarGAN v2合成的图像。

EZVFJzf.jpg!web

StarGAN v2由四个模块组成。(a)生成器将输入图像转换为反映域特定样式代码的输出图像。(b)映射网络将潜在代码转换为多个域的样式代码,其中一个是在训练期间随机选择的。(c)样式编码器提取图像的样式代码,允许生成器执行参考引导的图像合成。(d)判别器从多个域中区分真实图像和虚假图像。

2Ufii2U.png!web

CelebA-HQ数据集上各种配置的性能。Frechet初始距离(FID)表示真实图像和生成图像的两个分布之间的距离(越低越好),而学习到的感知图像斑块相似度(LPIPS)代表生成图像的多样性(越高越好)。

RbYBJjy.jpg!web

使用表1中的每种配置生成的图像的视觉比较。请注意,给定源图像,配置(A)-(C)提供单个输出,而(D)-(F)生成多个输出图像

7ZfQZ3m.png!web

潜在指导合成图片的定量比较。真实图像的FID由训练集和测试集之间计算。注意,由于测试图像的数量不足,它们可能不是最佳值。

UBbauyz.jpg!web

CelebA-HQ和AFHQ数据集上潜指导图像合成结果的定性比较。每种方法都使用随机采样的潜在代码将源图像(最左侧列)转换为目标域。(a)前三行对应于后三行中将男性转换为女性,反之亦然。(b)从顶部开始的每两行按以下顺序显示合成图像:猫-狗,狗-野生动物、野生动物-猫。

目前作者只是在上面发布了论文的链接,还没有给出StarGAN v2的实现代码,手痒的小伙伴可以先来回顾一下用TensorFlow实现StarGAN代码,只需要1天时间即可训练完。

TensorFlow模型的实现

要求:

  • Tensorflow 1.8

  • Python 3.6

> python download.py celebA

下载数据集

> python download.py celebA

JNbi2ez.png!web

训练

  • python main.py --phase train

测试

  • python main.py --phase test

  • celebA 测试图像和你想要的图像同时运行

预训练模型

  • 下载 celebA_checkpoint

结果 (128x128, wgan-gp)

女性

6B36Bj3.jpg!web

男性

AfUVj2A.jpg!web

预训练权重:

https://drive.google.com/open?id=1ezwtU1O_rxgNXgJaHcAynVX8KjMt0Ua-

训练时间: 少于 1 天

硬件: GTX 1080Ti

Github资源:

https://github.com/clovaai/stargan-v2

论文地址:

https://arxiv.org/pdf/1912.01865.pdf

-End-

CV细分方向交流群

添加极市小助手微信 (ID : cv-mart) ,备注: 研究方向-姓名-学校/公司-城市 (如:目标检测-小极-北大-深圳),即可申请加入 目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割、姿态估计、超分辨率、嵌入式视觉、OCR 等极市技术交流群 (已经添加小助手的好友直接私信) ,更有每月 大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流 一起来让思想之光照的更远吧~

RrYj22I.jpg!web

△长按添加极市小助手

Yjqyyiq.jpg!web

△长按关注极市平台

觉得有用麻烦给个在看啦~    uE7RJjy.gif


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK