王柏涵,姜曉燕,范柳伊
(上海工程技術大學電子電氣工程學院,上海 201600)
語義分割是旨在圖像中每個像素分配其所屬類別的標簽并進行密集預測。在計算機視覺領域,圖像的語義分割是一項基礎且重要的任務,是當前的重要研究方向和研究熱點,且在場景理解[1]、醫學圖像分析[2]、機器人系統感知[3]等方面具有重要應用。
近年來,卷積神經網絡(CNN)以其強大的紋理特征學習能力,在多個計算機視覺任務中成為研究熱點。文獻[4]提出一種全卷積網絡(FCN),該方法將傳統的全連接層替換為卷積層,使得網絡可以接受任意大小的輸入圖像,同時實現基于深度學習、端到端的 語義分 割流程。RONNEBERGER等[5]提出一種結構呈U 字形的語義分割網絡U-Net,該方法采用編碼器-解碼器結構,在編碼階段使用卷積神經網絡,在解碼階段通過上采樣和反卷積操作逐漸將特征映射的分辨率恢復到輸入圖像尺寸,同時利用跳層連接,將編碼器中的特征映射與解碼器中的特征映射進行融合,以提高分割結果的準確性。為擴大卷積核感受野且捕捉多尺度的上下文信息,CHEN等[6]提出空洞空間金字塔池化模塊,通過融合多尺度特征提升分割性能。上述經典的語義分割方法,其主干網絡均采用了傳統的編解碼結構及其變體,通過設計不同的特征融合策略、上采樣方式,有效提升語義分割的精度。
隨著深度學習的發展,針對性地對現有語義分割方法進行改進。例如,針對規則物體的邊緣區域分割結果不平滑問題,DHINGRA等[7]提出使用2 個圖卷積網絡,分別用于全局特征提取和邊界細化,實現對邊界區域的像素進行建模;同時還使用邊界監督損失函數,通過迭代地調整邊界區域的權重來優化網絡,從而更好地利用邊界區域的信息。針對圖像分割任務中上下文特征聚合效率低的問題,YUAN等[8]認為1 個像素所屬的類別與其所屬物體強相關,因此提出利用像素所屬類別表征像素,通過加權聚合上下文信息,增強像素的特征表征,實現分割結果的提升。
盡管上述針對性改進的方法均提升了語義分割效果,解決了特定問題,但語義分割領域仍然存在2 個方面的問題:1)從實現過程上分析,現有分割方法大多數是基于卷積神經網絡,而傳統的卷積操作本身具有較強的局限性,其感受野大小與參數量成正比,因此,卷積操作盡管可以較好地學習局部的紋理特征,但是難以高效捕捉遠距離區域間的關系,而在語義分割任務中,1 個像素的所屬類別不僅和其相鄰像素有關,還可能與圖像中的任意像素有關;2)從分割結果分析,現有方法存在反常識現象,該現象體現為分割結果中2 個緊密相鄰的區域被分割為沒有任何語義相關性的標簽[9],究其原因在于現有方法的監督學習對象僅為像素級的語義標簽,難以學習到類別間的相互關系和物體內的一致性。
為增強網絡針對區域間關系的學習能力,改善分割結果中的反常識現象,本文提出一種基于深度監督隱空間構建的語義分割改進方法。本文工作如下:1)針對分割結果出現反常識現象問題,提出使用“特征圖-隱空間-特征圖”流程,將圖像特征與自然語言標簽共同投影至高維空間,使用對比損失函數輔助監督訓練過程,通過保持圖像特征與語言特征的一致性,實現特征轉換過程的準確性;2)針對“特征圖-隱空間-特征圖”流程中出現的分配失衡和位置信息丟失問題,使用深度監督技術約束投影矩陣分布,避免部分像素特征丟失,在隱空間構建過程中加入節點位置編碼,保留特征的位置信息。
FCN 網絡是一種用于語義分割的深度神經網絡模型,其實現過程分為3 個步驟:
1)使用預 訓練的 卷積神 經網絡(如VGG[10]、ResNet[11])提取圖像特征,此過程包含多次卷積與下采樣操作,得到分辨率較低的多通道特征圖,該過程稱為編碼階段。為了獲得密集的像素級預測,FCN需要將特征圖上采樣到原始圖像分辨率,該階段稱為解碼階段。FCN 中使用的上采樣方式為轉置卷積,也稱為反卷積,可以將輸入的低分辨率特征圖進行擴展,并且在擴展過程中進行卷積操作,從而得到高分辨率的特征圖。轉置卷積的實現過程為給定輸入特征圖、卷積核、步長、填充大小和目標的輸出特征圖尺寸,先對輸入特征圖進行零填充,零填充的目的是為了保證輸出張量與輸入張量的尺寸相同。將卷積核與特征圖進行卷積操作,得到輸出特征圖。
2)將得到的特征圖與來自主干網絡相應層的特征圖通過跳層連接相結合,使得網絡能夠同時利用高層和低層的特征、保留空間信息,提高分割的準確性。
3)合并后的特征圖通過1 個Softmax 層,以獲得分割類別的概率分布。具有最高概率的類別被選為每個像素的預測標簽,結果是1 個分割掩碼,表明輸入圖像中每個像素的類別。
本文提出的基于深度監督隱空間構建的語義分割改進方法作用于FCN 上采樣之后、Softmax 之前的特征圖。由于FCN 的主干網絡已在ImageNet 上進行預訓練,因此輸出特征圖具有初始語義信息。
與傳統的CNN 不同,圖神經網絡(GNN)在處理非歐幾里得數據時具有明顯的優勢[12]。近年來,隨著相關研究的發展,圖神經網絡被廣泛應用于物體檢測、語義分割、行為識別[13-14]等任務中。其中,一些方法試圖通過結合CNN 和GNN 來捕捉抽象的語義關系,此類方法的實現流程可以被總結為“特征圖-隱空間-特征圖”流程。該流程主要包括3 個步驟:1)將特征從坐標空間映射到隱藏的交互空間,構建1 個語義感知圖;2)對圖進行推理,更新節點特征;3)將圖映射回坐標空間,獲得更新的特征圖。此類方法大多數在前2 個步驟上有所不同:如何從特征圖中構建圖,如何執行消息傳遞以更新節點特征。LI等[15]提出一種符號圖推理方法,該方法使用圖卷積網絡[16],對1 組符號節點進行推理,旨在明確表示先驗知識圖中的不同語義,捕捉不同區域之間的長程依賴關系。CHEN等[17]提出1 個輕量但高效的全局推理模塊GloRe,該模塊通過全局池化和加權特征傳播,實現坐標空間與隱空間的映射,并通過圖卷積在交互空間的小圖上進行關系推理。
上述方法都指出了區域間語義關聯的重要性,并利用GNN 來提取語義特征,最終達到更好的特征提取性能,有利于下游任務的開展。但此類方法存在分配失衡和位置模糊2 個主要問題。分配失衡是指隨著訓練的進行,網絡傾向于將一部分像素分配多個節點,而另一部分像素則不分配任何節點。此現象導致后者特征在GNN 中缺失,降低網絡性能。位置模糊是指上述方法僅根據語義相似性來衡量區域間的連通性,并未考慮位置信息。但是在語義分割任務中,決定1 個像素的所屬類別,不僅考慮與語義特征相近的像素特征,還要考慮位置鄰近的像素特征。
本文提出的基于深度監督隱空間構建的語義分割改進方法將針對上述問題進行改進,通過加入位置編碼和深度監督技術,實現從特征圖到隱空間轉換過程中保留位置信息,避免部分像素語義特征丟失。
對比學習[18]通過學習如何將相似樣本在特征空間中彼此聚集,并將不相似樣本分散開,以達到學習特征表示的目的。對比學習中的目標是最大化同類樣本之間的相似度,最小化異類樣本之間的相似度。InfoNCE[19]是對比學習中常用的一種損失函數,通過將對比學習中的目標轉化為最大化正確匹配樣本對的相似度、最小化不匹配樣本對的相似度,實現特征表示的學習。
為保證構建的隱空間表征能力足夠、特征轉換有效,本文提出使用基于InfoNCE 的損失函數。通過最大化正樣本對在特征空間中的相似度、最小化負樣本對在特征空間中的相似度,使用語義標簽輔助監督訓練過程,達到圖像特征與語義特征一致的目的。
深度監督技術[20]是一種用于深度神經網絡訓練的方法,旨在解決傳統的端到端神經網絡訓練中的梯度消失和梯度爆炸問題。該方法在網絡結構中引入額外的輔助損失函數,并在網絡的不同層次處進行監督,以增加訓練期間的梯度流動,加快收斂速度并提高模型的泛化能力。深度監督技術的核心思想是通過將多個損失函數分布在網絡的不同層次中,增加網絡的訓練深度,從而減輕梯度消失和梯度爆炸問題[21]。在深度監督技術中,網絡的每個輔助損失函數都可以看作是1 個短路徑,將梯度反向傳播到較早的層次。通過這些短路徑,輔助損失函數可以提供額外的監督信號,以加速網絡的收斂和優化。
為保證特征轉換的質量與效率,本文基于深度監督思想,提出使用基于Kullback-Leibler(KL)散度的損失函數監督投影矩陣分布,使用基于InfoNCE的損失函數監督節點特征矩陣。
本文提出基于深度監督隱空間構建的語義分割改進方法,位于語義分割網絡的解碼器之后,作用于Softmax 之前的特征圖。該方法的整體結構如圖1所示。其中,實線空心單向箭頭表明該步驟在推理過程和訓練過程中均有發生,虛線單向箭頭表明該步驟僅存在于訓練階段,虛線雙向箭頭表示箭頭兩側用于計算損失函數的預測值與真實值。圖1 中的主分支描述了本文所提方法的推理過程,該過程分為3 個階段:基于特征轉換的隱空間構建、基于圖神經網絡的特征更新、反投影。上下2 個分支僅在訓練過程中發生,分別對應投影矩陣和節點特征矩陣的監督學習,這2 個矩陣均在隱空間的構建階段生成。

