GANs中的明星StarGAN:使用單一模型執行多個域的圖像轉換,GAN之父...

2020-12-12 雷鋒網

雷鋒網按:2017年可謂「GANs之年」,各種基於GANs的模型和變化層出不窮。近日,來自韓國首爾大學、Naver等研究者發布了一篇「StarGAN:Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation」的文章,下面雷鋒網和大家來看下這篇論文。

論文摘要:最近的研究表明在兩個領域的圖像轉化方面取得了顯著的成功。 然而,現有的方法在處理兩個以上的域時在可伸縮性和魯棒性上存在局限,原因在於應該為每一對圖像域獨立建立不同的模型。 為了解決這個限制,我們提出了StarGAN,這是一種新穎且可擴展的方法,可以僅使用一個模型來執行多個域的圖像到圖像的轉換。 StarGAN這樣一個統一的模型體系架構讓我們可以同時訓練單個網絡中具有不同域的多個數據集,這導致StarGAN的圖像轉化結果比現有模型質量更高,並具有將輸入圖像靈活轉化成任何期望目標域的新穎能力。我們憑經驗證明了我們的方法在面部屬性轉移和面部表情合成任務上的有效性。

(圖2:StarGAN進行多個域的圖像轉換)

圖2為在CelebA數據集上通過傳遞從RaFD數據集中學習到的知識,進行多領域圖像到圖像的轉換結果。第一列和第六列顯示輸入圖像,而其餘的列是由StarGAN生成的圖像。 (值得注意的是,圖像由一個單一的生成器網絡產生,如憤怒、快樂和恐懼等面部表情標籤來自RaFD,而不是CelebA。)

圖像到圖像轉換的任務是將給定圖像的某個特定屬性改變為另一種屬性,例如將人的面部表情從微笑改變為皺眉(見圖2)。而在引入生成對抗網絡(GAN)之後,這個任務進一步升級,生成結果包括改變頭髮顏色、從邊緣映射重建照片、改變風景圖像的季節等。

給定來自兩個不同域的訓練數據,這些模型將學習如何將圖像從一個域轉換到另一個域中。在這裡,我們將術語屬性用諸如頭髮顏色、性別或年齡等這些圖像中固有意義的特徵來表示,並將屬性值作為屬性的特定值,例如頭髮顏色:黑色/金色/棕色,或性別:男性/女性。我們進一步將域表示為一組共享相同屬性值的圖像。例如,女性的圖像可以代表一個域,而男性的圖像則代表另一個域。

某些圖像數據集會帶有一些標註屬性,例如,CelebA數據集包含40個與面部屬性相關的標籤,如頭髮顏色、性別和年齡等,而RaFD數據集有8個面部表情標籤,如「開心」、「憤怒」、「悲傷」等。這些設置屬性使我們能夠執行更多有趣的任務,我們稱之為多域的圖像到圖像轉換,即根據來自多個域的屬性來變換圖像,如圖2中的前五列顯示了一個CelebA圖像是如何按照「金髮」、「性別」、「老年」和「蒼白的皮膚」四這個域中來進行轉換的。我們還可以進一步擴展到從不同的數據集中訓練多個域,如聯合訓練CelebA和RaFD圖像,如圖2最右一列就是使用在RaFD訓練過程中學習的特徵來改變CelebA圖像的面部表情。

(圖3:StarGAN與Cross-domain models的區別)

然而,目前的模型在這種多域的圖像轉換任務中效率不高且效果低下。它們效率不高主要是為了學習k個域之間的所有映射,必須訓練k(k-1)個生成器,如圖3所示,左邊表明了在4個不同的域中進行圖像轉換需要訓練12個不同的生成器,而它們效果也不是很好。即便存在諸如面部形狀這樣可以從所有域的圖像中學習的全局特徵,每個生成器都不能充分利用整個訓練數據,而只能從k個中的兩個域中進行學習,這也進一步限制了生成圖像的質量。此外,由於每個數據集已經是部分標註的,所以他們無法聯合訓練來自不同數據集的域。

