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

    文章

    4538

    浏览量

    98426
  • 图像
    +关注

    关注

    2

    文章

    1062

    浏览量

    40016
  • 深度学习
    +关注

    关注

    73

    文章

    5200

    浏览量

    119804

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    如何将CML逻辑添加到IBIS模型

    文件,缺少CML逻辑。任何人都可以建议,我如何将CML逻辑添加到IBIS模型?或者我如何模拟逻辑。提前致谢。
    发表于 04-13 09:58

    如何将CCSv3.3迁移到CCSv4?

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

    如何将SES工程从GNU工具链迁移到Segger工具链上?

    的STM32F401RE的GNU工具链项目为例,介绍如何将迁移到Segger自己的工具链上。#迁移过程1、链接器改成Segger选中项目文件名,按右键,选择Options,打开项目
    发表于 04-21 14:34

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

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

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

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

    迁移学习

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

    DigiPCBA 库迁移系列 - 前言

    元件模板,用于改进和后续的库迁移。特殊情况:• 如果您的原始元件定义了多个PCB封装,库迁移引入这些模型
    发表于 06-24 14:24

    DigiPCBA 库迁移系列 - 高级模式

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

    DigiPCBA 库迁移系列 - 合并元件类型

    的System – General 页面获得。迁移模型的模式下,迁移器的分析过程检测源库(IntLib、SchLib、PcbLib 等
    发表于 07-15 11:12

    如何将CubeMX项目从一系列MCU迁移到新系列的MCU?

    如何将 CubeMX 项目从一系列 MCU 迁移到新系列的 MCU?
    发表于 01-16 07:02

    如何将Keil μVision工程迁移到SEGEGR Embedded Studio?

    和GCC,也支持外部工具链,如Clang/LLVM、IAR或ARM/KEIL编译器。我们以一个基于Keil μVision 5.32的项目为例,介绍如何将迁移到SES 。操作步骤打开Embedded
    发表于 01-31 14:00

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

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

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

    这是一篇关于风格迁移中如何进行数据增强的论文。在introduction部分,informal--formal 的风格迁移问题,最大的障碍是训练数据的不足。为了解决此问题,本篇论文提出
    的头像 发表于 01-13 09:41 2265次阅读

    基于OpenCV的DNN图像风格迁移

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