天天看點

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

一、文章情況

文章題目:《Learning Fixed Points in Generative Adversarial Networks: From Image-to-Image Translation to Disease Detection and Localization》

文章下載下傳位址:https://arxiv.org/abs/1908.06965

項目代碼 (PyTorch):https://github.com/jlianglab/Fixed-Point-GAN

二、文章導讀

這篇文章的主要工作是 針對 StarGAN 進行跨域轉換時傾向于進行不必要不相關的變化,以及不能很好地處理同域轉換 的問題進行了改進,并在此基礎上創新性地 将圖像轉換拓展應用于 異常的弱監督檢測和定位,僅需要圖像級的标注。

先上效果圖。下圖展示了,在 僅進行圖像級标注情況下 進行 眼鏡的檢測定位 和 疾病定位 的任務上,Fixed-Point-GAN 和 目前的SOTA方法【StarGAN,ResNet-50,f-AnoGAN】的效果對比:

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹
【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

可以看出,

  • 對比 StarGAN,Fixed-Point-GAN 不僅在跨域轉換上對無關區域的保留上,還是在同域轉換上的恒等變換上,效果都要好很多。
  • 對比 f-AnoGAN 的重建效果,Fixed-Point-GAN 也明顯好很多。

三、文章詳細介紹

GAN 的發展和衍生的同時帶來了一個有趣的問題:GAN 能否從圖像中删除一個對象(如果存在的話),同時保留圖像其餘部分的内容?

舉個具體的例子,從任意的戴眼鏡的人臉圖像中将眼鏡移除,同時不改變那些沒戴眼鏡的圖像。或者,對一張病人醫學圖像進行“治療”。

這個任務看上去簡單,實質上提出了下述四點嚴格要求:

  • 要求1: GAN必須能夠 處理不成對的資料。收集同一個人戴眼鏡和不戴眼鏡的完美照片過于困難,而且對于正在接受醫學成像的病人來說,想要獲得健康的圖像也為時已晚。
  • 要求2: 在将圖像轉換成目标域時,必須 不需要源域标簽(即 source-domain-independent translation)。例如,一個用于醫學檢測的GAN的訓練目的是能夠将任意的健康狀況未知的圖像轉換成健康的圖像。
  • 要求3: 對于同域轉換的情況,GAN要能執行恒等轉換。例如,對于醫學檢測任務,GAN應該保持健康的圖像不變,而不注入新的資訊。
  • 要求4: GAN必須為跨域轉換執行最小程度的圖像轉換。隻更改那些與轉換任務直接相關的圖像屬性,而不影響不相關的屬性。例如,摘除眼鏡不應影響圖像的其餘部分(如頭發、臉的顔色和背景),或者,摘除病變圖像上的疾病區域不應影響标記為正常的圖像區域。

目前,還沒有一種單獨的圖像到圖像的轉換方法( image-to-image translation method)能夠滿足上述所有的要求——

  • pix2pix 雖然很成功,但是需要成對的圖像。
  • CycleGAN 通過循環一緻性減輕了這種限制,但是它仍然需要 為每對圖像域使用兩個專用生成器,這導緻了由于需要專用生成器而導緻的可拓展性問題。CycleGAN也不能支援與源無關的轉換,選擇合适的生成器需要源域和目标域都有标簽。
  • StarGAN 通過 為所有感興趣的域對(domain pairs)學習單個生成器 克服了這兩個限制,卻也有着缺點。
    • 首先,StarGAN在進行跨域轉換時傾向于進行不必要的變化。例如,StarGAN傾向于改變面部顔色,盡管域轉換的目标是改變來自圖像中的性别、年齡或頭發顔色。
    • 第二,StarGAN不能很好地處理同域轉換。

這些缺點對于 自然圖像 中的圖像到圖像的轉換可能是可以接受的,但是在一些 敏感領域,例如醫學成像,它們可能會導緻可怕的後果,不必要的變化和人工制品的引入可能會導緻誤診。是以,克服上述限制對于采用GANs進行目标/疾病檢測、定位、分割和移除至關重要。

1. 相關工作

Image-to-image translation(圖像到圖像轉換)

  • CycleGAN通過循環一緻性(cycle consistency)在不配對的圖像到圖像的翻譯方面取得了重大突破。循環一緻性在圖像轉換過程中能夠保留對象形狀的已經得到證明,但它可能無法保留其他圖像屬性,如顔色。
  • StarGAN

Weakly-supervised localization(弱監督定位)

自然圖像的弱監督定位,通常使用

顯著性圖(saliency map)

全局最大池化(global max pooling)

基于全局平均池化(global average pooling, GAP)的類激活映射(class activation map, CAM)

等方法來處理。

其中,

CAM技術

最近已經成為深入研究的重點,産生了數個具有更強定位能力的衍生。(Pinheiro和Collobert)用對數和指數池化層( log-sum-exponential pooling layer)代替了原來的GAP。另外有研究專注于迫使CAM發現互補的部分(complementary parts)而非對象的最差別的部分(most discriminative parts)。(Selvaraju等人)提出了GradCAM,使用來自梯度反向傳播的權值來産生CAM。即,權值取決于輸入圖像,而不是原始CAM中使用的固定的預訓練權值。

