0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將CycleGAN用于風(fēng)格遷移并探索其在游戲圖形模型中的應(yīng)用

電子工程師 ? 來源:lq ? 2019-02-11 11:35 ? 次閱讀

神經(jīng)網(wǎng)絡(luò)嘗試在《堡壘之夜》中重現(xiàn)《絕地求生》的畫面風(fēng)格。

本文旨在了解如何將CycleGAN用于風(fēng)格遷移并探索其在游戲圖形模型中的應(yīng)用。

如果你是一名游戲玩家,肯定聽說過如今最火的兩款「吃雞」游戲:《堡壘之夜》(Fortnite)和《絕地求生》。這兩個游戲很相似,都是 100 名玩家降落在一個小島上,然后淘汰至最后一人「吃雞」。作者之前比較喜歡《堡壘之夜》的游戲風(fēng)格,但現(xiàn)在更喜歡《絕地求生》的寫實畫面。于是他不禁開始思考,是否有可能創(chuàng)建一個圖形模式,讓我們選擇喜歡的畫面風(fēng)格而不必依賴于開發(fā)者給我們提供的畫面選擇?如果有個圖形模式能夠?qū)ⅰ督^地求生》的畫風(fēng)渲染至《堡壘之夜》呢?于是作者決定用深度學(xué)習(xí)來探索這一模式,然后發(fā)現(xiàn)了一種叫 CycleGAN 的神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)非常擅長圖像風(fēng)格遷移。在本文中,作者將介紹 CycleGAN 的工作原理,然后訓(xùn)練它們將《堡壘之夜》可視化地轉(zhuǎn)為《絕地求生》。

卡通風(fēng)格的《堡壘之夜》(左)和寫實風(fēng)格的《絕地求生》(右)

CycleGAN 是什么?

CycleGAN 是一種用于跨域圖像風(fēng)格遷移的生成對抗網(wǎng)絡(luò),它能將圖像從一個域遷移到另一個域,例如從《堡壘之夜》到《絕地求生》的遷移。任務(wù)是以無監(jiān)督方式執(zhí)行的,即兩個域的圖像沒有一一映射的關(guān)系。

Github 實現(xiàn)及其結(jié)果:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

該網(wǎng)絡(luò)能夠理解原始域圖像中的對象,并對目標域圖像中相同對象的外觀做相應(yīng)的變換。該網(wǎng)絡(luò)的算法實現(xiàn)經(jīng)訓(xùn)練后,可以將馬轉(zhuǎn)化為斑馬,將蘋果轉(zhuǎn)化為橙子,將照片轉(zhuǎn)化為漂亮的油畫等等。

如何實現(xiàn)?

我們簡單分析一下如何使用 CycleGAN 將《堡壘之夜》和《絕地求生》分別作為輸入域和目標域進行風(fēng)格遷移。

首先,我們通過截屏的方式分別獲得兩個游戲的大量圖像作為數(shù)據(jù)集。

其次,我們訓(xùn)練一對 GAN,一個用來學(xué)習(xí)《堡壘之夜》的畫風(fēng),另一個學(xué)習(xí)《絕地求生》的畫風(fēng)。這兩個網(wǎng)絡(luò)通過循環(huán)的方式同時訓(xùn)練,從而在兩個游戲中學(xué)到相同對象之間的關(guān)系,以進行恰當?shù)漠嬶L(fēng)變換。

下圖是 CycleGAN 的基本架構(gòu):

從「Real Fortnite」到「Fake PUBG」,再到「Reconstructed Fortnite」的循環(huán)。

我們從《堡壘之夜》的原始圖像開始整個訓(xùn)練過程。訓(xùn)練包括兩個深度網(wǎng)絡(luò),一個是生成器,一個是鑒別器。鑒別器將隨著時間推移而學(xué)習(xí)到區(qū)分「Real Fortnite」和「Fake Fortnite」。生成器將使用從訓(xùn)練數(shù)據(jù)集中隨機取出的《絕地求生》截圖進行訓(xùn)練,從而學(xué)習(xí)如何將原始域圖像遷移到目標域圖像。

