0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将CycleGAN用于风格迁移并探索其在游戏图形模型中的应用

电子工程师 来源:lq 2019-02-11 11:35 次阅读

神经网络尝试在《堡垒之夜》中重现《绝地求生》的画面风格。

本文旨在了解如何将CycleGAN用于风格迁移并探索其在游戏图形模型中的应用。

如果你是一名游戏玩家,肯定听说过如今最火的两款「吃鸡」游戏:《堡垒之夜》(Fortnite)和《绝地求生》。这两个游戏很相似,都是 100 名玩家降落在一个小岛上,然后淘汰至最后一人「吃鸡」。作者之前比较喜欢《堡垒之夜》的游戏风格,但现在更喜欢《绝地求生》的写实画面。于是他不禁开始思考,是否有可能创建一个图形模式,让我们选择喜欢的画面风格而不必依赖于开发者给我们提供的画面选择?如果有个图形模式能够将《绝地求生》的画风渲染至《堡垒之夜》呢?于是作者决定用深度学习来探索这一模式,然后发现了一种叫 CycleGAN 的神经网络。该网络非常擅长图像风格迁移。在本文中,作者将介绍 CycleGAN 的工作原理,然后训练它们将《堡垒之夜》可视化地转为《绝地求生》。

卡通风格的《堡垒之夜》(左)和写实风格的《绝地求生》(右)

CycleGAN 是什么?

CycleGAN 是一种用于跨域图像风格迁移的生成对抗网络,它能将图像从一个域迁移到另一个域,例如从《堡垒之夜》到《绝地求生》的迁移。任务是以无监督方式执行的,即两个域的图像没有一一映射的关系。

Github 实现及其结果:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

该网络能够理解原始域图像中的对象,并对目标域图像中相同对象的外观做相应的变换。该网络的算法实现经训练后,可以将马转化为斑马,将苹果转化为橙子,将照片转化为漂亮的油画等等。

如何实现?

我们简单分析一下如何使用 CycleGAN 将《堡垒之夜》和《绝地求生》分别作为输入域和目标域进行风格迁移。

首先,我们通过截屏的方式分别获得两个游戏的大量图像作为数据集。

其次,我们训练一对 GAN,一个用来学习《堡垒之夜》的画风,另一个学习《绝地求生》的画风。这两个网络通过循环的方式同时训练,从而在两个游戏中学到相同对象之间的关系,以进行恰当的画风变换。

下图是 CycleGAN 的基本架构:

从「Real Fortnite」到「Fake PUBG」,再到「Reconstructed Fortnite」的循环。

我们从《堡垒之夜》的原始图像开始整个训练过程。训练包括两个深度网络,一个是生成器,一个是鉴别器。鉴别器将随着时间推移而学习到区分「Real Fortnite」和「Fake Fortnite」。生成器将使用从训练数据集中随机取出的《绝地求生》截图进行训练,从而学习如何将原始域图像迁移到目标域图像。

为了确保这种迁移是有意义的,我们同时训练了另一组生成器和鉴别器(即生成器 P2F 和鉴别器 P),它们的作用是从伪域重建原始域的图像。另外,我们通过最小化训练过程中的循环损失(Cycle loss),使重建后的图像与原始图像相似。这个过程类似自动编码,只是我们不在中间步骤的潜在空间中寻找编码,而是在目标域中寻找整个图像。

F2P 框架

这里使用的生成器网络(F2P)由三个主要的卷积模块组成:第一个模块在较低维度的潜在空间中找到《堡垒之夜》截屏的编码;然后,第二个模块将该编码转换成在相同潜在空间中表示《绝地求生》的编码;在第三个模块中,解码器根据转换的编码构建出输出图像,于是便得到了《绝地求生》版的《堡垒之夜》图像。

在训练过程中,由于 GPU 内存限制,所以只能处理大小为 256x256 的图像,这很影响最终结果。如果你有超过 8GB 的视频内存,可以尝试生成大小为 512x512 的图像。

结果

经过 12 小时的训练之后,CycleGAN 生成的图像看起来很有前景。该网络能够成功地将《堡垒之夜》中天空、树和草地的颜色转换成《绝地求生》中的画风。《堡垒之夜》中过度渲染的颜色被转换成了《绝地求生》中那种更真实的颜色。

天空看起来没那么蓝了,卡通风格的草地和树看起来也更接近《绝地求生》了。它甚至学会了把底部的 health meter 替换成了《绝地求生》中的枪支和弹药指标了!amazing!两个域中无法联系起来的是玩家的外表,这也是为什么它周围的像素有点模糊。总体来看,网络在两个域中识别目标并转换它们的外观方面做得还不错。

在游戏中应用图形模式

