【語義分割】【2019】Object-Contextual Representations for Semantic Segmentation

論文地址:https://arxiv.org/abs/1909.11065

代碼:https://github.com/HRNet/HRNet-Semantic-Segmentation/tree/HRNet-OCR

總結https://blog.csdn.net/qq_36268755/article/details/106542753

摘要

1.介紹

2.相關工作

3.方法

3.1背景

3.2 公式

3.3 結構

3.4 實驗分析

4 實驗

4.1 數據集

4.2 實施細節

4.3 與現有上下文方法的比較

4.4 與先進結果的比較

5 結論


摘要

在本文中,我們解決了語義分割的問題,並將重點放在用於穩健分割的上下文聚合策略上。我們的動機是像素的標籤是像素所屬對象的類別。我們提出一種簡單而有效的方法,即對象上下文表示,通過利用相應對象類的表示來表徵像素。首先,我們基於由groudtruth分割監督特徵圖構造對象區域,然後計算對象區域表示。其次,我們計算每個像素與每個對象區域之間的表示相似度,並使用對象上下文表示來增強每個像素的表示,這是所有對象區域表示根據它們與像素的相似性的加權聚合。我們憑實驗證明,所提出的方法在六個具有挑戰性的語義分割基準測試中取得了競爭優勢,這些基準測試分別是Cityscapes,ADE20K,LIP,PASCAL VOC 2012,PASCAL Context和COCO Stuff。值得注意的是,我們以單一模型在Cityscapes排行榜上排名第2位。


針對語義分割問題中的上下文聚合策略進行研究,提出目標上下文描述,即通過相應目標類對像素進行表示。首先基於ground-truth有監督的學習目標區域的分割,然後對目標區域中的像素進行聚合表徵計算目標區域描述,最後計算像素與對應目標區域之間的關係,並通過目標上下文表示來加強像素描述,其中目標上下文是根據所有目標區域描述與像素的關係進行加權聚合得到的。

1.介紹

語義分割是將類別標籤分配給圖像的每個像素的問題。 它是計算機視覺的基本主題,對於諸如自動駕駛之類的各種實際任務至關重要。 自FCN [41]以來,深度卷積網絡一直是主要解決方案。 已經進行了各種研究,包括高分辨率表示學習[7,48],上下文聚合[66,6],這是本文的研究重點,等等。

一個位置的上下文通常是指一組位置,例如周圍的像素。 早期的研究主要是關於語境的空間尺度,即空間範圍。 代表作品,例如ASPP [6]和PPM [66],利用了多尺度背景。 最近,諸如DANet [15],CFNet [63]和OCNet [60]之類的一些作品考慮了一個位置及其上下文位置之間的關係,併爲相似表示使用權重較高的聚合位置表示法進行彙總。

我們提議沿着探索位置與上下文之間關係的路線來研究上下文表示方案。 動機是分配給一個像素的類別標籤是該像素所屬的對象的類別。 我們旨在通過利用相應類別的對象區域的表示來增加一個像素的表示。 如圖1所示的實證研究證明,當給出目標區域groudtruth時,這種表示增強方案可以顯着提高分割質量。

我們的方法包括三個主要步驟。 首先,我們將上下文像素劃分爲一組軟對象區域,每個軟對象區域對應於一個類別,即從深層網絡(例如ResNet [22]或HRNet [48])計算出的粗略軟分割。 這種劃分是在分割groud-truh的監督下學習的。 其次,我們通過聚集相應對象區域中像素的表示來估計每個對象區域的表示。 最後,我們使用對象上下文表示(OCR)擴展每個像素的表示。 OCR是所有對象區域表示的加權聚合,其加權根據像素和對象區域之間的關係計算。