除了自然圖像,醫學圖像的弱監督定位 最近也得到了發展。(Wang等人)首次将CAM技術用于胸部x光圖的病竈定位。接下來的研究工作,要麼是将原始CAM與額外的資訊(如有限的細粒度注釋,或者是疾病嚴重程度)相結合,要麼是對原始CAM稍作擴充,但沒有顯著的定位效果上的提升。值得注意的是,正如[5]所證明的,采用更先進的CAM版本,如互補發現算法,在醫學成像中的弱監督病竈定位上并沒有前景。

與之前的研究不同的是,(Baumgartner等人)提出了VA-GAN來學習健康大腦和患阿茲海默病大腦之間的差別,雖然沒有配對,但是VA-GAN要求所有的圖像都要被注冊(registered),否則,它不能保留正常的大腦結構。此外,VA-GAN在推斷時需要源域标簽(輸入圖像是健康的還是有病的)。是以,在醫學成像中,香草型CAM仍然是弱監督病變定位的一個強有力的性能基準。

據我們所知,我們是最先使用基于圖像-圖像轉換的GANs來進行疾病檢測和定位,僅使用圖像級标注。定性和定量的結果都表明,我們基于圖像轉換的方法比基于CAM的方法提供了更精确的定位效果。

Anomaly detection(異常檢測)

我們的工作 似乎 與異常檢測有關,即通過隻學習健康圖像來檢測罕見的疾病。

  • (Chen等人)使用對抗式自動編碼器學習健康的資料分布。将病變圖像輸入到經過訓練的自動編碼器,然後從輸入的病變圖像中減去重建的病變圖像,進而識别出病變圖像。
  • (Schlegl等人)通過GAN學習得到一個健康訓練資料的生成模型,GAN接收一個随機的潛在向量作為輸入,然後嘗試區分真實和生成的虛假健康圖像。之後,他們進一步提出了一種快速映射的方法,通過将病變資料投影到GAN的潛在空間來識别病變圖像的異常。
  • (Alex等人)使用GAN學習健康資料的生成模型。為了識别異常,他們逐像素掃描圖像,并将掃描到的小塊輸入訓練過的GAN的鑒别器。然後通過鑒别器将異常值彙總,構造異常圖。

但是,Fixed-Point-GAN 在訓練和功能上,都與異常檢測不同。僅使用健康圖像訓練的異常檢測器無法區分不同類型的異常,因為它們将所有異常視為一個單一類别。相反,我們的固定點GAN可以利用異常标簽(如果有的話),實作所有異常的定位和識别(大前提就不一樣)。然而,為了進行全面的分析,我們将Fixed-Point-GAN與[24]和[1]進行了比較。

2. Fixed-Point GAN

2.1 方法概述

和 StarGAN 一樣,Fixed-Point GAN 中鑒别器 被訓練來對圖像的真假及其所屬域進行分類,不同之處在于,Fixed-Point GAN 中生成器學習的是跨域和同域轉換,而 StarGAN 中生成器僅學習前者。

不動點轉換學習不僅實作了同域轉化,而且對跨域轉化進行了規範限制,通過鼓勵生成器尋找最小的轉換函數,懲罰與目前域轉化任務無關的修改。新的訓練方案提供了三個優點:(1)強化同域轉化;(2)正則化跨域轉化;(3)源域獨立轉化

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

2.2 損失函數詳細介紹

Adversarial Loss(對抗損失)

在該方法中,生成器需要學習跨域和同域的轉換(same- and cross-domain translations)。為了 保證生成的圖像在兩種情況下的逼真性,對對抗損失進行了如下的修正:

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

Domain Classification Loss(域分類損失)

對抗損失確定了生成的圖像看起來是真實的,但不能保證圖像域的正确性。是以,添加一個額外的域分類損失對鑒别器進行訓練,迫使生成的圖像屬于正确的域。

鑒别器的域分類損失 和StarGAN是一樣的。

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

作者更改了 生成器的域分類損失,以同時考慮同域和跨域的轉換,確定生成的圖像在兩個場景中都屬于正确的域。

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

Cycle Consistency Loss(循環一緻性損失)

在無圖像配對,隻有對抗性損失的情況下,生成器的優化訓練過程存在多個可能的随機的解決方案。額外的循環一緻性損失幫助生成器學習合适的轉換方式,能夠保留足夠的輸入資訊,進而生成的圖像能夠被轉換回原始域。作者對循環一緻性損失進行了修改,確定了跨域和同域轉換的循環一緻性。

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

Conditional Identity Loss(條件一緻性損失)

在訓練中,StarGAN專注于将輸入圖像轉換到不同的目标域。這種政策在生成器輸入的變化方面,與比對目标域無關時,無法對生成器進行懲罰。在學習跨域轉換之外,我們使用(Conditional Identity Loss),迫使生成器在将圖像轉換回原域時保留域身份(domain Identity)。這對生成器學習将輸入圖像轉換為目标域的最小轉換(minimal transformation)也有幫助。

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

