何凌志,周月娥,王玉玨,華國亮,彭 博
(南京理工大學紫金學院,江蘇 南京 210023)
隨著科技和工業的發展,交通車輛越來越普及,而這也導致相應的交通問題頻發。針對此問題,本文設計了基于深度學習的實時交通車輛檢測算法,協助交通管控,促進道路交通智能化[1]。
在算法設計方面,隨著時代發展,卷積神經網絡[2]快速進步,其在檢測與識別等方面有著較高水平。根據算法的工作流程不同,可將目標檢測算法大致分為兩種:Two-stage神經網絡算法和One-stage函數算法。本文在實時交通檢測算法設計上采用了基于YOLOv4[3-5]的目標檢測算法。類比同類檢測算法,YOLOv4無論在速度方面,還是在精度方面皆具有優勢。而在目標跟蹤算法上選擇當下較為主流的DeepSort[6]多目標跟蹤算法,DeepSort是在Sort[7]目標跟蹤基礎上進行改進的,在目標跟蹤過程中提取目標外觀特征進行匹配并實時跟蹤計數。YOLOv4與DeepSort兩者相結合,具有較好的可行性和高效性,可完全取代傳統低效率的車流量檢測算法。
YOLO(You Only Look Once)[8-10]網絡是一種基于回歸的目標數據檢測分析算法,檢測效率高、檢測結果質量高,在許多目標檢測中取得了良好的效果[11-12]。近年來,在CNN領域應用YOLOv4目標數據檢測與分析算法時廣泛采用了最優數據優化處理策略,例如網絡數據處理、骨干數據網絡、網絡管理培訓、激活處理功能、損失補償功能等方面。比起YOLO系列的其他算法,YOLOv4有五個創新點,如圖1所示。

圖1 YOLOv4創新點
YOLOv4的主干網絡為CSPDarknet53,CSPDarknet53主體上由CBM模塊和CSP模塊構成。其中CSP模塊有兩個分支:一條進行殘差連接,緩解訓練過擬合和梯度爆炸問題;另一條進行跳躍連接,使上下級特征圖跨級拼接并實現通道整合,提高訓練速度。CSP結構如圖2所示。

圖2 CSP結構
K-means[13]是非常經典且具有成效的聚類方法,以距離作為評價指標。通過計算樣本和樣本之間距離將較近的樣本歸為同一類別,使得同一類別樣本之間的相似度增高,同時讓不同類別的樣本相似度降低。因此,使用K-means聚類分析算法對YOLOv4目標檢測算法的車輛模型數據集重新進行聚類分析,從而提升YOLOv4目標檢測算法模型的性能。
DeepSort是多目標跟蹤算法中最常用且受眾較多的算法之一,是基于Sort改進后的多目標跟蹤算法。在本次的車輛實時跟蹤檢測中,Sort算法通過卡爾曼濾波算法來預測多個車輛檢測結果框在下一幀的識別狀態,從而將多個車輛識別結果框狀態與下一幀的車輛識別檢測結果框進行匹配,實現對多目標車輛的跟蹤。如果車輛受到遮擋或者是其他原因沒有檢測到,卡爾曼濾波算法預測的車輛檢測結果信息將不能和系統總體的算法識別檢測結果進行匹配,該識別跟蹤片段將會直接結束,從而影響最后的實驗數據。為此,DeepSort算法引入了CNN網絡(見表1所列)來提取檢測到的物體外觀特征,并且記錄這一時刻對應的物體外觀特征數據。

表1 CNN網絡結構
在DeepSort多目標跟蹤算法中,采取的是8維的向量。
其中:u和v分別表示物體目標中心的水平坐標和垂直坐標;s和r是邊框的寬高比和高度;是圖像所對應的速度信息。
一般的卡爾曼濾波[14]分為predict和update這兩個階段。已知k-1時刻的狀態分布,利用k-1時刻的后估計值進行狀態轉移變換,得到當前的
此處給出的是預測值,也叫先驗狀態估計值。
這一步給出的是該狀態的最優估計值,也是后驗狀態估值。公式符號具體含義見表2所列。

表2 公式符號含義
為驗證DeepSort目標跟蹤算法的可行性,選取其他三種目標跟蹤檢測算法進行統一測試。見表3所列,所用的指標為MOTA和MOTP,當識別處理效果越好時,MOTA和MOTP這兩個指標數值會偏高。而本文所設計的檢測算法在MOTA和MOTP指標方面均有提升。