提出的OCR方法不同於傳統的多尺度上下文方案。 我們的OCR將相同對象類別的上下文像素與不同對象類別的上下文像素區分開來,而多尺度上下文方案(例如ASPP [6]和PPM [66])則不會,僅區分具有不同空間位置的像素 。 圖2提供了一個示例來說明我們的OCR環境和多尺度環境之間的差異。 另一方面,我們的OCR方法也不同於先前的關係上下文方案[55、15、60、61、63]。 我們的方法將上下文像素構造爲對象區域,並利用像素和對象區域之間的關係。相反,以前的關係上下文方案分別考慮上下文像素,僅利用像素和上下文像素之間的關係[15、60、63]或預測 僅來自像素的關係而不考慮區域[61]。

我們評估各種具有挑戰性的語義細分基準的方法。 我們的方法優於PSPNet,DeepLabv3等多尺度上下文方案以及最近的DANet等關係上下文方案,並且效率也得到了提高。 我們的方法在五個基準上實現了競爭性性能:Cityscapestest爲83.7%,ADE20Kval爲45.66%,LIPval爲56.65%,PASCAL-Contexttest爲56.2%,COCO-Stufftest爲40.5%。

2.相關工作

多尺度上下文。PSPNet[66]對金字塔池表示執行常規的卷積運算以捕獲多尺度上下文。 DeepLab系列[5,6]採用具有不同擴張速率的par-alel擴張卷積(每個速率捕獲不同規模的上下文)。 最近的工作[21、57、71、60]提出了各種擴展,例如,DenseASPP [57]使擴張的速率緻密以覆蓋更大的範圍。 其他一些研究[7,38,16]構造了編碼器-解碼器結構,以利用多分辨率特徵作爲多尺度上下文。

關係上下文。DANet[15],CFNet [63]和OC-Net [60]通過聚合上下文像素的表示來擴展每個像素的表示,其中上下文由所有像素組成。 與全局上下文[40]不同,這些工作考慮了像素之間的關係(或相似性),這是基於自注意力方案[55,53]的,並以相似性作爲權重執行加權聚合。 它的相關工作[8、61、9、36、34、59、32]和ACFNet [61]將像素分組爲一組區域,然後通過考慮因素對區域表示進行聚合來增強像素表示 通過使用像素表示預測的上下文關係。

Double Attention及其相關工作[8、61、9、36、34、59、32]和ACFNet [61]將像素分組爲一組區域,然後通過對區域表示進行聚集選通來增強像素表示 考慮到使用像素表示法預測的上下文關係。

我們的方法是一種關係上下文方法,與Double Attention和ACFNet有關。 區別在於區域形成和像素-區域關係計算。 我們的方法是在分割groud-truth的監督下學習區域的。 相比之下,除ACFNet以外的其他區域是無監督地形成的。 另一方面,像素和區域之間的關係是通過同時考慮像素和區域表示來計算的,而先前論文中的關係僅是根據像素表示來計算的。

粗到細分割。已經開發了各種粗到細分割方案[14、17、29、51、25、28、70],以逐步從粗到細細分分割圖。 例如,[29]將粗分割圖作爲附加表示,並將其與原始圖像或其他表示結合起來以計算出細分割圖。

在某種意義上,我們的方法也可以被認爲是粗到細的方案。 區別在於,我們使用粗略的分割圖來生成上下文表示,而不是直接用作額外的表示形式。我們在補充材料中將我們的方法與傳統的“粗到細”方案進行了比較。

按區域分割。按區域分割方法[1、2、20、19、56、44、2、52]將像素組織爲一組區域(通常是超像素),然後對每個區域進行分類以獲得圖像分割 結果。 我們的方法不會對每個區域進行分割,而是使用該區域來學習像素的更好表示,從而獲得更好的像素標記。

3.方法

語義分割是一個爲圖像I的每個像素p_{i}分配一個標籤l_{i}的問題,其中l_{i}是K個不同的類之一。

3.1背景

多尺度上下文。ASPP [5]模塊通過以不同的擴張率[5,6,58]執行幾個並行的等位擴張卷積來捕獲多尺度上下文信息:

