應俊杰,樓陸飛,辛 宇
(1.寧波大學 信息科學與工程學院,浙江 寧波 315211;2.浙江省移動網應用技術重點實驗室,浙江 寧波 315211)
語義分割是計算機視覺的基礎任務之一,它為圖像的每個像素進行類別預測,目的是將圖像分割成若干個帶有語義的感興趣區域,以便后續的圖像理解和分析工作,推動了自動駕駛、虛擬現實、醫學影像分析和衛星成像等領域的發展。近幾年來,語義分割模型的性能有著巨大的提升。然而,模型的性能依賴于大量人工標注的訓練數據,這些數據的標注是十分耗時且代價昂貴的,純人工標注一張圖的時間甚至可能超過一個小時。即使現在使用半自動化標注工具自動生成一部分標注,可以減少標注的時間,但仍然需要人工去調整和檢查自動生成的標注。語義分割模型需要在與訓練數據分布一致的數據上才能獲得優異的性能,而為另一不同分布的數據進行語義標注的代價很大。
為了低代價獲得語義分割的標注,研究者將注意力集中到合成數據上,嘗試使用合成數據來提升分割模型在真實數據上的性能。隨著計算機圖形學領域的發展,研究者利用游戲引擎技術可以輕易地生成大量帶標注的合成數據集來訓練分割模型。常見的合成數據集有GTA5[1]和SYNTHIA[2],它們含有多樣化的城市街道駕駛場景,模擬多種天氣、季節、光照和建筑風格的變化來接近真實場景的分布。雖然合成數據有著很強的真實感,但是合成數據和真實數據(如Citescapes[3]數據集)之間仍存在低級紋理差異。分割模型在合成數據上進行訓練,其在真實數據上性能仍有較大的提升空間。對此,無監督領域自適應語義分割算法被提出,以減少已有標注的合成數據(源域)和無標注的真實數據(目標域)之間的域間差異,提升模型在真實數據上的性能。
近年來,無監督領域自適應語義分割受到廣泛關注。本文將詳細地介紹目前最新的基于深度學習的領域自適應語義分割算法(分類如圖1 所示),并對未來的研究方向進行簡要探討。

