姚廣華 吳訓成 張雪翔 侍 俊
(1.上海工程技術大學機械與汽車工程學院 上海 201620)(2.32128部隊 濟南 250000)
在目標檢測領域,圖片中小目標的分辨率和圖像表觀信息有限,檢測小目標是一項具有挑戰性的任務。小目標是指,目標尺寸的長寬是原圖像尺寸的0.1。現有方法[1~4]已證明,通過利用上下文信息可以提高對小目標檢測的精度。用于小目標檢測的另一種常用方法是擴大小區域[5],擴大小區域也能夠提高檢測小目標的精度,但擴大小區域方法會顯著增加計算量。
目前大多數研究都是基于區域的目標檢測方法,包括SPP-Net[6],RCNN[7],Fast RCNN[8],Faster RCNN[9],這些目標檢測方法由于存在大量的提議框,無法快速地檢測到小目標。單點檢測器SSD(Single Shot Multi-box Detector)[10]由于沒有區域提取以及區域提取后的像素重采樣階段,檢測速度很快,能夠進行實時檢測,但對于小目標的檢測效果較差。反卷積單點檢測器DSSD(the fast detector Single Shot Multi-box Detector)[4]使用SSD 作為基礎網絡,由于其通過使用基礎殘差網絡Res-Net 101[11]來提高檢測精度,而犧牲了速度。對于小目標檢測,如何在精度與速度之間進行取舍,這仍然是有待解決的問題。
引入上下文信息的常用方法是利用卷積網絡中的組合特征圖進行預測。例如,ION[1]使用池化層從每個區域提議的多個層中提取VGG16[12]特征,并將提取的特征連接為固定大小的特征圖譜以進 行 最 終 預 測。Hyper-Net[4]、GBD-Net[13]和AC-CNN[14]采用了類似的方法,即使用每個區域提議的組合特征圖進行目標檢測。這樣每個區域提議的特征圖都包含細粒度的局部特征和上下文信息。但是,這些方法都是基于區域提議的方法,基于區域提議的方法會產生大量的提議框,從而增加內存占用量并降低檢測速度。
在本文中,為了實現對小目標快速而精確的檢測這一目標,本文在檢測精度與檢測速度之間進行權衡取舍,提出了一種引入上下文特征融合的方法:在卷積網絡中添加上下文信息,以提高小目標檢測的準確性。具體來講就是,使用一個特征融合模塊來融合淺層特征,而深層特征并沒有進行融合,這樣能夠保證檢測器的實時性。并提出了一個融合模塊,該融合模塊使用1×1 卷積層來學習目標信息和上下文信息的融合權重,這樣可以減少無用的背景噪聲的干擾。
本節將詳細闡述本文提出的融合上下文信息特征的小目標檢測方法CF-Net,以及在CF-Net 模型中提出的用于特征融合的融合模塊。
本文提出的CF-Net 模型如圖1 所示。CF-Net使用了VGG16 作為底層網絡,并將VGG16 中的兩個全連接層(FC6、FC7)改成了一個卷積層用于預測通用目標。在VGG16 之后增加了4 個卷積層用于預測一般大小的目標。其中卷積塊Conv1_x 和Conv2_x 包含2 個3×3 的卷積核;卷積塊Conv4_x 和Conv5_x 包含3 個3×3 的卷積核;卷積塊FC_x、Conv6_x、Conv7_x、Conv8_x、Conv9_x 分別包含一個1×1的卷積核和一個3×3的卷積核。

圖1 CF-Net網絡結構
CF-Net 采用了特征金之塔結構進行檢測。即利用了由VGG16 的全連接層構成的卷積塊(FC_x)和另外增加的4 個卷積塊,一共5 個卷積塊的輸出FC_2、Conv6_2、Conv7_2、Conv8_2、Conv9_2,進行分類和回歸用于檢測通用目標。由于淺層特征包含了豐富的小目標信息,故利用VGG16 中的淺層卷積塊Conv4_x 和Conv5_x 的輸出層Conv4_3 和Conv5_3,并對其進行特征融合,將融合后的特征圖進行小目標檢測。對于檢測用的特征圖,CF-Net分別用兩個3×3 的卷積核進行卷積,一個用于輸出分類用的置信度(confidence);另一個用于輸出回歸用的定位坐標(localization)。
在檢測問題中,由于輸入圖像包含多個目標,需要對多個目標進行特征提取。因此,CF-Net 對每個輸出特征圖加入了候選框,然后對候選框進行分類和回歸。候選框的設計與SSD 的候選框類似。對于用于預測的特征圖上的每個單元格,設計了不同尺寸候選框。候選框尺寸大小計算見式(1)。其中對用于通用目標檢測的輸出特征圖FC_2、Conv6_2、Conv7_2、Conv8_2、Conv9_2,smin和smax分別取0.2 和0.9;對用于小目標檢測的融合特征圖,由于小目標尺度較小,因此將最底層尺度設置為0.1,最高層尺度設置為0.85,故對用于小目標檢測的融合特征層,smin和smax分別取0.1 和0.85;m為特征層數。考慮到計算量,本文中將每個單元格中候選框的數量設置為6 個。每個候選框的長度和寬度計算方法分別見式(2)和式(3),其中用ar={1 ,2,3,12,13} 表 示 候 選 框 的 長 寬 比,當ar=1時增加了一種候選框尺寸:。

