葉 綠, 朱家懿, 段 婷
(浙江科技學院a.信息與電子工程學院;b.機械與能源工程學院,杭州310023)
傳統方法的視覺識別,如人臉識別、指紋識別等方向都有一個共同點,即只能識別靜態目標而對動態目標束手無策,這一特點導致計算機識別無法應用在交通領域。無人汽車視覺識別的能力建立在對周圍環境的理解程度之上,在識別目標物體之前首先要對其有一個基本的理解和判斷,才能實現高精度識別效果。語義分割作為計算機視覺中的基本任務,其目的就在于能使計算機對周邊情況產生較深層次的理解。
大部分識別任務都會先使用語義分割算法進行高精度場景分類,在得到的分割結果基礎上進一步完成識別目的。從宏觀角度來講,語義分割是一種從實際環境中獲取知識,從具體到抽象的過程;從微觀角度看,其本質屬于像素級的分類任務,具有極高的預測精度;從算法角度分析,卷積神經網絡的出現使各種計算機視覺任務的表現都達到了質的飛躍,其中,全卷積神經網絡(FCN)[1]是一種專門為分割設計的算法結構,其端到端的訓練方式加快了分割預測結果真正落地應用的過程,這使得識別任務可直接建立在分割結果之上。因此,語義分割領域對于無人駕駛計算機視覺系統的搭建具有重要意義。
基于FCN 的思想,大量優秀分割模型被相繼提出,因而逐漸形成了幾種常用的模型結構。如SegNet[2]的編碼器-解碼器結構是對稱分割模型的典型算法框架,語義信息首先通過編碼器嵌入到特征映射中,再由解碼器負責生成分割結果。但連續編碼器中的池化操作以減少空間分辨率為代價,獲得圖像變換的不變性。這一操作導致特征圖信息大量丟失且無法恢復,分割輸出結果的邊緣輪廓細致度較差。針對這一問題,Chen 等[3-5]提出的網絡均使用空洞卷積來避免過多的下采樣操作,其特點是在保證分辨率不會大幅度損失的前提下擴大感受域范圍,這對語義分割是很有益處的。除此之外,真實場景中大多存在不同大小的物體目標,因此同一模型下包含多種尺度的感受域對于精準分割多類目標是很有必要的。因此,以ASPP[6]為代表的多尺度并行卷積模塊也被廣泛應用于分割領域。
本文設計了一種應用于駕駛視覺的算法模型,力求突破分割模型現有瓶頸,有效提高算法準確度。具體來說,設計了多特征提取通道,配合融合思想實現有效信息互補;引入注意力機制作為模型先驗分析,對圖片中重要分類加以更大權重分配以提高算法效率。
選取367 張CamVid[7]數據集中的原始道路場景圖像及對應的真實語義分割圖像構成訓練集。將訓練集中的第q幅原始道路場景圖像記為{Iq(i,j)},對應的真實語義分割圖像記為{Iqtrue(i,j)}。采用現有的獨熱編碼技術(one-hot)將訓練集中的標簽處理成12 幅獨熱編碼圖像,處理好的集合記為Jqtrue。其中,道路場景圖像為RGB彩色圖像,q為正整數,1≤i≤W,1≤j≤H,W表示{Iq(i,j)}的寬度,H 表示{Iq(i,j)}的高度,如取W = 480、H = 360。Iq(i,j)表示{Iq(i,j)}中坐標位置為(i,j)的像素點的像素值,Iqtrue(i,j)則表示{Iqtrue(i,j)}中坐標位置為(i,j)的像素點的像素值。將處理好的數據根據預先設定好的batch-size大小,成批次輸入到網絡模型中進行訓練并保存最好權重值。所有訓練結束后,將測試集和上述權重讀入網絡,得到最終的評價結果和分割預測圖。總體設計思路如圖1 所示。其中,損失函數作為度量真實圖像和預測圖像差距的指標,對模型的訓練效果有著重要影響。因此,損失函數的選擇至關重要?,F有語義分割模型大多使用交叉熵,除此之外,Lovasz-Softmax[8]則是為了更好地擬合分割特點而設計的一種損失函數,該函數直接對語義分割的重要指標進行優化,本文選擇該函數以提高訓練效果。

圖1 總體設計方案
圖2 所示為網絡整體結構圖。該網絡共包含兩條主要的特征提取路徑,即局部信息路徑(Localinformation Path)和全局信息路徑(Global-information Path)。前者是以VGG-16[9]的前3 個下采樣塊作為圖像局部特征的提取方式;后者則使用ResNet-34[10]的5個特征提取塊細化圖像信息從而得到全局特征。將得到的小尺寸特征圖通過反卷積還原并經過注意力機制模塊(CAM)強化信息表達,再將不同階段的特征圖輸入基礎融合塊(BFM)進行特征融合。網絡后期借鑒ASPP和跳躍連接的思想,設計了RASPP模塊,旨在擴大特征圖感受域的同時盡可能保留信息完整度。本模型利用多尺度輸出作為優化方法。經實驗證明,多輸出能更好地監督模型的收斂過程以提升分割效果。