表3 多目標跟蹤算法之間對比結果
當前所進行的實驗平臺主體上由兩個部分相輔構成,其中硬件平臺CPU為i7-12700H,GPU平臺為NVIDIA GeForce RTX3050。軟件平臺具體配置為:Ubuntu18.04軟件操 作 系 統、Cuda10.1、Cudnn7.6、Python3.7、OpenCV3.4、Tensor flow 1.8.0-GPU。
本次項目選用公開的車輛訓練集,通過網絡爬蟲以及實地拍照的方式收集了18 000張照片。通過LableImage標注工具對每張照片進行標記,所產生的目標信息儲存于相對應的XML文檔。訓練設置如下:將YOLOv4.cfg文件中的識別類別改為2,每次迭代訓練樣本為64,分16個批次,最大迭代次數設置為20 000,動因子設置為0.9。本次研究采用的是VOC格式的數據集,通過編寫好的腳本文件訓練YOLOv4的權重。
3.3.1 模型算法平均準確率
采用目標識別檢測算法時,判斷所識別目標的識別精度的主要指標之一是MAP(Mean Average Precision)。經過測試,本次YOLOv4車輛識別算法模型的MAP值達到了96.4%。
3.3.2 模型算法交并比
IoU(Intersection over Union,交并比)用來評價目標檢測結果中真實檢測框和預測檢測框之間的重疊程度。在深度學習以及其他目標檢測算法中,IoU被認為是一個算法模型預測區的綜合計算測量指標,表示預測區域邊界和真實預測邊界的一個交集。IoU值越高,說明模型預測越準確;反之,當IoU偏低時,表示模型性能較差。通過腳本測試發現,此次車輛目標檢測識別算法模型中的IoU大于0.5。
表4為YOLOv4目標檢測識別算法和通過K-means改進的YOLOv4目標檢測識別算法的對比結果。通過對比改進前后算法對同一車輛的識別率可得出兩者置信率相差16%。識別結果如圖3所示。

表4 YOLOv4算法與改進后的YOLOv4算法對比

圖3 改進算法前后識別結果對比
本項目在檢測識別時,使用DeepSort目標跟蹤算法進行相應檢測分析,并實施對車輛的跟蹤計數,從而完成對車流量數據的統計,結果如圖4、圖5、圖6所示。標出的矩形框代表跟蹤檢測框,并且在矩形框的右上角標注了識別出來的目標類別以及計數結果。
如圖4所示,在白天正常光線下,基于改進的YOLOv4目標識別檢測算法和DeepSort目標跟蹤檢測算法的多車輛目標跟蹤算法在實際道路上取得了較好的識別效果,對出現的車輛都可以檢測并進行跟蹤計數。

圖4 白天情景識別跟蹤檢測結果
圖5展示了夜晚光線較差情況下對車輛連續不間斷的跟蹤結果。可以看到,在光線較差的場景中,本文設計的算法所反映的目標跟蹤性及目標識別成功率仍保持穩定,既可以在連續的車輛中識別出該車輛的類別,也做到了在連續識別之后的車輛跟蹤和無ID切換。

圖5 夜晚情景識別跟蹤檢測結果
如圖6所示,對傍晚的車輛進行連續識別跟蹤可得出,本文的算法模型魯棒性較好,漏檢現象更少,在車輛不斷加入并且消失的情況下,還是可以保持識別和跟蹤計數功能。但是當162號識別目標加入識別區域時,由于傍晚的光線不均勻,亮度偏低,出現了識別錯誤的情況。

圖6 傍晚情景識別跟蹤檢測結果
針對傳統車流檢測方法效率相對低下的相關問題,本文提出了基于K-mean聚類的改進YOLOv4目標檢測算法和DeepSort目標識別跟蹤算法,完成了對車流量的檢測。YOLOv4目標檢測算法與DeepSort跟蹤算法相輔相成,改進后的YOLOv4高精度識別效果彌補了DeepSort的不足,增強了最后測試的識別跟蹤精確率。實驗證明,即使在所識別目標連續變化環境下該算法仍具有較好的識別及跟蹤性能,把這兩種算法相結合,提高了目標跟蹤的穩定性,漏檢現象更少,魯棒性更好,證明了改進算法的有效性。