升級版StarGAN來襲!你想要的多目標域多風格圖像變換它都有

2021-01-18 PaperWeekly
近期 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

相關焦點

  • [CVPR 2020] StarGAN v2: 多域風格圖像合成,效果驚人,史上最強!
    而編碼器則學習從給定的參考圖像中提取風格編碼。在多個域的情況下,這兩個模塊都擁有多個輸出分支,每一個都為特定域提供了風格編碼。最終,使用這些風格編碼,生成器就可以成功地學習在多個域下合成風格圖像。我們用X 和Y來分別表示圖像和域的集合,給定x屬於X 和任意域y屬於Y,我們的目標是訓練一個單一的生成器G ,使它能夠根據x針對每一個域y生成多樣化的圖像。我們在每個域學習到的風格空間中生成域特定的風格向量,並且訓練G來表達這個風格向量。圖2 闡釋了我們框架的概述, 其中包含了如下的四個模塊。
  • 【明星自動大變臉】最新StarGAN對抗生成網絡實現多領域圖像變換(附代碼)
    (a)為處理多個域,應該在每一對域都建立跨域模型。(b)StarGAN用單個發生器學習多域之間的映射。該圖表示連接多個域的拓撲圖。為解決這些問題我們提出了StarGAN,它是生成對抗網絡,能夠學習多個域之間的映射。如圖2(b)所示,文章中提出的模型接受多個域的訓練數據,並且只使用一個生成器學習所有可用域之間的映射。這個想法是非常簡單的。
  • 【明星自動大變臉,嬉笑怒罵加變性】最新StarGAN對抗生成網絡實現多領域圖像變換(附代碼)
    【導讀】圖像之間的風格遷移和翻譯是近年來最受關注的人工智慧研究方向之一,這個任務在具有趣味性的同時也是很有挑戰的。相關的研究成果也層出不窮,有的甚至引起了全世界的廣泛討論。(a)為處理多個域,應該在每一對域都建立跨域模型。(b)StarGAN用單個發生器學習多域之間的映射。該圖表示連接多個域的拓撲圖。為解決這些問題我們提出了StarGAN,它是生成對抗網絡,能夠學習多個域之間的映射。如圖2(b)所示,文章中提出的模型接受多個域的訓練數據,並且只使用一個生成器學習所有可用域之間的映射。這個想法是非常簡單的。
  • 生成「貓狗版」川普,造假臉工具StarGANv2被玩壞,算法已開源
    曉查 發自 凹非寺量子位 報導 | 公眾號 QbitAI如果你想用AI把川普的臉變成貓,又或者是把自己的臉與漂亮的奧妹結合起來,你會怎麼辦?也許你會想到兩樣AI工具。但是Deepfake生成人臉違和感太強,GAN生成假臉又很難深度定製。現在來自韓國團隊開發的風格遷移模型StarGANv2可以完美解決這個問題。
  • STARGAN-多領域圖像
    Pix2Pix模型解決了有Pair對數據的圖像翻譯問題;CycleGAN解決了Unpaired數據下的圖像翻譯問題。但無論是Pix2Pix還是CycleGAN,都是解決了一對一的問題,即一個領域到另一個領域的轉換。當有很多領域要轉換了,對於每一個領域轉換,都需要重新訓練一個模型去解決。這樣的行為太低效了。本文所介紹的StarGAN就是將多領域轉換用統一框架實現的算法。
  • GANs中的明星StarGAN:使用單一模型執行多個域的圖像轉換
    StarGAN這樣一個統一的模型體系架構讓我們可以同時訓練單個網絡中具有不同域的多個數據集,這導致StarGAN的圖像轉化結果比現有模型質量更高,並具有將輸入圖像靈活轉化成任何期望目標域的新穎能力。我們憑經驗證明了我們的方法在面部屬性轉移和面部表情合成任務上的有效性。上圖為在CelebA數據集上通過傳遞從RaFD數據集中學習到的知識,進行多領域圖像到圖像的轉換結果。
  • 這隻狗,其實是貓變的:「擼貓神器」StarGAN v2來了!
    但是,由於這些方法僅考慮了兩個域之間的映射,因此無法擴展到越來越多的域。例如,具有N個域,這些方法需要訓練N(N-1)個生成器來處理每個域之間的轉換,從而限制了它們的實際使用。 為了解決可擴展性問題,有研究提出了統一的框架。StarGAN 是最早的模型之一,它使用一個生成器來學習所有可用域之間的映射。生成器將域標籤作為附加輸入,並學習將圖像轉換為相應的域。
  • Shearlet變換域內容自適應圖像水印算法
    頻域水印包括DCT域、Wavelet變換域、Ridgelet變換域等[3-6]。通過研究發現,人眼對高頻信息如複雜的區域、灰度變化劇烈區域的失真不敏感,而對低頻信息如平滑區域的失真較為敏感。因此,充分利用人類視覺的頻率特性的同時,考慮圖像自身由於不同背景平均亮度的對比度掩蓋效應和圖像紋理掩蓋效應,圖像能對水印提供更好的視覺掩蓋機制。
  • 「CVPR Oral」TensorFlow實現StarGAN代碼全部開源,1天訓練完
    StarGAN 對抗生成網絡實現多領域圖像變換圖像到圖像轉換(image-to-image translation)這個任務是指改變給定圖像的某一方面,例如,將人的面部表情從微笑改變為皺眉。在引入生成對抗網絡(GAN)之後,這項任務有了顯著的改進,包括可以改變頭髮顏色,改變風景圖像的季節等等。
  • 實習期完成,無圖像對和域標籤,博士小哥實現完全無監督的圖像轉換
    因而,越來越多的研究人員開始探索無監督設置下的圖像到圖像轉換方法。2019 年 5 月,英偉達的一項研究探索 few-shot 無監督的圖像到圖像轉換算法,並實現了逼真的轉換效果。近日,韓國延世大學等機構的研究者實現了完全無監督設置下的圖像到圖像轉換。
  • 三角函數圖像與性質及函數y=Asin(ωx+∮)的圖像變換的深度剖析
    難為大家啦,今天大黃為你解惑來啦!f(x+T)=f(x)對於定義域中所有的元素都成立的非零常數T即為周期。不了解的同學,隨時@大黃,評論區留言;第四、學習過程中容易犯得錯誤:1、單調性:三角函數在整個定義域內沒有單調性,只在局部有單函數調性;2、對稱性:正餘弦函數圖像的對稱中心為圖像與x軸的交點,而正切函數圖像的對稱中心除了圖像本身與x軸的交點之外,還有其漸近線與
  • 圖像特徵點、投影變換與圖像拼接
    全景拼接這個功能也能夠讓你拍攝出很大FOV的圖像,你很可能已經使用過這個功能了,它甚至可以拍攝出水平FOV達到360o的圖像。我們可以比較下。這樣拍攝出來的圖像比起魚眼鏡頭的畸變小很多。那麼,在全景拼接中我們用什麼樣的變換矩陣呢?事實上,此時我們通常採用的是投影變換,因為它的能力比起上面其他的變換形式都更強。下面是同樣兩張圖像,三種不同變換形式的拼接結果,可以看到投影變換的結果是最自然正確的:
  • 其於多尺度分析的紅外圖像邊緣特徵融合算法
    摘要:針對紅外圖像特點,採用基於正交小波變換的多尺度邊緣檢測方法,利用小波變換天生的多尺度特性,檢測出不同尺度、不同精度下的邊緣特徵,融合形成圖像邊緣。
  • 計算機視覺(圖像)技術:視覺圖像搜索綜述
    你之前有沒有考慮過,為何谷歌和 Facebook 會讓你免費上傳如此多圖片?原因就在於這些圖片可以將他們的深度學習網絡訓練的更加準確。一、舉例說明:  亞馬遜出品的Firefly當時引起了很大的轟動雖然這個產品也很難說是不是成功但是當時確實是很大膽的一個舉動。  百度也有圖像搜索和圖像識別微軟也有。
  • ...鄭冶楓:醫學影像AI為什麼需要小樣本學習和域自適應技術? | CCF...
    當然,除了Med3D,鄭冶楓博士團隊還提出了基於魔方變換的自監督學習,在預訓練階段不需要人工標定,從而減少大量的時間成本。另外一方面,為了解決域偏移的問題,他們還提出了新型無監督域自適應(UDA)的方法,來緩和域偏移所導致的性能下降。該方法僅僅需要源域的數據、標註以及目標域的部分圖像,無需目標域的標註,即可實現兩個領域的自適應。
  • 圖像特徵點、投影變換與圖像拼接
    全景拼接這個功能也能夠讓你拍攝出很大FOV的圖像,你很可能已經使用過這個功能了,它甚至可以拍攝出水平FOV達到360o的圖像。我們可以比較下。這樣拍攝出來的圖像比起魚眼鏡頭的畸變小很多。那麼,在全景拼接中我們用什麼樣的變換矩陣呢?事實上,此時我們通常採用的是投影變換,因為它的能力比起上面其他的變換形式都更強。下面是同樣兩張圖像,三種不同變換形式的拼接結果,可以看到投影變換的結果是最自然正確的:
  • 基於提升小波變換的模糊圖像融合算法研究
    引言 圖像融合指綜合和提取兩個或多個圖像的信息,從而獲得對同一場景或目標更為準確、全面和可靠的圖像,使其更加適合人眼感知或計算機後續處理。
  • 英偉達開源Imaginaire:九大圖像及視頻合成方法,你學fei了嗎?
    雖然條件分布是多模態的,但此前方法都引入了過於簡化的假設,而將其作為一個確定性的一對一映射,因此無法在特定的源域圖像中生成富有多樣性的輸出結果。研究者假設,圖像表徵可以分解為一個具有域不變性(domain-invariant)的內容碼(content code)和一個能刻畫域特有性質的風格碼(style code)。為了將圖像轉化到另一個域中,研究者將:1. 原圖像的內容碼,2. 從目標域中隨機抽取的某個風格碼 進行重組,並分析了 MUNT 框架,並建立了相應的理論結果。大量實驗表明,將 MUNT 與其他 SOTA 方法相比具備優越性。
  • 傅立葉變換、拉氏變換、z變換的含義
    答:fourier變換是將連續的時間域信號轉變到頻率域;它可以說是laplace變換的特例,laplace變換是fourier變換的推廣,存在條件比fourier變換要寬,是將連續的時間域信號變換到復頻率域(整個複平面,而fourier變換此時可看成僅在jΩ軸);z變換則是連續信號經過理想採樣之後的離散信號的laplace變換,再令z=e^sT時的變換結果(T為採樣周期),
  • 傅立葉變換、拉普拉斯變換、Z 變換的聯繫是什麼?為什麼要進行這些變換?
    弧度的單位是rad,你會發現,所有的圓邊長和半徑的比值都是2πRad,而π是一個無限不循環的常數,它約等於3.1415926,可以發現弧度和角度是一個對應的關係,如果按角度制而言繞圓一周是360°,弧度制而言,就是2π了現在,我們引入另一個在信號處理中極為極為極為重要的一個函數,三角函數,之所以叫做三角函數,是因為它的計算方式和直角三角密切相關三角函數又常常叫正弦函數常用的主要有sin和cos兩種,