胡國清,譚海亮,戈明亮
(華南理工大學 機械與汽車工程學院,廣東 廣州 510641)
由于圖像分割[1]任務不僅僅需要進行像素分類,還需要對圖像進行重建恢復,因此算法需要同時獲得低層次和高層次的語義特征。導致網絡模型需要更多的通道記憶圖像中的各層次特征,網絡模型愈發趨于復雜龐大,實現高效提取對于分割有效的語義特征成為一個研究熱點。
全卷積神經網絡(fully convolutional network,FCN)的提出實現了端到端的語義分割,成為后續語義分割工作的范本[2]。為了解決FCN中存在的全局上下文信息缺失的問題,Chen等[3]提出了空洞卷積并構建了Deeplab系列算法,通過擴大感受野提高算法能夠獲取特征信息能力,將空洞卷積與空間金字塔結合的模塊(atrousspatial pyramid pooling,ASPP),從而實現了獲取不同空間維度的特征信息,對不同尺度的類別對象均具有良好的分割能力。Badrinarayanan等[4]提出的SegNet采用編碼器-解碼器的結構形式,由編碼器實現對圖像語義特征的提取,解碼器完成圖像復原及分類。以此延伸的U-net、PSPNet等通過跳躍連接和金字塔等方式將多空間尺度的特征進行融合[5],從而對底層細節特征和高層抽象特征都具有感知能力,對于圖像邊緣信息分割效果有了較大提高。
目前的語義分割研究大多著眼于對準確性的提升,而圖像分割的準精度提升接近瓶頸,些微精度的提升代價相當高昂,為此本文關注于圖像分割的精度和算法復雜性的平衡性,提出冗余特征重建和組注意力卷積模塊來實現特征高效提取,并構建了一種精簡的語義分割網絡。
近年來針對模型精簡的研究受到越來越多的關注,相關工作主要分為模型壓縮、模型設計及知識精餾等技術。
模型壓縮的目標是對于一個預訓練的神經網絡模型,通過修剪或量化等手段優化模型來降低其計算量和模型參數量,Wang等[6]通過將神經網絡中神經元的權重值較小的連接視為冗余連接,將其修剪來減少網絡中參數。He等[7]發現在實際模型推理中將對模型中貢獻較小的通道進行修剪更有利于網絡加速。Jacob等[8]提出將神經網絡中的權重使用離散值進行量化,以此減少網絡的浮點計算。此后網絡量化被進一步推進,使用一個比特位來表達網絡權重[9],這極大提高了網絡的計算效率。知識蒸餾技術使用一種訓練良好的復雜網絡來指導一個小型網絡的學習[10]。通過對模型壓縮的方法雖然能夠極大降低網絡模型的參數量,進而加速網絡推理,但是由于需要進行網路預訓練,并通過網絡修剪進行微調,網絡學習能力通常會受到預訓練模型的性能的限制。
近年來緊湊的網絡模型設計受到越來越多的學者重視,早期Inception[11]結構通過將傳統稠密網絡轉變為稀疏網絡,增加了網絡深度和寬度的同時減少了網絡參數的數量,性能遠超經典網絡AlexNet和VGGNet,由此發展而來的Xception[12]通過深度可分卷積替換普通卷積來提升網絡參數的利用效率。MobileNet[13]研究了深度可分卷積操作中兩個超參數對效率提升的影響,并提出了一種線性網絡結構。MobileNetsV2[14]提出反向殘差塊結構改善網絡效率。Forrest等[15]通過1*1卷積替換3*3卷積核延遲下采樣等策略構建了SqueezeNet,并驗證了策略和網絡效率提升的有效性。Tan等[16]系統性研究了卷積核大小對網絡準確性和效率的影響,創新性提出的混合卷積MixConv模塊。AlexNet中最早由于模型訓練中顯卡內存限制,提出了組卷積概念,由于組卷積分隔了各通道分組之間的信息流通,為此Zhang等[17]提出分組混合方法來加強組卷積中分組中的信息交互,并提出了ShuffleNet。由此可以看出通過緊湊網絡模型設計能夠大幅節省計算和內存開銷。
由于模型壓縮技術在準確性的限制和訓練繁瑣,越來越多的研究著眼于設計緊湊型網絡模型,本小節將會深入描述本文提出的冗余特征重建模塊和組注意力卷積模塊的工作原理,并構建一種輕量化卷積神經網絡。
深度卷積神經網絡由于含有大量參數,能夠擬合各種模型并提供一定冗余性防止過擬合問題,但是網絡結構中各個層的冗余特征并不同等重要,低層次的特征通常包含大量干擾信息,因此耗費大量參數生成低層冗余特征的回報并不總是收到合理的回報,為此本文提出對低層級網絡結構中的冗余特征進行重建生成。MobileNet及Xception等雖然已經通過簡化網絡來降低冗余特征提取但卻降低了網絡中間層的泛化能力,本文并不尋求將冗余特征丟棄,而是通過較小的計算代價生成冗余特征來維持網絡泛化能力和計算量的平衡。
對于給定輸入X∈Rc×h×w, 其中c是特征通道數,h和w為輸入數據的高和寬,二維卷積操作可表示為
Y=X*f+b
(1)
其中,*表示卷積運算符,b為偏置項,輸出數據Y∈Rh′×w′×n, 卷積運算f∈Rc×k×k×n, 由于卷積神經網絡中存在過參數化問題,卷積層中參數可通過網絡中一部分參數子集來進行估計[18],對于卷積操作可通過奇異值分解方式進行近似。
給定二維權重W∈Rm×k, 其矩陣SVD分解W=USVT,U∈Rm×m,S∈Rm×k,V∈Rk×k,S為對角矩陣,V、U為正交矩陣,可以通過保留矩陣S中前t維度的分量來達到數據降維的目的,從而有W′=U′S′V′T,U′∈Rm×t,S′∈Rt×t,V′∈Rk×t, 則有
(2)
其中,I為單位矩陣,誤差估計由對角矩陣的衰減限制,因此存在一種分解方式使得分解的誤差估計足夠小,通過SVD估計原算法計算復雜度可由O(nmk) 降至O(nmt+nt2+ntk), 對于張量WS∈Rm×n×k可通過逐維度進行近似,通過尋求分解來最小化誤差估計
(3)
其中,α∈Rm,β∈Rn,γ∈Rk, ?表示外積運算。
誤差估計δ可以通過優化方法來實現對原算法的逼近并降低計算量[19],本文通過使用計算成本較小的線性計算生成冗余數據來逼近誤差δ,實際實現中的分解參數由深度卷積神經網絡訓練學習。
對于卷積操作,其分解模式中前t維特征是對模型推理影響較大的特征,稱為固有特征,而其余特征為影響較小的冗余特征,由于輸出特征圖中存在許多冗余特征,冗余特征之間相似度較高,因此可借助現存的固有特征生成。其原理如圖1所示。