圖2 網絡整體結構
圖像的低級特征通常具有更多的空間細節,而高級特征則包含更為豐富的上下文信息。本文將輸入圖像分為兩條路徑,分別提取不同的特征映射進行語義分割,并命名為“局部信息路徑”和“全局信息路徑”。低層次特征包含的信息主要集中在目標的細致輪廓,對于密集分類預測輸出是很有意義的。以往的方法通過連續的下采樣操作獲得高層次特征,從而犧牲了特征圖的空間分辨率。盡管以上方法在解碼模塊中均使用上采樣操作還原尺寸,但一些丟失的空間信息很難被恢復。為了避免上述問題,本文定義了局部信息提取路徑,使用加入預訓練權重后的VGG-16 作為特征提取網絡。該路徑沒有設置過多的下采樣操作,從而保持更強的空間細節。除此之外,該路徑還將每個特征提取塊得到的結果進行融合,即使用反卷積操作恢復所有小特征圖尺寸至原圖的1 / 2 大小,后相加融合。通過該方法得到的融合特征圖具有極豐富的細節特征,可作為后續模塊的補償信息。
從宏觀角度來看,語義分割的核心思想是為每個目標按實際類別進行標注,同類事物將被賦予同一特征。語義分割任務的難點在于,局部信息與全局信息的豐富程度會直接影響分割效果,但兩者之間卻有著天然的互斥關系。為解決這一問題,本文設計了全局信息路徑,專門用于提取上下文信息。與局部信息路徑不同,全局信息需從深層網絡獲取,即多次下采樣變得十分必要。因此,本文選擇ResNet-34 作為該路徑的主網絡,ResNet可很好解決深度CNN網絡中存在的問題,如梯度消失或梯度爆炸。具體來說,圖像每經過一個特征提取塊,其尺寸均會減小1 / 2,將最后得到的最小尺寸特征圖通過雙線性差值上采樣的方法,一步還原到先前的各個尺寸并和對應尺寸的特征圖相融合,以達到綜合全局與局部信息的目的。
特征融合是現階段分割模型較為常用的一種優化方法。通常來說,模型會將不同階段產生的相同尺寸特征圖進行融合,主要方式為拼接或相加,本文稱該方式為直接融合法。直接融合法雖被廣泛使用,但仍具有不足之處,例如,低級特征往往包含很多噪聲且與高級特征之間的差距較大,因而直接將兩種特征融合一般無法達到預期效果。為了解決這一問題,本文選擇將深層網絡中的特征圖多次還原為較大尺寸,與相對應的淺層特征融合。高級特征所含信息較為純凈,即使經過雙線性插值進行尺寸擴大也不會引入多余干擾噪聲,因而融合效果更好。本文將該融合方式命名為多特征融合法,其原理圖如圖3 所示。
以全局信息提取路徑中的多特征融合為例具體說明,經過各提取塊后的結果將變為原圖的1 / 2、1 / 4、1 /8、1 / 16 和1 / 32,將最小特征圖從1 / 32 大小向上還原至1 / 2、1 / 4、1 / 8、1 / 16,得到的上采樣結果與原始提取塊得到的同尺寸結果相加,得到更為全面的綜合特征圖。多特征融合作為一種特征融合方式,可靈活加入到各個階段以更好地綜合網絡信息。

圖3 多特征融合原理圖
基礎融合模塊共有3 個輸入流,其結構圖如圖4所示。Input 1 和Input 2 分別來自ResNet-34 特征提取塊的輸出和多特征融合特征圖,該融合屬于全局信息與局部信息的互補過程,因此選擇相加操作將兩輸入進行融合。然后將得到的綜合特征與對應的注意力機制模塊輸出(Input 3)進行融合,由于上述兩種特征屬于不同類別的信息,均具有獨特優勢,因此選擇拼接方式將兩特征圖在通道維度上進行連接以保證各自特點。該模型旨在通過簡單的融合方式綜合特征輸入,以在發揮作用的同時控制網絡整體參數。

