學習適應結構化輸出空間進行語義分割
在語義分割場景中,雖然物體在外表上不同,但是他們的輸出是結構化且共享很多例如空間分布, 局部內容等信息。所以作者提出了multi-level的輸出空間adaptation。 本文提出一種在未知領域強化source領域知識的finetune,作者觀察到分割效果不好的痛點 (例如源領域是天氣好的圖片,目標領域是下雨天氣,預測下雨天氣分割時,對於車子這些原有領域 已知的目標,我們要強化它的分割效果)。 作者主要做了兩組實驗,在虛擬數據集如GTA5等訓練,然后在真實數據測試。在一個城市的數據 訓練,然后在另一個城市測試。 |
Overview of the Proposed Model
算法主要流程:
為了解決分割網絡在一個領域往另一個領域遷移,首先在source數據集訓練一個backbone。然后對於source和target數據集抽樣,通過對樣本的feature map做輸入,訓練一個判別網絡來判斷target圖有哪些知識是來源於source。然后用判別器得到的Ladv和Lseg同時對網絡進行finetune。
Network Architecture and Training
Discriminator
判別器由{64, 128, 256, 512, 1}x4x4, stride=2的卷積層組合而成,除了最后一層都用0.2的leaky ReLU激活。最后一層加入upsample恢復大小,不使用BN。
Segmentation Network
在deeplab-v2上做改動,改部分層的stride、加入ASPP,實驗說在Cityspaces上有65.1% mIoU。
NetworkTraining
輸入源圖片得到分割輸出Ps,求Lseg訓練分割網絡。然后對於目標輸入,得到分割輸出后Pt,和Ps一起優化Ld。另外還要優化對抗損失Ladv。
Objective Function for Domain Adaptation
總損失函數為,i 是multi-level的不同卷積層特征圖進行處理得到的結果,分為前后兩部分交叉熵。
第一部分是分割效果的交叉熵:,第二部分則是
,在部分的設計在於最大化特征圖target中屬於source的像素點,目的在於讓網絡識別哪些是之前source領域有的知識。
至於怎么訓練網絡判斷,,z=0表示點輸入目標領域,不在我們知道的知識范圍內。訓練則通過在兩個領域分別采樣即可。
優化目標,在最小化source image的分割損失的情況下,最大化目標預測值被認為是源預測值的可能,即最大化運用會原先的知識。
Experimental Results