為了確保這種遷移是有意義的,我們同時訓(xùn)練了另一組生成器和鑒別器(即生成器 P2F 和鑒別器 P),它們的作用是從偽域重建原始域的圖像。另外,我們通過最小化訓(xùn)練過程中的循環(huán)損失(Cycle loss),使重建后的圖像與原始圖像相似。這個過程類似自動編碼,只是我們不在中間步驟的潛在空間中尋找編碼,而是在目標域中尋找整個圖像。

F2P 框架

這里使用的生成器網(wǎng)絡(luò)(F2P)由三個主要的卷積模塊組成:第一個模塊在較低維度的潛在空間中找到《堡壘之夜》截屏的編碼;然后,第二個模塊將該編碼轉(zhuǎn)換成在相同潛在空間中表示《絕地求生》的編碼;在第三個模塊中,解碼器根據(jù)轉(zhuǎn)換的編碼構(gòu)建出輸出圖像,于是便得到了《絕地求生》版的《堡壘之夜》圖像。

在訓(xùn)練過程中,由于 GPU 內(nèi)存限制,所以只能處理大小為 256x256 的圖像,這很影響最終結(jié)果。如果你有超過 8GB 的視頻內(nèi)存,可以嘗試生成大小為 512x512 的圖像。

結(jié)果

經(jīng)過 12 小時的訓(xùn)練之后,CycleGAN 生成的圖像看起來很有前景。該網(wǎng)絡(luò)能夠成功地將《堡壘之夜》中天空、樹和草地的顏色轉(zhuǎn)換成《絕地求生》中的畫風(fēng)?!侗局埂分羞^度渲染的顏色被轉(zhuǎn)換成了《絕地求生》中那種更真實的顏色。

天空看起來沒那么藍了,卡通風(fēng)格的草地和樹看起來也更接近《絕地求生》了。它甚至學(xué)會了把底部的 health meter 替換成了《絕地求生》中的槍支和彈藥指標了!amazing!兩個域中無法聯(lián)系起來的是玩家的外表,這也是為什么它周圍的像素有點模糊。總體來看,網(wǎng)絡(luò)在兩個域中識別目標并轉(zhuǎn)換它們的外觀方面做得還不錯。

在游戲中應(yīng)用圖形模式

雖然結(jié)果看起來很好,但要真正實現(xiàn)《絕地求生》畫面風(fēng)格的《堡壘之夜》,還有很長的路要走。一旦我們能夠用這些網(wǎng)絡(luò)實時生成更高分辨率的圖像,那將來為游戲構(gòu)建圖形模式引擎而不必依賴開發(fā)者不是沒有可能的。

我們可以把自己喜歡的游戲畫風(fēng)應(yīng)用到任何其它游戲上!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4749

    瀏覽量

    100434
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1080

    瀏覽量

    40381
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5471

    瀏覽量

    120904

原文標題:我有個大膽的想法,用風(fēng)格遷移玩《絕地》版的《堡壘之夜》

