瑚 琦,王 兵,卞亞林
(1.上海理工大學光電信息與計算機工程學院;2.上海市現代光學系統重點實驗室,上海 200093)
圖像語義分割是指按照圖像中像素的語義類別將圖像分割成若干個不同的區域,其在自動駕駛[1]、醫學圖像分析[2]和地理遙感[3]等領域具有重要應用價值。近年來,隨著人工智能的快速發展,自動駕駛系統逐漸興起,街景圖像的語義分割成為自動駕駛系統感知道路場景的關鍵技術。街景圖像具有物體類別較多、分割目標尺度不一及場景復雜多樣等特點,且受光照條件、采集角度等因素影響,加大了街景圖像分割難度。如何對街景圖像進行高效準確的分割一直是研究的熱點,研究者利用深度學習技術展開研究,提出一系列不同結構的語義分割網絡模型[4]。
2015 年,Long 等[5]提出全卷積網絡(FCN),開創性地將分類網絡VGG16[6]中的全連接層改編成卷積層,該網絡能接受任意大小的輸入圖像,實現了端到端的訓練。然而,該網絡中連續的下采樣操作減小了圖像分辨率,導致物體的細節信息丟失,雖然在淺層特征和深層特征之間采用跳躍連接,但分割結果仍不夠精細。Noh 等[7]構建的編碼器—解碼器網絡DeconvNet,在解碼器中通過反池化和反卷積操作來捕獲物體更精細的細節信息,以解決物體的詳細結構丟失問題。但由于上采樣階段圖像分辨率較大,該網絡在解碼器中使用大量反卷積操作會導致網絡計算量大幅增加。Badrinarayanan 等[8]提出對稱的編碼器—解碼器網絡SegNet,編碼器中采用池化索引存儲像素的位置信息,解碼器中使用相應編碼器的池化索引執行上采樣,進而改善了物體的邊緣分割,然而該網絡采用對稱的冗余結構參數量太大。Chen 等[9]提出的DeepLab 網絡使用全連接條件隨機場(CRF)對分割結果進行后處理,以提高模型捕獲精細邊緣細節的能力。實際訓練中,CRF 后處理方法計算較復雜,并占用大量計算機內存[10]。Pohlen 等[11]在全分辨率殘差網絡FRRN 中使用兩個處理流提取特征,池化流通過下采樣操作提取用于識別的高級特征,殘差流中以完整圖像分辨率攜帶信息提取用于像素定位的低級特征。雖然這種方法能有效提取不同級別的特征,但是殘差流中特征圖經過一系列卷積操作后保持圖像分辨率不變會大幅增加網絡計算量。Paszke 等[12]提出的ENet 網絡和Treml 等[13]提出的SQ 網絡均采用輕量級的編碼器—解碼器結構,雖然實現了實時語義分割并有效減少了模型參數量,但降低了模型性能。
以上語義分割方法仍存在分割精度不理想、參數量大和計算較復雜等問題。為進一步改善街景圖像語義分割性能,本文提出一種注意力語義分割網絡,通過空間注意力模塊和通道注意力模塊細化提取的特征圖,促使網絡專注于信息豐富的空間區域和通道,以提高網絡計算效率,進而提升網絡性能。此外,注意力模塊具有結構簡單和輕量級的特點,因此不會增加網絡復雜度。本文工作主要貢獻如下:①提出一種注意力語義分割網絡,構建空間注意力模塊(Spatial Attention Module,SAM)和通道注意力模塊(Channel Attention Module,CAM),分別從空間維度和通道維度細化主干網絡提取的特征圖;②通過消融實驗驗證了兩個注意力模塊細化特征圖的3 種不同組合方式;③在Cityscapes 數據集和CamVid 數據集上評估了所提注意力網絡的有效性,分別獲得65.7%、60.0%的均交并比。
所提注意力網絡結構如圖1 所示。圖1 中(a)為整體網絡結構,(b)為空間注意力模塊,(c)為通道注意力模塊。首先使用ResNet18(Residual Network)[14]作為主干網絡提取特征,然后并行使用空間注意力模塊和通道注意力模塊細化提取的特征圖,以增強信息豐富的特征并抑制無用特征,使得網絡能捕獲到有效的特征信息,再將細化后的特征圖進行級聯依次輸入一個3×3 的卷積和一個1×1 的卷積,3×3 的卷積對特征圖進行特征融合,1×1 的卷積將特征圖的通道數映射為物體類別數以得到網絡預測圖。

Fig.1 Attention network structure圖1 注意力網絡結構
殘差網絡(Residual Network,ResNet)由He 等[14]于2016 年的CVPR(Computer Vision and Pattern Recognition)會議上提出,該網絡利用殘差模塊有效解決了網絡層數增加時出現的梯度消失問題,使得訓練更深層的網絡成為可能,殘差模塊結構如圖2 所示。殘差模塊中在輸入和輸出之間引入跳躍連接,提高了網絡中的信息流動,有利于網絡訓練。

