王鳳隨,陳金剛,王啟勝,劉芙蓉
(1.安徽工程大學 電氣工程學院,安徽 蕪湖 241000;2.檢測技術與節能裝置安徽省重點實驗室,安徽 蕪湖 241000;3.高端裝備先進感知與智能控制教育部重點實驗室,安徽 蕪湖 241000)
目標檢測作為計算機視覺的一個分支,隨著深度學習模型與檢測任務的結合以及GPU 計算能力的提升,它在學術和工業界得到廣泛的研究和應用,如人臉識別、行人檢測、自動駕駛等領域。
目標檢測領域,尺度的變化問題一直是個挑戰,它直接影響著檢測精度。在檢測任務中,數據集中目標的尺度范圍變化較大。小尺度目標經過卷積神經網絡后,由于感受野的增大造成特征的丟失。因此,神經網絡需對不同尺度的目標都可以很好地提取特征。Faster-RCNN[1-2]作為兩階段目標檢測算法的大成之作,它提出的使用區域建議網絡代替選擇性搜索(selective-search)提取候選框,多尺度錨框的使用減少了選取候選框的時間,取得更高的精度和更短的訓練時間。但Faster-RCNN (faster region convolutional neural network) 只利用神經網絡的最后一層特征進行預測,缺乏處理多尺度目標的能力。針對多尺度目標需要多尺度特征預測的問題,SNIP[3-4](scale normalization for image pyramids)使用圖像金字塔將原始圖直接進行不同尺度的縮放變化,利用不同分辨率的圖片來檢測不同尺度的物體,在尺度變化的問題上取得不錯的成效。這種尺度變化的方式雖然有效,但也大大增加了檢測的時間復雜度。另一種尺度變化的思想是利用特征金字塔(feature pyramid)來近似圖像金字塔,FPN[5](feature pyramid network)利用對高層語義信息上采樣,以自上而下的方式增強低層特征,FPN 在YOLOv3[6]中具有很好的多尺度表現。但FPN 中只是將不同分辨率的特征對齊后堆疊,忽略了低層特征包含較多局部位置信息,高層特征包含更多全局語義信息,而忽略這些特征之間的聯系將不可避免影響檢測的性能。因此考慮不同分辨率特征之間的相關性,自適應對通道相關性建模,通過在全局語義信息融合局部位置信息來提高檢測性能是一個重要問題。同時,從人類視覺出發,對于不同尺度的目標需要不同大小感受野的特征去識別,神經網絡的高層特征中包含更豐富的語義信息,YOLOv3-SPP[7](MobileNets based on depthwise separable convolutions)算法中通過對高層語義特征增強感受野,可以加強網絡的特征提取能力,雖然其中SPP(spatial pyramid pooling)網絡能夠捕獲上下文信息,但同時破壞了圖像中的姿態和空間等信息,造成部分高維特征丟失的問題。
針對目標檢測中的多尺度問題,本文提出一種自適應上下文特征的多尺度目標檢測算法。首先,基于改進的注意力機制設計了特征融合網絡A-PANet(attention-path aggregation network),自適應地調整通道間的相關性和不同分辨率特征的通道權值,實現局部特征和全局特征的融合,提升檢測的精度。其次,設計了多尺度感受野特征金字塔網絡MSPNet(multi sensory pyramid network),利用不同膨脹率的卷積,從高層語義特征中學習到不同大小感受野的特征,識別不同尺度的物體,提高檢測的精度。通過對PASCAL VOC[8]數據集上的實驗結果進行分析評估,本文的方法相較于其他先進算法的性能有了顯著提高。
本文算法從多尺度感受野和自適應特征融合兩方面,設計了自適應上下文特征的多尺度目標檢測算法。方法的整體框架如圖1 所示。具體來說,以Darknet53 作為主干特征提取網絡,首先,將圖像輸入主干特征提取網絡,獲取高層特征P0、次高層特征P1、淺層特征P2;其次,為了從高層語義特征中挖掘標簽中的上下文信息,設計了MSPNet 網絡,從高層特征P0中提取多尺度感受野特征,并通過3 次卷積實現上下文信息的融合;最后,基于改進的注意力機制SE*,設計了A-PANet網絡,對不同分辨率特征P0、P1、P2進行加權融合,實現局部特征和全局特征的融合,并利用融合后的多尺度特征對不同尺度物體實現分類和回歸。

