前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >由你定义吃鸡风格!CycleGAN,你的自定义风格转换大师

由你定义吃鸡风格!CycleGAN,你的自定义风格转换大师

作者头像
智能算法
发布2018-07-30 14:42:05
4070
发布2018-07-30 14:42:05
举报
文章被收录于专栏:智能算法

Turning Fortnite into PUBG with Deep Learning (CycleGAN) ,作者为 Chintan Trivedi 。 翻译 | 庄娴 整理 | MY 来源 | AI研习社

了解 CycleGAN 的图像风格转换并探索其在在游戏图形模块中的应用。

神经网络试图在绝地求生的视觉风格中重现堡垒之夜。

如果你是一名玩家,你一定听说过现在两场疯狂流行的大战「大逃杀」,堡垒之夜和绝地求生。他们是两个非常相似的游戏,其中有 100 个玩家在一个小岛上出没,直到剩下一个幸存者。我喜欢堡垒之夜的游戏玩法,但更喜欢绝地求生更逼真的视觉效果。这让我想到了,我们是否可以为游戏提供图形模块,以便我们可以选择喜欢的视觉效果,而无需依赖游戏开发人员为我们提供该选项?如果一个 mod 可以在绝地求生的视觉效果中呈现堡垒之夜的帧,那该怎么办?这就是我决定探索深度学习是否有所帮助的地方,并且我遇到了一种名为 CycleGANs 的神经网络,这种网络恰好擅长风格转换。在这篇文章中,我将介绍 CycleGANs 的工作方式,然后训练它们将堡垒之夜视觉转换为绝地求生。

堡垒之夜(左)是卡通的视觉效果,而绝地求生(右)有更逼真的视觉效果。

什么是 CycleGANs?

CycleGAN是用于跨域图像风格转换的一种生成对抗网络。可以训练它们将一个域的图像(如堡垒之夜)转换为另一个域(如绝地求生)。该任务以无监督的方式执行,即这两个域中没有图像的一对一映射。

原始的 Github 实现及其结果可以在这里找到:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

这个网络能够理解原始域图像中的对象,并应用必要的转换来匹配目标域图像中同一对象的外观。这个算法的最初实现经过训练,可将马匹转化为斑马,将苹果变为橘子,并将照片转化为具有惊人效果的绘画。

它们如何工作?

让我们试着了解 CycleGAN 如何使用堡垒之夜作为我们的输入域和绝地求生作为我们的目标域的例子。使用这两款游戏的屏幕截图,我们训练了一对一的生成性对抗网络,其中一个网络学习堡垒之夜和绝地求生的视觉样式。这两个网络以循环的方式同时训练,以便它们学习在两个游戏中形成对象之间的关系,从而进行适当的视觉转换。下图显示了这两个网络的循环设置的一般架构。

从「真正的堡垒之夜」到「假绝地求生」再到「重建的堡垒之夜」循环。

我们从堡垒之夜的原始图像开始训练。我们将训练两个深层网络,一个生成器和一个鉴别器。鉴别器将随时间学习来区分堡垒之夜的真实和虚假图像。生成器将被训练以使用来自训练集的绝地求生的随机屏幕截图将输入图像从原始域转换为目标域。

为了确保这种转变是有意义的,我们实施了一个重构条件。这意味着我们同时训练另一组生成器/鉴别器,它们从伪域中重构原始域中的图像。我们实施的条件是这种重构必须与原始图像相似,给我们一个循环损失值,我们的目标是在训练过程中最小化。这与自动编码器类似,不同之处在于我们不在中间步骤的隐藏空间中寻找编码,而是在目标域中寻找整个图像。

上图中显示的生成器 F2P 的概述。

这里使用的生成器网络(F2P)主要由三个卷积块组成。第一个在较低纬的隐藏空间中找到堡垒之夜屏幕截图的编码。这种编码被转换为表示同一个隐藏空间中的绝地求生的编码。然后解码器从转换后的编码中构造输出图像,给出看上去像绝地求生的堡垒之夜图像。

在训练过程中,我遇到的一个限制是由于 GPU 内存限制,我只能处理 256 x256 的图像。这将显著影响结果,但是如果您的视频内存超过 5gb,就可以尝试生成最多 512x512 的图像。如果您有能力,请在此告诉我。

结果

经过 12 小时的训练,CycleGAN 生成的图像看起来非常有前景。该网络能够成功地将天空、树木和草丛的颜色从堡垒之夜转换为绝地求生。堡垒之夜的过度饱和颜色被转换成绝地求生的更真实的的颜色。

天空看起来没有那么蓝,草丛和树木的卡通绿色看起来更接近在绝地求生中看到的。它甚至学会了用绝地求生的枪和弹药指示器替换屏幕底部的健康仪表!在两个领域无法链接的是播放器的外观,这就是为什么它周围的像素是模糊的。总体而言,网络在识别两个域的对象和改变它们的外观方面做了很好的工作。

视频内容

游戏中图形模块的应用

虽然结果对我来说很好,但很明显,在我真正使用绝地求生图形玩堡垒之夜之前,我们还有很长的路要走。但是一旦我们能够使用这些网络实时生成更高分辨率的图像,就有可能在未来为游戏构建图形引擎,而不必依赖游戏开发人员。我们可以使用我们喜欢的游戏的视觉风格,并将其应用于其他任何游戏!


声明:本文系网络转载,版权归原作者所有。如涉及版权,请联系删除!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智能算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 CycleGANs?
  • 它们如何工作?
  • 结果
  • 游戏中图形模块的应用
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档