其中,p_{s}=p_{i}+d \Delta _{t}是膨脹率爲d的膨脹卷積在p_{i}處(膨脹卷積核中心位置)的第s個採樣位置。t是卷積的位置索引,如在3\times 3卷積中,\left \{ \Delta_{t} =(\Delta _{w},\Delta _{h})|\Delta _{w}=-1,0,1,\Delta _{h}=-1,0,1 \right \}x_{s}p_{s}的特徵表示。y_{i}^{d}p_{i}的膨脹率爲d的膨脹卷積的輸出表示。K_{d}^{t}是膨脹率爲d的膨脹卷積在t處的核參數。輸出多尺度上下文表示是由並行膨脹卷積輸出的表示的級聯。

基於膨脹卷積的多尺度上下文方案在不損失分辨率的情況下捕獲了多個尺度的上下文。 PSPNet [66]中的金字塔池模塊對不同尺度的表示執行常規的卷積,並且還捕獲了多個尺度的上下文,但是對於大規模上下文失去了分辨率。

關係上下文。關係上下文方案[15,60,63]通過考慮相關性來計算每個像素的上下文:

其中,I是圖像的像素集,w_{is}x_{i}x_{s}之間的關係,可以僅根據x_{i}進行預測,也可以根據x_{i}x_{s}計算得出。\delta (\cdot )\rho (\cdot )是類似自注意力[53]中的兩個不同的轉換函數。全局上下文方案[40]是關係上下文的一種w_{is}=\frac{1}{I}的特殊情況。

3.2 公式

像素p_{i}的類標籤l_{i}本質上是包含像素p_{i}的對象的標籤。受此啓發,我們提出了一種對象上下文表示方法,該方法通過利用相應的對象表示來表徵每個像素。

提出的對象上下文表示方案爲(1)將圖像I中的所有像素結構化爲K個軟對象區域;(2)通過聚集第k個對象區域中所有像素的表示,將每個對象區域表示爲f_{k}(3)通過考慮它與所有對象區域的關係來聚合K個對象區域的表示來增強每個像素的表示:

其中,f_{k}是第k個對象區域的特徵表示,w_{ik}是第i個像素與第k個對象區域之間的關係。\delta (\cdot )\rho (\cdot )是轉換函數。

軟對象區域。我們將圖像I分成K個對象區域\left \{ M_{1},M_{2}, ... ,M_{K} \right \}。每個對象區域M_{k}對應了類k,並由一個2維圖(或粗分割圖)表示,其中每個條目表示相應像素所屬類別k的程度。

我們根據骨幹網(例如ResNet或HR-Net)的中間表示輸出來計算K個對象區域。 在訓練過程中,我們利用交叉熵損失從地面真僞分割的監督下學習目標區域生成器。

對象區域表示。我們通過每個像素屬於第k個對象區域的程度對所有像素進行加權表示,從而形成第k個對象區域的特徵表示:

其中,x_{i}是像素p_{i}的表示。\widetilde{m}_{ki}是像素p_{i}屬於第k個對象區域的歸一化程度。我們使用空間softmax規範化每個對象區域M_{k}

對象上下文表示。我們計算每個像素與每個對象區域之間的關係的方式如下:

其中,\kappa (\textbf{x},\textbf{f})=\phi(\textbf{x})^{T} \psi(\textbf{f})是非標準化關係函數,\phi (\cdot )\psi (\cdot )是兩個轉換函數,表示爲1\times 1conv→BN→ReLU。這是受到自注意力[53]的啓發,可以進行更好的關係估計。

增強表示。像素p_{i}的最終表示由兩部分聚合而成。(1)原始的表示x_{i},(2)對象上下文表示y_{i}

其中,g(\cdot )是用於融合原始表示和對象上下文表示的轉換函數,表示爲1\times 1conv→BN→ReLU。我們的方法的整體流程如圖3所示。

評論:最近的一些著作,例如Double Attention[8]和ACFNet [61],可以用公式3來表示,但是在某些方面與我們的方法有所不同。 例如,在“雙倍注意”中形成的區域不對應於對象類別,並且ACFNet [61]中的關係僅使用對象區域表示從無像素的像素表示中計算得出。