圖1 基于深度學習的領域自適應語義分割算法分類
在圖像語義分割的任務中,為了節省人工標注的成本,將深度模型從已有標注的源域數據適應到無標注的目標域數據,訓練得到的模型對與源域分布不同的目標域數據有較好的泛化能力。
無監督領域自適應語義分割問題的定義為:給定一個有標簽的源域和無標簽的目標域Dt=,其中x和y分別表示圖像以及其像素級標注。源域Ds和目標域Dt有相同的標簽空間(類別)和特征空間,但是兩個域數據的邊緣分布不同,即P(xs) ≠P(xt)。因此,存在由于兩個域的數據分布差異(域偏移)導致模型在不同域的相同類別數據上的預測結果不一致的問題,即。無監督領域自適應語義分割算法的目標是將源域Ds的知識遷移到目標域Dt,學習到一個映射,以在目標域上有較好的分割性能。
2.1.1 特征對抗自適應
在圖像分類的領域自適應算法中,通常采用域判別器和特征編碼器之間的對抗學習。為了“騙”過域判別器,特征編碼器提取域不變特征,在公共潛在空間中對齊源域和目標域的特征。通過這種對抗學習,分類器利用源域和目標域在公共潛在空間中的特征表示,依靠源域的標簽作監督,最終在目標域上也能達到良好的分類性能。與圖像分類相比,語義分割需要一個高維的空間結構和語義特征,這些特征需要編碼外觀、形狀等局部線索和全局的視覺線索。所以,僅僅依靠簡單的特征層面對齊,語義分割的性能較差,許多語義分割的領域自適應工作在此基礎上做了改進。
Hoffman 等人[4]首次提出語義分割的領域自適應方案,將分割模型輸出層的源域和目標域特征分別輸入到域判別器中進行對抗學習,達到全局域對齊的目的。此外,由于源域和目標域的場景結構是共享的,兩個域的類別分布是類似的,因此,他們又提出了特定的類別分布的對齊方法,根據源域標簽統計出的類別分布來約束目標域產生類似類別分布的分割預測。Hong 等人[5]利用CGAN 將源域特征轉換為近似目標域特征后,使用對應的源域標簽進行監督訓練,使模型更加適應目標域的數據。Chen 等人[6]提出在模型訓練時將目標域圖像輸入到ImageNet 的預訓練模型中提取到富含語義信息的目標域特征,結合目標引導蒸餾損失來引導分割模型對源域的圖像進行分割,使得模型能學習到類似目標域的特征。他們認為這樣不僅使得分割模型能夠更好地適應目標域的數據,而且能減少對源域數據的過擬合。他們還利用域間空間布局大體一致的特點,將特征圖分為多個區域進行對抗適應。
Chen 等人[7]在全局特征對齊的基礎上為每一個類設置了域判別器進行網格式的類對抗學習,有效避免了自適應過程中不同類之間的錯誤遷移。Du 等人[8]也提出了基于類的對抗方法,他們認為編碼器很難同時適應多個域判別器指導的多個特征空間,這可能會導致域對齊的不一致。他們通過將偽標簽的語義信息分離出來,實現類自適應獨立來確保類適應能得到正確信息的指導。最后,他們設計了類對抗損失重加權模塊,重新分配每個類在對抗損失的權重,使模型更關注適應性差的類。Zhang 等人[9]提出正則化預測遷移的方法,通過patch 級、聚類級和上下文級三種無標簽的約束確保語義預測一致性。文獻[10]、[11]在對抗學習中使用重構損失來確保用于域對齊的潛在嵌入表示具有豐富的信息恢復輸入圖像。
2.1.2 輸出對抗自適應
為了避免復雜的高維特征空間自適應,一些工作提出在低維的輸出(分割)空間進行對抗自適應。域判別器對源域和目標域的分割預測進行區分,而分割模型必須通過生成域之間相似分布的分割預測才能“騙”過域判別器。
Tsai 等人[12]首次提出使用域判別器去區分分割預測來自源域還是目標域,其模型結構如圖2 所示。為了達到更好的自適應效果,他們使用多層特征進行輔助分割,并將輔助分割預測分別輸入到對應的域判別器中,進行多層的域對抗學習。其他工作提出不同形式的輸出空間對齊方法,如Chen 等人[13]將單目深度估計和語義分割任務結合起來,為域判別器提供語義分割預測和深度估計預測進行對抗學習,充分利用兩個任務互相關性以提高自適應性能。Tsai 等人[14]提出域之間patch 級別的域對齊方法,他們使用源域標簽的直方圖建立聚類空間,發掘輸出預測空間patch 級的分布信息。其目的是捕獲輸出空間中高級的結構化模式,這些模式對于語義分割任務十分重要。通過這樣的模式作為指導,使得目標聚類空間的patch 特征表示與源域更接近。

圖2 Tsai 等人提出的模型結構圖[12]
文獻[15?16]利用語義分割預測的熵圖進行自適應學習。Vu 等人[15]發現分割模型在源域能夠產生置信度較高的預測,其熵圖往往是低熵的。相反地,分割模型在目標域的預測往往是不確定的,其熵圖往往是高熵且嘈雜的。對此,他們提出熵最小化的策略,使得分割模型在目標域能夠產生高置信度的預測。首先,他們利用熵損失直接懲罰目標域的低置信度預測。其次,他們訓練域判別器區分分別來自源域和目標域的自信息圖(熵圖的另一種形式),不僅間接減少了熵圖上的值,而且調整目標域與源域的空間結構對齊。Yang 等人[16]將熵最小化策略作為一個附加分支加入到自適應算法中,目的是在目標域的潛在嵌入空間中懲罰決策邊界穿越數據高密度區域,達到對目標域數據的訓練正則化效果。此外,他們引入 Charbonnier 懲罰函數避免網絡專注產生過度的低熵預測,增強模型對高熵區域的域自適應。
圖像層面的適應方法一般都是基于圖像風格遷移,其主要思想是保留源域的語義信息,同時將目標域風格外觀遷移到源域,使源域圖像具有目標域的外觀風格,在視覺外觀上具有域不變性。接著,分割模型對目標域風格的源域圖像進行分割預測,并使用源域標簽監督,幫助模型更加適應目標域數據。目前已經有很多工作基于CycleGAN[17]完成域之間的風格遷移。它是一種雙向的風格遷移模型,利用循環一致性損失來約束一張圖像經過一個方向的風格遷移后還能再通過反方向的風格遷移恢復回來,確保了風格遷移過程中輸入圖像的幾何結構不變,但無法保證遷移前后圖像的語義一致性。
文獻[18?20]使用分割模型優秀的語義特征提取能力來解決語義一致性問題。Hoffman 等人[18]第一次提出在圖像遷移過程中使用語義一致性損失,其模型結構如圖3 所示。他們使用經過源域標簽預訓練過的分割模型,凍結它的參數,并由它預測風格遷移前后兩張圖像的分割預測。兩個分割預測之間計算交叉熵損失來保證語義一致性。但是由于缺少目標域標簽的監督訓練,該預訓練的分割模型在目標域中不能提取出較準確的語義信息,會影響語義一致性的效果。對此,Chen 等人[19]為每個域都設置了單獨的分割模型,遷移前后的圖像利用各自域的分割模型計算語義一致性損失。但是這些工作十分依賴風格遷移的效果,如果風格遷移效果不好,會影響分割模型的正確訓練。針對這個問題,Li等人[20]提出雙向的閉環學習模型,風格遷移模型和分割模型交替訓練,互相提升對方的性能。風格遷移模型借助分割模型語義辨別的能力保持語義一致性,分割模型借助風格遷移模型得到帶標簽的目標域風格圖像來更好地適應目標域數據,每一個模塊都受到另一個模塊正反饋的促進作用。

