OpenMMLab 生成模型算法库发布,打工人也能玩转图像生成

OpenMMLab 生成模型算法库发布,打工人也能玩转图像生成

❕❕❕ 看这里看这里看这里

 

Hello,各位小伙伴们好。今天想跟大家介绍一下我们 OpenMMLab 的新成员:

 

✨ MMGeneration ✨

MMGeneration 基于 PyTorch 和 MMCV,是一个针对生成模型而设计的开源框架。生成模型是计算机视觉领域重要组成部分,像目前比较火爆的 StyleGAN, BigGAN 以及最新的 DALL-E 都属于这个范畴。

 

相信不少小伙伴都至少刷到过各种新闻里,譬如建国同志会唱歌之类的小视频,多少接触到过生成模型。简而言之,生成模型是以拟合真实数据的分布为目标,从而能够生成以假乱真样本的计算机视觉任务。

 

OpenMMLab 生成模型算法库发布,打工人也能玩转图像生成

(图片来自于 StyleGAN2 和 BigGAN 论文以及 DALL-E 官方网站)

这么有趣的研究方向,作为一个计算机视觉开放体系,OpenMMLab 怎能不把其涵盖其中。这不,MMGeneration 就来了嘛:

 

Repo 地址:
https://github.com/open-mmlab/mmgeneration

 

欢迎大家 STAR、WATCH、FORK、提 issue

 

0 简介

 

目前,MMGeneration 已集成 Unconditional GANs, Internal GANs 以及 Image Translation Models,总共 9 种目前流行的算法(该项目也会持续更新维护,也欢迎大家给我们提 PR,ISSUE)。

 

同时,MMGeneration 还提供了 51 个高质量的预训练模型,以及其完整的精度对齐过程。值得一提的是,这些与训练模型中包括非常耗费资源的 StyleGAN2 FFHQ1024 和 LSUN-Car 训练对齐。这也进一步验证了我们框架的正确性,小伙伴们可以放心使用呐。

 

下图是我们用自己训练出来模型生成的图片拼成的 MMGen 的 logo 哦~

 

OpenMMLab 生成模型算法库发布,打工人也能玩转图像生成

1 实用工具

 

另外,在训练可视化方面我们也有做考量。在 MMGeneration 中,你可以随时看到模型训练的效果(如下图),以及 6 种常用的评测标准可以帮助你准确地标定模型对真实数据的拟合能力。

 

同时,针对目前生成模型中经常见到的一些应用,我们也提供了完整的工具包来帮助大家更好的制作一些炫酷的 demo,比如下面是最常见的隐变量空间的插值效果。

使用训练好的生成模型,然后在隐变量空间进行插值就能够看到样本之间是怎样平滑过渡的。

除此之外,如果用户期望找到一张真实图片在生成模型中的位置,我们也提供了 Projector 的工具包,来帮助用户找到模型中对应的那个隐变量。

 

可以看到在经过几轮的迭代之后,模型就可以稳定地找到正确的隐变量来生成目标图啦。

不仅如此,我们也在 MMGeneration 当中支持了目前比较流行的 GAN Manipulation。

 

通过我们的脚本,用户可以探索到在 StyleGAN2 中有哪些隐变量在控制着特定的属性,然后对其进行编辑。

 

下面就是通过我们的脚本生成出来的 demo,可以看到我们能够对生成样本的性别和光照进行控制或者编辑。

2 代码升级

 

从代码层面来看,MMGeneration 也带来了一些隐藏的升级:

  • 针对分布式训练设计的 Dynamic Runner,以及新的 MMDDP 使用方式能够让我们这些打工人在写代码的时候省去各种复杂的封装和代码。(详情参考 Tutorial for Dynamic DDP)
  • 新的模块化设计方式,也已经全面应用到了 MMGeneration 中的各种各样的损失函数当中,这种新的模块化设计旨在让用户真的实现不用写额外代码就可以拼插各种模型或者损失函数。在现在的模块化设计当中,用户可以自定义连接关系,来将不同的模块连接起来。(详情参考 Tutorial for New Modular Design)

3 结语外加广告时间

 

最后最后,借助 OpenMMLab 的平台,宣传一下我们组在 CVPR’2021 中最新的关于生成模型的工作:Positional Encoding as Spatial Inductive Bias in GANs。此论文的所有相关代码和实验也已经在 MMGeneration 中开源。

 

在这篇文章中我们探讨了一个比较有意思的现象:卷积生成器其实在隐式地利用 Padding 来提供空间位置信息。其中最直接的就是,我们揭示了 SinGAN 是如何学习到空间位置信息,以及是怎么去生成各种合理地空间结构的。

 

在文章中,我们也从随机过程的角度,详细地讨论了这一现象,来进一步帮助大家更好地理解纹理块和空间结构之间的关系。

 

OpenMMLab 生成模型算法库发布,打工人也能玩转图像生成

当然,更加重要的部分是我们发现强如 StyleGAN2 也受到这种隐式的空间偏置的影响,通过探讨不同的空间位置编码的特性,我们提出了新的训练方式 MS-PIE。

 

OpenMMLab 生成模型算法库发布,打工人也能玩转图像生成

在 MS-PIE 中,你可以使用一个 256×256 分辨率的生成器和判别器来训练和生成更高分辨率的图片,通过使用合适的空间位置编码,生成的结果甚至可以跟 StyleGAN2 的大模型相媲美。

 

下图就是通过我们的 MS-PIE 训练得到的 256×256 生成器随机采样,得到的不同尺度的图片(从左到右:1024,512,256)。

 

OpenMMLab 生成模型算法库发布,打工人也能玩转图像生成

MMGeneration,目前还在一个探索和起步的阶段。希望大家踊跃交流,多多帮助我们一起完善这样一个庞大的体系。(记得狂点 Star 好嘛!)

原文地址:

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

Reference

[1] Karras, Tero, et al. “Analyzing and improving the image quality of stylegan.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.

[2] Brock, Andrew, Jeff Donahue, and Karen Simonyan. “Large scale GAN training for high fidelity natural image synthesis.” arXiv preprint arXiv:1809.11096 (2018).

[3] Ramesh, Aditya, et al. “Zero-shot text-to-image generation.” arXiv preprint arXiv:2102.12092 (2021).

[4] Shaham, Tamar Rott, Tali Dekel, and Tomer Michaeli. “Singan: Learning a generative model from a single natural image.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.

[5] Xu, Rui, et al. “Positional Encoding as Spatial Inductive Bias in GANs.” arXiv preprint arXiv:2012.05217 (2020).

转载请注明:《OpenMMLab 生成模型算法库发布,打工人也能玩转图像生成