張楊 朱霞 丁文靜 卜飏 陸怡霖
(金陵科技學院 網絡與通信工程學院 江蘇省南京市 211116)
貨車盲區(qū)[1,2,3]研究點由于貨車存在多方位的視覺盲區(qū)[5],使得駕駛員無法充分觀察周圍環(huán)境,易發(fā)生交通事故。因此開發(fā)可靠安全的貨車盲區(qū)檢測系統(tǒng)[4,5]對道路車輛交通安全有較大的意義。本文通過結合科研項目,通過YOLOv3[6,7,8]算法大幅度地提高了檢測精度和檢測速度,實現(xiàn)檢測的準確性和快速性。所設計檢測系統(tǒng)通過多角度全方面檢測貨車盲區(qū),并及時警報,為貨車司機提供真正的駕駛便利,讓公路交通擁有更高的安全保障。
YOLO 算法全稱You Only Look Once,最早由Joseph Redmon等人提出,其原理是將待檢測的圖片轉換為矩陣數(shù)據(jù)作為卷積神經網絡的輸入,最后使用OpenCV 開源計算機視覺庫在輸出層直接標記出回歸的目標框的位置和類別信息。YOLO 算法最大的創(chuàng)新在于將物體檢測作為回歸問題來求解,實現(xiàn)了端到端的結構。YOLOv1算法在檢測速度方面較CNN[9]算法有一定的提升,但也存在目標定位準確度低、針對小目標檢測效果較差和計算量大等缺陷。YOLOv2 在YOLOv1 算法上進行了改進,參考了SSD[10]網絡,使用3*3 卷積核,在每一次池化操作之后都會把通道的數(shù)量翻倍,在檢測速度上有一定的提升,但仍有一些缺陷需要改進。
圖1:YOLOv3 結構圖
圖2:系統(tǒng)架構圖
YOLOv3 算法是在YOLO 以及YOLO2 算法的基礎上繼續(xù)進行優(yōu)化算法,實現(xiàn)快速的多尺度的檢測,修改了損失函數(shù)和anchor box 的數(shù)目,改進了特征提取網絡。在檢測精度和速度上都有很大的提高,其使用殘差神經網絡(Darknet-53)作為全卷機神經網絡隱藏層進行特征提取,大量使用殘差的跳層連接并且為了降低網絡池化帶來的梯度負面效果,該神經網絡直接摒棄了POOLing,使用函數(shù)conv2d 中的stride 參數(shù)實現(xiàn)降采樣,使得速度更快,在預測輸出模塊的架構中,YOLOv3 中采用了類似FPN (Feature Pyramid Network)算法中的upsample 融合做法,對多尺度的特征圖進行識別目標的預測,即在三種不同尺度上,每個尺度上的每個單元格都會預測出三個邊界框。
圖3:人車檢測
圖4:小型物體檢測
按照YOLO9000,使用維度簇來預測邊界框。網絡為每一個邊界框tx,ty,tw,th預測4 個坐標。(cx, cy)作為單元格中相對于從圖像位置的左上角偏移值,(pw, ph)為對應尺度錨框的長和寬,而且邊界框已預先設定好寬度和高度pw,ph預測對應于如下方程:
在圖像訓練的過程中,通常用使用平方誤差損失的和的方法。若某個坐標預測的標定過的真值是t*,梯度標定過的真值減去我們預測的值:?t*? t*.真值可以較為容易的反推上述方程。
YOLOv3 使用邏輯回歸來預測每一個邊界框的對象分數(shù)。如果邊界框比其他邊界框與真值對象重疊更多,該值為1;如果邊界框具有維度尺寸先驗和位置預測的邊界框。預測長方體的寬度和高度為群集質心的偏移量,使用Sigmoid 函數(shù)預測盒子相對于過濾應用位置中心坐標。
YOLOv3 共包含圖1 所示的三個模塊,分別受Darkent53 特征提取模塊,F(xiàn)PN(Feature Pyramid Network)特征金字塔和預測分支模塊。
如圖2 為基于YOLOv3 的貨車盲區(qū)檢測系統(tǒng)的架構圖。首先通過攝像頭進行圖像采集,將采集到的圖片通過攝像頭傳送到處理器,使用OpenCV 算法,先將圖像進行預處理,再通過Coco 數(shù)據(jù)集、TinyYOLOv3。過濾之后再進行圖像分析和圖像標志疊加。
本實驗所用的環(huán)境操作系統(tǒng)為Ubuntu16.04,所用的硬件為樹莓派4B,其系統(tǒng)環(huán)境為openeuler 20.09,顯卡型號為Nvidia GTX2060 8G,實驗基于GPU 運行,開發(fā)環(huán)境為PyCharm,所用到的開發(fā)包有OpenCv、NumPy 和imutils。
在本次實驗的訓練模型中,通過可視化的訓練輸出參數(shù)loss 曲線變化設定不同參數(shù),得到多個訓練模型。以精確率(Precision)、召回率(Recall)、平均精度(AP)、均值平均精度(mAP)和檢測速度作為衡量模型的指標。其中檢測速度對于貨車盲區(qū)的目標實時檢測來說,是否滿足實時的檢測要求相當重要。
本文通過圖片采用YOLOv3 算法得到模型對于測試集的貨車盲區(qū)物體進行檢測可視化。在項目實驗過程中,模擬公路場景,將攝像頭安裝在模型貨車上,通過自行車、行人和障礙物等作為目標檢測對象進行跟蹤識別來實現(xiàn),如圖3、圖4 所示。
隨著互聯(lián)網環(huán)境下物流行業(yè)的飛速發(fā)展,公路運輸也成為運輸?shù)闹е?,而貨車盲區(qū)的存在會對貨車駕駛、公路交通造成巨大的危害。本文將YOLO3 算法應用到貨車盲區(qū)物體跟蹤及自動檢測系統(tǒng),通過實驗仿真以及實際的應用驗證了該系統(tǒng)的可行性以及在盲區(qū)檢測過程中的快速性、準確性和魯棒性,技術的成本以及實現(xiàn)等方面都是貼近市場、較為合理的。當然該系統(tǒng)也存在不足,對于較小的事物識別率較低,因此,將來有必要將算法進一步的優(yōu)化從未來發(fā)展的角度看,貨車盲區(qū)檢測系統(tǒng)將會被廣泛使用。