Learning to Adapt Structured Output Space for Semantic Segmentation

目錄

摘要:

1、簡介

2、相關工作

3、算法概覽

3.1、提出方法的概覽

3.2、域適配的目標函數

4、輸出空間適配

4.1、單層對抗學習

4.2、多層對抗學習

5、網絡結構和訓練

6、實驗結果

6.1、GTA5

6.2、SYNTHIA

6.3、跨城市數據集

7、結論和評論


摘要:

對語義分割來講基於卷積神經網絡的方法,依賴像素級ground-truth標記,但是對未知領域可能泛化效果並不好。因爲標記過程是沉悶和耗時的,開發將源ground truth標記到目標域引起了很大的關注。本文我們提出一種對抗訓練方法在語義分割的內容中進行域適配。考慮語義分割作爲結構輸出包含源域和目標域的空間相似性,在輸出空間中,我們採用對抗訓練。爲了進一步增強適配模型,我們構建一個多層對抗網絡,在不同特徵級別上有效的執行輸出空間域適配。一系列的實驗和消融研究在不同域適配下進行,包括合成到真實和跨城市場景。我們表明提出的方法在精度是視覺質量方面,超過了現有的最先進的方法。

1、簡介

語義分割旨在對每個像素分配一個標籤,例如在一幅圖像中的人、車、路和樹。近年來,基於卷積神經網絡的方法在語義分割上取得了顯著的進步,應用到自動駕駛和圖像編輯上面。基於CNN方法的難點是需要標註大量的數據集來包含可能的場景。但是訓練的模型對未知的場景,泛化能力一般,特別是訓練集和測試集之間有差別時。例如,目標外觀的分佈和場景的分佈在不同城市間是不同的,甚至在同一城市中光照和天氣是變化的。在這種情況下,僅僅依賴監督模型在不同場景下需要重新進行像素級的標註,這必然需要花費更多勞動力。

爲了解決這個問題,我們提出了知識遷移和域適配技巧來縮小源域和目標域之間的差距,因爲目標域中的標註無法獲得。對圖像分類來講一個有效的方法是合併兩個域的特徵,這樣適配特徵在兩個域都能進行泛化。在特徵空間中通過對抗訓練,在語義分割中提出了同樣的方法。然而,與圖像分類不同的是,語義分割的特徵適配的適配會遭遇高維空間的複雜性,需要編碼不同的視覺方法,包括外觀形狀和內容。這使得我們開發一個有效的方法來進行像素級的適配,而不是使用特徵適配。在語義分割中,我們發現輸出空間中包含豐富的語義信息,同時有空間上和本地上的。例如,儘管來自兩個域的圖像在外觀上差異非常大,它們的語義輸出具有明顯的相似數量,例如空間佈局和局部內容(如,圖1所示)。基於這個觀察,在輸出空間中我們強調輸出的像素級域適配問題。

                           

在這篇文章中,對語義分割,我們提出了基於CNN的端對端的域適配。我們的方法基於輸出空間上的對抗訓練,直覺是直接使得源域和目標域的輸出標籤彼此接近。基於生成對抗網絡,提出的模型由兩部分組成:(1)、語義模型來預測輸出結果。(2)鑑別器用來區分輸入來自源域還是目標域。應用對抗訓練,提出的語義模型旨在欺騙鑑別器,目標是對源域和目標域圖像生成相似的分佈。提出的方法也適配特徵,作爲作爲輸出標籤反傳到特徵層的誤差。然而,一個顧慮是可能適配的不太好,因爲它們離高層輸出標籤太遠。爲了解決這個問題,我們開發了一個多層策略,在語義分割的不同特徵層上合併對抗學習。例如,我們可以同時使用第五和第四卷積特徵預測輸出空間中的語義分割結果。對多層對抗訓練兩個鑑別器能夠連接到各自的輸出上。對語義分割和鑑別器,我們同時執行端對端的一階段訓練,在目標域中不使用任何先驗信息。在測試階段,我們可以簡單丟棄鑑別器,並且在目標圖像上使用適配的分割模型,不需要額外的計算消耗。由於語義ground truth標註很耗費勞動力,我們對大規模有標註的合成數據集很感興趣。GTA5和SYNTHIA。結果是,一個關鍵的設置是在合成數據上適配模型到真實數據,例如Cityscape。我們依照這種設置,並且進行了廣泛的實驗來驗證提出的域適配方法。首先,我們使用一個強baseline模型,能泛化到不同的域上。我們注意到強baseline模型能促進真實世界的應用,並且能夠評估提出域適配方法的侷限性。基於這baseline模型,在特徵和輸出空間上,我們展示使用對抗訓練的比較。進一步的,我們發現多層對抗學習相比於單層能提升結果。除了真實到合成的設置,我們展示在跨城市數據集上結果,其中標註在作爲源域的一個城市中提供,測試在作爲目標域的未知城市上提供。在不同設置下相對於最先進的算法有很大的提升。

