楊建秀,劉桂枝
(山西大同大學物理與電子科學學院,山西大同 037009)
目標檢測是圖像處理和計算機視覺領域的基礎性算法,對后續(xù)的實例分割、人臉識別、姿態(tài)估計等任務起著關鍵的作用。但在實際的應用場景中,由于受成像條件及成像距離等限制,所成影像大多數(shù)面臨目標區(qū)域小、背景干擾強的缺陷,給這些弱小目標的檢測增加了難度。針對弱小目標的檢測,傳統(tǒng)的算法首先利用滑動窗口的策略對整幅圖像遍歷對小目標進行人工設計的特征提取[1];然后根據(jù)提取到的特征對小目標進行分類[2-3];深度學習的算法利用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)對小目標進行特征提取實現(xiàn)端到端的分類回歸任務并獲得較好的效果。
基于深度卷積神經(jīng)網(wǎng)絡的目標檢測算法,如經(jīng)典的兩階段方法Faster-rcnn[4]和R-FCN[5],單階段方法YOLO[6]和SSD[7]等,主要是針對通用的目標數(shù)據(jù)集設計的解決方案,對圖像中的小目標的檢測效果不是很理想。目前基于CNN 的小目標檢測算法如建立圖像金字塔,即利用不同尺度的圖像生成對應不同尺度的特征,這種方法增加時間成本。為了同時提高小目標的檢測精度和速度,最近一些算法如FPN[8],DSSD[9]和FAN[10],利用自頂向下結構為小目標提供上下文信息,來提升淺層中小目標的語義表達能力。但是較小的目標很容易在更深的卷積層中丟失,所以語義信息也會隨之丟失。這樣僅僅依靠上下文信息增強小目標特征是不夠的,本文提出一種特征增強的小目標檢測算法。該算法將含有準確空間位置信息的淺層特征和含有抽象語義信息的深層特征進行融合來提高小目標特征表達能力,這樣為預測層中的小目標既提供了空間位置信息,又增強了語義信息,為解決弱小目標的識別檢測問題提供一條新思路。
小目標檢測算法是在單階段精細神經(jīng)網(wǎng)絡結構RefineDet[11]上實現(xiàn)的,整體結構共分為三部分,默認框細化模塊(Anchor Refined Module,ARM),特征增強模塊(Feature Enhancement Module,FEM),以及目標檢測模塊(Object Detection Module,ODM),整體的網(wǎng)絡結構設計如圖1 所示。其中,ARM 模塊主要實現(xiàn)二分類任務,并對前景小目標的位置實現(xiàn)初步預測定位,為后面的多類目標檢測模塊ODM 提供較好的候選框回歸初始值。多類目標檢測模塊ODM 把默認框細化模塊ARM 優(yōu)化后的候選框作為輸入,專注多分類任務和進一步的邊框校正。本文利用FEM 模塊將ARM 模塊和ODM 模塊連接起來實現(xiàn)了小目標的精確定位。
首先利用VGG16 作為卷積特征提取的主干,相比于RefineDet,只保留了Conv1_1到Conv_fc7的卷積層,移除了Conv_fc7 之后較深的卷積特征層,因為較深的卷積層有較大的感受野,不利于小目標的精確定位。然后根據(jù)斯坦福無人機數(shù)據(jù)集中小目標尺寸分布選擇Conv4_3 和Conv5_3 兩個不同的淺層特征層用于小目標物體的檢測。最后,將ODM 模塊中的P4和P5作為最后的預測層。
圖1 配合物的分子結構圖
FEM(Feature Enhancement Module)模塊結合相鄰三層特征構成一個多尺度特征金字塔,為小目標既提供了淺層的空間位置信息,又保證了深層上下文信息的供給,從而增強了小目標的語義信息。FEM模塊與單階段精細神經(jīng)網(wǎng)絡結構RefineDet 中自頂向下的傳輸連接模塊(Transfer Connection Block,TCB)不同。傳輸連接模塊TCB 僅僅給小目標提供了上下文信息,而更深卷積層的上下文信息會伴隨大量的背景干擾,造成小目標的檢測性能下降。本文提出的FEM 模塊為小目標提供合適的上下文信息,不會引入太多的背景干擾,因為FEM 僅利用一層或兩層包含上下文的深層語義信息;同時,F(xiàn)EM 模塊還融合了具有準確空間位置信息的淺層特征。因此FEM 模塊為小目標提供了增強的特征表示,提高小目標的判別能力,其結構圖如圖2所示。
為確保當前特征層能夠與相鄰淺層特征和深層特征三層特征進行點對點相加(Eltw sum),采用下采樣操作將淺層特征Fn-1的尺度縮小到與當前特征層Fn的尺度相同,同時深層特征Fn+1利用反卷積操作將其尺度擴大到與Fn相同。Fn+1和Fn-1分別經(jīng)過一個2×2 的反卷積操作和3×3 的池化操作進行特征學習得到,其最后通道維數(shù)都是256;同時將當前層特征圖Fn經(jīng)過一個3×3 的卷積操作以及激活函數(shù)得到通道維數(shù)為256的特征;然后利用點對點相加操作將完成相鄰三層特征的結合,最后再經(jīng)過一個3×3的卷積層進一步整合特征得到預測層,使其預測層的特征既有淺層的空間位置信息又包含深層語義特征,提高小目標的判別表示,如圖2所示。
圖2 特征增強模塊(FEM)
利用斯坦福無人機數(shù)據(jù)集作為小目標檢測的實驗數(shù)據(jù),訓練樣本和測試樣本分別為3,500 張和831張圖像。其中三類目標小汽車、公交車和高爾夫球車作為人工標注圖像的訓練數(shù)據(jù)集。本文采用平均檢測準確率(Average Precision,AP)和平均準確率均值(mean Average Precision,mAP)作為小目標檢測性能的評判準則。
把圖像分類網(wǎng)絡VGG ISSVRC[12]訓練的權重用于網(wǎng)絡的初始值,輸入圖像大小為320×320,訓練圖像中每批次的數(shù)量為16。其中訓練所用初始學習率為0.001,訓練次數(shù)共為120 k次,在80 k次和100 k次時學習率降為0.0001和0.00001。實驗的硬件環(huán)境為NVIDIA GTX-1080 GPU,軟件環(huán)境為Ubuntu16.04 操作系統(tǒng)下的Caffe 深度學習框架[13],其中所用CUDA版本為8.0,cuDNN版本為6.0。
移除了RefineDet 中Conv_fc7 之后的卷積層,利用自頂向下的結構為小目標提供合適的上下文信息,避免太大的感受野引入較多的背景干擾;同時,為了進一步增強小目標的特征,將淺層的空間位置信息融合到預測層中。通過設計特征增強模塊FEM,使得提出的小目標測算法能夠達到89.1%的準確率。如表1所示,相比于深度學習算法中的單階段實時檢測算法和兩階段高性能算法,本文所提出的方法可以達到較好的檢測性能[14-15]。從圖3 可知,特征增強的小目標檢測算法對小目標在存在遮擋等復雜環(huán)境下具有良好的檢測性能。
針對小目標判別性不足的問題,在淺層獲取準確的空間位置信息和足夠的語義信息是增強小目標判別性的關鍵,因此本文提出一種特征增強的小目標檢測算法。將含有準確空間位置信息的淺層特征和含有抽象語義信息的深層特征進行融合來提高小目標特征表達能力,這樣為淺層中的小目標既提供了空間位置信息,又增強了語義信息,因此這種算法可以較好解決處于遮擋、陰影干擾等復雜環(huán)境下小目標定位問題,為中高級計算機視覺問題提供良好的預處理手段。
表1 斯坦福無人機數(shù)據(jù)集在不同目標檢測算法中準確率的實驗結果對比
圖3 小目標在復雜場景下識別定位的實驗結果圖