文章出處:【微信號:aicapital,微信公眾號:全球人工智能】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    hightec如何將源代封裝,編譯鏈接成.a的庫函數(shù)?

    hightec如何將源代封裝,編譯鏈接成.a的庫函數(shù)
    發(fā)表于 02-18 08:10

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》2.0

    《大語言模型“原理與工程實踐”》是關(guān)于大語言模型內(nèi)在機理和應(yīng)用實踐的一次深入探索。作者不僅深入討論了理論,還提供了豐富的實踐案例,幫助讀者理解如何將理論知識應(yīng)
    發(fā)表于 05-07 10:30

    如何將CCSv3.3遷移到CCSv4?

    如何將CCSv3.3遷移到CCSv4
    發(fā)表于 02-25 07:15

    【洞幺邦】基于深度學(xué)習(xí)的GAN應(yīng)用風(fēng)格遷移

    和虛假,最后兩者到達動態(tài)的平和的時候,生成網(wǎng)絡(luò)G就可以生成以假亂真的圖片了。GAN應(yīng)用風(fēng)格遷移最一開始那個吶喊的例子,人類騎行的圖像通過組合風(fēng)
    發(fā)表于 07-01 10:53

    請問RNNoise是如何將模型接口交叉組合到RK3308上的

    請問RNNoise是如何將模型接口交叉組合到RK3308上的?
    發(fā)表于 03-09 06:19

    遷移學(xué)習(xí)

    PDA、Source-Free DA上的應(yīng)用。六、遷移學(xué)習(xí)前沿應(yīng)用遷移學(xué)習(xí)語義分割的應(yīng)用遷移學(xué)習(xí)
    發(fā)表于 04-21 15:15

    DigiPCBA 庫遷移系列 - 高級模式

    Forward Voltage值無法解釋為有效電壓??梢酝ㄟ^以下方式解決:從遷移過程中刪除元件 - 右鍵單擊條目選擇從遷移中排除選項。編輯有問題的參數(shù)值 - 找到并將其單元格編輯為
    發(fā)表于 07-08 09:57

    人工智能大模型、應(yīng)用場景、應(yīng)用部署教程超詳細資料

    部署過程的難度。教程中所使用的模型均為開源模型,同步提供了相應(yīng)的下載鏈接,為客戶節(jié)省寶貴的時間。 Adain風(fēng)格遷移
    發(fā)表于 11-13 14:49

    CAD如何將圖形和文字打印成白色?

    CAD如何將圖形和文字打印成白色? 如圖所示: CAD,如果圖形設(shè)置為白色,在打印時候通常
    發(fā)表于 10-22 14:11 ?2618次閱讀
    <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

    本培訓(xùn)模塊一步一步地說明如何將一個項目從VDK (VisualDSP++ Kernel)遷移到μC/OS-III?
    的頭像 發(fā)表于 07-12 06:10 ?2130次閱讀

    風(fēng)格遷移如何進行數(shù)據(jù)增強

    這是一篇關(guān)于風(fēng)格遷移如何進行數(shù)據(jù)增強的論文。introduction部分,informal--formal 的風(fēng)格
    的頭像 發(fā)表于 01-13 09:41 ?2495次閱讀

    如何將器件庫遷移至DigiPCBA

    對于準備將設(shè)計流程完全遷移至DigiPCBA平臺上的用戶來說,可能遇到的第一個挑戰(zhàn)就是如何將手上現(xiàn)有的元器件遷移至云端。這篇教程將會展示如何使用Altium Designer軟件提供的Library Migrator工具,完成一
    的頭像 發(fā)表于 12-23 14:23 ?1356次閱讀

    PyTorch教程-14.12. 神經(jīng)風(fēng)格遷移

    個方面。要為照片應(yīng)用理想的風(fēng)格,您可能需要嘗試多種不同的濾鏡組合。這個過程與調(diào)整模型的超參數(shù)一樣復(fù)雜。 本節(jié),我們利用 CNN 的分
    的頭像 發(fā)表于 06-05 15:44 ?640次閱讀
    PyTorch教程-14.12. 神經(jīng)<b class='flag-5'>風(fēng)格</b><b class='flag-5'>遷移</b>

    NLP遷移學(xué)習(xí):利用預(yù)訓(xùn)練模型進行文本分類

    遷移學(xué)習(xí)徹底改變了自然語言處理(NLP)領(lǐng)域,允許從業(yè)者利用預(yù)先訓(xùn)練的模型來完成自己的任務(wù),從而大大減少了訓(xùn)練時間和計算資源。本文中,我們討論
    發(fā)表于 06-14 09:30 ?428次閱讀

    基于OpenCV的DNN圖像風(fēng)格遷移

    /deep-photo-styletransfer 項目,需要安裝 CUDA、pytorch、cudnn等等,配置能花一天的時間。 不過最近我發(fā)現(xiàn)一個非常好的開源應(yīng)用項目,那就是基于OpenCV的DNN圖像風(fēng)格遷移。你只需要安裝OpenCV就可以使用。 它也有局限性,我們
    的頭像 發(fā)表于 10-30 10:03 ?535次閱讀