我們工作的貢獻如下,首先我們提出一個利用對抗學習對像素級語義分割域適配的方法。第二,我們證明輸出空間的域適配能有效合併源域和目標域圖像中的場景分佈和局部紋理。第三,我們開發了一個多層對抗學習方法來適配語義分割模型不同層的特徵,這能有效的提升性能。

2、相關工作

語義分割:最先進的語義分割方法主要基於最近卷積神經網絡的進步,Long提出了將分類CNN(例如,AlexNet、VGG、ResNet)語義分割全卷積網絡的方法。從此以後有大量方法提出利用紋理信息或增大感受野的方法來提升這個模型。爲了訓練這些先進的模型,接下來需要收集大量密集的像素標籤,來匹配深度CNN模型的能力。結果,結果近年來提出了許多弱監督和半監督方法來減少收集語義ground-truth的代價。然而,在多數真實視覺應用中,很難獲得若監督標記,並且對未見的圖像域,訓練的模型泛化能力一般。

另一個解決這種方法的是使用基於渲染的合成數據集,例如GTA5和SYNTHIA。同時數據收集花費較少,因爲像素級標註能用部分自動過程,這些數據集通常和真實世界的數據集聯合起來學習來提升性能。然而當訓練僅僅在合成數據集上進行時,模型泛化到真實世界的數據很不好,主要是由於在合成圖像和真實圖像之間有比較大的域漂移。儘管合成更多真實圖像降低域漂移,有必要使用域適配來縮小性能差距。

域適配:對圖像分類,在源域和目標域之間用來解決域漂移問題。在CNN分類器上開發了大量的方法,因此性能有很大的提升。這些方法背後的觀點主要是處理源域和目標域之間,特徵分佈合併的問題。Ganin提出了域對抗神經域對抗神經網絡來遷移特徵分佈。從那時起開始有大量的變體出現,如損失函數或分類器。最近PixelDA方法通過將源域圖像遷移到目標域來解決圖像分類的域適配問題,因此對目標域獲得了一個模擬的訓練集。

我們注意到對像素級的域適配方法,研究的並不廣泛。Hoffman通過應用對抗訓練介紹了語義分割中的域適配任務,在特徵表達上以一個全卷積的方法,並且額外的類限制類似於限制的CNN。別的方法聚焦適配合成到真實或跨城市的圖像,通過採用逐類對抗學習或標籤遷移。類似於PixelDA方法,一個併發的工作,CyCADA使用CycleGAN,應用像素對齊將源域圖像遷移到目標域,因此,產生的額外訓練數據通過特徵空間對抗學習得到。

儘管特徵空間適配已經成功的應用到了圖像分類,像素級的任務,例如語義分割,依然面臨着基於特徵適配方法的挑戰。在這篇中,我們應用像素級的預測通過輸出的空間和局部信息來構建這個性質,通過輸出空間對抗學習提出一個有效的空間域適配算法。

3、算法概覽

3.1、提出方法的概覽

我們的域適配算法由兩個模塊組成:分割網絡G和鑑別器Di,其中i指的是多層對抗學習中的鑑別器的層級。從源域和目標域的兩個R^{H\times W\times 3}的圖像集合,分別表示爲{Is}和{It}。我們首先將有標記的源域圖像Is在分割網絡中前傳來優化G。然後對沒有標籤的目標圖像It我們預測分割的softmax輸出Pt。因爲我們的目標是使得源域和目標域的分割預測P相近,例如Pt和Ps。我們將這兩個輸出送到鑑別器,來區分哪個輸入來自源域,哪個輸入來自目標域。使用目標域上的對抗損失,網絡將梯度從Di傳到G,這鼓勵G在目標域上和源域預測產生相似的分割輸出。圖2提出了整個算法的概覽。