Fig.2 Residual module structure圖2 殘差模塊結構
本文使用ResNet18 作為主干網絡對圖像進行特征提取,將特征圖下采樣到原圖的1/32,以獲取豐富的語義信息。一方面利用殘差結構能使網絡在訓練時收斂得更好,另一方面輕量級的ResNet18 不會增加網絡復雜度。為充分利用不同級別的信息,在1/32 的特征圖和1/8 的特征圖之間使用跳躍連接,將1/32 的特征圖進行4 倍上采樣和1/8的特征圖進行級聯,該方法能使網絡利用不同尺度的特征并彌補下采樣階段細節信息丟失,進而增強網絡對不同尺度物體的處理能力,同時提高像素定位準確性。
空間注意力模塊結構如圖1(b)所示,該模塊的作用是從空間維度細化主干網絡提取的特征圖,有助于網絡更加關注信息豐富的空間區域。利用空間注意力模塊細化特征圖時,對于給定的輸入特征圖X,首先使用一個1×1 的卷積生成一個二維特征圖,再通過Sigmoid 函數得到特征圖每個空間位置的權重,權重大小代表特征圖各空間位置特征的重要程度,最后將得到的權重與輸入特征圖X 逐空間位置相乘以重新校準特征圖。空間注意力權重計算和特征圖重新校準過程可由式(1)和式(2)表示。

式中:σ為Sigmoid 函數;f1×1表示卷積核大小為1×1的卷積操作;α為空間注意力權重;fSA(.)表示輸入特征圖和相應空間注意力權重逐空間位置相乘;XSA為校準后的特征圖。
通道注意力模塊結構如圖1中(c)所示,該模塊的作用是從通道維度細化主干網絡提取的特征圖,有助于網絡更加關注信息豐富的通道。為了更有效地捕獲特征圖通道之間的相互依賴性,在通道注意力模塊中使用全局平均池化和全局最大池化兩種池化方式分別聚合特征圖的空間信息以細化特征圖,再將各自細化后的特征圖進行級聯。利用通道注意力模塊細化特征圖時,對于給定的輸入特征圖X,首先使用池化操作沿空間軸壓縮特征圖聚合空間信息,再通過兩個1×1 的卷積進行通道信息融合,融合后的特征經Sigmoid 函數得到特征圖每個通道的權重,權重大小代表特征圖各通道特征的重要程度,最后將得到的權重與輸入特征圖X 逐通道相乘以重新校準特征圖。
使用全局平均池化聚合特征圖的空間信息時,通道注意力權重計算和特征圖重新校準過程可由式(3)和式(4)表示。

使用全局最大池化聚合特征圖的空間信息時,通道注意力權重的計算和特征圖重新校準過程可由式(5)和式(6)表示。

式中:GlobalAvgPool為全局平均池化;GlobalMaxPool為全局最大池化;δ為ReLU 函數;σ為Sigmoid 函數;W1和W2表示兩個卷積層的權值矩陣;β1和β2為通道注意力權重;fCA(.)表示輸入特征圖和相應通道注意力權重逐通道相乘;X1和X2為校準后的特征圖。
為充分利用校準后的特征,將兩種池化方式得到的特征進行級聯,然后輸入1×1 的卷積進行特征融合并縮減特征圖通道數以降低參數量。
實驗中選取Cityscapes[15]和CamVid[16]數據集訓練和評估本文所提注意力網絡,所有實驗均在Ubuntu18.04 操作系統上進行。使用pytorch 框架搭建實驗運行環境,實驗的軟件環境為pytorch1.2,cuda10.0,cudnn7.6.5,硬件配置采用1塊GTX 1080Ti GPU 加速。
Cityscapes 是城市街道場景大型數據集,該數據集共有5 000 張精細標注的圖片。訓練集、驗證集和測試集分別包含2 975、500 和1 525 張圖片,所有圖片的分辨率為2 048×1 024。像素標注包括30 個類別物體,其中19 個類別用于訓練和評估。
CamVid 是基于視頻序列的街道場景數據集,該數據集共有701 張圖片和11 個語義類別的像素標注。訓練集、驗證集和測試集分別包含367、101 和233 張圖片,所有圖片分辨率為480×360。
為防止網絡訓練時出現過擬合現象,需對數據集進行增強處理,包括隨機水平翻轉、隨機旋轉和隨機縮放,其中縮放尺度為{0.5,0.75,1.0,1.25,1.5,1.75,2.0},最后將圖片隨機裁剪至固定大小進行訓練。
實驗中合理調節學習率的大小有利于網絡訓練,本文所有實驗采用poly[17-18]學習率策略調節學習率大小,該方法使得網絡每訓練完一個iteration 就能動態調整學習率的大小,學習率的迭代更新表達式為:

式中:iter為當前迭代次數;max_iter為總迭代次數;lr為當前迭代次數的學習率;base lr為初始學習率;power的值設置為0.9。實驗參數詳細信息如表1所示。

