趙小強,徐慧萍
1.蘭州理工大學電氣工程與信息工程學院,蘭州730050
2.甘肅省工業(yè)過程先進控制重點實驗室,蘭州730050
3.蘭州理工大學國家級電氣與控制工程實驗教學中心,蘭州730050
圖像處理是指通過計算機實現(xiàn)對圖像的分析以使其達到所需目標的技術(shù),目前主要包括圖像增強和復原、圖像語義分割[1-2]和圖像識別等。其中,圖像語義分割作為圖像處理的一個重要組成部分受到越來越多研究人員的關(guān)注。圖像語義分割是指通過使用一定手段將感興趣的圖像內(nèi)容從圖像的背景中分離出來的一種技術(shù),它作為由圖像處理到圖像分析的關(guān)鍵步驟,對于提取圖像關(guān)鍵信息具有重要意義;同時,圖像語義分割還在目標檢測、圖像識別、目標跟蹤等相關(guān)領(lǐng)域存在很大的應(yīng)用前景。例如,在無人車駕駛領(lǐng)域[3-4]中,通過圖像分割獲得輸入圖像中的障礙物,為無人駕駛車輛提供安全保障;在地球勘測領(lǐng)域[5]中,通過圖像分割分析遙感圖像中的標志性建筑,輔助研究人員完成辨識;在醫(yī)療影像分析領(lǐng)域[6]中,通過圖像分割完成對腫瘤等病變組織的形態(tài)確定等,對病人的病情進行判斷等。因此研究圖像分割具有重要的意義和使用價值。
目前,圖像語義分割方法主要分為四類,即基于閾值、邊緣、區(qū)域和深度學習的方法。其中,基于閾值的分割算法[7-10]根據(jù)設(shè)定的閾值對灰度圖像中的信息進行劃分,主要包括Otsu法[8]、最大熵法[9]和聚類法[10]等。這些方法具有操作簡單、容易實現(xiàn)、性能穩(wěn)定等優(yōu)點,但是也存在信息損失過大、方法對噪聲敏感等缺點。基于邊緣檢測的分割方法[11]依據(jù)圖像顯著的邊界區(qū)域,實現(xiàn)對圖像的區(qū)域分割,主要包括一階Sobel、Robert 和二階Laplacian 微分算子等。該類方法對邊緣結(jié)構(gòu)清晰的圖像具有較好的分割效果,然而對于邊緣過度緩慢的圖像,邊緣檢測卻不能很好地提供區(qū)域結(jié)構(gòu)。基于區(qū)域的分割方法[12-14]則是根據(jù)局部區(qū)域的相似性,將相似性大的區(qū)域化為整體實現(xiàn)對圖像的分割,主要包括區(qū)域生長法[13]、GraphCut[12,14]等。該類方法對噪聲具有魯棒性,但是需要提供相應(yīng)的區(qū)域分割準則,往往會造成圖像過分割。
雖然以上這些方法可以實現(xiàn)圖像分割,但只是通過圖像自身的空間結(jié)構(gòu)、顏色特征、邊緣結(jié)構(gòu)等信息實現(xiàn)圖像分割,沒能利用圖像的語義信息,極大地制約了圖像分割效果。隨著深度學習[10]的迅猛發(fā)展,基于深度學習的圖像語義分割方法得到了廣泛的應(yīng)用;由于深度學習方法能夠從海量的樣本中訓練,學習得到圖像內(nèi)容的本質(zhì)表達。因此,深度學習方法表現(xiàn)出了優(yōu)異的分割性能。其中,基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[15-16]的圖像分割方法是當前的研究熱點,卷積神經(jīng)網(wǎng)絡(luò)通過卷積從訓練樣本中提取不同級別的圖像特征,從訓練樣本中學習掌握圖像內(nèi)容中的語義信息,構(gòu)建學習圖像與目標內(nèi)容之間的映射關(guān)系,最終實現(xiàn)圖像分割任務(wù)。例如,Long等人首次提出全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional networks,F(xiàn)CN)[17],通過替換卷積神經(jīng)網(wǎng)絡(luò)中的全連接層為全卷積層,實現(xiàn)了圖像語義分割,其優(yōu)點是可以輸出任意尺寸的圖像,且效率高,不足之處是不能準確完成分割,且分割結(jié)果會存在邊緣模糊和細節(jié)丟失的問題。Noh 等人為了更好地反映物體細節(jié),用反卷積替換雙線性插值,提出了DeconvNet[18]對稱網(wǎng)絡(luò)架構(gòu),實現(xiàn)目標內(nèi)容精細化分割。該方法采用反卷積與上池化操作,避免了分割中的細節(jié)損失和邊界不清晰等,還原圖像的空間維度和像素的位置信息,解決了池化操作后特征圖分辨率降低的問題,但是相比FCN,其網(wǎng)絡(luò)訓練參數(shù)過多,計算量較大。Lin等人通過對不同層次的低分辨率特征圖進行多路徑上采樣,融合多層高分辨率特征圖,提出了RefineNet方法[19],實現(xiàn)多特征融合的圖像分割,其優(yōu)點是通過捕獲上下文信息,解決了使用概率圖模型帶來的計算量大、消耗內(nèi)存等問題,不足之處是在獲得分割結(jié)果的過程中會存在邊界信息丟失的問題。Chen等人使用空洞卷積擴大特征圖的感受野,并用全連接條件隨機場優(yōu)化分割邊界,提出了DeepLabV1方法[20]實現(xiàn)對分割邊界的優(yōu)化處理,其優(yōu)點是通過帶孔卷積可以獲得多尺度信息,對空間變換具有較高的不變性,而不足之處在于得到的特征圖存在分辨率不清晰、定位精度不明顯等的問題。為改進以上問題,又提出了DeepLabV3方法[21]。該方法通過級聯(lián)多個帶孔卷積模塊,在空間維度上改進(atrous spatial pyramid pooling,ASPP)[22]便于更好地捕獲圖像上下文信息,其優(yōu)點是能得到不同感受野的特征圖,并以空間金字塔池化的方式融合特征圖,不足之處在于對小尺度物體的分割不明顯。雖然以上方法都可以較好地實現(xiàn)圖像語義分割,但是在處理過程中沒能夠深層次地挖掘和利用卷積神經(jīng)網(wǎng)絡(luò)不同層級之間的特征信息。
為了更好地利用各層級間的特征信息,進一步提高圖像語義的分割精度,本文提出了一種分級特征融合的圖像語義分割方法。該方法通過含有深度可分離卷積塊的基礎(chǔ)結(jié)構(gòu)分別提取圖像的淺層低級特征信息和深層語義特征信息,并對不同層級間的特征信息進行逐級挖掘,以充分利用各層級之間的特征信息;并以淺層低級特征信息優(yōu)先融合深層語義特征信息的方式,豐富圖像的特征信息,加深網(wǎng)絡(luò)對圖像內(nèi)容的學習,實現(xiàn)更為精準的圖像語義分割。
圖像語義分割的目的是實現(xiàn)對圖像中所包含內(nèi)容的準確定位與分類,由于模型結(jié)構(gòu)和提取方式的不同,淺層低級特征和深層語義特征成為影響圖像分割精度的主要因素。本文通過融合不同層級之間的特征信息,使得特征信息被充分利用,實現(xiàn)提升圖像語義分割精度的目的。
在圖像語義分割中使用卷積神經(jīng)網(wǎng)絡(luò)進行特征提取時,最大池化操作和下采樣操作的頻繁運用會導致特征圖分辨率降低,從而丟失圖像上下文信息使分割結(jié)果失去對目標位置的敏感性。此外,采用單一方式捕獲特征映射會致使圖像上下文信息與前一級特征信息的結(jié)合率下降,而這些特征中也存有網(wǎng)絡(luò)路徑中的細節(jié)信息和語義信息。因此,本文使用分級的思想,對特征信息進行逐級提取使其被充分利用。
為獲得圖像的特征信息,本文以輕量級Xception[23]作為主架構(gòu),實現(xiàn)本次的分級特征提取。分級特征提取,如圖1 所示(圖中綠色虛線框表示淺層低級特征信息和深層語義特征信息),主要實現(xiàn)淺層低級特征信息和深層語義特征信息的提取。該過程分為三個階級,每一個階級的提取結(jié)構(gòu)保持相同,提取階級主要包括Entry Flow、Middle Flow、Exit Flow三部分;Entry Flow 部分主要負責獲取淺層低級特征信息,Middle Flow部分負責特征信息的傳遞以及不同層級間的特征信息挖掘,Exit Flow 部分主要負責獲取深層語義特征信息,并將特征信息通過全連接層融合到解碼器的通道信息中。
Fig.1 Feature extraction block diagram圖1 特征提取框圖
特征聚合主要實現(xiàn)淺層低級特征信息與深層語義特征信息的合并融合。其中,淺層低級特征信息含有大量結(jié)構(gòu)、邊緣等信息,直接融合后通過上采樣操作會致使一些有助于恢復圖像邊界的特征信息由于冗余性而被遺棄。因此,本文在特征融合部分對淺層低級特征信息使用先細化、再融合的思想,而每一級的深層語義特征信息是通過逐級挖掘而得到的最優(yōu)結(jié)果,故保留直接利用。
1.2.1 細化淺層低級特征
常規(guī)的解碼器一般使用雙線性插值上采樣操作將粗糙的分割結(jié)果轉(zhuǎn)換成精細的結(jié)果,過程如式(1)所示:
其中,Q∈RH×W×C^表示提取到的特征信息;Y表示標簽;H表示高度;W表示寬度;C表示分割的類別;表示最終的輸出通道數(shù)量。Y∈[0,1]H×W×C且Q是Y的或,在計算損失時將Q上采樣至與Y相同的尺寸。
然而,常規(guī)的雙線性上采樣不考慮每個像素之間的相關(guān)性,這使得準確恢復像素預(yù)測方面的能力受限,致使淺層低級特征信息的利用率降低。因此,本文在解碼階段通過改進實時數(shù)據(jù)上采樣[24]來替換雙線性上采樣,以提升聚合過程中淺層低級特征信息的利用率。
實時數(shù)據(jù)上采樣是將Y中所包含的結(jié)構(gòu)信息做無損變換至新的特征標記圖,編碼器輸出給解碼器的淺層低級特征信息為Q,通過計算其與復現(xiàn)得到的之間的差異來實現(xiàn)最終的細化。首先將輸出特征信息的步長定義為m,將Y劃分成尺寸為的m×m個含有特征圖的方格;然后將劃分的方格構(gòu)造成一個立體小窗口S∈[0,1]m×m×C,并用∑S(含有特征圖的立體小窗口構(gòu)成的總和)生成新的向量v∈[0,1]N,其中N=m×m×C;最后將向量v轉(zhuǎn)換成需要的低維向量,并重新從水平和垂直方向排列向量x形成最后的,這使得特征圖的信息被重新編排,從而實現(xiàn)Y到的轉(zhuǎn)變。
轉(zhuǎn)換過程中涉及到的一些向量的具體形式如式(2)所示:
最終的實時數(shù)據(jù)上采樣與雙線性插值的替換過程如式(4)所示:
1.2.2 特征聚合
特征聚合實現(xiàn)如圖2所示(圖中紫色虛線框表示淺層低級特征與深層語義特征的融合過程),由Entry Flow 部分提取得到的淺層低級特征信息細化后,經(jīng)過Conv1處理,便于與深層語義特征信息融合。分級結(jié)構(gòu)不僅能保證淺層低級特征獲取到足夠充分的局部輪廓細節(jié)信息,而且也能保證深層特征獲取到足夠的高級語義信息。兩種特征信息合并融合后,再通過上采樣處理得到最終的預(yù)測結(jié)果。
Fig.2 Feature fusion process圖2 特征融合過程
圖3所示為本文方法的完整過程,輸入圖像經(jīng)過第一個卷積處理得到特征信息,進而通過含有深度可分離卷積塊的Block2A、Block3A、Block4A(大小依次為輸入圖像尺寸的1/2、1/4、1/8),每一個深度可分離卷積塊均為3×3,每個卷積塊的步長均為2;全連接層(full connection attention-A,F(xiàn)CA-A)(尺寸與Block4A保持一致)將學習到的特征映射用來匹配來自提取主干的特征。含有深度可分離卷積塊的Block2B、Block3B、Block4B 作為第二個特征提取階段,其將Block2A的輸出特征作為新的特征輸入并依次通過Block3B、Block4B(尺寸大小依次為輸入尺寸的1/2、1/4)得到第二階段的特征信息,每一個深度可分離卷積塊均為3×3,每個卷積塊的步長均為2;特征信息通過全連接層(full connection attention-B,F(xiàn)CAB)(尺寸大小與Block4B 保持一致)被整合到解碼器的通道信息中。Block2B的輸出特征作為Block2C的輸入特征開始第三階段的提取,并依次通過含有深度可分離卷積塊的Block3C、Block4C(尺寸大小依次為輸入尺寸的1/2、1/4)得到該階段的特征信息,每一個深度可分離卷積塊均為3×3,每個卷積塊的步長均為2;特征信息通過全連接層FCA-C(full connection attention-C)(尺寸大小與Block4C 保持一致)被整合到解碼器的通道信息中,以上為特征信息的提取過程。特征信息的聚合過程中,淺層低級特征信息經(jīng)過實時數(shù)據(jù)上采樣后通過卷積Conv1處理,并與經(jīng)過Conv X2、Conv X4、Conv X8 處理的深層語義特征信息進行合并融合,最后通過上采樣操作(X4)實現(xiàn)高分辨率的圖像語義分割。
Fig.3 Network structure of hierarchical feature fusion圖3 分級特征融合的網(wǎng)絡(luò)結(jié)構(gòu)
圖3 中兩個綠色虛線框分別表示淺層低級特征信息的提取和深層語義特征信息的提取。淺層低級特征提取端Block2A、Block2B、Block2C 的特征信息由綠色的特征信息流表示,為了盡可能地獲取圖像較多的低級特征信息,如顏色、線條、紋理等信息,該提取在開始就進行。深層語義特征提取由每個階段的全連接層輸出最終的信息,由于整個特征提取階段的每個子階段是相互影響的,自上而下的黑色箭頭表示各層級間相應(yīng)位置處的特征挖掘,這個過程在每個階段的開始就進行學習,這樣不僅保留了上一級特征圖的感受野,還可以學習到下一級特征圖的新映射,這也就保證了最終得到的深層語義特征信息的豐富性和完整性。
圖3中紫色虛線框表示特征融合過程,為了保證淺層低級特征提取端得到的淺層低級特征信息的利用率,這里通過實時數(shù)據(jù)上采樣細化,細化后的特征信息通過卷積操作被穩(wěn)定。由于通道數(shù)的不同,各層級得到的深層語義特征信息的尺寸也有所不同,為了使得所有深層語義特征信息可以被直接融合,這里讓各層級的深層特征信息分別通過Conv X2、Conv X4、Conv X8 處理,便于進行直接融合。最后,兩種特征信息進行合并融合,并通過4倍的上采樣實現(xiàn)最終的圖像語義分割。
本文實驗使用的數(shù)據(jù)集是公共數(shù)據(jù)集(pattern analysis statistical modelling and computational learning visual object classes2012,PASCAL VOC2012),總共包含20 種類別的物體和1 個背景類別,其語義分割數(shù)據(jù)集包含訓練集(1 464 張圖像)、驗證集(1 449 張圖像)和測試集(1 464 張圖像)。本文選擇其中的874 張樣本作為驗證集合、216 張樣本作為測試集并可視化實驗結(jié)果對本文方法進行驗證,表1為具體的實驗環(huán)境配置。
Table 1 Experimental environments表1 實驗環(huán)境
本文實驗的輸入圖片尺寸統(tǒng)一為512×512,初始學習率作為影響神經(jīng)網(wǎng)絡(luò)訓練的重要參數(shù),太大容易出現(xiàn)模型振蕩,太小會致使模型無法收斂,延長訓練時間。本文實驗以“穩(wěn)中求進”的原則,將訓練時的參數(shù)設(shè)置為表2。
Table 2 Parameter settings表2 參數(shù)設(shè)置
在訓練過程中對訓練樣本進行鏡像等方式的數(shù)據(jù)增強,訓練時所采用的損失函數(shù)為交叉熵(cross entropy)損失函數(shù),訓練方法使用小批量隨機梯度下降的方法,將批量張數(shù)設(shè)定為25 進行端到端的迭代訓練。
圖像語義分割中,最常用的客觀評價指標主要有像素準確率(pixel accuracy,PA)和平均交并比(mean intersection over union,MIOU)。但是由于PA評價指標過于簡單,故本文選擇標準度量均交并比(MIOU)作為語義分割的判別指標,其通過計算真實值(ground truth)和預(yù)測值(predicted segmentation)兩個集合的交集和并集之比,即:
其中,t表示圖像中的前景對象個數(shù),pij是指原本屬于第i類卻被分類到第j類的像素的數(shù)量。
表3分別列出了四種不同的融合情況,從表3可以看到,當只有淺層低級特征信息時,此時的分割結(jié)果(MIOU)為24.231 0%,淺層低級特征信息經(jīng)過細化后,得到的分割結(jié)果(MIOU)為29.420 3%;細化后的淺層低級特征信息相較原來的淺層低級特征信息,精度提升了5.189 3個百分點。這說明改進的實時數(shù)據(jù)上采樣可以有效地提升淺層低級特征信息中所含有的顏色、紋理、邊緣等特征信息。只有深層語義特征信息時得到的分割結(jié)果(MIOU)為60.402 5%,將淺層低級特征信息和深層語義特征信息融合后,得到的分割結(jié)果(MIOU)為68.825 4%;相較于只有深層語義特征信息時,分割精度提升了8.422 9 個百分點,這說明淺層低級特征信息可以促進語義分割精度的提升。將細化后的淺層低級特征信息與深層語義特征信息融合時,得到的分割結(jié)果(MIOU)為70.901 4%,分割精度相較未細化時提升了2.076個百分點,這說明,細化后的淺層低級特征信息所包含的物體輪廓、邊緣紋理等信息在融合深層語義特征信息的時候,更能被深層語義特征所利用,能有效細化物體的邊界,促進分割精度的提升,得到更高分辨率的分割結(jié)果。
Table 3 Influence of fusion of feature information at all levels on results表3 各級特征信息的融合對結(jié)果的影響
通過以上兩種特征融合的分解實驗,證明了不同的特征融合會得到不同的分割結(jié)果。由于網(wǎng)絡(luò)通道數(shù)會決定每層網(wǎng)絡(luò)特征圖的輸出數(shù)量,而融合不同數(shù)量的特征圖會影響最終的分割結(jié)果,因此,本文還討論了不同層通道數(shù)對圖像語義分割精度的影響。
特征信息在被提取的過程中,相應(yīng)的通道數(shù)也在逐級發(fā)生變化。如表4所示,本文選取了5組通道數(shù)下的分割結(jié)果。可以發(fā)現(xiàn)隨著通道數(shù)的逐級增加,每一級所得到的特征信息更加完整,所對應(yīng)的分割精度也在逐漸被提升。第4 組和第5 組通道數(shù)分別表示融合淺層低級特征信息和深層語義特征信息時所對應(yīng)的通道數(shù),可以看到融合的淺層低級特征信息所對應(yīng)的分割結(jié)果并沒有深層語義特征信息融合時的分割效果好,這也說明淺層低級特征信息對于最終的分割結(jié)果有一定的改進作用。
Table 4 Influence of the number of channels at each level on fusion results表4 融合時各級的通道數(shù)對結(jié)果的影響
為了進一步驗證本文方法的有效性,在保證輸入圖片尺寸和實驗環(huán)境完全一致的條件下,本文方法和SegNet、PSPNet、DeepLabV3 這3 種主流的方法進行實驗對比,結(jié)果如表5所示。由于DeepLabV3缺少對淺層低級特征信息的充分利用,PSPNet 方法對淺層低級特征信息與深層語義特征信息沒有區(qū)別對待,SegNet方法對特征信息的利用路徑單一,因此本文方法相較DeepLabV3 方法精度提升了2.6 個百分點,相較PSPNet 方法精度提升了7.4 個百分點,相較SegNet 方法精度提升了12.9 個百分點,說明了本文方法具有較好的分割結(jié)果。這主要由于本文方法用含有深度可分離卷積層構(gòu)成的級聯(lián)結(jié)構(gòu),分級提取淺層低級特征信息和深層語義特征信息,逐級挖掘各層級間的隱藏信息,細化淺層低級特征信息來提升圖中物體輪廓的清晰度,同時也提高了其與深層語義特征信息合并融合過程中的利用率,大大豐富了圖像的特征信息,使物體邊緣的分割更為細致,有效地提升了圖像語義分割的精度。
Table 5 MIOU of 4 methods表5 4種方法的平均交并比
Fig.4 Partial segmentation results of PASCAL VOC 2012 dataset圖4 PASCAL VOC 2012數(shù)據(jù)集部分分割結(jié)果
最后,為進一步驗證本文方法的有效性,本文用PASCAL VOC 2012 數(shù)據(jù)集做了進一步的實驗,并從中選擇了部分可視化分割結(jié)果,如圖4 所示,驗證本文方法可以實現(xiàn)圖像語義分割的結(jié)果。從圖中奔跑的駿馬到陽臺的貓共6張分割結(jié)果可以看到,SegNet方法分割得到的物體不太完整,對物體的細節(jié)分割也不是很清晰;PSPNet 方法物體細節(jié)的分割也不太凸顯;DeepLabV3 方法對物體有相對完整的分割結(jié)果,但對輪廓細節(jié)的處理不夠充分;本文方法對各個物體的分割有較為清晰完整的輪廓,而且對邊緣細節(jié)的處理也更光滑。以圖4中奔跑的駿馬為例,SegNet方法得到的是駿馬的大致輪廓,頭部的分割較為模糊;PSPNet方法得到的輪廓結(jié)果更容易被辨認,但對腿部的細節(jié)分割處理不突出;DeepLabV3 方法得到的是一個完整的駿馬輪廓,但是對于駿馬的尾巴和腿的細節(jié)分割也不太明顯;本文方法對于整個駿馬的輪廓分割很清晰,特別是腿和尾巴的細節(jié)分割很清晰。對于草坪上的小孩,SegNet 方法和PSPNet 方法得到的是一個大致的輪廓,且對小孩左手的分割較為模糊;DeepLabV3 方法得到的是完整的分割,但是對小孩的腳和手的分割較為粗糙;本文方法能清楚分割出小孩的手和腳。對于草坪上的人和馬,SegNet 方法是實現(xiàn)人和馬的基本分割;PSPNet 方法和DeepLabV3 方法對人和馬的輪廓分割相對清晰,但對物體輪廓細節(jié)的分割不太好;本文方法更完整地凸顯人和馬的輪廓,且對于繩子有更細微的分割,整體分割結(jié)果更加平滑細致。綜上,本文方法確實有效地提升了圖像語義分割的精度。
本文提出了一種分級特征融合的圖像語義分割方法,該方法在特征提取的過程中充分結(jié)合了圖像上下文信息與前一級特征,逐步改進每一級最終輸出的深層高階特征信息的預(yù)測結(jié)果,并在上采樣過程中細化淺層低級特征信息,通過多層特征合并融合,豐富特征信息,實現(xiàn)高分辨率的圖像語義分割。然而,如何在保證分割準確率的同時提升分割速度是下一步工作中需要解決的問題。