圖1 算法框架結構Fig.1 Algorithm framework structure
從人類視覺出發,識別物體的類別,除了當前物體的外觀特征,還需要周圍環境作為輔助(比如汽車和人通常同時出現,椅子在桌子附近)。如何從高級語義特征中獲取不同尺度目標的語義信息,并獲取上下文信息輔助識別小目標物體,是提高檢測性能的關鍵問題。針對此問題,本文提出多感受野的特征提取網絡MSPNet,利用多分支并行空洞卷積,通過不同大小的感受野,從高層特征P0中挖掘不同尺度目標的語義信息,并通過融合不同尺度的感受野特征從標簽中獲取上下文信息。
MSPNet 的網絡結構如圖2 所示。首先,以主干特征提取網絡輸出的高層語義特征x∈RW×H×C作為輸入,其中W、H為特征圖的寬高,C為特征維度。其次,將高層語義特征x分別經過3個膨脹系數為 τ 的多感受野特征提取分支,表示每個分支捕獲的不同大小感受野以及不同尺度的特征信息。其中W′、H′和輸入特征圖的寬高W、H保持一致,C′下降為輸入通道的1/16。然后,對3個分支進行歸一化處理,加快網絡的訓練以及收斂速度防止梯度爆炸,并使用Leaky_ReLU激活函數增加非線性。最后,使用 1×1 的卷積核對高層語義特征x進行卷積處理,輸出特征x4∈RW′×H′×C′并作為殘差結構和其他分支獲得的特征進行感受野從小到大的堆疊,輸出多感受野增強提取特征,再使用3 次卷積進行多感受野特征加強融合。得到最終加強多感受野特征x′∈RW×H×C。

圖2 多感受野特征提取網絡(MSPNet)結構Fig.2 Stucture of multi-receptive field feature extraction network (MSPNet)
不同尺度的目標需要不同大小感受野的特征識別,YOLOv3-SPP[7]算法中SPP 網絡利用多分支池化提取不同大小感受野特征,而池化會造成語義特征的丟失問題。為了獲取多尺度的感受野且不造成特征的丟失,本文提出利用膨脹卷積增加感受野,保持特征的尺寸不變化。膨脹卷積[9-10]通過稀疏采樣的方式進行卷積,通過在卷積核內部填充權值為0 的參數使得卷積核的感受野增大且不會增加額外參數。膨脹卷積后有效感受野大小如式(1)所示。

式中:k代表原卷積核大小;τ 代表膨脹率;k′表示有效感受野。神經元的感受野越大表示和原始圖像的接觸范圍越大,提取的信息則是更加全局,包含語義層次更高的特征;感受野越小則是提取的特征趨向于局部和細節。本文設計3個膨脹卷積分支,以膨脹率分別為2、3、4 的3×3 卷積核,根據式(1),每個分支對高層語義特征的有效感受野大小分別是5×5、7×7、9×9。輸出x′為以金字塔形式堆疊的多感受野特征,其表達式為

式中:W1、W2、W3為每個分支的學習參數;⊕ 為特征的堆疊;F為三次卷積;x為輸入高語義特征;W4為殘差邊的學習參數;f為非線性激活函數Leaky_ReLu,其表達式為

其中a為超參數,通常取值為0.01,在反向傳播過程中,對于Leaky_ReLU 激活函數輸入小于零的部分,也可以計算得到梯度,避免梯度消失的問題。
神經網絡的低層特征包含豐富的目標位置信息,高層特征則包含目標的語義信息。考慮不同尺度目標的語義特征出現在不同分辨率特征圖中,在全局語義特征中有效地融合局部位置特征,是解決檢測中多尺度問題的關鍵。本文提出一種自適應特征融合網絡A-PANet,通過自適應地調整不同分辨率特征間的依賴性,實現語義特征和位置特征的有效融合。
A-PANet 網絡結構如圖3 所示。其中,C4、C5、C6、C7∈RW×H×C為主干特征提取網絡輸出的不同分辨率特征,其中W、H、C分別為每個特征的寬度、長度和通道數。⊕ 表示不同分辨率特征自適應融合模塊,其具體實現如圖4。P5、P6、P7∈RW′×H′×C′為不同分辨率特征自適應融合后的特征,其尺度分別為76×76、38×38、19×19,每個網格點輸出3個預測框,分別用于檢測不同尺度大小的物體。它每一層預測所用的特征圖都融合了不同分辨率、不同語義強度的特征,融合的不同分辨率特征圖對應不同大小的物體檢測。
通道注意力[11-12]在于分配各個卷積通道之間的資源,可以理解為讓神經網絡明白在看什么,網絡可以有選擇性地加強包含重要信息的特征并抑制作用無關或較弱關聯的特征。圖3 中 ⊕ 為特征自適應融合模塊,本文針對通道注意力機制實現以下改進。首先,為了提高通道間的非線性擬合能力,對通道注意力SE[11]的FC 層進行不降維處理,避免降維造成的細節信息損失。其次,針對采用兩個不降維FC 會顯著增加模型復雜度的問題,本文利用兩個不降維的一維卷積代替FC層,降低模型復雜度的同時保持性能增益,具體實現如圖4 虛線框所示。