圖3 Hoffman 等人提出的模型結構圖[18]
文獻[21?22]探索了一種新穎的風格遷移方法,來實現域之間的外觀不變性。這些工作將一張圖分解為域無關的內容特征和域相關的風格特征。若能將源域的內容特征和目標域的風格特征相結合,就能完成源域到目標域的風格遷移,同時保持語義一致性。Zhang 等人[21]提出外觀適應網絡將一個域的圖像內容與另一個域的樣式相結合,并配合表示適應網絡學習域不變的特征表示。Chang 等人[22]將圖像遷移和自編碼器結構相結合,設計了共享編碼器和私有編碼器將圖像分解為高級結構特征和低級紋理特征,分解過程由域對抗損失和感知損失來約束。
Wu 等人[23]提出通道特征分布對齊的方法,使得模型在風格遷移和語義分割的過程中保留空間結構和語義信息。Cheng 等人[24]提出源域和目標域兩條自適應路徑互補的方案來減少風格遷移帶來的視覺不一致問題。源域自適應路徑輔助目標域自適應路徑的訓練受到正確的監督,而目標域自適應路徑引導源域自適應路徑為目標域的自訓練生成高質量的偽標簽。
自訓練主要思想是為目標域數據生成高質量的偽標簽,并將這些標簽加入到模型的訓練過程中,促進模型在目標域中產生置信度更高的分割預測。自訓練源自于半監督學習,利用額外的未標注數據來提高網絡在目標域的性能。偽標簽是由分割模型預測出來的,并不全是正確的。因此,必須選擇可靠的偽標簽,否則會導致模型向著錯誤的方向學習。
2.3.1 離線偽標簽生成
Li 等人[20]利用分割模型對目標域所有圖像進行分割預測,將置信度超過閾值的像素點預測類別作為偽標簽。接著,將偽標簽加入到下一輪的訓練中,訓練時僅計算高置信度標簽的交叉熵損失,改善模型在目標域的性能。但是由于一直選擇高置信度的像素點預測類別作為偽標簽,導致模型總是偏向容易(即高置信度的)類的適應。對此,Zou 等人[25]設計了類平衡自訓練框架,將每個類按置信度進行排序后,為每個類選擇相同數量的最高置信度預測類別作為偽標簽,促進自適應過程中類別的平衡。此外,他們還發現源域和目標域的場景通常共享相似的空間布局。例如在城市街道場景中,天空不可能出現在底部,馬路不可能出現在頂部。所以他們利用源域標簽統計出每個類別的先驗空間分布,根據先驗知識引導每個類在目標域中對齊。Zou 等人[26]還發現之前的工作通過熵最小化策略促使模型一味地產生高置信度的預測。由于在圖像中一些類是高度分不清的,即使置信度很高的像素點預測類別很有可能是錯誤的,擾亂模型的正確學習。對此,他們提出置信度正則化策略,目的是使模型產生較為平滑的分割預測,避免產生過高置信度的預測,降低錯誤偽標簽的影響。
上述工作都是采用離線生成偽標簽的方式,即模型在訓練之前,需對整個目標域圖像進行分割預測,根據某些策略生成新一批的偽標簽。離線生成目標域的偽標簽是繁瑣且耗時的,一些工作開始探索在線生成偽標簽的方式。
2.3.2 在線偽標簽生成
由于在線的迭代優化過程中偽標簽的質量也在不斷提升,文獻[27?30]在訓練過程中直接預測和利用偽標簽,并動態調整偽標簽的監督損失比例。Pizzati 等人[27]采用可學習的權重對偽標簽進行加權和優化,同時減少不確定的像素預測結果的影響。Hoyer 等人在文獻[28?29]引入質量權重對偽標簽的質量進行評估,質量權重代表偽標簽中超過置信度閾值的像素點占總像素點的比例,這個比例越高代表偽標簽越可靠,使用該偽標簽計算監督損失的比例應該高一些。他們在工作[28]中發現自適應訓練過程中,模型學習稀有類越晚,這些類的性能越差,他們推測此時網絡已經對常見類過擬合了。對此,他們提出罕見類采樣策略,增加對稀有類的采樣頻率,以便模型在訓練期間更早地學習它們,提高偽標簽的質量。為了提高高分辨圖像的自適應性能,Hoyer等人在另一項工作[30]中提出上下文和細節裁剪分別適應大物體和小物體,利用尺寸注意力融合長距離上下文關系和分割細節信息。最后,他們采用重疊滑動窗口的策略生成魯棒的高分辨率偽標簽。
2.3.3 自集成學習
文獻[27?31]借助于自集成學習(教師-學生網絡)生成更加可靠、魯棒的偽標簽。在這些工作中,教師網絡的參數由學生網絡通過EMA[32]的方式動量更新。教師網絡輸入原始圖像提供偽標簽,以監督學生網絡的分割預測,將可靠的知識傳遞給學生網絡。學生網絡輸入經過數據增強(如加入高斯噪聲)的圖像,并且要求其分割預測仍與教師網絡提供的偽標簽保持一致,增強了自適應的魯棒性。Hoyer 等人[29]通過對目標域圖像進行隨機掩蓋操作,強迫學生網絡利用上下文信息預測出被掩蓋區域的語義,教師網絡利用完整的上下文信息和局部外觀信息產生更高質量的偽標簽來監督學生網絡的分割預測,增強了模型在目標域的上下文建模能力,其模型結構如圖4 所示。