基於此,我們提出StarGAN,一個能夠學習多個域之間相互映射的生成對抗網絡。如上圖右側所示,我們的模型可以從多個域中提取訓練數據,並僅使用一個生成器就可以學習所有可用域之間的映射。這個想法很簡單:我們的模型將圖像和域信息作為輸入而不是學習固定轉換(例如,黑色到金色的頭髮),並學習將輸入圖像靈活地轉換到相應的域。我們使用標籤(例如,二進位或onehot向量)來表示域信息。在訓練中,我們隨機生成一個目標域標籤,並訓練模型以靈活地將輸入圖像轉換到目標域。這樣,我們可以控制域標籤,並在測試階段將圖像轉換成任何期望的域。

我們還提出了一種簡單而有效的方法,這一方法可以通過向域標籤添加一個掩碼向量,來實現不同數據集的域之間的聯合訓練。這一方法確保模型可以忽略未知的標籤並聚焦於特定數據集提供的標籤。這樣,我們的模型可以很好地完成如使用從RaFD學習的特徵來合成CelebA圖像的面部表情的任務(如圖2最右一列)。據我們所知,我們的該項研究是第一個在不同數據集上成功執行多域圖像轉換的研究。

總的來說,我們的貢獻如下:

•我們提出了一種全新的生成對抗網絡StarGAN,該網絡只使用一個生成器和一個鑑別器來學習多個域之間的映射,並從各個域的圖像中有效地進行訓練;

•我們演示了如何使用掩模向量方法(mask vector method)成功學習多個數據集之間的多域圖像轉換,並使得StarGAN控制所有可用的域標籤;

•我們使用StarGAN進行面部屬性轉換和面部表情合成任務,並對結果進行了定性和定量分析,結果顯示其優於基準線模型。

點擊此處可閱讀完整論文。

反響:Ian GoodFellow點讚,網友熱議

不出所料,這篇論文被GAN的提出者Ian Goodfellow發推點讚,重點提了StarGAN在多個域中用非監督學習方法進行轉換的成果(之前的研究是在兩個域中進行轉換)。

而在Reddit的Machine Learning版塊上,這篇論文也引起了熱烈討論,Reddit指數直逼一千。雷鋒網摘錄了幾條關於這篇文章的評價如下:

@ReginaldIII:

很酷的研究。 令人驚訝的是,他們沒有在相關的工作中引用任何Google的神經轉換的論文。 將多個生成器模型編碼到一個共同的空間並在整個集合上進行訓練,這種想法並不是新鮮。 儘管GAN的應用給出了很好的結果。

@ajinkyablaze:

對於那些你的角色頂著醜陋的頭像的視頻遊戲來說是個不錯的東西。

@Reiinakano對這條評論進行了回覆:

說實話,這件事正在進行,我敢說現在已經有一個非常清晰的路徑來生成惡搞歐巴馬(雷鋒網(公眾號:雷鋒網)註:原文為「Obama punching babies」,punching babies為「喝酒」或「聚會」的代名詞)的視頻。

@bigassholeredditor :

這看起來很棒。你們有預訓練的模型嗎?

第一作者@Yunjey回覆:

我們很快將上傳預訓練的模型。

於是下面就被「一月內求通知」刷了屏。

@abhik_singla:

這與Pix2Pix方法有什麼區別?

@ProgrammerChilli回覆:

