由你定義吃雞風格!CycleGAN,你的自定義風格轉換大師[楚才國科]
阿新 • • 發佈:2018-11-27
如果你是一名玩家,你一定聽說過現在兩場瘋狂流行的大戰「大逃殺」,堡壘之夜和絕地求生。他們是兩個非常相似的遊戲,其中有 100 個玩家在一個小島上出沒,直到剩下一個倖存者。我喜歡堡壘之夜的遊戲玩法,但更喜歡絕地求生更逼真的視覺效果。這讓我想到了,我們是否可以為遊戲提供圖形模組,以便我們可以選擇喜歡的視覺效果,而無需依賴遊戲開發人員為我們提供該選項?如果一個 mod 可以在絕地求生的視覺效果中呈現堡壘之夜的幀,那該怎麼辦?這就是我決定探索深度學習是否有所幫助的地方,並且我遇到了一種名為 CycleGANs 的神經網路,這種網路恰好擅長風格轉換。
什麼是CycleGANs?
CycleGAN是用於跨域影象風格轉換的一種生成對抗網路。可以訓練它們將一個域的影象(如堡壘之夜)轉換為另一個域(如絕地求生)。該任務以無監督的方式執行,即這兩個域中沒有影象的一對一對映。
這個網路能夠理解原始域影象中的物件,並應用必要的轉換來匹配目標域影象中同一物件的外觀。這個演算法的最初實現經過訓練,可將馬匹轉化為斑馬,將蘋果變為橘子,並將照片轉化為具有驚人效果的繪畫。
以堡壘之夜和絕地求生為例子,訓練了一對一的生成性對抗網路,其中一個網路學習堡壘之夜和絕地求生的視覺樣式,這兩個網路以迴圈的方式同時訓練,以便它們學習在兩個遊戲中形成物件之間的關係,從而進行適當的視覺轉換。
為了使我們的轉換有意義,我們實施的條件是這種重構必須與原始影象相似,給我們一個迴圈損失值,我們的目標是在訓練過程中最小化。這與自動編碼器類似,不同之處在於我們不在中間步驟的隱藏空間中尋找編碼,而是在目標域中尋找整個影象。
這裡使用的生成器網路(F2P)主要由三個卷積塊組成。第一個在較低緯的隱藏空間中找到堡壘之夜螢幕截圖的編碼。這種編碼被轉換為表示同一個隱藏空間中的絕地求生的編碼。然後解碼器從轉換後的編碼中構造輸出影象,給出看上去像絕地求生的堡壘之夜影象。
之後我們都不需要程式設計師的設定,自己可以根據自己的愛好來設定自己喜歡的