圖4 Hoyer 等人提出的模型結構圖[29]
2.3.4 域混合
文獻[33?34]提出基于域混合(domain mixup)的算法,即按一定的策略混合源域的標簽和目標域的偽標簽得到混合后的標簽,并且按同樣的方式混合源域圖像和目標域圖像得到對應的混合圖像。混合圖像既包含源域類別,又包含目標域類別,兩者混合在一起輸入到分割模型中進行訓練,并使用混合標簽進行監督。經過域混合算法訓練得到的模型不僅能夠同時對源域和目標域的類別進行有效的分割預測,而且能夠提高模型的魯棒性。Tranheden 等人[33]借鑒了半監督語義分割算法ClassMix[35]的思想,從源域的標簽中隨機選取一半的類別,并將對應類別的像素點標簽粘貼到目標域的偽標簽上,以得到混合標簽。Zhou 等人[34]認為之前基于域混合的領域自適應算法忽視了上下文依賴,其混合成的圖片違背了上下文關系,如一個行人站在一輛汽車的頂部。這會導致在混合結果中出現標簽污染和類別混淆的問題。對此,他們提出上下文掩碼生成策略,以挖掘源域的先驗空間分布和目標域的上下文關系。他們首先統計了源域標簽中每個像素點上每個類出現的頻率作為先驗空間分布,以正則化為模型在目標域的分割預測。其次,他們根據層級上下文關系,將類別重新分為了多組粗略的類別,分組結果如圖5 所示。同組內的類別之間上下文關系十分緊密,稱為語義相關的類別。他們從偽標簽中隨機選取一半的類別,同時將與這些類別語義相關的類別也選中。例如隨機選擇的類別中包含電線桿這個類別,那么與它同組的交通燈和交通標志也要被選中。隨后將選中類別的像素點標簽從偽標簽中粘貼到源域標簽中,得到上下文關系合理的混合標簽。