圖1 RFR模塊
圖1中符號*表示卷積操作,?表示concat操作,Lk表示第k個線性運算符,固有特征通過普通卷積提取,通常來說使用的參數量更少,而冗余特征則通過線性操作生成,這便是冗余特征重建模塊RFR。對于固有特征
Y′=X*f′
(4)
f′∈Rc×k×k×m為固有特征提取的濾波器,其中m≤n, 關系式中偏置項為簡單起見已經省略,對于冗余特征則通過線性運算生成
Yij=Li,j(Y′i),j=1,2,…s, ?i=1,2,…m
(5)
Yij為固有特征Y′中第i通道特征分量Y′i生成的第j個特征,線性運算符Li,j表示第i個固有特征生成其第j個冗余特征的運算符。線性操作可使用卷積操作完成,其卷積核大小為k′×k′, 固有特征卷積核大小為k×k, 則通過RFR對算法的效率提升有

(6)
k和k′具有相同數量級,依據Tan等[16]的研究建議,本文采用大小為3*3的卷積核。
神經網絡訓練中由于數據量過大,機器的顯存不足以一次性加載大批次數據,為此AlexNet提出了組卷積的概念,SqueezeNet通過組卷積將現有網絡從4.8 M壓縮至0.47 M,而網絡性能表現并沒有降低,表明了深度卷積是極度稀疏的,而標準卷積是稠密卷積操作,因此本文通過組卷積來壓縮模型參數。由于組卷積將各個分組之間的數據分隔,分組間的信息流通受到限制,ShuffleNet通過分組混合的方法來融合各個分組的信息。注意到ShuffleNet中各個分組之間通過均勻混合的方式融合各通道特征,然而卷積操作的感受野僅僅在這個局部,各個分組之間簡單的混合也無法恰當共享多個通道之間的上下文信息,為此本文將注意力機制引入組卷積中。
注意力機制可以視為將計算資源分配給包含信息更豐富的部分的方法[20],這種機制已經在許多序列化學習和圖像理解任務中得到應用。本文提出的GAC模塊通過注意力機制將各個通道分組中更為重要部分賦予更大權重再混合,增強組卷積對重要特征的學習能力,弱化噪聲的影響。
為了改善組卷積中各通道分組的獨立性,強調特征映射中特定語義特征,通過全局平均池化提取全局上下文信息,通過Fs q壓縮全局特征信息為一個單獨通道來衡量各個通道之間的特征模式,對于輸入數據X第c通道數據Xc,Fs q壓縮操作中輸出特征T第c通道數據Tc有
(7)
其中,h、w分別為特征圖的高和寬。
Fs q壓縮各通道特征之后,再通過Fex操作獲取全局權重信息,其中全連接層捕獲各通道之間的依賴關系,依據MobileNet的建議,避免在此處采用ReLU造成信息丟失,而直接在其后通過softmax層提供非線性特征聯系
(8)
其中,C為特征的通道數,W為全連接操作,W∈RC×C,zc為輸出特征圖Y第c通道的激活值。最后一個操作是對數據進行逐通道數乘
Yc=zcXc
(9)
其中,Yc為輸出特征Y的第c通道數據。
GAC模塊的原理如圖2所示,圖中Fg表示組卷積,Fs表示Shuffle操作,⊙表示逐通道數乘。

