胡超超 劉軍 張凱 高雪婷
(江蘇大學,鎮(zhèn)江 212013)
主題詞:YOLO-R網(wǎng)絡 卡爾曼濾波 目標檢測 深度學習
行人、騎行者作為道路交通環(huán)境中的弱勢群體,其安全問題不容小覷,建立完善的行人和騎行者檢測系統(tǒng)已成為研究熱點。另外,深度神經(jīng)網(wǎng)絡在機器視覺領域表現(xiàn)出優(yōu)異的性能,已獲得學者們廣泛的關注,將深度學習用于駕駛輔助系統(tǒng)正成為發(fā)展趨勢。本文以車輛前方行人、自行車作為研究對象,開展了基于深度學習的目標檢測及跟蹤算法的研究。
YOLO(You Only Look Once)v2網(wǎng)絡相比于YOLO網(wǎng)絡,在檢測率和檢測速度上均有大幅提高,為使網(wǎng)絡模型更適合檢測行人和騎行者目標,本文進一步優(yōu)化了YOLOv2網(wǎng)絡:
a.使用K-means聚類的方法對樣本集中標注的目標矩形框進行維度聚類,確定anchor boxes的初始規(guī)格和數(shù)量。YOLOv2中anchor參數(shù)是通過在Pascal VOC數(shù)據(jù)集中聚類得到的,涉及種類眾多,不適合用于訓練檢測行人和騎行者的模型,因此本文在自制的行人和騎行者樣本庫中重新聚類,獲得anchor參數(shù)。
b.YOLOv2網(wǎng)絡通過Passthrough層將淺層特征按不同通道數(shù)進行重組,再與深層特征結合,得到細粒度特征。但當小目標成群出現(xiàn)時,即使使用了細粒度特征,檢測效果仍然不佳[1]。為了解決該問題,在原有YOLOv2網(wǎng)絡結構的基礎上,去掉Passthrough層,增加殘差網(wǎng)絡(Residual Network,ResNet),構成YOLO-R網(wǎng)絡。修改后的網(wǎng)絡結構不僅實現(xiàn)了淺層外觀信息與深層語義信息的進一步融合,提高了網(wǎng)絡對群簇小目標的檢測性能,而且降低了網(wǎng)絡的訓練難度,防止出現(xiàn)梯度消失現(xiàn)象。
為了加快收斂速度,提高目標檢測的位置精度,YOLOv2中使用K-means方法對樣本集中的目標真實框進行聚類分析,得到適合樣本集的最優(yōu)anchor的尺寸和個數(shù)。
K-means聚類通常將歐式距離作為評價相似性的準則函數(shù),但本文需對候選框的尺寸進行聚類,如果采用距離評價指標,大框會比小框產(chǎn)生更大的誤差,因此改用預測框與真實框的交并比(Intersection Over Union,IOU)來反映兩者的差異,IOU越大,兩者的相似度越高。聚類的準則函數(shù)為:

式中,k、ni分別為聚類數(shù)和第i個聚類中心的樣本集數(shù);box、centroidi分別為真實框和聚類得到的矩形框;IOU(box,centroidi)為box、centroidi面積的交并比。
聚類數(shù)k對聚類效果影響較大,不合理的k值會導致K-means算法最終輸出局部最優(yōu)而非全局最優(yōu)解。為了解決該問題,本文根據(jù)聚類算法中類內相似度最大差異度最小和類間差異度最大相似度最小的基本原則[2],提出了基于IOU的評價函數(shù)F。F越小,說明聚類效果越好,其定義為:

同時,k值也影響模型復雜度,其值越大,模型越復雜。因此,k值的選擇必須綜合考慮模型復雜度S和評價函數(shù)F。本文用416像素×416像素的圖片需要預測的候選框數(shù)目表示模型復雜度S,S=13×13×k。由于這兩個評價指標具有不同的量綱,因此先使用minmax標準化方法歸一化數(shù)據(jù),再作出S、F與k的關系圖,結果如圖1所示,在平衡了模型復雜度和聚類效果后,本文將k=5的聚類結果作為最終選取的anchor boxes的尺寸。