3.2、域適配的目標函數

使用提出的網絡,我們將域適配任務用來自兩個模塊的損失表示爲:

                               

其中,Lseg是源域中使用ground truth標註的交叉熵損失,Ladv是對抗損失用來適配目標域圖像的分割預測到源域預測的分佈。\lambda_{adv}用來平衡兩個損失。

4、輸出空間適配

和基於利用圖像全局視覺信息特徵的圖像分類任務不同,語義分割學習的高維特徵編碼了複雜的表示。結果是,特徵空間的適配對語義分割來講也許不是最佳的選擇。另一方面,儘管語義分割的輸出在低維特徵空間,它們包含了豐富的語義信息,例如場景佈局和紋理。我們的直覺是不管圖像來自源域還是目標域,它們的語義應該有很強的相似性。因此,我們通過對抗學習方法利用這個性質來適配低維分割預測的softmax輸出。

4.1、單層對抗學習

鑑別訓練:在介紹如何通過對抗學習適配分割網絡之前,我們描述鑑別器的訓練目標函數。給定語義分割的softmax輸出P=G(I)\in R^{H\times W\times C},其中C是類別數,我們將P前傳到一個全卷積的鑑別器D,對兩個類(例如,源和目標),使用交叉熵損失Ld。

損失可以寫成:

                                     

如果樣本來自目標域z=0,如果樣本來自源域z=1。

分割網絡訓練:首先,對來自源域的圖像,我們定義(1)中的分割損失爲交叉熵損失:

                                 

其中Ys是源域圖像的ground truth標籤,並且Ps=G(Is)是分割輸出。

第二,對目標域的圖像,我們將它們前傳到G來獲得預測Pt=G(It)。我們使Pt的分佈和Ps的分佈接近,我們使用(1)中的對抗損失爲:

                                   

損失設計用來訓練分割網絡,並且通過最大化可以作爲源預測的目標預測的概率,來欺騙鑑別器。

4.2、多層對抗學習

儘管在輸出空間中執行對抗學習直接適配預測,底層特徵也許適配的並不好,因爲它們遠離輸出。和使用語義分割輔助損失的深度監督方法類似,我們在底層特徵空間中合併額外的對抗模塊,來增強適配。對分割網絡訓練目標函數可以由(1)擴展爲:

                

其中i指示了用來預測分割輸出的層。我們注意到分割輸出依然在每個特空間中進行預測,對對抗學習在通過當個鑑別器之前。因此,L^i_{seg}(I_s)L^i_{adv}(I_t)依然分別與(3)和(4)的形式相同。基於(5),我們優化下面的最大最小準則:

               

對源域圖像,最終的目標是最小化G中的分割損失,同時最大化將目標預測考慮成源預測的概率。

5、網絡結構和訓練

鑑別器:對鑑別器,我們使用類似[31]的結構,但是利用全卷積層來保持空間信息。網絡由5個卷積層構成,核爲4x4,步幅爲2,其中通道數分別是{64, 128, 256, 512, 1}。考慮最後一個卷積層,每個卷積層後面跟着一個leaky ReLU,參數是0.2。將上採樣層加到最終的卷積層,對輸入到輸出的卷積層進行尺寸變換。我們不使用任何bn層,因爲用分割網絡聯合訓練鑑別器,使用一個小的batch size。

分割網絡:很必要構建一個好的baseline模型來達到高質量的分割結果。我們採用DeepLab-v2框架作爲我們分割的baseline模型,這是利用ResNet-101模型在ImageNet上預訓練的。但是由於內存問題,我們不使用多尺度融合策略。類似於最近的語義分割模型,我們去掉最後一個分類層,並且將最後兩個卷積層的步幅由2調整爲1,使得輸出特徵圖的分辨率,是輸入圖像的1/8尺寸。爲了擴大感受野,我們在第四和第五卷積層上使用空洞卷積,步幅分別是2和4。在最後一個卷積層後面,我們使用ASPP作爲最後的分類器。最終,我們採用一個上採樣層和softmax輸出來匹配輸入圖像的尺寸。基於這個結構,我們的分割模型達到了65.1%的IoU,當在cityscape訓練集上測試,驗證集上測試。