Table 1 Experimental parameter settings表1 實驗參數設置
為了定量評估所提網絡分割的準確性,選取語義分割任務中常用的均交并比(Mean Intersection Over Union,mIoU)[19-20]作為評價指標,該評價指標是真實標簽值和網絡預測值兩個集合的交集與并集之比。在實驗中還使用參數量(Parameters)和計算量(FLOPs)評估不同網絡結構的復雜度,利用FPS(Frame Per Second)評估不同網絡的分割速度。
空間注意力模塊(SAM)從空間維度重新校準圖,通道注意力模塊(CAM)從通道維度重新校準特征圖,兩個注意力模塊細化特征圖的先后順序會影響網絡性能,因此需要通過消融實驗驗證兩個注意力模塊細化特征圖的最佳順序,所有消融實驗均在Cityscapes 驗證集上進行評估驗證。消融實驗分3 種情況比較兩種注意力模塊細化特征圖的方式,即:依次使用空間注意力模塊和通道注意力模塊、依次使用通道注意力模塊和空間注意力模塊以及并行使用兩種注意力模塊,所得實驗結果如表2所示。

Table 2 Ablation experiment results表2 消融實驗結果
實驗中,首先選取殘差網絡ResNet18 作為基準模型(baseline)。使用ResNet18 作為主干網絡對圖像進行特征提取,提取的特征圖為原圖的1/32。為充分利用不同級別的信息,在1/32 的特征圖和1/8 的特征圖之間使用跳躍連接,將1/32 的特征圖進行4 倍上采樣和1/8 的特征圖進行級聯,級聯后的特征圖依次通過一個3×3 的卷積和一個1×1 的卷積,最后將網絡輸出特征圖進行8 倍上采樣得到原圖大小,基準模型結構如圖3 所示。從表2 可知,基準模型在Cityscapes 驗證集上的精度為61.9%。

Fig.3 Benchmark model structure圖3 基準模型結構
在基準模型基礎上,先使用空間注意力模塊,后使用通道注意力模塊細化提取的特征圖時,網絡性能從61.9%提升至62.8%;先使用通道注意力模塊,后使用空間注意力模塊細化提取的特征圖時,網絡性能從61.9%提升至62.3%;當并行使用兩種注意力模塊細化提取的特征圖時,網絡的性能從61.9%提升至62.9%。以上實驗表明,并行使用兩種注意力模塊網絡能達到更好的性能。相對基準模型,加入兩種注意力模塊后,網絡性能都有所提高,這也驗證了所提注意力模塊的有效性。此外,加入注意力模塊,網絡參數量只有略微增加,體現了注意力模塊輕量級的特點。
由于Cityscapes 測試集沒有提供真實標簽,因此使用訓練好的權重得到測試集上的預測標簽圖,然后將預測標簽圖提交至Cityscapes 官方網站(https://www.cityscapesdataset.com)進行評估。選取SegNet[8]、ENet[12]、SQ[13]、FRRN A[11]、DeepLab[9]、FCN-8s[5]等經典網絡與本文注意力網絡在Cityscapes 測試集上進行性能比較,結果如表3所示。
從表3 可知,本文所提注意力網絡較其他網絡取得了較好的分割精度和分割速度,表明利用注意力模塊細化特征圖有利于改善網絡性能。與大部分網絡模型相比,所提網絡模型參數量較少,雖然ENet 實現了實時語義分割,但以犧牲精度為代價,本文網絡與其相比,參數量有所增加,但精度提升7.4%。本文所提模型與FCN-8s 相比,雖然精度僅提升0.4%,但參數量大幅減少,分割速度顯著提高。綜合對比,本文網絡較其他網絡性能更優。圖4 展示了所提注意力網絡模型在Cityscapes 驗證集上的部分可視化圖。

Table 3 Segmentation accuracy of different networks on the Cityscapes test set表3 不同網絡在Cityscapes測試集上的分割精度

Fig.4 The proposed attention network visualization圖4 所提注意力網絡可視化圖
對于CamVid 數據集,實驗中使用訓練集和驗證集的圖片一起訓練模型,所提網絡在CamVid 測試集上的分割精度如表4 所示。選取DeconvNet[7]、ENet[12]、SegNet[8]、FCN-8s[5]等網絡與本文網絡進行性能對比,對比結果如表4 所示。從表4 可知,本文網絡模型相比其他網絡模型取得較好的分割效果,參數量僅比ENet 有所增加,但精度與其相比提高了8.7%。
針對現有街景圖像語義分割方法存在分割精度不理想、參數量大等問題,本文提出一種注意力語義分割網絡模型。該模型使用殘差網絡作為主干網絡提取特征,利用殘差結構提高了網絡中信息的流動,有利于網絡訓練。在主干網絡的頂端通過空間注意力模塊和通道注意力模塊自適應重新校準特征圖,有助于網絡學習更有價值的特征。經Cityscapes 和CamVid 數據集上的實驗驗證,本文所提注意力網絡模型與大部分現有語義分割網絡模型相比,以較少的參數量實現了更好的性能。然而,相比輕量級網絡模型,本文網絡模型參數量還有繼續減少的空間。因此,使網絡更輕量化的同時保持其較好的性能將是后續研究的方向。

Table 4 Segmentation accuracy of different networks on the CamVid test set表4 不同網絡在CamVid測試集上的分割精度