圖1 基于深度監督隱空間構建的語義分割改進網絡的整體流程Fig.1 Overall procedure of semantic segmentation improvement network based on deep supervised latent space construction
在本文提出的語義分割網絡模型中,基于特征轉換的隱空間構建模塊位于語義分割網絡模型輸出的特征圖之后,其作用是將具有相似語義特征的區域投影到隱空間內的同1 個節點,并將區域之間的語義相似度和位置相近度表示為節點之間的邊緣權重。基于特征轉換的隱空間構建流程如圖2 所示,隱空間的表現形式由若干個節點和帶權邊緣組成的圖數據。

圖2 基于特征轉換的隱空間構建流程Fig.2 Procedure of latent space construction based on feature transformation
在隱空間構建的實現過程中,投影矩陣是關鍵模塊,決定了從特征圖到隱空間的映射關系。隱空間由2 個矩陣表征:節點特征矩陣和鄰接矩陣。節點特征矩陣表示每個節點的語義特征向量,而鄰接矩陣則表示節點之間的邊緣權重。
2.2.1 投影矩陣
從特征圖到投影矩陣的變換,最直接的方法是區域生長法。該方法通過將具有相似像素值的像素聚合到一起,形成1 個連通的區域,實現對圖像的分割。該方法的優點在于它的簡單性和可擴展性,由于區域生長法只需要一些簡單的圖像處理操作和像素之間的相似度比較,因此可以快速地實現像素級的分類。但在本任務的實際操作中,使用區域生長法不僅需要手動選擇種子點、相似度閾值等參數,而且由于特征圖是高維度的且數值為浮點數,因此算法的實現也相應更加復雜,需要花費更多的計算時間和存儲空間。為解決該問題,受到GloRe 方法的啟發,本文從特征圖到投影矩陣的轉換由投影矩陣實現。投影矩陣作用在于:將坐標空間中的像素特征投影為語義空間中的節點特征,在此過程中,坐標空間中具有相似特征的像素,將會被分配給語義空間中的同一節點。生成投影矩陣的主要依據是編碼器-解碼器輸出的特征圖。具體地,對于特征圖X?RC×H×W,其對應的投影矩陣為P?RC×H×W,其中C為特征圖的通道數,在本文中等于類別數,N為隱空間中的節點個數(該數值需人為預先設定),H、W分別為原始圖像的高和寬。
投影矩陣中處于(n,h,w)位置的元素,其數值取值范圍為(0,1),該位置元素數值大小代表將原特征圖(h,w)處的像素投影至第n個節點的概率大小。具體地,根據特征圖X,可通過式(1)得到投影矩陣P:
其中:卷積操作的卷積核大小為1。
2.2.2 節點特征矩陣
節點特征矩陣描述了特征圖投射在隱空間后生成的節點特征。生成節點特征矩陣的過程也是從像素級別的特征圖轉換到節點級別的隱空間、建模節點特征的過程。該過程的輸入是投影矩陣和特征圖,輸出為節點特征V?RN×D,其中D為節點的特征維度。
生成節點特征矩陣的直接方法是將投影矩陣與特征圖進行矩陣相乘,但存在2 個問題:1)從計算量的角度看,此處構建的節點特征將用于后續的圖神經網絡,圖神經網絡中存在特征聚合與表征更新操作,若原始特征圖通道數較多,則用此方法生成的節點特征維度也相應較高,導致圖神經網絡階段需要較高的計算量,增加推理時間,降低運行效率;2)從特征分布看,像素級別的特征圖轉換到節點級別的隱空間,兩者存在一定的特征分布差異,而直接使用矩陣乘法難以消除這種分布差異。為解決該問題,本文方法將先對特征圖進行特征轉換,再生成節點特征矩陣。具體地,首先將像素特征X轉換為語義特征S?RD×H×W,其目的在于升維或降維。當特征圖維度較高時,為降低在后續操作中的參數量,將高維度特征轉換為低維度特征;當特征圖維度較低時,為增加網絡的描述能力,將低維度特征轉換為高維度特征。該轉化過程由卷積操作實現:
其中:卷積操作的卷積核大小為1。將投影矩陣與語義特征進行矩陣相乘,得到節點特征矩陣,即可實現從像素級別到節點級別的特征轉換:
2.2.3 鄰接矩陣
本文提出使用鄰接矩陣A描述節點特征的相似度Asem及其位置相近度Apos,其目的在于以更加高效的方式,將具有相似語義且距離較近的2 個節點使用更高的權重邊緣連接。具體地,將投影矩陣P展平即可得到N個長度為H×W的一維向量pi,該向量即為隱空間中第i個節點的位置編碼。本文將進行形狀變換后的投影矩陣記為P'?RC×H×W。因此,將P'與其自身計算Cosine 相似度,即可得到描述節點位置相近度的矩陣:
其中:分子表示2 個向量的點積;分母表示2 個向量的模長。類似地,已有節點特征矩陣,展平其每個通道即可得到該節點的語義編碼vi,將進行形狀變換后的節點特征矩陣V'與其自身計算Cosine 相似度,即可得到描述節點位置相近度Asem。最后將2 個矩陣相加,即可得到目標鄰接矩陣A。至此,從特征圖到隱空間的轉換完成,隱空間由若干個節點及邊緣特征組成,節點特征與邊緣特征分別由V和A表示。
基于圖神經網絡的特征學習模塊將節點特征和鄰接矩陣作為輸入,輸出最新的節點特征該模塊的目的是對圖進行特征學習,捕捉語義空間中的關系以及坐標空間中的位置屬性。該過程表達式如下:
其中:W代表圖神經網絡的可學習參數。
本文使用圖卷積網絡(GCN)對得到的節點特征進行學習。圖卷積網絡是一種用于處理圖數據的卷積神經網絡,它在節點上進行卷積操作,類似于在圖像上進行像素卷積操作。圖3 所示為給定1 組圖數據,圖卷積網絡將節點特征與其鄰居特征進行聚合,從而生成新的節點特征表示。