圖2 GAC模塊
模塊通過全局平均池化來獲取通道的特征信息,并借由全連接操作關聯各通道,轉換為通道的權重,從而對特定通道施加更多的關注,而不再是獨立平等地處理各個通道的局部信息。該模塊也可以通過更為復雜的策略實現自注意力機制,本文為了限制該機制對模型計算帶來的負擔,采取了相對簡單可行的注意力方案。
為了驗證RFR和GAC模塊的有效性,基于輕量級分割網絡ESPNet[21]進行對比實驗,并借鑒經典網絡ESPNet的思想,結合所提出的RFR模塊和GAC模塊構建一種精簡語義分割網絡,其結構如圖3所示,其中β和γ為網絡模型超參數。

圖3 本文語義分割網絡結構
網絡主要分為編碼器和解碼器兩部分,其中編碼器通過卷積和下采樣等操作提取圖像在各個空間尺度的語義特征,解碼器通過卷積和上采樣將圖像逐步恢復至原始圖像大小,并進行像素級分類,解碼器和編碼器之間通過跳躍連接融合底層特征和高層語義特征,對于分割任務具有重要意義。在編碼器部分通過RFR模塊可以快捷地以較小代價提取所需要的底層語義特征,在底層特征中存在大量的噪聲,對分割任務的貢獻不盡相同,RFR模塊保留了更為重要的固有特征并生成廉價的冗余特征,有助于后續模塊的學習泛化。在解碼器階段,U型網絡通過將跳躍連接將底層特征和高層特征拼接,這造成了特征通道大幅增加,對網絡訓練和推理造成很大的計算負擔,GAC模塊通過組卷積手段既保留了跳躍連接帶來的上下文信息,又減少了模型的計算量,同時借助混合操作和自注意力機制加強各個獨立通道之間的聯系,將計算資源較好地關注于更為重要的特征上。
網絡中由GAC模塊完成下采樣操作,通過反卷積DConv實現上采樣,而普通卷積Conv和RFR模塊不改變特征圖分辨率,其中ESP模塊為ESPNet中所提模塊,如圖4所示,圖中虛線框部分為本文實驗替換模式。

圖4 ESPNet中ESP模塊
為驗證本文提出模塊和算法的有效性,本文在Cityscapes[22]數據集上進行實際訓練和測試,該數據集是目前流行的城市場景語義理解數據集,包括5000張高質量被精確標注的城市場景圖像,其中訓練集、驗證集和測試集分別包括29 755 001 525張圖像,并分為19類場景。
實驗采用平均交并比(mean intersection over union,mIOU)作為評價指標,計算的是數據中所有類別的交集和并集的平均值,其值越大表示分割效果越好
(10)
其中,j為預測值,i為真實值,即pij表示將標簽為i的樣本預測為j。
本文使用語義分割任務中常用的損失函數是SoftmaxCrossEntroy
(11)