圖4 基本融合模塊
高層次特征的每個通道都可以看作是一個特定于類的響應,不同的語義響應相互關聯。通過挖掘通道之間的相互依賴關系,可提高特定語義的特征表示。因此,本文構建了一個通道注意模塊來顯式地建立通道之間的依賴關系,其結構圖如圖5 所示。在計算兩個通道關系之前,該模塊不使用卷積層嵌入特征,這樣可以保持不同通道映射之間的關系不變。此外,與其他使用全局池化或全連接的方法不同,本模塊利用所有對應位置上的空間信息來建立通道相關性,即使用矩陣變換相乘實現通道加權。

圖5 注意力機制模塊結構圖
復雜場景的分割任務面臨諸多挑戰,如分辨率不足、感受域單一等。因此,在一種模塊中綜合多種功能是現階段分割模型的主要設計思路。本文將ASPP和跳躍連接相結合,設計了RASPP 模塊,如圖6(a)所示。該模塊進一步優化網絡前部分得到的綜合特征,通過設置不同尺寸的空洞卷積實現對不同大小目標的精確分割。該模塊共包含一個輸入流和兩個輸出流,其中一條輸出流作多尺度監督;另一條則作為下一個殘差優化塊的輸入。殘差優化塊如圖6(b)所示,目的是能更好地產生輸出預測結果。

圖6 多尺度優化模塊結構圖
本文使用Camvid數據集進行實驗分析,該數據集共包含11 個類別,701 幅圖像,大小為360 × 480。在數據預處理階段將圖像大小調整為352 × 480 以便進行多次下采樣,具體參數設置如下:訓練集數量367張,驗證集數量101 張,測試集數量233 張,學習率10-3,優化器SGD + momentum 0.9,mini-batch 2,epochs 200。
具體實驗階段使用Pycharm 作為IDE,深度學習框架選擇Pytorch1.1.0,主要語言為Python。使用GPU加速訓練網絡,所使用的設備為NvidiaGXT 1080且只選用一塊GPU加速程序。語義分割任務中存在3個評價指標用于衡量網絡性能,分別為像素精度(CA)、平均像素精度(GA)以及平均交并比(MIoU),指標結果值越大,表示算法分割效果越好。
根據上述指標,將本文網絡與同一數據集中的其他現有模型進行比較,包括Segnet、Deeplb-LFOV、DFN[11]、ENet[12]、LinkNet[13]、ESPNet[14]、ReSeg[15]、TernausNet[16]以及DFANet。表1 列出了CamVid數據集所包含的11 個類別及每個類對應的分割準確率。由此可見,本模型在各細節類上的預測效果大多優于其他對比模型。除此之外,表2 列出了3 個主要指標的結果,證明了本方法得到的分割結果值均優于其他對比網絡。

表1 各類別分割結果

表2 主要指標結果
本文涉及的其他比較算法均在同等條件下復現,嚴格依照文中給出的參數設置進行搭建,并未對其內部結構進行修改。以SegNet為例,本文復現其結果時使用SGD 作為優化器,學習率設為10-3,動量為0.9,Dropout設為0.5,batch-size 則為5。在相同參數設置的情況下使用NvidiaGXT 1080 加速訓練,得到的結果與本文算法可直接做對比,不需要額外計算。正如SegNet原文所給出的11 個類別分類,本文同樣將每個類別的預測準確率輸出,作為對比結果的一部分。
如圖7 所示為各網絡分割預測圖。其中,圖7(a)為CamVid測試集中的原始道路圖像;(b)為測試集中的標簽圖,該圖像作為其他模型的基準對比圖,可直觀地證明某一模型分割結果的好壞;(c)、(d)分別為SegNet 和TernausNet 兩種先驗網絡的分割結果;(e)則表示本方法的預測圖。SegNet 和TernausNet 的結果圖同樣使用上述方法由本人自行復現輸出,該預測圖與原文中給出的最終結果幾乎相同,并未產生巨大差距。在訓練階段保存的最優權重導入搭建好的模型中,輸入測試數據集得到預測矩陣,后使用PIL圖像處理庫,將得到的矩陣數據轉化為圖片形式,按張保存。圖中第1 行可證明本模型對小目標的分割效果,如圖中黃框標記出的路燈,先驗網絡并未將其分割出來,而本算法可將大致輪廓輸出。圖中第2 行可證明本模型對常見目標的分割效果,黃框中的目標在本算法的計算下得到了更為平滑明確的分割結果。

圖7 各網絡預測結果圖
本文以無人駕駛視覺系統為應用場景,設計了一種基于深度學習的語義分割模型。該模型設計了兩條特征提取路徑以有效細化圖像各部分信息,通過多特征融合實現信息互補,并引入其他優化模塊進一步完善網絡效果。該網絡通過大量數據訓練,在與其他先驗網絡的對比下可較好地提高道路場景圖像的分割準確率,有望對無人駕駛的新技術發展做出貢獻。