朱鋒彬, 應 娜
(杭州電子科技大學 通信工程學院,浙江 杭州 310018)
在計算機視覺領域,車輛檢測作為一個實用而又具有挑戰的課題,得到了很多研究者的關注。道路監管、輔助駕駛等人工智能都融入了車輛檢測的應用。隨著科學技術的不斷發展,研究人員在不同階段取得了不同的成就。從最初的區域選擇[1]到特征提取[1],從機器學習卷積神經網絡R-CNN到Fast R-CNN,Faster R-CNN模型,以及后來的SSD(single shot multiBox detector),YOLO(you only look once)算法,車輛檢測算法都在朝著更快更準的方向發展,在檢測速度、定位精度上都得到了巨大提升。
在前人的基礎上,為了達到更快速、準確地進行車輛檢測目的,提出了一種改進算法,在一個深度卷積網絡的基礎上搭建了2個神經網絡。算法首先改進VGG16網絡中的深度卷積神經網絡(deep convolutional network,DCN),加入超特征技術,融合不同卷積層的特征,得到圖片的超特征。然后在第一個建議網絡(proposal network,PN)采用了一組卷積層來生成錨箱,并利用錨箱直接提取出候選框,同時利用非極大抑制算法(NMS)丟棄不太可能的候選框。并將剩余的候選框送入第二個微調網絡(fine-tuning network,FTN)。算法融合PN網絡、FTN網絡以及不同卷積層的特征,使得車輛的識別和定位都得到了顯著的優化。
如圖1所示,提出的改進的卷積神經網絡由:DCN,PN,FTN 3個子網絡組成。
首先利用DCN網絡產生豐富的圖像特征。采用VGG—16網絡模型中的卷積層和最大池化層,其中權重由ImageNet數據集預訓練完畢,以確保檢測可以受益于不斷變化的大數據集。用多層具有小卷積核濾波器的卷積層代替一層濾波器卷積核較大的卷積層。最終將輸出的特征圖送入PN網絡和FTN網絡進行進一步處理。另外,該網絡還用到了各個卷積層之間的特征串聯。

圖1 改進的卷積層框架結構
在圖像檢測過程中,于數量較大的背景物體中有效地篩選出候選物體汽車是建立一個高效的車輛檢測系統必不可少的一步,可在特征提取頂端設計一個深度的分類網絡實現,據此,設計了一個輕量級的特征提取網絡—PN網絡,利用該網絡提取候選框,以及消除背景區域。PN網絡是由一個ROI池化層,一個深度卷積網絡和一個全連接層組成,具體步驟是:用一個帶有4個濾波器的卷積層(conv6_1)連接到DCN的輸出,得到一個256×144的特征映射。其中,conv6_1可使超特征更加精煉,同時減少占用內存,與以下conv6_2作用相同。將特征映射到64×36的網格。對于每個網格,生成一組固定尺度(32×32,64×64,128×128,256×256,512×512)和不同比例(1∶2,2∶1,1∶1)的錨箱。與Faster R-CNN[2]不同的是,算法直接用錨箱提取出候選對象。ROI池化層從每個錨箱中取出一個14×14×4特征向量;將經裁剪的特征向量送入一個128維的全連接層,得到候選框位置(x,y,w,h)和得分s。使用這個簡單但有效的建議網絡,將帶來一個顯著的速度提升。
FTN負責微調剩余的候選框。除了使用一個有64個濾波器的卷積層(conv6_2)產生256×144特征圖,其他結構上類似之前的PN網絡。FTN層主具體步驟是:ROI池化層為PN網絡產生的車輛候選框提取一個14×14×64的特征向量。連接一個640維的全連接層。本文涉及到兩個階段的特征串聯:由現在的FTN網絡形成512維特征;由PN網絡形成128維特征(連接方式在圖1中用符號⊕表示)。然后再連接一個640維的全連接層。最后輸出微調后的候選框位置和置信度—一個5維的向量:標出的物體框的位置、大小(x,y,w,h)以及區域得分s。
1)依據文獻[3]結論,本文采用融合多個不同層次卷積層的特征圖方法進行特征融合。具體操作如下:文獻[4,5]顯示了將不同卷積層的特征圖結合的效果。仿效這種方案,本文將DCN網絡的多層特征進行融合從而產生超特征。圖1顯示了多特征圖的連接。用卷積層計算整張輸入圖的特征圖時,為了在同一分辨率下組合多層特征圖,算法對不同層使用不同的采樣策略。對低層進行最大池化下采樣;高層特征使用反卷積操作進行上采樣。將調整過的采樣結果各自通過一層卷積層進行卷積操作,縮小維度并增強語義。采用局部響應歸一化(local response normalization,LRN)[6]對特征圖進行歸一化處理,并連接到一個單一的立方體輸出,產生Hyper特征。Hyper特征有以下幾個優勢:多層抽象,分辨率適于檢測,計算效率高。
2)特征連接。將通過FTN網絡的候選框產生的全連接層特征與此候選框在PN網絡產生的全連接層特征進行串聯。具體實現:在PN網絡中記錄保留下的候選框,在FTN網絡中根據通過的候選框的序號找出PN網絡中對應候選框產生的特征,進行連接。本文將FTN網絡產生的128維特征圖與PN網絡產生的512維特征圖串聯得到640維的特征圖。
初始化,網絡中的DCN部分是由預訓練好的ImageNet模型VGG—16的參數初始化,其他網絡部分參數則是由零均值、標準差為0.01的高斯分布隨機初始化。算法設置的初始化學習速率為0.001,經過50×103次迭代之后降為0.000 1。該網絡總共要經過70×103次的迭代訓練。
算法利用隨機梯度下降法對模型進行端到端的訓練。將IOU(intersection over union)大于0.5的歸于正樣本候選框,小于0.3的歸于負樣本;利用閾值為0.7的非極大值抑制(non-maximum suppression,NMS)算法[7]來消除多余的框。對于FTN網絡,將IOU≥0.45的歸于正樣本,將0.1≤IOU≤0.3歸于負樣本。并在訓練過程中加入難分樣本。按降序排序分類損失,并選擇前70 %個樣本參與反向傳播,并且忽略簡單的例子。
PN層和FTN層的全連接層分別產生(x,y,w,h,s)和(x′,y′,w′,h′,s′)。類似于文獻[8],算法用t=(tx,ty,tw,th)來參數化第一階段PN產生的包圍盒
(1)