圖1 評價函數(shù)及模型復雜度變化曲線
殘差網(wǎng)絡可在網(wǎng)絡層數(shù)較多時防止梯度消失,減輕深層網(wǎng)絡訓練的負擔,其基本模塊如圖2所示。假設網(wǎng)絡的輸入為x,要學習的函數(shù)映射為H(x),定義殘差映射F(x)為H(x)~x,則原始的函數(shù)映射H(x)變?yōu)镕(x)+x,即H(x)由線性映射x→x和非線性映射F(x)組成。試驗證明,學習殘差映射F(x)較學習原始映射H(x)容易得多[3]。

圖2 殘差網(wǎng)絡基本模塊
本文在YOLOv2網(wǎng)絡結構的基礎上,利用殘差學習思想,引入跨層捷徑,構成了如圖3所示的YOLO-R網(wǎng)絡結構,其中C層表示卷積層,步長為1,S層表示池化層,方式為最大池化,步長為2。去除YOLOv2網(wǎng)絡原有的Passthrough層后,增加了4條捷徑。為減少訓練過程中的資源空間和計算量,所有捷徑的輸入都選擇原網(wǎng)絡中池化操作后的特征圖。第1條捷徑連接第2個池化層與第5個卷積層后的特征圖,第2條連接第3個池化層與第8個卷積層后的特征圖,第3條連接第4個池化層與第13個卷積層后的特征圖,最后一條連接第5個池化層與第20個卷積層后的特征圖。在所有捷徑上增加一個1×1的卷積層,使捷徑與主徑保持相同的維度。捷徑與主徑匯合使淺層特征與深層特征深入融合,更加充分地利用淺層特征,提高了群簇小目標的檢測性能。

圖3 YOLO-R網(wǎng)絡結構
YOLO網(wǎng)絡檢測過程如下:
a.將圖像及標簽信息輸入到訓練好的網(wǎng)絡模型中,圖像被劃分為13×13個單元格,每個單元格預測5個候選框,共預測13×13×5=845個候選框,然后利用網(wǎng)絡前向算法預測每個候選框的相對位置、置信度以及所屬類別的后驗概率P。
b.對預測的相對位置以及置信度進行映射變換,得到與anchor box更接近的窗口作為檢測框。檢測框位置預測如圖4所示。

圖4 檢測框位置預測
c.通過設定閾值T(本文取T=0.25),去除可能性較小的檢測框。具體做法是:將σ(t0)與max(p)相乘,得到檢測框屬于某類別的置信度。如果結果大于閾值T,保留該檢測框,否則去除。
d.對每個類別分別進行非極大值抑制[4]處理,去除冗余窗口,具體步驟為:對每個類別的檢測框按置信度[5]大小排列;找出置信度最高的檢測框,依次與其他框計算IOU,當IOU大于閥值0.4時刪除此框,否則保留此框;從未處理的檢測框中選出置信度最高的,重復上述步驟,直到所有窗口處理完畢;輸出留下的檢測框的位置、類別和置信度。
圖像中的騎行者經(jīng)過網(wǎng)絡模型檢測后,會輸出行人和自行車2個矩形框。因此本文利用匹配算法對檢測算法輸出結果進一步融合,完成行人、騎行者分類。


圖5 匹配算法
本文基于Kalman濾波設計了多目標跟蹤算法,流程如圖6所示,該算法包含預測、匹配和更新過程,具體步驟如下:
a.根據(jù)前一幀的目標跟蹤結果,利用Kalman濾波器預測目標在當前幀的位置,獲得目標的預測結果Kt。
b.在當前幀中,根據(jù)檢測結果和預測結果判斷匹配情況。通常將歐氏距離作為損失函數(shù)[6],但其無法很好地表達兩個矩形框之間的匹配程度,因此本文使用預測框和檢測框的IOU來衡量匹配度,定義損失函數(shù)為:

