在同一域下的影象和資料是符合一個整體流形分佈的,一旦域中的資料缺失,能否利用已有的域中資料去還原丟失的資料呢? Collaborative GAN 提出了一種新的缺失影象資料插補框架,稱為協同生成對抗網路 (CollaGAN)。CollaGAN 是在現在已經成熟的單影象到影象生成的基礎上,研究多域影象到影象的翻譯任務,以便單個生成器和判別器網路可以使用剩餘的乾凈資料整合功估計丟失的資料。
作者丨武廣
學校丨合肥工業大學碩士生
研究方向丨影象生成
論文引入
無論是人眼還是攝像頭都不可能實現單取樣下全視角的視角採集,往往一個物體的描述需要多視角的結合才能得到完整的性質描述。所以一個完整的資料在實現視覺分析起到很重要的作用,例如在從多個檢視相機影象生成三維體積時,大多數演演算法都需要預先定義視角集,可是由於採整合本和時間,資料集中的(系統)錯誤等,通常很難獲得完整的輸入資料集。
估算缺失資料對於物體建模和分析影響很大,有幾種標準方法可以根據整組的建模假設來估算缺失資料,如均值插補,回歸插補,隨機插補等 [1]。然而,這些標準演演算法對諸如影象這類高維資料具有限制,因為影象插補需要知道高維影象資料流形。影象到影象翻譯試圖解決高維影象的缺失修複,諸如超解析度、去噪、去模糊、風格遷移、語意分割、深度預測等任務可被視為將影象從一個域對映到另一個域中的對應影象。
影象翻譯的高質量決定著缺失模態估算的準確性,生成對抗網路 (GAN) 的提出大大改善了影象翻譯的實現任務。已經很熟悉的模型有 CycleGAN、DiscoGAN、UNIT,這一類實現了兩個域之間的單影象到單影象的轉換。
StarGAN [2] 和 MUNIT [3] 則可以實現單個生成器學習多個域之間的轉換對映,這就是單張影象轉換到多張影象。這些基於 GAN 的影象傳輸技術與影象資料插補密切相關,因為影象翻譯可以被認為是透過對影象流形結構建模來估計丟失影象資料庫的過程。
然而,影象插補和影象轉換之間存在根本差異。例如,CycleGAN 和 StarGAN 有興趣將一個影象轉移到另一個影象,但不考慮剩餘的域資料集。然而,在影象插補問題中,丟失的資料不經常發生,並且標的是透過利用其他清潔資料集來估計丟失的資料。
因此 Collaborative GAN 透過設計一個生成器去使用剩餘的有效資料集來估計丟失的資料。由於丟失的資料域不難以估計先驗,因此應該設計插補演演算法,使得一種演演算法可以透過利用其餘域的資料來估計任何域中的丟失資料。這一過程和之前所提模型的區別可由下圖展示:
上圖 (a) 可以表示單圖到單圖的模型,代表由 CycleGAN;(b) 圖為 StarGAN 轉換圖示,它是由原輸入去轉換成對應標簽的影象;(c) 則是利用除標的域影象外的其餘影象一起作用生成標的標簽影象。總結一下協同生成對抗網路(CollaGAN)的優點:
-
可以從共享相同流形結構的多輸入資料集而不是單個輸入中更加協同地學習基礎影象流形,達到更準確估計丟失資料。
-
CollaGAN 保留了 StarGAN 類似的單生成器架構,與 CycleGAN 相比,它具有更高的記憶體效率。
模型實現
首先貼上 CollaGAN 的模型實現框圖:
這個圖咋一看有些抽象,我們待會再詳細分析,先把涉及到的參量做個定義。原文為了便於解釋,假設域中含有 4 類樣本:a、b、c、d。比如,生成器為了生成域a的樣本,則生成器則會參考影象域 b、c、d,將 b、c、d 協同送入生成器獲得影象集。其中上標 C 表示補充集,完整表示為:
其中 k∈{a,b,c,d} 表示標的域索引,用於指導生成適當標的域的輸出 κ。由於存在多個輸入和單輸出組合的 N 個組合,在訓練期間隨機選擇這些組合,以便生成器學習到多個標的域的各種對映。
我們來分析一下如何實現 CollaGAN,類似於 StarGAN,判別器的作用有兩個,一個是實現對生成影象判斷真假,另一個是實現域分類作用,確定影象是來自哪一個域。判別器的分類和判斷只在最後一層分出,其餘網路部分均共享引數,模型框圖的最左側就是預訓練判別器的分類引數。
透過固定網路的其餘部分只對判別器實現影象域分類做最佳化,這一實現可以透過僅送入真實域影象下利用交叉熵損失實現:
其中可以解釋為將實際輸入 xk 正確分類為類 κ 的機率。
訓練好判別器的分類就可以對模型的正式部分進行訓練,對於生成器 G(圖中的中間部分)輸入的是要生成標的域的類別標簽 Target Domain,和其餘域類的協同輸入 Input Image,經過生成器得到標的域影象 Fake Image,為了實現迴圈一致的思想,用生成的 Target Image 作為協同輸入的一部分去生成其餘的域影象。
對於 a、b、c、d 的 4 類輸入下,假設標的域是 a,這個迴圈思想的思想就要再重構其餘 3 類:
最佳化迴圈一致損失為:
這裡的 ‖⋅‖ 表示的是 L1 損失,這個迴圈一致的推廣到各類域可進一步表示為:
此時:
模型框圖的最右側就是訓練中判別器的,判別器在訓練階段除了分清圖片的真假還有就是透過分類器去最佳化生成器網路。我們解釋下怎麼透過分類去最佳化生成器,透過訓練發生器 G 以產生由 Dclsf 正確分類的假樣本。因此,對於 G,在最佳化生成域分類當最小化損失:
至於生成對抗損失,文章採用的是較為穩定的 LSGAN:
域標簽的嵌入採用經典的 one-hot 形式。
這裡提一下如何實現生成器輸入端的協同輸入,這個的實現在文章中是根據不同的資料集採取的方式是不同的,對於面部表情資料集 RaFD 下八個面部表情,對生成器重新設計有八個編碼器分支,並且在生成器的中間階段的編碼處理之後將它們連線起來。生成器的架構是包含編碼解碼過程的,整體採用 U-Net 實現,判別器採用 PatchGAN 的設計思路。
實驗
文章主要在三個資料集下進行實驗測試,MR contrast synthesis 資料集是透過多動態多回波序列和來自 10 個受試者的附加 T2 FLAIR(流體衰減反轉恢復)序列掃描總共 280 個軸腦影象。
在資料集中有四種型別的 MR 對比影象:T1-FLAIR (T1F),T2-weighted(T2w),T2-FLAIR (T2F) 和 T2-FLAIR (T2F)。前三個對比度是從磁共振影象編譯(MAGiC,GE Healthcare)獲得的,T2-FLAIR * 是透過第三對比度(T2F)的不同MR掃描引數的附加掃描獲得的。MR contrast synthesis 資料集也是作者進行本次研究的目的性資料集。
CMU Multi-PIE 資料集使用了 Carnegie Mellon Univesity 多姿態照明和表情面部資料庫的子集,250 名參與者,並且在以下五種照明條件下選擇中性表情的正面:-90°(右), – 45°,0°(前),45° 和 90°(左),並將影象裁剪為 240×240,其中面部居中。
對於此資料集的實驗上,使用 YCbCr 顏色編碼代替 RGB 顏色編碼。YCbCr 編碼由 Y 亮度和 CbCr 色空間組成。在五種不同的照明影象,它們幾乎共享 CbCr 編碼,唯一的區別是 Y-亮度通道。因此,處理唯一的 Y 亮度通道用於照明轉換任務,然後重建的影象轉換為 RGB 編碼影象。
Radboud Faces 資料集(RaFD)包含從 67 名參與者收集的八種不同的面部表情;中立,憤怒,輕蔑,厭惡,恐懼,快樂,悲傷和驚訝(這個資料集在 StarGAN 中也被使用)。此外,有三個不同的凝視方向,總共 1,608 個影象,並將影象裁剪為 640×640 並將 resize 為 128×128。
在 MR 的資料集上,實驗對比了 CycleGAN、StarGAN 和 CollaGAN:
從醫學分析上 T2-weighted 影象中的腦脊液(CSF)應該是明亮的,上圖中的第二行結果,這個在 CollaGAN 上效果最佳,在 StarGAN 和 CycleGAN 上則是暗淡的,在另外兩個資料集下的定性測試上,CollaGAN 也展示優勢:
文章還對不同域下的影象彌補缺失輸入下進行了測試,得到的結果依舊是正向的:
在定量分析上,作者採用重建和標的之間計算歸一化均方誤差(NMSE)和結構相似性指數(SSIM)來衡量,文章還花了一定篇幅介紹了 SSIM 的度量計算公式(感興趣的可以自行閱讀原文)。在定量上對比 CycleGAN 和 StarGAN 得到了優異的效果。
總結
CollaGAN 透過在單個發生器和判別器的幫助下協同組合來自可用資料的資訊,提出了一種新穎的 CollaGAN 架構,用於丟失影象資料插補。與現有方法相比,所提出的方法產生了更高視覺質量的影象。
CollaGAN 的創新在於生成器的多輸入下生成域中缺失資訊,這個想法是以往模型中沒有的,同時利用多域下的有效資訊去恢復缺失資訊也很符合人類的思考方式。
參考文獻
[1] A. N. Baraldi and C. K. Enders. An introduction to modern missing data analyses. Journal of school psychology,48(1):5–37, 2010.
[2] Y. Choi, M. Choi, M. Kim, J.-W. Ha, S. Kim, and J. Choo.StarGAN: Unified generative adversarial networks for multi-domain image-to-image translation. arXiv preprint, 1711,2017.
[3] Huang X, Liu M, Belongie S J, et al. Multimodal Unsupervised Image-to-Image Translation[J]. european conference on computer vision, 2018: 179-196.
朋友會在“發現-看一看”看到你“在看”的內容