虽然结果看起来很好,但要真正实现《绝地求生》画面风格的《堡垒之夜》,还有很长的路要走。一旦我们能够用这些网络实时生成更高分辨率的图像,那将来为游戏构建图形模式引擎而不必依赖开发者不是没有可能的。

我们可以把自己喜欢的游戏画风应用到任何其它游戏上!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100753
  • 图像
    +关注

    关注

    2

    文章

    1084

    浏览量

    40460
  • 深度学习
    +关注

    关注

    73

    文章

    5503

    浏览量

    121152

原文标题:我有个大胆的想法,用风格迁移玩《绝地》版的《堡垒之夜》

文章出处:【微信号:aicapital,微信公众号:全球人工智能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    hightec如何将源代封装,编译链接成.a的库函数?

    hightec如何将源代封装,编译链接成.a的库函数
    发表于 02-18 08:10

    【大语言模型:原理与工程实践】探索《大语言模型原理与工程实践》2.0

    《大语言模型“原理与工程实践”》是关于大语言模型内在机理和应用实践的一次深入探索。作者不仅深入讨论了理论,还提供了丰富的实践案例,帮助读者理解如何将理论知识应
    发表于 05-07 10:30

    如何将CCSv3.3迁移到CCSv4?

    如何将CCSv3.3迁移到CCSv4
    发表于 02-25 07:15

    【洞幺邦】基于深度学习的GAN应用风格迁移

    和虚假,最后两者到达动态的平和的时候,生成网络G就可以生成以假乱真的图片了。GAN应用风格迁移最一开始那个呐喊的例子,人类骑行的图像通过组合
    发表于 07-01 10:53

    请问RNNoise是如何将模型接口交叉组合到RK3308上的

    请问RNNoise是如何将模型接口交叉组合到RK3308上的?
    发表于 03-09 06:19

    迁移学习

    PDA、Source-Free DA上的应用。六、迁移学习前沿应用迁移学习语义分割的应用迁移学习
    发表于 04-21 15:15

    DigiPCBA 库迁移系列 - 高级模式

    Forward Voltage值无法解释为有效电压。可以通过以下方式解决:从迁移过程中删除元件 - 右键单击条目选择从迁移中排除选项。编辑有问题的参数值 - 找到并将其单元格编辑为
    发表于 07-08 09:57

    人工智能大模型、应用场景、应用部署教程超详细资料

    部署过程的难度。教程中所使用的模型均为开源模型,同步提供了相应的下载链接,为客户节省宝贵的时间。 Adain风格迁移
    发表于 11-13 14:49

    CAD如何将图形和文字打印成白色?

    CAD如何将图形和文字打印成白色? 如图所示: CAD,如果图形设置为白色,在打印时候通常
    发表于 10-22 14:11 2645次阅读
    <b class='flag-5'>在</b>CAD<b class='flag-5'>中</b><b class='flag-5'>如何将</b><b class='flag-5'>图形</b>和文字打印成白色?

    如何将项目从VDK迁移到µC/OS-III

    本培训模块一步一步地说明如何将一个项目从VDK (VisualDSP++ Kernel)迁移到µC/OS-III™
    的头像 发表于 07-12 06:10 2161次阅读

    风格迁移如何进行数据增强

    这是一篇关于风格迁移如何进行数据增强的论文。introduction部分,informal--formal 的风格
    的头像 发表于 01-13 09:41 2536次阅读

    如何将器件库迁移至DigiPCBA

    对于准备将设计流程完全迁移至DigiPCBA平台上的用户来说,可能遇到的第一个挑战就是如何将手上现有的元器件迁移至云端。这篇教程将会展示如何使用Altium Designer软件提供的Library Migrator工具,完成一
    的头像 发表于 12-23 14:23 1427次阅读

    PyTorch教程-14.12. 神经风格迁移

    个方面。要为照片应用理想的风格,您可能需要尝试多种不同的滤镜组合。这个过程与调整模型的超参数一样复杂。 本节,我们利用 CNN 的分
    的头像 发表于 06-05 15:44 670次阅读
    PyTorch教程-14.12. 神经<b class='flag-5'>风格</b><b class='flag-5'>迁移</b>

    NLP迁移学习:利用预训练模型进行文本分类

    迁移学习彻底改变了自然语言处理(NLP)领域,允许从业者利用预先训练的模型来完成自己的任务,从而大大减少了训练时间和计算资源。本文中,我们讨论
    发表于 06-14 09:30 454次阅读

    基于OpenCV的DNN图像风格迁移

    /deep-photo-styletransfer 项目,需要安装 CUDA、pytorch、cudnn等等,配置能花一天的时间。 不过最近我发现一个非常好的开源应用项目,那就是基于OpenCV的DNN图像风格迁移。你只需要安装OpenCV就可以使用。 它也有局限性,我们
    的头像 发表于 10-30 10:03 596次阅读