圖3 自適應特征融合網絡A-PANet 結構Fig.3 Structure of adaptive feature fusion network APANet

圖4 特征自適應融合模塊結構Fig.4 Structure of feature adaptive fusion module
圖4 以C7和C6兩個不同的分辨率特征融合為例說明,其余融合方式和此一致。首先,對C7特征進行雙線插值上采樣,恢復其寬高并和C6層特征圖的寬高保持一致。其次,對輸入進行壓縮,利用全局平均池化,將輸入的二維特征圖變成單個像素值且通道數不發生變化,輸出的每個特征通道上具有全局的感受野;最后,通過兩次不降維的一維卷積,并在激活函數前引入BN層加速收斂,增加網絡通道間的非線性擬合能力。
特征自適應融合模塊如式(4):

式中:σ 為sigmoid 激活函數;x為輸入特征圖。g(x)為全局池化函數如式(5)所示,其功能是對輸入特征圖的每個通道進行全局平均池化(GAP)。其中W、H分別表示輸入特征圖的寬高。

f{w1,w2} 函數的作用如式(6):

式中:w1表示第一個卷積層的可學習參數;w2為經過第2個卷積層的可學習參數;*表示為逐元素相乘。這個模塊負責構建通道的相關性以及自適應地為不同通道學習到不同的通道注意力權重。通過對特征通道間的相關性進行建模,網絡專注于更有用的通道并增強辨別學習能力。
本實驗所用的數據集為圖像識別和分類的標準化數據集PASCAL VOC,數據集標簽中包含20個類別,它是常用于目標檢測任務的訓練和評價的公開數據集。此數據集包含行人、車輛、生活物品等20個語義類別高精度標注圖像。本實驗使用的訓練集是包含VOC2007 的訓練和驗證集及VOC2012 的訓練和驗證集的聯合訓練集一共有16 551 張圖,取其中90%為訓練集,10%作為驗證集。測試集選取VOC2007 的測試集,一共4 952 張圖。本實驗的環境配置如表1。

表1 實驗環境配置Table1 Experimental environment configuration
在目標檢測任務中,檢測精度(average precision,AP) 體現每個物體種類的檢測精度,mAP(mean average precision) 是對所有檢測種類的AP 進行算數平均,用來衡量整個網絡的檢測精度,mAP 值越大則檢測檢測精度越高。AP 是由檢測精度(precision) 和召回率(recall) 組成的PR 曲線面積計算得出。精度(P)和召回率(R)的計算方法為

式中:TP 表示為正樣本且預測結果為正樣本的檢測框;FP 表示為負樣本但預測結果為正樣本的檢測框;FN 為負樣本且檢測結果為負樣本的檢測框。
為了驗證改進后的網絡模型的檢測精度變化,在相同的實驗環境以及使用的數據集都為VOC2007+VOC2012 的聯合訓練,并在VOC2007的測試集上計算每個類的AP 值以及20個類的mAP。整個訓練過程中使用了遷移學習的思想,利用在大型數據集上預訓練的模型參數對網絡進行參數初始化,來加速推理和提高網絡收斂速度。實驗具體參數設置如表2 所示。

表2 實驗參數設置Table2 Experimental parameter setting
訓練一共設置50個epoch,訓練的前25個epoch 對網絡的主干特征提取網絡的部分參數進行凍結訓練,后25個epoch 解凍后整體訓練。網絡采用批量隨機梯度下降法來優化損失函數,前25個epoch 設置Batch_size 為4,初始學習率為0.001,權重衰減率為0.000 5,解凍訓練后繼續訓練25個epoch,此時網絡學習率設定為0.000 1,Batch_size 為2,權重衰減為0.000 5。通過測試loss 的變化情況可以看到網絡模型的擬合情況,并選取達到最佳擬合效果的epoch 作為網絡的權重。
Faster-RCNN[1-2]、YOLO[13-14]、SSD[15]、DSSD321[16]等都是目標檢測領域常用的幾種檢測算法,本文將幾種算法都在VOC2007+VOC2012的混合數據集上訓練以及使用VOC2007 測試集為測試數據,其中分別列舉了Faster-RCNN、SSD、R-FCN[17]的實驗對比結果。其中SSD321、SSD300 除了輸入圖片的大小不同其他設置都完全相同,基線模型YOLOv3+來自文獻[14]。表3為不同算法在VOC2007 上得到的測試結果。