多層適配模型:我們構築上述的鑑別器和分割網絡作爲我們單層適配模型。對多層結構,我們從第4個卷積層提取特徵,並且加入ASPP作爲輔助的分類器。同樣地,一個相同結構的鑑別器加上去用來進行對抗學習。圖2給出了提出的多層適配模型。在這篇文章中,我們使用兩個層,由於需要平衡效率和精度。

             

網絡訓練:爲了訓練提出的單層或多層適配模型,我們發現一起聯合訓練分割網絡和鑑別器很有效。在每個訓練batch中,我們首先前傳源域圖像Is來優化分割網絡,對(3)中Lseg,並且產生輸出Ps。對訓練圖像It,我們得到分割輸出Pt,並且將它和Ps一起送入鑑別器來優化(2)中的Ld。此外,對目標預測Pt,我們計算(4)中的對抗損失。對(5)中的多層訓練目標函數,我們僅僅重複每個適配模塊的相同過程。

我們使用Pytorch toolbox來實現我們的網絡,在單個12GB內存的泰坦GPU上實現我們的網絡。爲了訓練分割網絡,我們使用SGD優化器和Nesterov加速,其中momentum是0.9,weight decay是10^-4。初始的學習率設置爲2.5x10^-4,並且使用多項式衰減,指數是0.9。對優化器的訓練我們使用Adam優化器,學習率是10^-4,,並且相同的Adam優化器,學習率是10^-4,並且和分割網絡的多項式衰減是一樣的。動量是0.9和0.99。

6、實驗結果

這節,在不同的設置下,我們展示一個實驗結果來驗證提出的域適配。首先,我們評估在合成數據集上訓練(例如,GTA5和SYNTHIA)並且用來自真實世界的cityscape數據集來測試適配模型。廣泛的實驗,包括和最先進方法的比較和消融實驗,例如,在特徵或者輸出空間的適配和單尺度和多尺度訓練。第二,我們在跨城市數據集上進行實驗,其中模型在一個城市訓練,但是在沒有標籤的情況下在另一個城市適配。

6.1、GTA5

GTA5由24966張1914 × 1052分辨率基於洛杉磯的遊戲視頻合成。ground truth標註的cityscape數據集是兼容的,這包含19個目標類。我們使用GTA5的整個設置,並且用2975張來自cityscape數據集中圖像來適配這個模型。在測試期間,我們用500張cityscape數據集的圖像來測試。

整個結果:我們展示表1的適配結果,和最先進的域適配方法進行比較。對於這些方法,基礎模型基於VGG結構進行訓練。爲了公平的評估我們的方法,我們首先使用相同的模型(VGG-16),並且用提出的單層適配模型來訓練我們的模型。表1展示了我們的算法比其他算法的效果更好。

         

同時這些所有的方法都有特徵適配模塊,我們的結果展示了在輸出空間中適配模型達到了更好的性能。我們注意到CyCADA有一個像素級的適配模塊,通過將源域圖像轉換到目標域,因此得到了額外的訓練樣本。儘管這個方法達到了和我們類似的效果,一個人可以經常使用像素轉換和我們的輸出空間組合起來,適配來提升結果。

另一方面,我們證明使用一個強baseline模型對理解不同適配組件的重要性是很關鍵的。因此,我們使用基於ResNet-101網絡的模型,並且訓練提出的模型。表1顯示baseline結果僅僅在源域圖像上訓練,無適配,和我們在不同設置下的適配模型進行比較,包括特徵適配和輸出空間中的單層和多層適配。圖3展示了適配分割模型的一些例子。我們注意到,對一些小目標,例如極點和交通標誌,它們很難適配,因爲它們很容易淹沒在背景中。

除此之外,另外的因素來衡量適配表現是衡量適配模型和全卷積模型之間的差距有多窄。因此,我們使用cityscape數據集中標註的ground truth來訓練這個模型來作爲標準結果。我們注意到,儘管標準結果在基於VGG-16和ResNet-101模型有很大不同。建議縮小差距,使用一個更深的模型更加實用。