圖3 圖卷積網絡的圖傳遞示意圖Fig.3 Schematic diagram of graph transfer in graph convolutional network
對于節點特征矩陣和鄰接矩陣,圖卷積層執行消息計算和特征聚合操作,并輸出節點的更新特征在本文方法中,為保留節點本身的特征,將對節點本身和其鄰居進行不同的特征計算:
其中:Ws和Wn表示針對節點表征進行的線性變換;mv表示節點本身特征;mu代表節點鄰域聚合后的特征;AGG 操作可以是1 個簡單的平均化、最大化或求和,以匯總鄰居的特征。通過式(8)獲得更新的節點特征:
其中:σ為激活層,用于增加網絡的非線性。
至此,特征圖經過圖神經網絡,完成了特征更新,且整個流程是端到端、可訓練、可進行反向傳播的。
深度監督技術可通過在網絡結構中引入輔助損失函數,并在不同層次處提供額外的監督信號,達到加速網絡收斂的目的。為保證特征轉換的質量與效率,本文基于深度監督思想,提出使用KL 散度損失函數監督投影矩陣分布,使用InfoNCE 損失函數監督節點特征矩陣。
2.5.1 使用KL 散度損失函數監督投影矩陣的方法
投影矩陣的生成與應用是端到端的,投影矩陣的數值可通過訓練學習得到。但是在實踐過程中,本文發現原始的“特征圖-隱空間-特征圖”流程中存在分配失衡問題:隨著訓練的進行,網絡傾向于將一部分像素分配給多個節點,而另一部分像素不分配任何1 個節點。投影矩陣作為特征圖與隱空間相互轉換的關鍵模塊,其數據分布直接影響著特征轉換的效果。因此,本文基于深度監督思想,提出使用基于KL 散度的損失函數監督投影矩陣分布。KL 散度損失函數是一種用于衡量2 個概率分布之間的差異性指標,其值越小表示2 個分布越相似,反之則越不相似。對于2 個形狀同為N×(H×W)的特征分布P'、Q,其KL 散度計算式如下:
其中:P'i和Qi分別表示P'、Q第i層的概率分布。
本文提出2 種使用KL 散度損失函數監督投影矩陣的方法。第1 種方法是首先對真實值掩碼進行如式(1)所示的轉換操作,將得到的矩陣稱為投影參考矩陣,記作,然后計算與P'的KL 散度損 失。此方法通過顯式建模從特征圖到隱空間過程中投影矩陣的生成方式,使得網絡學習到的投影矩陣能夠將原特征圖中具有相似語義特征的像素分配到同1個節點。第2 種方法則是使用與投影矩陣形狀相同的均勻分布矩陣Q,通過最小化P'與Q的KL 散度,使得投影矩陣的數值分布接近于均勻分布。此方法可視為第1 種方法的反面,可以減少低置信度的出現頻率,進而避免轉換過程中的特征丟失。
2.5.2 使用InfoNCE 損失函數監督節點特征矩陣的方法
為確保本文方法中從特征圖到隱空間的轉換過程有效,并且能夠構建具有足夠表征能力的隱空間,本文提出采用InfoNCE 損失函數,使用分割真實掩碼監督得到的節點特征。具體地,首先,針對樣本圖像Ix得到的節點特征,使用多層感知機(MLP),將節點特征轉換為特征向量q?R1×D。接著,Ix對應的真實值編碼為l+?R1×C作為對比損失中的正樣本,其元素數值為1 或0,代表掩膜中是否出現某個類別。同時隨機生成K個負樣本特征向量l-?RK×C,每個特征向量的元素數值同樣為1 或0,生成的l-應滿足:使用多層感知機將l+轉換為z+?R1×D,l-轉換為z-?RK×D。至此,對比損失的計算式如下:
2.5.3 損失函數
本文采用的損失函數由3 個部分組成:預測結果與真實標簽之間的像素級損失、投影矩陣與目標矩陣的KL 散度損失、節點特征與語義標簽的InfoNCE 對比損失。損失函數計算式如下:
其中:LossCE表示計算輸出的分割掩碼Y與真實值的交叉熵損失;LossKL表示計算投影矩陣P'與目標同尺寸矩陣Q的KL 散度損失;LossNCE表示計算圖像表征與標簽正負樣本的對比損失;α、β為可調節參數,用于減小2 個損失值的差異。交叉熵損失的計算式如下:
在移栽前,為了滿足植株生長對養分的需求,要改善土壤理化性質,提高地表溫度,每畝追施完全腐熟的有機肥2500 kg,追施磷肥25 kg、鉀肥10 kg。將肥料均勻撒入地面后深翻土壤,深翻深度30 cm,整平后按50 cm小行、70 cm大行開溝,溝深15 cm、寬20 cm。壟高20 cm、寬30 cm,株距維持在50 cm左右。
本文在公開數據集CityScapes[22]上訓練和評估該方法。CityScapes 由德國斯圖加特大學的計算機視覺小組于2016 年創建,是1 個大規模的城市街景數據集。該數據集拍攝了不同天氣狀況下,德國和瑞士50 個城市的街景圖像,包括城市中心、住宅區、高速公路和鄉村道路等場景。該數據集提供5 000 張精細標注數據,為避免模型過擬合、增強模型泛化能力,該數據僅公開了精細標注數據中4 500 個樣本的真實掩碼,用于研究人員的訓練與驗證,另有500 個樣本未提供真實掩碼,需在線提交驗證。在實驗中,本文采取2 975 個樣本用于訓練,500 個樣本用于測試。每個樣本都針對19 個類別分別進行像素級標注。
本文從模型運行效果和運行效率2 個方面評價提出的網絡模型。在模型運行效果方面,使用平均交并比(mIoU,計算中用mmIoU)評價模型分割結果的精度,其計算式如下:
其中:TTP表示針對真實值為真的像素,模型預測也為真;FFN表示針對真實值為假的像素,模型預測也為假;TTN表示針對結果為假的像素,模型預測為真;FFP表示針對真實值為真的像素,模型預測為假。mIoU 取值范圍為[0,1],該數值越大,分割結果越準確,網絡效果越好。
在模型運行效率方面,使用每秒浮點運算數(FLOPS)和模型參數量衡量所提方法的計算復雜度。
本文實驗環境基于64 位的Ubuntu18.04 操作系統,使用PyTorch 1.7.0 框架進行網絡訓練,計算機配置顯卡為NVIDA GeForce GTX 3090,CUDA 版本為11.0。在訓練過程中,本文采用Adam 優化器,初始學習率為 0.01,按照如下poly 策略,動態設置學習率:
其中:llr表示學習率;llrinit表示初始學習率;iiter表示當前迭代次數;iitertotal表示最大迭代次數;power 設置為0.9。在訓練過程中采用的數據增強手段包括顏色變換、隨機翻轉、裁剪縮放,輸入數據尺寸統一為320×320 像素,Batch size 設置為16。本文使用像素級交叉熵損失函數、KL 散度損失函數和InfoNCE 損失函數聯合優化網絡,忽略未標記的背景像素點。在評估過程中,使用相應數據集的原始圖片,不對輸入圖片進行任何形式的數據變換。