為了驗證本文所提出模塊的有效性,以輕量化語義分割網絡ESPNet為baseline,①以RFR模塊替換ESPNet中空洞卷積部分,實驗分組記為ESPNet+RFR,②在ESP模塊中替換1×1卷積,實驗分組記為ESPNet+GAC,其實驗數據對比見表1。ESPNet網絡中ESP模塊如圖4所示,表2對比了現有方法的參數量和網絡大小及相應的在Cityscapes上的分割準確性信息,其中FCN分割準確率較高,但相應的計算代價也最高,而ENet[23]則在網絡規模上更為精簡,ESPNet融合RFR模塊之后分割準確率提高了1.3%,而融合GAC模塊之后準確率提升了0.6%。Ours網絡參數量相較于FCN降低了80倍,而分割效果與FCN基本持平。對比于輕量級網絡ENet和ESPNet,本文方法同樣以較低的計算代價,而分割效果較ENet提升了5.4%,較ESPNet提高了3.4%,而參數量維持在同一數量級水平,表明了所提出網絡在計算代價和分割性能上取得了良好的平衡。圖5給出了算法性能的對比。

表1 模塊分割實驗數據對比

表2 算法在Cityscapes上分割效果mIOU效果對比

圖5 算法分割性能對比
圖6所示是網絡在Cityscapes上測試集部分樣本的分割示例,其中圖6(a)為輸入樣本圖像,圖6(b)為分割圖像的Ground Truth,圖6(c)為本文方法(其中網絡結構超參數β=3,γ=9)可以看出圖像中對象邊緣較為清晰,僅有部分細小的對象邊緣分割效果欠佳。
表3詳細給出了算法在Cityscapes測試集上的各類別的分割平均交并比的對比情況。
我們將RFR模塊的輸入輸出特征圖進行了可視化處理,如圖7所示,其中圖7(a)為模型輸入樣本圖像,圖7(b)為網絡模型第一級RFR模塊的輸出特征圖,其中上半部分為RFR提取的固有特征,而下半部分為RFR通過線性算子生成的冗余特征,可見生成的冗余特征相比原先的固有特征具有足夠的區分度,說明提取的固有特征能較好完成高層次的語義信息提取,而通過廉價的線性算子生成的冗余特征也足夠豐富以幫助后續環節的推理。

圖6 網絡在cityscapes上的分割示例

表3 算法在Cityscapes數據集per-class分割性能表現

圖7 RFR模塊輸入輸出特征
為了分析注意力機制對組卷積的貢獻,我們從數據集中各城市數據中選取了若干個樣本并統計GAC模塊中各通道激活值的分布情況,各城市樣本的平均激活值和通道的分布關系如圖8所示。從圖中可以看出對于不同城市街景,GAC模塊的各通道激活值分布基本一致,而不同通道的激活值則表現出較大差異,這表明對于網絡而言,GAC模塊中組卷積各個通道所學習的通道重要性并不平等,而不同城市場景激活值分布相近是由于淺層的GAC模塊提取高層次語義信息不足,淺層圖像色彩、紋理等特征相近,因此提取的淺層特征對不同場景是共享的。GAC通過注意力機制實現了對組卷積的各個通道特征的調整,提高了網絡的學習效率。

圖8 GAC模塊各通道激活值分布
為了減少語義分割任務中神經網絡的計算量和推理耗時,本文提出了冗余特征重建模塊和組注意力卷積模塊,以此通過較少的參數量來更高效提取重要特征。RFR模塊通過將一個卷積操作分解為提取固有特征和生成冗余特征兩個步驟,減少了參數量并保留冗余特征來幫助后續操作的泛化學習,GAC通過組卷積來減少普通卷積操作的參數量,并引入混合和注意力機制來改善組卷積的分組間的信息流動性問題。基于所提出的模塊構建了一種語義分割網絡,實驗結果表明所提出模塊對改善網絡學習能力和減輕計算負擔具有積極作用,所提出的網絡在分割準確性和計算代價方面取得了良好的平衡。