CF-Net 不使用卷積網絡的最后一個特征圖,而是使用卷積網絡內的金字塔特征層次結構來預測具有不同尺寸的目標。即使用較淺的特征層來預測較小的目標,而使用較深的特征層來預測較大的目標,因此可以減輕整個模型的預測負擔。但是,較淺的特征層通常缺少語義信息,而語義信息有利于小目標檢測。因此,本文通過將高層特征與淺層特征融合,使在卷積正向計算中捕獲的語義信息傳遞回較淺的特征層。通過特征融合,淺層特征既包含小目標信息又包含語義信息,使得淺層檢測小目標的性能得到了提高。
本文利用淺層特征預測小目標,因此將特征融合模塊應用于淺層網絡,而不用于深層網絡,這種策略保證了CF-Net 檢測速度。為了選擇合適的特征層進行特征融合,本文使用反卷積方法探索了不同層中的有效感受野。最終選擇了Conv4_3 和Conv5_3 進行融合。為了將上下文信息注入缺少語義信息的淺層特征層(Conv4_3)中,本文設計了一個特征融合模塊。
特征融合模塊如圖2 所示。為了使特征層Conv5_3 的尺寸大小與特征層Conv4_3 相同,在特征層Conv5_3 之后設計了一個反卷積層,該層利用雙線性上采樣進行初始化,即將Conv5_3 上采樣擴大為原特征圖的2 倍,得到了與Conv4_3 尺寸大小相同的特征圖。為了得到更好的特征,在Conv4_3層和Conv5_3層反卷積之后分別使用一個3×3卷積層進行特征提取,然后加入歸一化層,并沿其通道進行軸向連接組合,得到了Fusion_conv43_conv53,最后經過1×1 卷積降維以及Relu 運算得到最終的融合特征圖Fusion。

圖2 融合模塊
特征圖Fusion 是Conv4_3 和Conv5_3 的產物,其分辨率與Conv4_3 完全一樣,但是具有更豐富的語義信息,所以用特征圖Fusion 進行分類和回歸,能得到更好的檢測效果。
CF-Net 模型在訓練過程中總損失函數L(x,c,l,g)由分類損失函數Lconf(x,c)和定位損失函數Lloc(x,l,g)二部分組成[16],如式(4)所示。分類損失函數使用了soft-max 損失函數,如式(5)和式(6)所示。定位損失函數的計算方式與Fast-RCNN 中的smooth L1 loss 類似,如式(7)和式(8)所示。


在PASCAL VOC 2007 上對CF-Net 模型進行了評估,并將檢測結果與SSD 和DSSD 進行對比。此外,本文給出了CF-Net 模型對小目標檢測的性能評估,并進行了比較分析。最后給出了CF-Net模型的測試速度。
CF-Net模型是基于構建在深度學習框架Caffe[17]上的VGG16 實現的。首先在ImageNet 數據集上對本文模型進行預訓練以完成圖像分類任務。圖片輸入大小為300×300。訓練過程中前8×103次迭代的學習率設置為10-3,迭代次數在8×103到1.2×103之間時學習率設置為10-4,迭代次數在1.2×103到1.4×103時學習率設置為10-5。然后將CF-Net模型用PASCAL VOC2007數據集進行訓練。CF-Net在預訓練好的模型上進行微調,并進行了一萬次迭代。
在設計最有效的特征融合模塊時,本文做了一些必要的嘗試。如表1 所示,本文嘗試了不同特征層之間的融合,在PASCAL VOC 2007 數據集上都獲得了不錯的檢測精度。本文選擇了檢測精度最好的組合方式Conv4_3+Conv5_3 進行融合。此外,在設計模塊時,嘗試了不同數量的內核。從表2 中可以看出,本文提出的CF-Net 模型在不同內核數量的情況下均表現良好,即使內核數量減少到128個,檢測精度也令人滿意。

表2 不同內核檢測精度
在表3 中,展現了CF-Net 模型的檢測性能。對于小目標檢測,CF-Net 在固態硬盤上測試時的mAP 達到了78.9,比SSD 高1.7%。此外,從表中還可以看出在精度方面CF-Net 模型略勝于DSSD 321,高出0.3%。小目標檢測結果如圖3 所示。對比分析發現具有特定背景的小目標的檢測精度得到有效提高,例如公路上的小型汽車,坐在帆船上的人的檢出率相對較高。

表3 PASCAL VOC2007數據集上測試結果

圖3 檢測結果
本文在PASCAL VOC 2007 測試數據集上對CF-Net模型進行運行時間評估,如表4所示。本文提出的模型的檢測速度為40 fps,比SSD模型要慢,因為模型增加了特征融合模塊。但是,本文提出的模型仍然可以實現實時檢測。與具有13.6 fps 的DSSD321 相比,CF-Net 模型可獲得更快的檢測速度,而且檢測精度與DSSD321 模型相當。由于DSSD321 使用Residual-101 網絡作為基礎網絡,而CF-Net方法是使用VGG16,故CF-Net模型檢測速度要遠遠快于DSSD321。

表4 不同方法的檢測性能分析
本文提出了一種引入上下文信息特征融合的CF-Net 模型,可快速準確地檢測出小目標。CF-Net 將包含小目標信息的淺層特征層進行融合,用于檢測小目標。而深層特征直接用于通用目標檢測,不進行特征融合。與用于小目標檢測的DSSD321等現有的小目標檢測方法相比,具有檢測速度快、檢測精度高等優點。由于上下文信息有時可能會引入無用的背景噪聲,因此控制信息傳輸是接下來需要進一步研究的工作。