3.3 結構

骨幹網絡。我們使用膨脹的ResNet-101 [22](輸出步幅爲8)或HRNet-W48 [48](輸出步幅爲4)作爲主幹。 對於擴展的ResNet-101,有兩個表示形式輸入到OCR模塊。 Stage3的第一個表示是用於預測粗分割(對象區域)。 階段4中的另一個表示通過3×3卷積(512個輸出通道)進行,然後將其送入OCR模塊。 對於HRNet-W48,我們僅將最終表示形式用作OCR模塊的輸入。

OCR模塊。我們將上述方法的公式表示爲OCR模塊,如圖3所示。我們使用線性函數(一個1\times 1卷積)來預測粗分割(軟對象區域),並監督其像素方向的交叉熵損失。 所有變換函數\psi (\cdot ),\phi (\cdot ),\delta (\cdot ),\rho (\cdot )g(\cdot )通過1\times 1conv→BN→ReLU實現,前三個輸出256通道,後兩個輸出512通道。 我們使用非線性函數根據最終表示預測最終分割,並在最終分割預測上應用像素級交叉熵損失。

3.4 實驗分析

我們以膨脹的ResNet-101爲骨幹網絡,在Cityscapes驗證集上進行實證分析實驗。

對象區域監督。研究對象區域監督的影響。 我們通過刪除對軟對象區域的監視(即損失)(在圖3中的粉紅色虛線框內)並在ResNet-101的第3階段中添加另一個輔助損失來修改我們的方法。 將其他所有設置保持相同,並在表1的最左側2列中報告結果。我們可以看到,形成對象區域的監督對於性能至關重要。

像素-區域關係。我們將我們的方法與其他兩種不使用區域表示法來估計像素-區域關係的機制進行比較:(i)Double-Attention [8]使用像素表示來預測相關性; (ii)ACFNet [61]直接使用一箇中間分割圖來表示關係。 我們使用DA方案和ACF方案來表示上述兩種機制。我們自己實現了這兩種方法,僅使用膨脹的ResNet-101作爲主幹,而未使用多尺度上下文(使用ASPP [61]改善了ACFNet的結果)。 表1顯示了我們的方法獲得了卓越的性能。 原因是我們利用像素表示以及區域表示來計算關係。 區域表示能夠表徵特定圖像中的對象,因此與僅使用像素表示相比,該關係對於特定圖像更準確。

Groud-truth OCR。我們使用分割的groudtruth來形成目標區域和像素區域關係來研究分割性能,以證明我們的動機。(i)使用groudtruth形成對象區域:如果groudtruth標籤l_{i}\equiv k則設像素i屬於第k個目標區域的置信度m_{ki}=1,否則設m_{ki}=0.(ii)使用groudtruth計算像素區域關係:如果groudtruth標籤l_{i}\equiv k則設像素-區域關係w_{ik}=1,否則設w_{ik}=0。我們在圖1中說明了我們在四個baseline的詳細結果。

4 實驗

4.1 數據集

Cityscapes. Cityscapes數據集[11]的任務是瞭解城市景觀。 總共有30個類,只有19個類用於解析評估。 該數據集包含5K高質量像素級別的精細註釋圖像和20K粗略註釋圖像。 帶有註釋的5K圖像分爲2,975/500 /1,525張圖像,分別用於訓練,驗證和測試。

ADE20K. ADE20K數據集[68]用於ImageNetscene解析挑戰2016。共有150個類和具有1,038個圖像級標籤的各種場景。 數據集分爲20K / 2K / 3K圖像用於訓練,驗證和測試。

LIP. LIP數據集[18]用於單個人解析任務的LIP挑戰2016。 大約有5萬張圖像,其中包含20個類別(19個語義人體零件類別和1個背景類別)。 訓練集,驗證集和測試集分別包含30K,10K,10K圖像。

