这只狗,其实是猫变的:“撸猫神器”StarGAN v2来了!

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

微信图片_20220107221851.jpg


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


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


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


优秀的图像-图像转换模型需要学习不同视觉域之间的映射,要同时满足以下属性:


1)生成图像的多样性和


2)在多个域上的可扩展性。


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


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


Github资源地址:https://github.com/clovaai/stargan-v2 为了解决图片样式的多样性问题,过去的新方法向生成器加入了低维潜代码,从标准的高斯分布中随机采样。但是,由于这些方法仅考虑了两个域之间的映射,因此无法扩展到越来越多的域。例如,具有N个域,这些方法需要训练N(N-1)个生成器来处理每个域之间的转换,从而限制了它们的实际使用。 为了解决可扩展性问题,有研究提出了统一的框架。StarGAN 是最早的模型之一,它使用一个生成器来学习所有可用域之间的映射。生成器将域标签作为附加输入,并学习将图像转换为相应的域。但是,StarGAN仍然需要学习每个域的确定性映射,这可能无法获取数据分布的多模式性质。在给定源图像的情况下,它不可避免地在每个域中产生相同的输出。


StarGAN v2可以同时解决这两方面的问题,可以跨多个域生成不同的图像。该方法以StarGAN为基础,用特定域的样式代码替换原来的域标签,这些代码可以表示特定域的各种形式。StarGAN v2引入两个模块,一个映射网络和一个样式编码器。前者学习将随机高斯噪声转换为样式代码,后者学习从给定的参考图像中提取样式代码。 最后,利用这些样式代码,生成器会成功地在多个域上学习合成各种图像(图1)。StarGAN v2确实受益于新的样式代码的使用。与目前的SOTA方法相比,我们的方法可扩展到多个域,并且在视觉质量和多样性方面生成了性能更好的结果。  研究人员还提出了质量更高、变化范围更宽的动物面孔(AFHQ)新数据集,更好地评估域间和域内差异较大的图像-图像翻译模型的性能,并公布了数据集。


 微信图片_20220107221857.jpg


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


 微信图片_20220107221901.jpg


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


微信图片_20220107221908.png


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


微信图片_20220107221910.jpg


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


微信图片_20220107221912.png


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


微信图片_20220107221914.jpg


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



微信图片_20220107221916.png


训练

  • python main.py --phase train


测试

  • python main.py --phase test
  • celebA 测试图像和你想要的图像同时运行


预训练模型

  • 下载 celebA_checkpoint


结果 (128x128, wgan-gp)


女性


微信图片_20220107221918.jpg


男性


微信图片_20220107221920.jpg


预训练权重:


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


相关文章
|
机器学习/深度学习 自然语言处理 算法
浅述几种文本和图像数据增强的方法
在现实场景中,我们往往收集不到太多的数据,那么为了扩大数据集,可以采用数据增强手段来增加样本,那么平常我们应该怎么做数据增强的呢? 什么是数据增强 数据增强也叫数据扩增,意思是在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。
|
C++ Windows
VS Code 切换中英文
VS Code 切换中英文
2269 0
VS Code 切换中英文
|
5月前
|
人工智能 自然语言处理 数据可视化
揭秘 GitHub 154k star 爆款神器!一文掌握Stable Diffusion WebUI 的实用秘诀与场景
Stable Diffusion WebUI(A1111)是基于Gradio的开源图像生成界面,支持文本生成图像、图像生成图像等多种功能。自2022年发布以来,它凭借直观的滑块与开关设计、丰富的扩展生态(如ControlNet、LoRA等),成为兼容Windows、Linux、macOS的热门工具。其核心亮点包括多模式生成(txt2img、img2img等)、细节参数控制及个性化UI设置。适用于艺术创作、产品设计、广告营销等多个场景,对比ComfyUI和Fooocus,A1111以全面的功能和易用性脱颖而出,是AI绘图领域的首选工具之一。
651 0
|
机器学习/深度学习 数据采集 算法框架/工具
使用Python实现深度学习模型:智能野生动物保护与监测
使用Python实现深度学习模型:智能野生动物保护与监测
250 5
|
机器学习/深度学习 自然语言处理 并行计算
神经网络结构——CNN、RNN、LSTM、Transformer !!
神经网络结构——CNN、RNN、LSTM、Transformer !!
1111 0
|
XML 设计模式 Java
PowerMock的静态方法与私有方法怎么测试?
**PowerMock**是Java单元测试中的增强工具,扩展了Mockito,支持模拟静态方法、构造函数、私有方法和final类,促进更高测试覆盖率。它用于隔离依赖,测试静态方法和私有方法。常见问题包括配置复杂性、过度使用、忽略真实行为模拟和最佳实践。解决方案包括遵循官方文档、谨慎使用、精确模拟和测试后清理。示例展示了如何模拟静态方法,通过添加PowerMock依赖和使用`@RunWith(PowerMockRunner.class)`、`@PrepareForTest`注解,以及`PowerMockito.mockStatic()`进行静态方法模拟。
488 0
|
Web App开发 XML JavaScript
10个最好的 JavaScript 模板引擎
JavaScript随着各种神奇的实用功能库日渐丰富,而越来越受到Web开发者与设计师的追捧,例如:jQuery, MooTools, Prototype等。
2494 0
10个最好的 JavaScript 模板引擎
|
人工智能 Ubuntu C++
极智AI | ncnn模型转换及量化流程
本文介绍一下 ncnn 模型转换及量化流程,以 from_darknet yolov4 为例。
701 0
|
机器学习/深度学习 人工智能 自动驾驶
【AI 现况分析】AI 大模型在自动驾驶中的应用分析
【1月更文挑战第27天】【AI 现况分析】AI 大模型在自动驾驶中的应用分析
|
存储 机器学习/深度学习 算法
一文概述联邦持续学习最新研究进展(3)
一文概述联邦持续学习最新研究进展
672 0
一文概述联邦持续学习最新研究进展(3)