參數分析:在優化分割網絡G期間,平衡分割和對抗損失之間的權重很關鍵。我們首先考慮(1)中的單層情況,並且執行實驗來觀察\lambda_{adv}變化的影響。表3展示了一個更小的\lambda_{adv},在訓練過程中明顯不使用。

                                  

特徵層和輸出空間適配:在(1)的單層設置中,我們比較通過使用特徵或輸出空間適配的結果,通過對抗訓練。從表1可以看出,本文提出的自適應方法在輸出空間的性能要優於特徵層的自適應方法。

此外,表3展示了特徵空間的適配對\lambda_{adv}更敏感,這導致訓練過程更難,同時輸出空間適配允許一個更加寬泛的\lambda_{adv}。一個原因是特徵適配在高維空間中執行,鑑別器的問題變得很簡單。因此,這個適配模型很難有效地通過對抗訓練來適配源域和目標域之間的分佈。

單層和多層對抗學習:我們已經展示了在輸出空間中採用對抗學習準則。除此之外,我們在表1展示了使用多層對抗訓練的結果。這裏,我們使用一個額外的對抗模塊,如圖2所示,並且對兩層聯合優化(5)。爲了合適地平衡\lambda^i_{seg}\lambda^i_{adv},我們在單層設置中使用相同的權重,對高層輸出空間(例如,\lambda^1_{seg}=1和\lambda^1_{adv}=0.001)。因爲底層信息執行很少的輸出來預測分割,我們對分割和對抗損失使用相同的權重,(例如,\lambda^2_{seg}=1和\lambda^2_{adv}=0.001)。評估結果展示我們的多層對抗訓練進一步提升分割精度。更多的結果和分析在補充材料中展示。

6.2、SYNTHIA

爲了將SYNTHIA適配到Cityscape數據集,我們使用SYNTHIA-RAND-CITYSCAPES設置作爲源域,包含9400張圖像,和cityscape標註的類別是一致的。和[3]相似,我們在cityscape驗證集的圖像上評估,有13個目標類別。對(1)和(5)的權重,我們使用相同的一個作爲GTA5數據集的情況。

表4給出了提出的算法在使用特徵適配時和最先進方法的比較。和GTA5數據集類似,我們首先使用類似的基於VGG的模型,並且訓練我們的單層適配模型,這樣做比較公平。實驗結果表明,在輸出空間上適配模型效果更好。第二,我們比較了提出方法不同組價的結果,基於ResNet模型。我們展示了,多層適配模型能夠在baseline上提升結果,特徵空間適配和單層適配模型。除此之外,我們展示了適配和標準結果IoU之間的差距,如表5所示。

                               

我們的結果差距最小,是僅有的能將差距縮小到30%以下的方法。

6.3、跨城市數據集

對比較大的域差距,除了合成到真實適配外,我們也在跨城市數據集上進行實驗。數據集由不同的四個城市構成:力拓、羅馬、東京和臺北。和[3]相似,我們使用cityscape訓練集作爲源域,並且將它適配到每個目標城市,使用3200張圖像。同時,標註100張用來評估。因爲更小的與差距使得輸出的差距更小,我們使用更小的權重用來進行對抗訓練。同時分割權重,依然和之前實驗的設置一樣。表[6]展示了我們的方法和[3]的比較,我們的baseline模型在不同的設置下。對不同的城市,我們最終的多層適配模型再一次達到了連續的提升,這證明了我們在輸出空間中提出方法的有效性。注意最先進的方法[3]使用了不同的baseline模型,我們給出了一個參考來分析我們的方法提升了多少。

7、結論和評論

這片文章中,我們研究發現語義分割由輸出構建,並且在源域和目標域有許多相似性。在輸出空間上通過對抗學習來解決語義分割的域適配問題。爲了進一步增強適配模型,在不同層上我們構建了一個多層對抗網絡來有效的適配輸出空間。實驗結果展示了提出的方法比許多baseline模型都要好,並且達到了最佳效果。希望我們提出的域適配,對廣泛的像素級預測任務,能稱爲一個通用的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章