PASCAL-Context. PASCAL-Context數據集[43]是具有挑戰性的場景解析數據集,其中包含59個語義類和1個背景類。 訓練集和測試集分別包含4,998和5,105個圖像。

COCO-Stuff. COCO-Stuff數據集[3]是一個具有挑戰性的場景解析數據集,包含171個語義類。訓練集和測試集分別由9K和1K圖像組成。

4.2 實施細節

訓練設置。 我們使用ImageNet上預訓練的模型初始化骨幹網絡並隨機初始化OCR模型。 我們用因子(1-(\frac{ iter }{ iter_{max} })^{0.9})執行多項式學習率策略,最終損失的權重爲1,對監督對象區域估計(或輔助損失)的損失的權重爲0.4。 我們使用INPLACE-ABN^{sync} [47]在多個GPU之間同步BN的均值和標準差。 對於數據擴充,我們執行水平隨機翻轉,在[0.5,2]範圍內進行隨機縮放以及在[-10,10]範圍內進行隨機亮度抖動。對復的現方法執行相同的訓練設置,例如PPM,ASPP, 確保公平。 我們遵循先前的工作[6,62,66]爲基準數據集設置訓練。

  • Cityscapes:我們將初始學習率設置爲0.01,權重衰減設置爲0.0005,裁剪大小設置爲769*769,批處理大小設置爲8。對於驗證/測試集的實驗,我們在訓練集/訓練集+驗證集上將訓練迭代設置爲40K / 100K。 對於增加了額外數據的實驗,我們對coarse/ Mapillary進行50K迭代優化模型,並根據[31]繼續對訓練集+驗證集進行20K迭代進行模型微調。
  • ADE20K:我們將初始學習率設置爲0.02,權重衰減設置爲0.0001,裁剪尺寸爲520*520,批大小設爲16,如果未指定,則訓練迭代爲150K次。
  • LIP:我們將初始學習率設置爲0.007,權重衰減爲0.0005,裁剪大小爲473*473,批大小爲32,訓練迭代度爲100K(如果未指定)。
  • PASCAL-Context: 如果未指定,我們將初始學習率設爲0.001,權重衰減爲0.0001,裁剪大小爲520ˆ520,批次大小爲16,訓練迭代次數爲30K。
  • COCO-Stuff:我們將初始學習率設爲0.001,重量衰減爲0.0001, 裁剪大小爲520ˆ520,批次大小爲16,訓練迭代爲60K(如果未指定)

4.3 與現有上下文方法的比較

我們以膨脹的ResNet-101爲骨幹進行實驗,並使用相同的訓練/測試設置來確保公平。

多尺度上下文。我們將OCR與包括PPM [66]和ASPP​​ [6]的多尺度上下文方案進行比較,包括Cityscapes測試集,ADE20K驗證集和LIP驗證集三個基準。 我們在表2中顯示結果。我們複製的PPM / ASPP優於[66,6]中最初報告的數字。 從表2中可以看出,我們的OCR大大優於兩種多尺度情境方案。

關係上下文。我們在相同的三個基準上,包括Cityscapes測試集,ADE20K驗證集和LIP驗證集上,將OCR與各種關係上下文方案進行了比較,包括Self-Attention[53,55],Criss-Cross attention [24] (CC-Attention),DANet [15]和Double Attention [8] 對於復現的“Double Attention”,我們微調區域數並選擇性能最佳的64個。 補充材料中說明了更詳細的分析和比較。 根據表3中的結果,可以看出我們的OCR優於這些關係上下文方案。

複雜性。我們將OCR的效率與多尺度上下文方案和關係上下文方案的效率進行了比較。 我們測量了上下文模塊引入的增加的參數,GPU內存,計算複雜度(由FLOP的數量來衡量)和推理時間,而沒有計算骨幹網的複雜性。 表4中的比較顯示了所提出的OCR方案的優越性。

參數:與多尺度上下文方案相比,大多數關係上下文方案需要較少的參數。例如,我們的OCR僅需要PPM參數的50%不到。

