近期 NVIDIA 發布的 StyleGAN2 對於 GAN 用於圖像生成又推進了一把,同時也是賺足了眼球,然而同期下另一篇圖像翻譯任務下的改進版模型卻顯得有點默默無聞了,這就是今天我們要介紹的 StarGAN v2。模型整體在 StarGAN [1] 的基礎上解決了圖像翻譯任務中源域的圖像轉換為目標域的多種圖像,並支持多個目標域的問題,實現了較好的源域圖像到目標域圖像的轉換,值得一說的是文章還公布了一個動物面部圖像數據集,即將發布於作者的 Github 下。
作者丨武廣
學校丨合肥工業大學碩士生
研究方向丨圖像生成
論文引入
圖像翻譯旨在學習不同視覺域之間的映射,域這個概念在視覺下表示一組圖像,這組圖像可以將它們分組為視覺上獨特的類別,比如一個域全是由狗的圖像構成,我們稱這個就是一個域,在這個域下全是狗的圖像,但是狗又可以細分為拉布拉多、鬥牛犬、巴哥、柴犬等這些具有特定風格的圖像,在一個大類下的分支它們具有這個類的屬性,但是又有自己獨特的特徵,我們稱此為風格,推演到人的話,妝容、鬍鬚、捲髮也可以定義為風格。
這種不同域下不同的風格進行轉換是相對複雜的,之前的論文在處理這種人臉風格圖像的時候往往通過熱編碼進行有監督的一一屬性之間的轉換,但是這種熱編碼的標籤在同一張圖像輸入得到的目標屬性的結果往往是相同的,因為我們的輸入是相同的,標籤也是相同的,得到的結果也是一致的,這種方式也是原始的 StarGAN [1] 採用的轉換方式。另一種轉換的方式就類似於 CycleGAN [2] 那樣,從一個域簡單的轉換到另一個域,可以實現斑馬到馬,博美到吉娃娃這種單一的轉換,如果要實現博美到薩摩這種變換,往往需要重新設計一組生成器。那麼由 N 中風格圖像的轉換的話,就需要設計 N×(N−1) 種生成器,這顯然是不合理的。上述分析的兩個問題就是圖像翻譯任務下的兩個需要解決的問題。
為了實現由一個域圖像轉換到目標域的多種圖像,並支持多個目標域的問題,StarGAN v2 便在 StarGAN 的基礎上進行了改進,並且解決了這兩類問題。StarGAN 是不是第一篇處理這兩個問題的呢?答案是否定的,在 18 年由 NVIDIA 發表的 MUNIT [3] 就成功的解決了這兩類問題,StarGAN v2 算是在 MUNIT 的基礎上實現了更加簡潔易懂的處理和圖像翻譯任務。
設計了 Mapping Network 用於生成風格編碼,擺脫了標籤的束縛;
用風格編碼器指導 Mapping Network 進行目標風格學習,可以實現目標域下多風格圖像的轉換;
公開了動物面部數據集 AFQH,實現了圖像翻譯下較好的結果。
模型結構
在具體介紹模型前,我們先來規定下用到的符號,源域圖像 x∈X,目標域圖像 y∈Y,StarGAN v2 的目的是設計單個生成器 G,該生成器 G 可以生成與圖像 x 對應的每個域 y 的不同圖像。我們先來看看原文中給的整體結構圖。
圖 2 給出的結構是一個很籠統的圖示,可以看出 StarGAN v2 由四部分組成,生成器 −G,映射網絡 −F,風格編碼器 −E 判別器 −D。我們先捋一下整個過程,首先映射網絡學習到目標域圖像的風格編碼,其中,這是映射網絡學習到的目標域圖像的風格編碼,而作為參照真實目標域圖像的風格編碼由風格編碼器得到,得到了風格編碼 結合源域輸入圖像 x 便可送入到生成器,生成器輸出的就是轉換後的目標域圖像,而判別器則為了區分生成的目標域圖像是否是真實來源於真實目標域。從大方向上捋了一下 StarGAN v2 的結構,是不是有幾個問題要問,為什麼設計了映射網絡就能實現由源域圖像轉換到目標域下多幅圖像?多幅圖像是怎麼得到的?這裡的風格編碼器除了優化映射網絡還能用來幹嘛?具體的網絡細節要怎麼實現?
我們將從這幾個問題詳細的解釋下 StarGAN v2,這裡的映射網絡的輸入是一個先驗 z,根據我們的經驗的話,這個 z 可以設置為高斯分布,映射網絡學習到的是目標域圖像的風格表示,也就是說源域圖像 x 提供的是源域圖像的大致的內容信息,而風格編碼 則提供了目標域的風格表示,這部分可以指導源域圖像 x 按照告訴的風格 去轉換到目標域下的圖像。重點來了,我們在採樣 z 下,由於每次採樣是不同的,固然得到的風格表示也是不同的,這樣每次的 也是不一樣的,所以可以由固定的一張 x 根據不同的風格表示 生成出目標域下不同的風格圖像。這就是前兩個問題的實現答案。
風格編碼器當然不是單純用來優化映射網絡的,它的另一個大作用是為了在應用階段作為目標域圖像風格的指導器,也就是如果我想指定生成器生成我要求的目標域中某張圖像 y 的風格,這個時候就不能送入給生成器隨機採樣得到的 ,此時應該饋送進去的是此時的風格編碼器的輸出。這樣生成出的圖像就是指定的風格了,這裡可以理解為風格編碼器在測試階段就是一個在線標籤生成器,用來指定生成器要按照什麼風格進行轉換。
最後就是網絡的具體實現,這部分我根據作者給出的附錄整理了一下,得到了圖 3 的模型設計圖。
▲ 圖3. StarGAN v2模型設計結構
這裡要強調的是映射網絡、風格編碼器和判別器的輸出都是多分支的,因為文章的目的是進行多目標域的轉換,這裡的多分支就是不同的目標域的表示,對於映射網絡和風格編碼器,多分支表示的是多個目標域圖像的風格表示,對於判別器多分支則是代表不同目標域的判別真假情況,作者在附錄中用 N 表示分支數。雖然作者沒有具體的公布代碼,有了上述的具體結構,復現簡易版本 StarGAN v2 應該是沒啥問題的,要想寫代碼還是需要對損失函數做簡單的解釋。
損失函數上一章節如果讀透了,損失函數這部分就沒啥要介紹的了,首先是生成器和判別器的對抗損失:
這裡提一下,雖然公式前半部分寫的是 x,但是在訓練階段肯定是參照的是目標域圖像作為真實的,當然,可以設計雙向網絡,也就是源域和目標域可以實現相互轉換。
為了優化映射網絡,設計了風格重構損失:
為了讓映射網絡可以學習到更多的目標域下的不同風格,也就是讓風格更加的多樣化,設計了距離度量損失,也就是希望每次得到的風格表示儘量的不一致,這樣風格就會更加豐富,所以是最大化:
為了保留源域的特徵,作者又加入了一個循環一致損失:
實驗
對於基線的選擇,作者選定了 MUNIT [3]、DRIT [4] 和 MSGAN [5] 這幾個都是圖像翻譯中代表性的文章,數據集上作者在 CelebA HQ 和自己公布的動物臉部數據集 AFHQ 上進行了測試,至於評估標準除了大家熟悉的 FID 外,還引入了 LPIPS [6],這是一個衡量圖像色塊相似度的指標(越大越好)。在定性實驗對比上可以看到 StarGAN v2 轉換得到的圖像更加的逼真和多樣性,這個在 CelebAHQ 和 AFHQ 數據集上都得到了體現。
在有參照的測試結果也同樣展示了優越的結果。
▲ 圖5. StarGAN v2在有參照圖像下定性實驗結果
▲ 圖6. StarGAN v2定量實驗結果
▲ 圖7. StarGAN v2人力評估下實驗結果
總結StarGAN v2 最大的創新之處就是設計了 Mapping Network,這個將固定的風格編碼用更加靈活的映射網絡去學習,可以更加豐富的學習到風格表示,同時整個網絡的設計也像較於 MUNIT 得到了一定的精簡,結構更加清晰。網絡的整體架構參考了 StyleGAN 的優越的生成效果,在圖像轉換上進一步得到了提高,同時也處理了圖像翻譯下將一個域的圖像轉換為目標域的多種圖像,並支持多個目標域的問題。
參考文獻
[1] Y. Choi, M. Choi, M. Kim, J.-W. Ha, S. Kim, and J. Choo. Stargan: Unified generative adversarial networks for multidomain image-to-image translation. In CVPR, 2018. 2, 3, 4
[2] Zhu J Y, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2223-2232.
[3] X. Huang, M.-Y. Liu, S. Belongie, and J. Kautz. Multimodal unsupervised image-to-image translation. In ECCV, 2018. 2, 3, 4, 6, 7, 8, 12
[4] H.-Y. Lee, H.-Y. Tseng, J.-B. Huang, M. K. Singh, and M.-H. Yang. Diverse image-to-image translation via disentangled representations. In ECCV, 2018. 2, 3, 4, 6, 7, 8
[5] Q. Mao, H.-Y. Lee, H.-Y. Tseng, S. Ma, and M.-H. Yang. Mode seeking generative adversarial networks for diverse image synthesis. In CVPR, 2019. 2, 3, 4, 6, 7, 8
[6] R. Zhang, P. Isola, A. A. Efros, E. Shechtman, and O. Wang. The unreasonable effectiveness of deep features as a perceptual metric. In CVPR, 2018. 4, 9