圖5 Zhou 等人根據層級上下文關系對類別重新分組[34]
2.4.1 課程學習
課程學習[36]是一個新穎的訓練策略,它認為深度學習模型的訓練過程應與人類的學習過程一樣,是一個由易到難的過程。它主要思想是首先通過解決簡單任務來學習到關于目標域的重要屬性,再進階到解決更具有挑戰性的任務。Zhang 等人[37]把課程學習應用到領域自適應語義分割任務,他們提出學習圖像的標簽分布和錨超像素的標簽分布這兩個域無關的簡單任務,為后續更具有挑戰性的語義分割任務提供目標域的類別數量分布和空間分布的必要屬性。Pan 等人[38]首先對源域和目標域進行一次域間的領域自適應語義分割。然后,他們利用熵排序將目標域按一定比例分成簡單和困難兩個子域。其中,簡單域中圖像的分割預測置信度高,自適應的效果較好。因此,他們將簡單域定為源域,困難域定為目標域,再進行一次目標域內部的領域自適應語義分割來改善模型在困難域上的性能,縮小目標域的域內差異。
2.4.2 多源領域自適應和多目標領域自適應
主流領域自適應語義分割算法的源域和目標域分別都只有一個,目前有工作提出了多源領域自適應和多目標領域自適應。多源領域自適應方法若能合理結合數個源域的知識,其自適應效果會比單源的自適應方法更好。Zhao 等人[39]受到Hoffman 等人[18]的啟發,為每個源域設置向目標域風格遷移的生成器,并且利用每個源域的預訓練分割模型的語義辨別能力計算語義一致性損失,保持風格遷移前后的語義一致性。他們利用子域聚合判別器和跨域循環判別器的對抗學習,實現不同域之間的對齊。多目標領域自適應相較于單目標而言,有著更強的擴展性。Isobe 等人[40]提出為每個目標域訓練一個專家模型,并鼓勵模型通過風格遷移相互協作。為了得到一個跨多個目標域的模型,他們利用一個學生網絡不僅模仿每個專家模型在目標域上的輸出,并且還通過對不同專家模型賦不同的權重進行正則化,拉近了不同專家學習的特征空間的距離。
如表1 所示,將上述介紹的無監督領域自適應語義分割算法在GTA5→Cityscapes 和SYNTHIA→Cityscapes實驗中進行性能對比,對比衡量標準為平均交并比(mIoU)。自適應分割算法將GTA5 或SYNTHIA 數據集作為源域,Cityscapes 數據集作為目標域。在模型訓練時,不使用Cityscapes 的標簽;在模型測試時,使用Cityscapes 的驗證集對模型的領域自適應語義分割性能進行評估。Cityscapes、GTA5 和SYNTHIA 的細節描述如下:

表1 無監督領域自適應語義分割算法在GTA5→Cityscapes 和SYNTHIA→Cityscapes 實驗中的性能對比
(1)Cityscapes 是一個真實世界的數據集,由50 個不同城市的街景圖像組成。它包括2 975 張訓練圖像和500 張驗證圖像,每張圖像的分辨率為2 048×1 024,有19 個類別的像素級語義標簽。
(2)GTA5 是一個合成數據集,包含24 996 張分辨率為1 914×1 052 的圖像。這些圖像是從電腦游戲GTAV中收集的,并帶有與Cityscapes 完全兼容的像素級語義標簽。
(3)SYNTHIA 是另一個合成數據集,由9 400 張分辨率為1 280×960 的帶標注圖像組成。與GTA5 一樣,它具有與Cityscapes 語義兼容的語義標簽。
從表1 中可以看出,最新的算法使用了Transformer架構的分割網絡,與基于CNN 網絡的分割網絡相比,其分割性能得到了大幅提升。而且這些近幾年的算法都借助于教師-學生網絡生成更加魯棒、可靠的偽標簽,配合更加成熟的自適應方案,其性能甚至超過了一些有監督的分割算法。
本文對最新的無監督領域自適應算法進行了全面的歸納和總結。有監督的語義分割模型不僅在訓練時需要大量昂貴的人工標注,而且只有在與訓練數據分布相似的數據上應用才有理想的性能。因此,無監督領域自適應語義分割算法受到了研究者的廣泛關注。無監督領域自適應語義分割算法在不使用目標域標簽數據的前提下,通過減少源域和目標域之間的域間差異,提高了模型在目標域的泛化性能。
無監督領域自適應算法仍然受到缺乏目標域標注指導和域間差異的限制,其性能與有監督分割算法有一定差距。但是近年來,無監督領域自適應算法的性能有很大的提升,相信在將來與有監督算法的差距會越來越小。本文列出了未來可能的研究方向:(1)結合半監督學習算法,充分挖掘目標域中可靠的偽標簽來擴充目標域的有標注數據,有效提高模型的分割性能;(2)不論是源域還是目標域都共享語義類別之間的空間分布關系,例如在城市街道場景中,人行道在馬路兩側,汽車來馬路上行駛等。在未來的工作中,可以考慮如何對這些關系利用圖模型進行建模,進而輔助源域到目標域的知識遷移。