表3 各種算法在VOC2007 上的測試效果Table3 Test effects of various algorithms on VOC2007
從表3 不同算法測試得到的mAP 的數據對比發現,本文提出的基于自注意力和多尺度特征融合的目標檢測方法在檢測精度上具有更好的表現。在VOC2007 數據集上的檢測精度,相較于雙階段目標檢測算法,如以VGG-16 和Residual-101 作為主干提取網絡的Faster-RCNN,檢測精度分別提升了12.54%和9.34%,相較于單階段的目標檢測算法DSSD321 和YOLOv3,檢測精度分別提升7.14% 和5.49%。相較于本文的基線模型YOLOv3+仍有2.06%的提升,
為了驗證本文算法在解決目標檢測中多尺度問題上的優越性,將本文算法和其他多尺度目標檢測算法的檢測結果進行比較分析,實驗結果如表4 所示。

表4 多尺度目標檢測算法在VOC2007 數據集上的測試結果Table4 Test results of multi-scale target detection algorithm on VOC2007 dataset
表4 中SSD 算法是以主干提取網絡的不同特征層檢測不同尺度物體,解決多尺度目標檢測問題;RefineDet512+算法是基于SSD 和FPN 算法的改進,通過不同特征層間的融合檢測出不同尺度物體。RFBNet 算法從感受野的角度出發,在SSD 算法基礎上對不同特征層使用RFB 網絡增加感受野,提升多尺度物體的檢測能力。本文算法針對多尺度問題同時從感受野和多尺度特征融合的角度出發,首先,提出多分支的并行空洞卷積網絡MSPNet 對不同感受野信息融合,挖掘上下文信息。其次,基于注意力機制提出自適應特征融合網絡A-PANet,考慮不同特征層間的相關性實現多尺度特征融合。實驗結果證明,本文算法相較于其他多尺度目標檢測算法性能上得到顯著提升。
檢測速度也是衡量檢測算法性能的重要指標之一,本文對比不同檢測算法在VOC2007 數據集上的測試速度FPS。為了公平比較,在測試階段,設置批次大小為1,各算法的時間性能對比見表5。

表5 不同算法在VOC2007 數據集上的測試速度Table5 Different algorithms test speeds on the VOC2007 dataset
考慮到平臺差異對檢測速度的影響,本文在此實驗平臺上對基線模型進行復現,算法速度達到27.83 f/s。本文算法由于增加額外的計算,相較于基線模型,當輸入圖片大小為416×416,檢測時間多消耗約0.3 s,當輸入圖片大小為608×608,多消耗17%的時間。但由表5 可以看出,本文算法的檢測速度明顯高于雙階段目標檢測算法,同時,由于硬件平臺的限制,檢測速度略低于其他單階段目標檢測算法。如圖5,綜合來看,本文算法綜合效率最高,既實現了更高的檢測精度,又保持速度上的優勢。

圖5 VOC 2007 測試集上的time-mAP 對比Fig.5 Time-mAP comparisons on VOC 2007 test set
為了驗證本文算法具有更好的檢測精度,分別評估了多感受野特征提取網絡和自適應特征融合網絡,并研究了多感受野特征提取網絡的分支數量對實驗影響,設定在相同的實驗環境和VOC 數據集進行消融實驗,并對實驗結果進行分析。具體實驗分為3 部分:
1)基線模型中單獨驗證自適應特征融合網絡;
2)基線模型中單獨驗證多感受野特征提取網絡;
3)基線模型中同時引入自適應特征融合網絡和多感受野特征提取網絡。
為了驗證本文算法的優越性,實驗以在VOC 2007 的測試集上檢測結果為基準,獨立驗證每個模塊對模型的檢測精度的影響,統計結果如表6所示。由于文獻[14]中未公布每個類的AP,為了公平比較,本文復現了每個類的AP,并且mAP 和文獻[14]無差距。此外,為了驗證多感受野網絡的有效性,分別對多感受野特征提取網絡MSPNet-T、MSPNet-F(其分支數量為3 和4)進行實驗。