表1 消融實驗結果Table 1 Results of ablation experiment
本文使用FCN+GloRe 作為基線方法,其中FCN的編碼器為ResNet101,GloRe 模塊位于FCN 編碼器之后,該模塊的節點數為2 048 個,節點特征維度為1 024。從方法①和方法②可觀察到:本文方法基于深度監督思想,使用KL 散度損失監督投影矩陣過程中,當投影矩陣分布的學習對象為均勻分布時,相比投影參考矩陣分布,mIoU 提高1.0 個百分點;而Baseline 方法沒有對投影矩陣進行任何形式的監督或約束,其生成過程是完全隱式的。為尋找生成邊緣權重的最佳方法,實驗比較3 種不同的方法:僅考慮語義相似性、僅考慮位置相似性、同時考慮語義和位置相似性。3 種方式分別對應表1 中的方法②、方法③、方法④。同時考慮節點間的語義相似性和位置相近度,相比原始的僅考慮語義相似性,mIoU 可提升0.5個百分點;而Baseline 方法中的鄰接矩陣是可訓練的,隨著網絡的迭代在不斷變化。對比方法④和方法⑤,使用InfoNCE 損失函數監督對比節點特征與標簽特征,mIoU 提升0.8 個百分點。綜上,與Baseline 方法相比,本文方法在構建隱空間過程中基于深度監督思想,一方面使用KL 散度損失函數監督投影參考矩陣分布,以解決原方法中的分配失衡問題;另一方面根據區域之間的語義相似性與位置相似性,顯性建模鄰接矩陣,以解決原方法中的位置模糊問題。對比Baseline方法,方法⑤的mIoU 提升2.6 個百分點,降低了模型參數量與FLOPS,驗證本文方法的優越性。
隱空間作為本文提出方法的關鍵組成部分,其節點個數與單個節點特征維度需提前設定。表2 所示為針對分辨率為1 024×2 048 像素、類別數為19 的CityScapes 數據集,隱空間參數對模型性能的影響,加粗表示最優數據。從表2 可以看出,當節點個數設置為32 個、單個節點特征的維度為16 時,模型性能達到最佳效果。