(2)
利用多級損失函數L共同訓練2階段的分類和回歸
(3)
式中Lpn和Lftn為PN網絡和FTN網絡各自單獨的損失。α為平衡參數,平衡兩個網絡。類回歸損失Lcls(s)=-logs為以類別得分s的對數形式表示。為了回歸包圍盒的位置,按照文獻[9]的做法定義位置損失函數Lloc
(4)
(5)
認為PN網絡和FTN網絡重要性相同,則設置σ=0.5計算整個多階段損失函數。
算法在最新的DETRAC[10]車輛數據庫上訓練模型。數據庫由140 000張捕捉幀和1 200 000標記了的車輛組成。包含了84 000張訓練用的圖片,而且進一步將這些圖片劃分成56 000張訓練圖片和28 000張驗證圖片。另外在晴天、陰天、雨天或者晚上等場景下采集視頻,平均每個視頻幀包含8.6輛車輛。
實驗一表1顯示了用控制變量法關閉不同組件評估檢測效果的對比實驗。給出了整個網絡的平均檢測質量(mean average precision,mAP)以及不同情況下的mAP。PN+FTN+Concat表示不使用特征圖融合(融合第一,三,五層卷積層的特征圖,產生超特征)而是只用到了最后一層卷積層輸出的特征圖。PN+FTN+Hyper表示關閉了兩個階段的特征串聯。整個模型的結構是PN+FTN+Hyper+Concat。算法還與Faster RCNN進行比較,Faster RCNN可以看作是使用PN網絡產生候選車輛,但直接回歸車輛檢測的結果,而且沒有微調檢測框。另外,Faster RCNN也沒有涉及使用特征融合和多階段特征串聯。

表1 DETRAC數據庫上不同算法組合的mAP和運行時間
從實驗結果可以看出,提出的整體模型在性能上取得了顯著的提升:1)對比于Faster RCNN,該模型取得了15.96 %mAP上的性能提升。其中,特征融合是至關重要的,到了14.1 %的增益。此外,多階段特征連接也使得mAP提高了1.59 %;2)雖然特征融合和特征連接帶來了額外的運行時間,是整體的運行速度還是可以接受的。
實驗二將改進的算法和一些先進的算法在DETRAC數據集上進行了mAP和檢測速度比較,實驗結果如表2所示??傮w上,本文對比其他算法算法的模型表現最好??梢钥闯觯焊倪M的算法框架取得了顯著的性能提升。相比于RCNN算法,該算法取得了19.41 %mAP上的性能提升。而相比于Faster RCNN,則是9.91 %。在檢測速度上,該算法雖然略慢于Faster RCNN,但在可接受范圍內,且相比于其他算法取得了很大的提升。

表2 不同算法在 DETRAC測試集上的mAP和檢測速度
實驗三圖2給出了DETRAC測試集上的檢測結果,圖3給出了本文自行采集的測試集上的檢測結果。算法成功地檢測到了不同外觀下的大多數車輛,特別是交通堵塞或者車輛遠離相機的情況。當然算法也有一些出錯的情況。如車輛被分割成多個箱子,或未能識別出多個相鄰的車輛。

圖2 DETRAC測試集上的檢測結果

圖3 自行采集的測試集上的檢測結果
提出了一種改進的物體檢測框架,并將該框架應用于車輛檢測。在這個框架中,多個神經網絡的串聯以及特征圖的融合改善了候選框的質量。經實驗研究發現,利用不同層的特征融合技術能更精準地實現物體的檢測與定位。通過分析和優化檢測過程每步,改進算法在UA-DETRAC Benchmark數據集上取得了較高的準確率。在自行采集的車輛數據集上進一步驗證了該算法的有效性。