論文中有提到。簡單說,Pix2pix要求明確地學習從一個域到另一個域的任何轉換,StarGAN可以一次學習幾個領域,並從任何領域轉換到另一個領域。 我想,這就是它為什麼用「STAR」命名的原因吧?

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 升級版StarGAN來襲!你想要的多目標域多風格圖像變換它都有
    模型整體在 StarGAN [1] 的基礎上解決了圖像翻譯任務中源域的圖像轉換為目標域的多種圖像,並支持多個目標域的問題,實現了較好的源域圖像到目標域圖像的轉換,值得一說的是文章還公布了一個動物面部圖像數據集,即將發布於作者的 Github 下。作者丨武廣學校丨合肥工業大學碩士生研究方向丨圖像生成論文引入
  • GANs有嘻哈:一次學完10個GANs明星模型(附視頻)
    文摘字幕組本次的新作,就將系統介紹GANs家族的新成員,讓你一次學完10個GANs明星模型。當然,本期視頻作者很皮的在每個GAN家族的介紹前都加入了自己的土味兒說唱,文摘菌在翻譯的時候為了保持押韻也很努力了!希望你在這些不太押韻的rap中學習到儘可能多的知識點!
  • 5個最新圖像合成GAN架構解讀:核心理念、關鍵成就、商業化路徑
    論文地址:https://arxiv.org/abs/1711.09020論文摘要最近的研究表明,兩個領域的圖像到圖像轉換取得了顯著的成功。然而,現有方法在處理兩個以上的域時,可擴展性和魯棒性的比較有限,因為需要為每對圖像域獨立地構建不同的模型。StarGAN的出現就是為了解決這一問題。
  • 十個生成模型(GANs)的最佳案例和原理 | 代碼+論文
    △ 通過檢測視頻中正在移動中的野馬並把斑馬條紋疊加上去,可將野馬轉換成斑馬。△ 改變圖像中的季節,如把優勝美地的冬天變成夏天,把冬天變成春天,反之亦可。△ 該模型能根據詳細的文字描述來生成似乎合理的花鳥圖像。在這項工作中,所構建的模型首先獲取關於圖像合成的文本描述,其次學習捕捉文本中描述重要視覺信息的特徵,然後使用這些特徵來合成出能愚弄人的逼真圖像。
  • 能生成Deepfake也能診斷癌症,GAN與惡的距離
    類似地,FF從YY接收圖像並嘗試將其映射到XX中的某個圖像,而判別器DXDX 預測圖像是由FF生成還是實際上是在XX中。所有的這四個神經網絡都是以通常的GAN方式進行訓練,直到我們留下了強大的生成器GG和FF,它們可以很好地執行圖像到圖像的轉換任務,乃至愚弄了DYDY 和DXDX。
  • GAN做圖像翻譯的一點總結
    所謂 multi-scale 的 Discriminator 是指多個 D,分別判別不同解析度的真假圖像。比如採用 3 個 scale 的判別器,分別判別 256x256,128x128,64x64 解析度的圖像。至於獲得不同解析度的圖像,直接經過 pooling 下採樣即可。
  • 萬字綜述之生成對抗網絡(GAN)
    層級結構GAN 對於高解析度圖像生成一直存在許多問題,層級結構的 GAN 通過逐層次,分階段生成,一步步提生圖像的解析度。典型的使用多對 GAN 的模型有StackGAN,GoGAN。使用單一 GAN,分階段生成的有 ProgressiveGAN。
  • GANs奇思妙想TOP10榜單
    實現這一應用的基本思想方法是:將圖像的每一列用向量X來表示,計算每一個X的平均值,從而得到一個Y向量。然後,對向量Y進行一些加法和減法運算,生成一個單一的圖像向量Z(如:戴眼鏡的男性-不帶眼鏡的男性+不帶眼鏡的女性)。最後,把這個圖像向量Z輸入生成器中。
  • GAN(生成對抗網絡)萬字長文綜述
    層級結構 GAN 對於高解析度圖像生成一直存在許多問題,層級結構的 GAN 通過逐層次,分階段生成,一步步提生圖像的解析度。典型的使用多對 GAN 的模型有StackGAN,GoGAN。使用單一 GAN,分階段生成的有 ProgressiveGAN。StackGAN 和 ProgressiveGAN 結構如下:
  • 萬字長文解讀GAN:從基本概念、原理到實際應用
    1.4.2 層級結構GAN 對於高解析度圖像生成一直存在許多問題,層級結構的 GAN 通過逐層次,分階段生成,一步步提生圖像的解析度。典型的使用多對 GAN 的模型有 StackGAN,GoGAN。使用單一 GAN,分階段生成的有 ProgressiveGAN。
  • 提高GAN訓練穩定性的9大tricks
    Mode collapse(模型崩潰)註:Mode collapse 是指 GAN 生成的樣本單一,其認為滿足某一分布的結果為 true,其他為 False,導致以上結果。自然數據分布是非常複雜,且是多峰值的(multimodal)。
  • 「未卜先知」、「自學成才」:GANs奇思妙想TOP10榜單
    來源&更多信息:GitHub:https://github.com/Newmu/dcgan_codePaper:https://arxiv.org/pdf/1511.06434.pdfBlog:https://hackernoon.com/how-do-gans-intuitively-work
  • 別人家的高中生:入大學前,Ta詳細梳理了GAN的發展脈絡
    博客地址:https://blog.floydhub.com/gans-story-so-far/作者在梳理過程中發現,GAN 的確是一個發展迅速的領域,短短五年就從模糊的灰度像素陣列發展到高度逼真的生成圖像,讓人無法一眼識別是真是假。
  • GAN的原理及在來也的應用
    兩個子模型的任務如下:G:不斷生成自認為是「真實」的假數據(fake data)訓練流程一般先使用一些真實數據訓練鑑別器D,使其擁有一定的鑑別能力。訓練中正樣本使用真實數據本身,負樣本使用未經訓練的G生成的數據。之後對抗訓練整個網絡,在每輪迭代中:重複上述流程,一個好的GAN訓練中,D的分類準確率不應一直太高或太低,動態維持準確率的波動才能說明GAN中的兩個部分在進行對抗訓練。
  • 看GAN如何一步步控制圖像生成風格?詳解StyleGAN進化過程
    從概念上來看,StyleGAN 將可進行均勻或正態分布採樣的空間(下圖中)扭曲成潛在特徵空間(下圖左),從而輕鬆生成圖像。該映射網絡旨在創建彼此獨立的特徵,以便生成器更容易地執行渲染,同時避免訓練數據集中不曾出現的特徵組合。StyleGAN 引入映射網絡 f,利用八個全連接層將 z 轉換成中間潛在空間。w 可被視為新的 z (z』)。
  • 生成對抗網絡GANs學習路線
    導讀MLmindset作者發布了一篇生成對抗網絡合集文章,整合了各類關於GAN的資源,如GANs文章、模型、代碼、應用、課程、書籍
  • 經典GAN實戰教程:理解並運行自己的GAN生成手寫數字
    這步操作可以通過尋找一組GAN unit(稱為神經元)與輸出圖像中的概念(例如樹、天空、雲等)之間的協議來實現。因此,我們能夠識別出對某些物體(如建築物或雲)起作用的神經元。將這種粒度級別放入神經元中,可以允許通過強制激活和去激活(消融)這些對象的相應unit,來編輯現有圖像(例如,添加或移除圖像中所示的樹)。
  • GAN快速入門資料推薦:17種變體的Keras開原始碼,附相關論文
    在這類GAN變體中,生成器生成的每張圖像,都帶有一個類別標籤,鑑別器也會同時針對來源和類別標籤給出兩個概率分布。論文中描述的模型,可以生成符合1000個ImageNet類別的128×128圖像。在論文中,研究人員給出了用MNIST和多倫多人臉數據集 (TFD)訓練的模型所生成的樣本。
  • 中科大-微軟最新《圖像到圖像轉換:方法與應用》綜述論文,19頁pdf
    圖像到圖像轉換(I2I)的目的是在保留內容表示的同時將圖像從源域傳輸到目標域。
  • GAN之父身份遭質疑!一篇2010年的博客挑戰Ian Goodfellow
    p=167#2010-02-24在博客中他寫到:圖像可能丟失像素,那麼如何通過周圍已知的像素,去恢復丟失的像素呢?他提出的方法是一種叫做「生成器」的神經網絡,在給定周圍像素作為輸入的情況下,生成缺失像素。(看,在2010年,Olli就已經提到了generator這個概念!)