1. 程式人生 > >AugGAN:基於GAN的影象資料增強

AugGAN:基於GAN的影象資料增強

資料增強方法無疑是需要重點研究的基本任務之一,因為我們的主流深度學習演算法還是一個有監督過程。臺灣國立清華大學在ECCV2018發表了一篇AugGAN開始把GAN用在資料增強方面了,當然,這並不是這個領域的第一篇。不過很具有參考意義,也很能解決實際問題。所以特地寫一個blog研究一番。

讀本文需要懂GAN和Auto-Encoder的基本演算法流程,沒有GAN和AE基礎的可以看我關於GAN和AE寫的詳細圖解教程:

GAN》《Auto-Encoder》 

論文標題: 《AugGAN: Cross Domain Adaptation with GAN-based Data Augmentation》

論文地址:   http://openaccess.thecvf.com/content_ECCV_2018/papers/Sheng-Wei_Huang_AugGAN_Cross_Domain_ECCV_2018_paper.pdf


訓練資料

AugGAN的特點是轉換準度高,即轉換後的資料可用性高,目前在轉換資料的可用性上,AugGAN是頂尖演算法了。但AugGAN基於語義分割的結構意識,需要有分割資料標籤。這點導致AugGAN的資料來源相當困難。不過好在AugGAN的遷移性挺好,也存在這樣的資料集,比如SYNTHIA,STA等等。SYNTHIA是電腦合成的圖,並非是真實世界得來的資料。SYTHIA示例如下:

上述就是AugGAN的訓練資料了,包含:1. 分割掩模;2,不同領域的影象(春天和冬天,白天和黑夜)。 


 

AugGAN結構

資料增強可以分作很多方面,我們對原始資料進行擴充就是資料增強。此文是基於領域變換的資料增強,如文章標題所言,“跨域適應的GAN基資料增強”。首先,要理解這裡的跨域的概念。

栗子是很好舉的,我們通常採集資料由於各種限制會導致採集資料十分侷限。比如對於行人檢測而言,我們白天採集資料,然後用白天採集的資料訓練模型,把這個模型用到晚上,就會發現效果很差。於是,你不得不晚上再去採集資料。當然,AugGAN的存在讓你不再需要晚上再去採集資料。這裡有個原因是,白天資料和晚上資料其實冗餘成分很大,只是資料域

(domain)的不同。如果能把一個數據域的資料搬移到另一個數據域,是不是就增強了資料呢?我們可以通過白天的資料來生成晚上的資料;我們可以通過夏天的資料生成冬天的資料;我們依然可以通過晴天的資料生成霧霾的資料。這麼操作,資料量是不是大大增加了呢?

很容易讓人聯想到cycleGAN,這是很優秀的風格變換網路。可以一鍵把照片換成水彩畫,甚至可以換成畢加索風格。但cycleGAN的目的不是為了資料增強,更注重其“藝術性”。資料增強這一塊跟AugGAN差別還是不小的,一會兒可以看例子。

喜歡看GAN相關的文章,是因為這些文章無須過多的trick,一個網路結構就足以抽出文章的精髓(像極了幾年前的卷積神經網路,那是一個回不去的年代)。直接丟圖:

 用簡單的話描述上圖,這是自編碼器和GAN結合的結構。X,Y就是代表兩個領域(比如說白天和黑夜)的資料。首先對X和Y進行編碼降維,都會得到一個特徵域Z,這個Z會對接兩個解碼器,一個解碼器負責偽裝資料,另一個解碼器負責恢復資料。

\hat{X}_{pred}\hat{Y}_{pred}為解碼之後得到的掩模,將會和ground truth做一個loss。

下面詳細解析這個框架圖


1. 結構意識(structure-aware)與分割子任務

結構意識是這篇文章的最大賣點,意思是,讓模型在轉換影象的時候,明白影象不同位置分別是什麼物體或者背景。這就依賴一個分割標籤即掩模,如下所示:

具體怎麼讓模型知道各自是什麼呢?依靠一個叫做權值軟共享的操作! 待會兒會好好說這個權值軟共享。

對於結構意識,我們只需在解碼的時候還原掩模就可以了,loss function如下:

 \hat{X}表示ground truth的掩模, Px(Ex(x))表示生成的掩模,所以有以上的損失函式。y的loss function和x的完全一致,就不單獨列出來了。

2. 權值共享

權值共享分為硬共享(hard-sharing)和軟共享(soft-sharing),前者直接就是完全一樣的權值了,後者通過一些函式約束。

如上圖標註,綠色框代表權值硬共享,即每個Resblock的權值是一樣的,藍色框代表軟共享,依靠一定的要求束縛。硬共享的resblock期望找到一種映射準則,而軟共享的上取樣模組期望建立一定的聯絡,這也是 structure-aware的實現基礎。用掩模的上取樣來束縛解壓的上取樣,這樣使得\bar{Y}\hat{X}_{pred}享有一樣的結構意識。

軟共享通過訓練來實現:

通過MSE來實現G和P的權值束縛。


3.迴圈一致性(cycle-consistency)

 一句話可以描述這個概念:X能夠被重構,這就是迴圈一致性。也可以以此建立一個損失函式,如上。

4.對抗訓練

訓練GAN的生成器和判別器,GAN最基本的概念,有疑問可以看 《GAN

5.full loss function 

這就表達了整個模型訓練時所用的損失函數了。就是把前面四種損失函式加到一起。


結果 

 

用YOLO和Faster RCNN測試了AugGAN的資料增強效果。當然這裡的YOLO還是v1,所以表現很菜。可以看出,AugGAN的表現確實搶過非監督圖圖轉換模型UNIT和CycleGAN。 


總結 

AugGAN是監督式演算法,依賴分割標籤。如果資料充足的情況下,AugGAN的轉換資料的可用性非常高。但其資料來源成本十分高,雖然具有很強的遷移性,不過對於具體的專案也不太好實用。

這篇論文提供了一個結構意識的新思路,讓模型理解影象的結構資訊,這樣做轉換的時候更具有針對性,所以不容易淹沒主要資訊。