表2 隱空間參數對模型性能的影響Table 2 The influence of hidden space parameters on model performance
表3 所示為本文方法與其他SOTA 方法在CityScapes 數據集上的實驗結果對比,其中,“*”表示該方法使用多尺度訓練。本文方法采用ResNet101作為主干網絡、FCN 作為基礎預分割模型、單尺度監督訓練,隱空間的節點個數與節點維度選擇表2 中表現最佳的配置,即節點個數為32 個、節點特征維度為16;GloRe[17]表示Baseline 方法。文獻[23]提出的SegFormer 是一種編碼器基于多層Transformer 結構、解碼器基于多層感知機的語義分割方法。CSWin-T[28]、HRViT-b2[29]則是2 種基于Transformer結構、針對語義分割任務設計的編碼器。因此,CSWin-T 和HRViT-b2 采用2 種更新的編碼器連接SegFormer 解碼器的語義分割網絡。

表3 不同方法在CityScapes 數據集上的實驗結果對比Table 3 Experimental results comparison among different methods on the CityScapes dataset
從表3 可以看出,實時語義分割方法BiSeNet 系列和ESANet 方法在FLOPS 和參數量方面具有明顯優勢,但是在精度上有所不足。本文提出的方法、CSWin-T 以及HRViT-b2 3 種方法在分割精度上具有一定優 勢。其 中,CSWin 和HRViT 均為基 于Transformer 的大型語義分割網絡。盡管HRViT 在參數量及計算量方面進行重點優化與改進,但相比其他方法,此類方法的計算量與參數量仍然較大。本文提出的方法采用GloRe 流程,與Transformer 類方法實現原理完全不同,本文方法的優勢在于以圖隱式表征圖像,通過圖神經網絡學習區域間的關系,且因隱空間的存在,本文方法未來在多模態數據融合方向具有一定潛力。
相比基線方法GloRe,本文提出的方法在參數量與計算量有輕微減少的同時,精度獲得了明顯的提升。其原因為本文方法提出將GloRe 模塊應用于分割網絡之后而非編碼器之后,可有效避免GNN 中節點維度過高,減少參數量,本文方法提出深度監督隱空間構建過程,避免了原始方法中特征轉換步驟的特征丟失與特征冗余,有利于后續特征更新過程,同時,由于深度監督過程僅存在于訓練階段,因此推理過程的計算量并沒有顯著增加。
3.5.1 投影矩陣可視化結果與分析
作為本方法的重要組成部分,投影矩陣在將特征從像素轉換至隱空間方面起著關鍵作用。為深入探究KL 散度約束的有效性,從數據集中隨機選擇1個樣本,可視化在不同訓練階段、KL 散度監督不同對象情況下,投影矩陣的分配情況。考慮到原始高維投影矩陣不易可視化,本文采用在通道維度上取其最大值的方法,在投影矩陣的每個像素位置取通道最大值,進行可視化分析。
投影矩陣在不同訓練階段的可視化結果如圖4所示。投影矩陣某個位置在通道維度的最大值越大,表明網絡將該像素分配給某個隱空間節點的置信度越高,體現到圖像上即為該位置的亮度越亮。對比圖4 中2 行的差異,可以看到第1 行,在使用了KL 散度損失函數監督投影矩陣與投影參考矩陣的分布差異時,隨著迭代的進行,圖片亮度未產生明顯變化。而在使用KL 散度損失函數監督投影矩陣與同形狀的均勻分布矩陣的分布差異時,隨著迭代的進行,圖片亮度越來越低,即網絡將該位置像素分配給某個節點的概率差別變小。此現象表明KL 散度損失函數的使用在一定程度上起到了困難像素挖掘的作用,促使更多像素參與到了GNN 的學習中,從而實現了對分割結果的改進。