內存:我們的OCR和Double Attention方法都比其他方法(例如,DANet,PPM)性能好得多。 例如,DANet需要比我們的OCR大近10倍的GPU內存。 此外,我們的OCR僅需要CC-Attention的50%GPU內存。

FLOPs:我們的OCR僅分別需要PPM/ DANet所需FLOPs的50%/ 30%。

運行時間:我們的OCR比除了Double Attention以外的其他方法快2倍以上。

4.4 與先進結果的比較

考慮到不同的方法會在不同的baseline上進行改進以達到最佳性能,因此,我們將現有工作根據適用的baseline分爲兩類:(i)簡單baseline:步長爲8的膨脹ResNet-101; (ii)先進的baseline:PSPNet,DeepLabv3,多網格(MG),步長爲4的可以生成更高分辨率輸出的編碼器-解碼器結構,或更強大的主幹網絡,例如WideResNet-38,Xception-71和HRNet。

爲了公平地與這兩個組進行公平比較,我們在簡單的baseline(膨脹的ResNet-101,使用stride8)和高級baseline(HRNet-W48,使用stride4)上執行OCR。 我們將所有結果顯示在表5中,並分別說明每個baseline的比較細節,如下所示。

Cityscapes。與在Cityscape測試集上不使用粗略數據的基於簡單baseline的方法相比,我們的方法可達到81.8%的最佳性能,這已經可以與某些基於高級baseline的方法(例如DANet,ACFNet)相媲美。 通過利用粗注圖像進行訓練,我們的方法獲得了更好的性能82.4%。

爲了與基於高級baseline的方法進行比較,我們在HRNet-W48上執行了OCR,將我們的OCR與ASPP結合起來並在Mapillary數據集 [44]上進行了微調。 通過單一模型輸入,我們的方法在Cityscapes測試集上達到83.7%。 此外,我們分別在HRNet-W48上執行PPM和ASPP​​,並憑經驗發現,直接應用PPM或ASPP不會提高性能,甚至會降低性能,而我們的OCR則持續提高性能。

ADE20K。從表5可以看出,我們的OCR方法與之前大多數基於簡單baseline和高級baseline的方法相比,獲得了具有競爭力的性能(45.28%和45.66%)。例如,ACFNet[21]利用多尺度上下文和關係上下文來實現更高的性能。最新的ACNet[16]通過結合更豐富的局部和全局上下文實現了最佳性能。

LIP。基於簡單的baseline,我們的方法在LIP驗證集上獲得了最佳性能55.60%。應用更強大的主幹HRNetV2-W48可以將性能進一步提高到56.65%,這比以前的方法要好。 CNIF [54]的最新工作是通過注入人體部位的層次結構知識來實現​​最佳性能(56.93%)。 我們的方法可能會從這種層次結構知識中受益。 所有結果均基於僅翻轉測試而不進行多尺度測試2.PASCAL-Context。

PASCAL-Context.。根據[48],我們評估了模型在59個類別的性能。可以看出,我們的方法優於基於簡單baseline和高級baseline的最佳方法。 HRNet-W48 + OCR方法獲得了最佳性能56.2%,大大超過了第二佳的性能,例如ACPNet(54.7%)和ACNet(54.1%)

COCO-Stuff。可以看出,我們的方法在基於ResNet-101實現了39.5%的最佳性能,在HRNetV2-48的基礎上達到了40.5%的最佳性能。

定性結果。我們在圖4的5個基準上說明了定性結果。 我們使用白色虛線框標記硬區域,這些硬區域已通過我們的方法很好地分類,但被基線錯誤地分類了。

5 結論

在這項工作中,我們提出了一種用於語義分割的對象上下文表示方法。 成功的主要原因是像素的標籤是像素所位於的對象的標籤,並且通過用相應的對象區域表示來表徵每個像素來增強像素表示。 我們憑經驗表明,我們的方法在各種基準上均帶來了持續改進。

 

 

 

 

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