Full Objective(總損失)

整合所有損失函數,鑒别器和生成器的最終的目标函數分别為:

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹
【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

λdomain, λcyc, 和 λid 決定了各損失項的相對重要性。

下表列舉了Fixed-Point GAN的損失函數。繼承自StarGAN的術語以黑色顯示,以藍色突出顯示的是作者為緩和StarGAN的局限性而進行的修改。

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

3. 實驗

3.1 多域圖像轉換

資料集

CelebFaces Attributes (CelebA) 。該資料集由202,599張不同名人的面部圖像組成,每一張都有40種不同的屬性。

方法細節和評估名額

按照StarGAN的 public implementation,采用了5個域 (black hair, blond hair, brown hair, male, and young),對圖像進行 預處理,将原始的178×218圖檔裁剪成178×178,然後重新縮放到128×128。使用 2000個樣本的随機子集 進行測試,其餘的用于訓練(是以有多少張圖用于訓練?)。

對于跨域圖像轉換,通過分類的準确性來定量地評估,通過每次從源域改變一個屬性來定性地評估。

對于同域圖像轉換,我們通過測量輸入圖像和轉換圖像之間的L1距離,進行定性和定量地評估。

實驗結果

對于跨域圖像的轉換,StarGAN往往會做一些不必要的改變,比如當轉換的目的是改變性别、年齡或頭發顔色時,改變面部顔色。

而Fixed-Point-GAN能夠成功保留面部顔色,并且保留了圖像的背景。

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

下表展示了定量的結果。

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

3.2 腦損傷的檢測和定位

作者将Fixed-Point-GAN從圖像轉換拓展應用于腦損傷的弱監督檢測和定位,隻需要圖像級的标注。

資料集

BRATS 2013。由合成圖像和真實圖像組成。

方法細節和評估名額

訓練階段,隻使用圖像級标注(健康/患病)。Fixed-Point-GAN學習跨域轉換(從患病圖像到健康圖像,反之亦然)和同域轉換。測試階段,則專注于将任意圖像轉換為健康圖像。理想的GAN的表現是将患病圖像轉換成健康圖像,同時保持健康圖像原封不動。

将圖像轉換到健康域後,作者通過從輸入圖像中減去轉換後的健康圖像來檢測病變的存在和位置。我們把結果圖像稱為差異圖。

作者在兩個不同的水準上評估差異圖:

(1)圖像水準上的疾病檢測(2)損傷水準的定位。

對于圖像級檢測,我們 取差異圖中所有像素的最大值作為檢測分數。然後,我們使用受試者工作特性曲線(receiver operating characteristics,ROC)進行表現評估。

對于損傷級定位任務,我們首先使用顔色量化(

啥叫顔色亮化?不就是門檻值化嗎。。。

)對差異映射進行 二值化,然後進行 連通元件分析( connected component analysis)。每個面積大于10個像素的連接配接元件被認為是病變的候選。如果至少一個病變候選對象的質心落在病變ground truth内,則認為該病變已被檢測到。

和StarGAN, CAM, f-AnoGAN, GAN-based brain lesion detection method proposed by Alex, et al. 幾種方法進行了對比。

實驗結果

【文獻閱讀】Fixed-Point-GAN,不動點GAN(2019,ICCV)一、文章情況二、文章導讀三、文章詳細介紹

如圖4a所示,在AUC(

AUC的計算代碼?

)方面,Fixed-Point-GAN與ResNet-50分類器性能相當,但在很大程度上優于StarGAN、f-AnoGAN和Alex等人。注意,對于f-AnoGAN,我們使用差分地圖的平均激活度作為檢測分數,因為我們發現它比使用差分地圖的最大激活度更有效,也比原始工作中提出的異常分數更有效(作者還對f-AnoGAN做了優化)。

在自由響應ROC (Free-Response ROC, FROC)方面,我們的 Fixed-Point-GAN 在每張圖像1個假陽性時的靈敏度為84.5%(

假陽性的個數是怎麼計算出來的?

),優于StarGAN、f-AnoGAN和Alex等人,在相同假陽性水準下的靈敏度分别為13.6%、34.6%和41.3%。分辨率為32x32的ResNet-50-CAM在每張圖像 0.037 假陽性的情況下,實作了60%的最佳靈敏度。此外,我們使用平均IoU(相交比聯合)分數來比較ResNet-50- CAM和定點GAN,得到的平均IoU分别為0.2609 ± 0.1283和0.3483 ± 0.2420。同樣,圖4c和圖4d分别給出了真實MRI圖像的ROC和FROC分析,表明我們的方法在低假陽性範圍内有較好的表現,但總體靈敏度顯著提高。圖2提供了StarGAN、定點GAN、CAM和fAnoGAN在腦損傷檢測和定位方面的定性比較。

3.3 肺栓塞的檢測和定位

我們在定量比較中排除了基于gan的方法和f-AnoGAN,因為盡管我們進行了多次嘗試,但前者遇到了收斂問題,而後者産生了較差的檢測和定位性能。