李旭升 何良華 程舸帆



摘要:為賦予語義分割網絡在給定空間位置下選擇性強調整體信息或細節信息的能力,提出了一種注意力融合算法,本算法在空洞空間金字塔池化(ASPP)的基礎上融合膠囊網絡中動態路由算法。首先,以骨干網絡輸出作為輸入,經過多條并行空洞卷積支路得到不同尺度的特征圖。然后,在每一條空洞卷積支路的后面增添一條評估支路來評測該條空洞卷積支路單獨分割的能力。最后,對各個評估支路的輸出進行注意力路由算法從而對各空洞卷積分配權重。在PascalVOC 2012和Cityscapes兩個數據集上,提出的模型在各組實驗中均能提升1個百分點以上,并通過可視化注意力圖表明,提出模型能夠根據上下文信息對各空洞卷積支路進行有側重的反向傳播。
關鍵詞: 語義分割; 卷積神經網絡;空洞空間金字塔池化; 膠囊網絡; 動態路由
中圖分類號: TP391? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)01-0001-03
Abstract: To enable semantic segmentation networks to learn to emphasize the overall picture or the focal details at given spatial location, Attention Fusion is proposed, which combines Atrous Spatial Pyramid Pooling and dynamic routing of Capsule Network. Firstly, parallel atrous branches with different ratios are applied on feature map extracted by backbone network, Secondly, an eval branch for each atrous branch is used to output a score map in order to assess the ability of each atrous branch to segment on its own. Finally, attention routing assigns weights for atrous branches by computing attention maps between these score maps. Experiments conducted on Pascal VOC 2012 and Cityscapes, and the performances are boosted by over 1 percent in all settings. Along with visualization of attention maps, it is shown that the proposed model is capable of emphasizing atrous branches according to given context.
Key words:semantic segmentation; convolutional neuron network; atrous spatial pyramid pooling;? capsule network; dynamic routing
語義分割一直是計算機視覺方向的關鍵問題之一。語義分割的任務是對給定圖像進行像素級別的分類,同時也是將圖像中的信息進行抽象的過程。語義分割是自動駕駛、醫學圖像分析、照片編輯等任務中的關鍵技術,為這些應用提供從原始圖像輸入獲取必要上下文信息的必要能力。
如今大多數的深度學習語義分割框架是在由Long等[1]提出的全卷積網絡(FCN)的基礎上衍生而來的。雖然Krizhevsky等[2]提出的卷積網絡(CNN)能夠在感受野的范圍內捕捉到全局信息。但是,對于像語義分割這樣的密集預測任務,對信息進行更加有效的多尺度的提取和融合是至關重要的。為了解決個問題,Ronneberger等[3]使用帶跳躍連接的編碼解碼器結構U-Net,Zhao等[4]提出了PSPNet和Chen等[5]提出了DeepLabV3+分別設計了不同的結構對特征進行多尺度提取。
雖然U-Net,ASPP等結構能夠很好地提取多尺度的信息,但是對于信息的融合只是簡單地將它們串聯起來。這意味著不同支路提取到的信息在同樣的空間位置上具有相同的重要性。可這樣做是違反直覺的,比如在分割物體邊緣時,更加需要細節信息。反之,分割物體中心時需要更加關注全局信息。同時,在認知科學上也有所佐證,Fink等[6]提出,左右半腦分別傾向于處理局部和全局視覺信息。人類的視覺系統能夠此時的視覺理解需求,將任務更多地分配給對應的腦半球。所以提出的AttentionFusion (AF)就是來模擬這樣的視覺機制。
1相關工作
1.1空間金字塔池化
空間金字塔池化(Spatial Pyramid Pooling)通過并行處理多條不同的支路來提取多尺度信息,其作為語義分割的一種范式結構有著許多的變種,這些變種結構主要是去探索更加合理的支路設計。PSPNet[4]采用不同步長的池化操作來形成多尺度表示。后續研究者發現空洞卷積能夠在不增加額外參數的情況下有效地增加感受野,Chen等[5]提出的Atrous Spatial Pyramid Pooling(ASPP)就是由多條平行的不同空洞率(atrous rate)的卷積支路組成。
1.2動態路由
Hinton等[7]在膠囊網絡中提出動態路由并用其進行特征聚類。首先,Hinton將原本為標量的神經網絡神經元擴展成向量形式的膠囊神經元,向量的模表示特征存在的概率,向量的方向則表征更為具體的姿態、顏色等信息。使用動態路由通過對輸入膠囊進行聚類,相似的特征在不斷迭代中加強,從而達到學習底層膠囊和高層膠囊之間的映射關系的目的。
2 注意力融合語義分割模型
PSPNet[4]和DeepLabV3+[5]等網絡結構中的空間金字塔池化能夠提取多尺度的上下文特征信息,但最后將這些信息進行簡單的合并。為了使得多尺度的信息更加有效的融合,在ASPP的基礎上進行修改提出了AttentionFusion模塊,提出的模型為AFDeepLabV3+。整體網絡結構如圖1所示。
1.1 評估支路
為要后續的注意力路由做準備,設計評估支路(eval branch)來對空洞支路提取到的featuremap進行評估生成scoremap并進行訓練??斩绰蚀蟮闹穼τ诤暧^特征更加關注,空洞率小的支路則更加注重細節特征,這一特點反應到scoremap上則表示對應的空洞支路對于圖像的理解程度。實現方面,如圖1所示,故意將評估支路設計成簡單的淺層網絡,由64通道的[3×3]卷積和通道數等于預測類別數的[1×1]卷積來輸scoremap。為了加快網絡擬合使用了批正則化[8](batch normalization)和Dropout[9]技術。
1.2 注意力路由
在膠囊網絡動態路由的啟發下設計注意力路由(Attention Routing)并且使用評估支路生成的scoremap來代替膠囊結構,具體步驟見算法1。
算法1:注意力路由
Input:Scoremap[Si, i∈{1,2,3,4}]
Output:Attentionmap[Ai]
1)Construct[Bi]with the same shape of [Si]
2)[Bi←0]
3)[Ui=scaleSi]
4)for [r]iteration do
5)[Ci=softmax(Bi)]
6)[V=iCiUi]
7)[V=scale(V)]
8)[Bi=Bi+iUiV]
9)end if
10)[Ci←softmaxBi]
11)[Ai=4Ci]
12)return [Ai]
評估支路生成的scoremap的每一維對應固定的類別,所以相比于動態路由,注意力路由計算更加簡便。評估支路輸出score vector記為[Si],[Bi]為logpriorprobabilitymap,在路由算法迭代過程中couplingcoefficientmap[Ci]由[Bi]通過[softmax]函數生成。
如圖2所示,從上往下分別是輸入圖像和空洞率分別為1,3,12,18各支路的注意力圖。從圖中可以看出空洞卷積空洞率不同導致不同支路適合處理的物體大小和上下文不同,并通過AttentionFusion最后反映在attentionmap上。
1.3損失函數
網絡使用端到端的訓練方式,總的損失函數表示如下。
其中,每個損失函數[L]都是標準交叉熵損失函數,公式表示如下。
其中,[yj]和[Pj]分別表示對每個類別[j∈C]的ground-truth和預測輸出。[Lmain]是DeepLabV3+的損失函數,而[Li]是對應評估支路的損失函數,共計4條。通過實驗發現,把[α]設為0.01時模型表現較好。此時[α]防止評估支路產生的loss過多地影響主路的loss。
2 實驗與結果分析
2.1 實驗數據
實驗主要在兩個數據集上進行,分別是PascalVOC 2012[10]和Cityscapes[11],同時,也使用了MS-COCO[12]對模型進行預訓練。
PascalVOC 2012數據共有4369張圖片,另外,還有一份由Hariharan等[13]提供的trainaug集,共9118張。該數據集包含背景共有21個類別。MS-COCO數據集用于在PascalVOC 2012之前對模型進行預訓練,根據Chen等[5]提出的訓練流程,對MS-COCO只篩選使用了PascalVOC 2012中定義的類別,其他的類別被歸為背景。Cityscapes數據集共有5000張圖片,另外提供了19998張粗標注數據作為trainextra集。根據Cordts等[11]的建議,Cityscapes在語義分割中應采用19個類別的劃分方式。
2.2 訓練流程
本文實驗主要考慮以下兩個模型,作為基線模型的DeepLabV3+和提出的Attention Fusion DeepLabV3+,下面描述的訓練流程對兩個模型均保持一致。
本文實驗基于Python3.7環境和PyTorch1.0[14]框架,使用4塊NVIDIA GEFORCE 1080Ti進行訓練和測試。指標方面使用交并比(mIoU)來衡量模型的效果。所有實驗的輸入圖像長寬固定為512,batchsize設置為16。數據增強方面則使用了:隨機水平翻轉,隨機HSV變化,隨機縮放和隨機剪切。本實驗采用了兩種backbone網絡,ResNet-101[15]和Xception[16]。優化算法動量為0.9隨機梯度下降(SGD)。并使用Chen等[5]建議的poly學習率衰減策略來加快優化。其公式[1-itermaxiterpower]為,[power]值為0.9。下面對兩個數據集上不同的設置進行說明。
對于Pascal VOC 2012數據集上的實驗。如果不在MS-COCO上進行預訓練,則先使用0.007的學習率在trainaug集上訓練,然后使用0.001學習率在train集上微調。如果使用MS-COCO,則分別使用0.007、0.001、0.0001的學習率在MS-COCO、VOC trainaug、VOC train上進行訓練,并且在后面兩VOC數據集上訓練的兩階段,固定batch normalization的參數。
對于Cityscapes數據集,首先在trainextra集上使用0.007學習率進行30K次迭代,然后再在train集上使用0.001學習率迭代60K次。在輸入方面,由于Cityscapes中每張圖像長寬為,如果采用VOC數據集那樣直接resize的做法,會大量損失細節信息。因此訓練時采用在數據增強后隨機剪接成512大小的圖像作為輸入。
2.3 結果分析
在模型推斷時。部分實驗采用了Chen等所建議的測試時數據增強(TTA)來進一步提升精度。本文采用對輸入圖像的多尺度放縮和左右水平翻轉,然后將輸出進行平均化作為結果,其中多尺度放縮使用0.5、0.75、1.0、1.25、1.5、1.75等6種比例。
如表1所示,在兩種數據集各自的驗證集上,提出的AFDeepLabV3+能夠有效提升mIoU指標,不同實驗條件下對比均能提升1個百分點以上。并且從圖3可以看出,提出的AFDeepLabV3+模型在分割輸入圖像的復雜細節區域時有著更好的表現,同時也更不容易出現噪聲。
3 結論
本文提出了的注意力融合機制能夠促使ASPP不同支路多尺度信息的深度融合,通過對比和消融實驗證明了本文提出方法的有效性。同時,視覺效果展示說明了本文方法在應對復雜場景時更加魯棒。
參考文獻:
[1] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.
[2] Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[J].CommunicationsoftheACM,2017,60(6):84-90.
[3] Ronneberger O,Fischer P,Brox T.U-net:convolutional networks for biomedical image segmentation[J].Medical Image Computing and Computer-Assisted Intervention -MICCAI2015,2015: 234-241
[4] Zhao H, Shi J, Qi X, et al. Pyramid scene parsing network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 2881-2890.
[5] Chen L C,Zhu Y K,Papandreou G,et al.Encoder-decoder with atrous separable convolution for semantic image segmentation[M]//Computer Vision – ECCV 2018.Cham:SpringerInternational Publishing,2018:833-851.
[6] Fink G R,Halligan P W,Marshall J C,et al.Where in the brain does visual attention select the forest and the trees?[J].Nature,1996,382(6592):626-628.
[7] Sabour S, Frosst N, Hinton G E. Dynamic routing between capsules[C]//Advances in neural information processing systems. 2017: 3856-3866.
[8] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint arXiv:1502.03167, 2015.
[9] Srivastava N, Hinton G, Krizhevsky A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. The journal of machine learning research, 2014, 15(1): 1929-1958.
[10] Everingham M, Winn J. The pascal visual object classes challenge 2012 (voc2012) development kit[J]. Pattern Analysis, Statistical Modelling and Computational Learning, Tech. Rep, 2011, 8.
[11] Cordts M,Omran M,Ramos S,et al.The cityscapes dataset for semantic urban scene understanding[EB/OL].2016:arXiv:1604.01685[cs.CV].https://arxiv.org/abs/1604.01685.
[12] Lin T Y,Maire M,Belongie S,et al.Microsoft COCO:common objects in context[M]//ComputerVision–ECCV2014.Cham:Springer InternationalPublishing,2014:740-755.
[13] Hariharan B,Arbelaez P,Bourdev L,et al.Semantic contours from inverse detectors[C]//ICCV '11:Proceedings of the 2011 International Conference on Computer Vision.2011:991-998.
[14] Paszke A, Gross S, Massa F, et al. Pytorch: An imperative style, high-performance deep learning library[C]//Advances in neural information processing systems. 2019: 8026-8037.
[15] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.
[16] Chollet F.Xception:Deep learning with depthwise separable convolutions[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 1251-1258.
【通聯編輯:唐一東】