表6 在VOC2007 數據集上的消融實驗結果Table6 Detection effect of improved algorithm on VOC2007 %
從表6 中的每個類的AP 數據得到以下結果:特征融合網絡在全局語義特征中融合了局部位置特征,相較于基線模型,在大目標物體上的性能有顯著提升,如Boat(船)、Cow(牛)、Sheep(羊)等,尤其是在羊和船的AP 值提升接近10%。得到這樣的實驗結果是合理的,因為大目標物體通常在圖片中占有較多像素,因此在卷積神經網絡的高層特征中包含豐富的語義信息,識別精度高。但同時因為物體較大,在卷積神經網絡下采樣時造成位置信息的偏移,影響回歸精度。本文提出的特征融合網絡,通過注意力模塊可以自適應地調整各通道的特征響應值,通過學習參數的方式來自動獲取到每個特征通道的重要程度,然后依照這個重要程度去改變不同分辨率特征的通道權重。有效地為大目標物體在語義信息中融合了位置信息,進一步提升大目標物體的檢測能力,展示了本文特征融合網絡的優越性。
多感受野特征提取網絡從高層語義特征中挖掘標簽中相互依賴的全局語義信息。多感受野特征提取網絡的性能相較于基線模型提高了1.70%,同時對于bike(自行車) 和person(人) 的AP 有3.5%和1.5%的提升。因為客觀世界中這類目標通常具有很強的依賴關系,它們往往同時出現,進一步說明,本文提出的多感受野特征提取網絡能有效地聚集上下文信息,提升檢測精度。
從最終的實驗結果中可以看出,相較于基線模型,本文算法有效地提升了不同尺度物體的檢測精度,如小目標物體cat(貓)和dog(狗)的AP 值有1%左右的提升,大目標物體bike(自行車)和bus(公交車)有4%左右的提升。在VOC2007 數據集上的可視化測試結果如圖6 所示,從定量實驗結果來看,本文算法在處理不同尺度物體問題上的合理性和有效性得到充分證明。圖6 中包括每一個類的AP 以及20個類的mAP,其中圖6(a)為基線模型的mAP,圖6(b)為本文算法的mAP。從mAP 的對比可以發現改進后的網絡在多個種類的物體的檢測精度上都相較于原始網絡具有不錯的提升效果。

圖6 在VOC 2007 數據集上的測試結果Fig.6 Test results on VOC 2007 datasets
為了更加直觀地評價本文算法,圖7 給出了在VOC2007 的測試集上的實驗結果對比。其中1、3 列為基線模型的測試結果,第2、4 列為本文算法的測試結果。

圖7 基線模型和本文算法在VOC 數據集上實驗結果Fig.7 Experimental results of baseline model and algorithm in this paper on VOC dataset
對圖7 的可視化檢測結果中進行定性分析:圖7(a)、(d)為從VOC2007 數據集中隨機選取室內圖片,原算法存在對椅子的漏檢問題,而本文算法利用多感受野特征提取網絡,聚集上下文信息,通過挖掘標簽中的關系(如桌椅通常同時出現),減少物體的漏檢;針對一幅圖片中需要檢測不同尺度物體的問題,如圖7(b)中雜志上的人和圖7(g)中遠處的馬,原算法在小目標物體上存在漏檢以及誤檢的問題,本文算法通過自適應特征融合網絡,在語義信息中融合位置信息,有效改善了不同尺度物體檢測問題;雖然本文算法比原始算法檢測精度更高,但仍存在當目標和背景特征相似時(圖7(f)中的黃羊),網絡無法識別出物體的問題。綜合來看,本文算法的檢測性能更優異。
本文提出一種結合上下文特征和自適應特征融合的目標檢測算法。首先利用主干特征提取網絡Darknet53 獲取不同尺度的特征圖,接著構建一種多感受野特征提取網絡,從高層語義特征中聚集上下文特征,挖掘標簽中隱含的全局知識。最后構建一種自適應特征融合網絡,結合通道注意力機制,實現不同分辨率特征的融合,在不同尺度的特征圖中融合全局語義信息和局部位置信息。在PASCAL VOC 數據集上的實驗結果表明,本文算法既能保持速度的優勢,同時有效地提升了不同尺度物體的檢測精度,更具有實用價值。在下一步的工作中,將繼續改進模型,探索解決物體和背景特征相似不易識別的問題。