圖4 投影矩陣在不同訓練階段的可視化結果Fig.4 Visualization results of the projection matrix at different training stages
3.5.2 分割結果可視化結果與分析
本節從CityScapes 數據集的驗證集樣本中,挑取2 個具有一定代表性的樣本,分別對其分割結果進行可視化。圖5 所示為不同方法語義分割的可視化結果。第1 列為樣本A,第2 列為樣本B。

圖5 不同方法的語義分割可視化結果Fig.5 Visualization results of semantic segmentation among different methods
從樣本A 中可以看出:基線方法在圖片右上角的“天空”中分割出一小塊“汽車”,此反常識現象在本文方法中得到完全修正;基線方法在圖片水平方向中間區域的“圍墻”遠端分割出“墻”,而在本文方法中此現象得到了極大改善。分析其原因可以發現“圍墻”和“墻”兩者的紋理特征有一定差別,但語義相近。基線方法主要根據紋理特征進行分割,而本文方法考慮不同類別語義特征之間的關聯性,從而改進分割效果。在樣本B 中,基線方法在圖片左側的“汽車”上方分割出“人行道”、在圖片下方的“道路”中間分割出“摩托車”,此類反常識現象均在本文方法的分割結果中得到了極大改善。樣本B 的真實值顯示,畫面左側及下方存在“地形”類別,但觀察其輸入圖片,發現此區域的紋理特征與地面基本一致。此類標注是從“汽車可行駛”條件為標注依據,即使停車位與地面紋理特征一致,但由于上方存在停放車輛,因此此區域未被分割為“道路”。此類場景需要更多先驗知識進行理解,對比樣本B 中的圖5(c)~圖5(f)可知,現有分割方法在此類場景下仍存在改進空間。
本文提出一種基于深度監督隱空間構建的語義分割改進方法。該方法采用“特征圖-隱空間-特征圖”范式,在隱空間構建過程中,加入位置編碼保留特征的位置信息,以緩解原流程中的“位置模糊”問題;使用KL 散度損失函數監督投影矩陣,以緩解原流程中的“分配失衡”問題。為確保從特征圖到隱空間的轉換過程有效,并且能夠構建具有足夠表征能力的隱空間,本文采用InfoNCE 損失函數,使用分割真實掩碼標簽,監督轉換得到節點特征。在CityScapes 數據集上的實驗結果表明,本文網絡能夠有效改善語義分割中出現的不規則、反常識區域,并在精度方面相較于基線有顯著提升。后續將對本文提出的特征轉換及隱空間構建方法進行改進,使其適用于圖像、自然語言、激光點云等多模態任務,通過將多模態特征統一投影至同一隱空間,增強模型的表征能力,進而提升其在下游任務中的表現。