利用匈牙利匹配算法[7]將檢測結果與預測結果進行最優(yōu)相似度匹配,匹配過程通過最小化損失函數(shù)之和實現(xiàn)。
c.處理匹配結果。對于匹配成功的檢測目標,用當前幀的預測及檢測結果得到目標位置的最優(yōu)估計值。
d.顯示跟蹤結果并進行下一幀的預測。
系統(tǒng)所用的硬件包括1個前視攝像頭、1個視頻采集卡、1個GPS模塊和1臺計算機(英特爾酷睿i7-7700K@3.0 GHz,NVIDIA GTX 1060)如圖7所示。

圖6 基于Kalman濾波的多目標跟蹤流程

圖7 硬件安裝
在Visual Studio 2015的編程環(huán)境下,采用GPU并行計算架構CUDA 8.0、深度學習加速庫cuDNN以及OpenCV 2.4.10計算機視覺庫實現(xiàn)系統(tǒng)軟件編寫。并通過微軟基礎類(Microsoft Foundation Classes,MFC)應用程序進行圖形用戶界面設計。
為了評估本文開發(fā)的前方行人和騎行者檢測算法的檢測性能,在不同背景環(huán)境下進行行人和騎行者檢測測試,結果如圖8所示。從圖8可以看出,本文開發(fā)的檢測算法對不同背景下的目標檢測效果良好,并且算法的魯棒性較好,對于不同姿態(tài)以及群簇目標的檢測情況,效果也較理想。但當目標與背景顏色過于相近或目標被遮擋嚴重時,也會出現(xiàn)一些漏檢。


圖8 前方行人和騎行者檢測試驗結果
對本文檢測算法的檢測性能進行定量分析,一般用精度(Precision)和召回率(Recall)評價分類器的性能。精度是指檢測結果中正例的數(shù)量與檢測結果總數(shù)的比值,召回率是指檢測結果中正例的數(shù)量與樣本集中標注的目標總數(shù)的比值。以精度為縱坐標,以召回率為橫坐標,繪制PR曲線后,曲線下的面積即為平均正確率(Average Precision,AP),所有類別AP的均值為(mean Average Precision,mAP):

式中,C為類別數(shù);p為精度;r為召回率。
圖9、圖10所示為在測試集上分別利用YOLOv2和YOLO-R模型獲得的行人和自行車的PR曲線。使用的YOLOv2和YOLO-R網(wǎng)絡,除結構及anchor boxes尺寸不同外,訓練樣本、迭代次數(shù)及其他網(wǎng)絡參數(shù)相同。

圖9 行人的PR曲線對比

圖10 自行車的PR曲線對比
從圖9、圖10中可以看出,優(yōu)化后的網(wǎng)絡在對行人、自行車的檢測上,明顯優(yōu)于原YOLOv2網(wǎng)絡。對比原YOLOv2網(wǎng)絡和YOLO-R網(wǎng)絡的mAP和平均檢測時間,結果如表1所示,其中平均檢測時間是指網(wǎng)絡模型檢測測試集中4 500張圖片所用時間的平均值。

表1 mAP和平均檢測時間的比較結果
從表1可以看出:在訓練樣本、網(wǎng)絡參數(shù)都相同的情況下,YOLO-R網(wǎng)絡的mAP提高了3.4%,這表明YOLO-R網(wǎng)絡不僅保留了原YOLOv2網(wǎng)絡的優(yōu)勢,其增加的殘差網(wǎng)絡結構還提升了行人、自行車群簇出現(xiàn)時的目標檢測性能;同時,YOLO-R的平均檢測時間略高于YOLOv2,主要原因是YOLO-R在結構上比YOLOv2多了4個卷積層,但YOLO-R網(wǎng)絡完全可以滿足實時性的要求。
本文對YOLOv2結構進行改進,構建了YOLO-R網(wǎng)絡,通過訓練模型進行目標檢測。為了進一步區(qū)分行人和騎行者,在目標檢測中添加了匹配算法,并利用Kalman濾波完成了對多個目標的跟蹤。試驗結果表明,與YOLOv2相比,在滿足速度要求的前提下,本文構建的YOLO-R網(wǎng)絡檢測效果更優(yōu),YOLO-R網(wǎng)絡的mAP提高了3.4%。