薛 陽,丁子龍,陳月釩
(上海電力大學,上海 200090)
隨著科技的日益發(fā)展,環(huán)境場景檢測技術已經用于導盲系統(tǒng)作為保障盲人安全出行的重要手段。對街道場景視頻或圖像數據中的人和車輛進行實時檢測是導盲系統(tǒng)中難度很高的任務。該任務難度在于需要同時滿足檢測的實時性和精度。在大量的街道場景檢測算法中,基于深度學習的算法及其改進在此領域被諸多學者研究并且廣泛應用。
當前研究現狀普遍提出的檢測方法有機器視覺法[1]和無線射頻法兩類[2]。其中無線射頻技術成本高、易損壞;而機器視覺技術具有低成本、不需接觸等特點,在無人駕駛、導盲系統(tǒng)領域得到大量使用。伴隨著卷積神經網絡(Convolutional neural network,CNN)的發(fā)展,SSD[3]、Mask R-CNN[4]、Faster R-CNN[5]、YOLO[6]等深度學習模型在檢測等領域獲得了普遍認可。對于導盲系統(tǒng)而言,需要保證實時性和精度的平衡,因此相較于其他算法,YOLOv3算法利用深度殘差網絡提取圖像特征,并實現多尺度預測,能夠更加快速地實現目標檢測。但是傳統(tǒng)YOLOv3對于一些街道常見中等尺寸的物體檢測效果不好,梯度組合不夠豐富、計算量較大、特征提取網絡感受野較小。
為此本文提出了基于YOLOv3算法改進的街道場景檢測算法YOLOv3-Street,分別在傳統(tǒng)YOLOv3算法的網絡框架以及數據增強方式上進行了改進:針對傳統(tǒng)的主特征提取網絡Darknet53采用CSPDarknet53改進結構,不僅能減少計算量,而且能完成更加多樣的梯度組合;引入特征金字塔SPP和PAN結構,增大網絡感受野;使用Mosaic數據增強方法避免過擬合現象。
圖1 YOLOv3網絡結構示意圖
圖2 YOLOv3-Street網絡結構示意圖
YOLOv3通過融合當前檢測領域的最新成果,可以實現精度與速度的良好平衡。YOLOv3使用的是全卷積層,通過修改卷積層的尺寸來實現特征圖尺寸的修改。YOLOv3網絡使用的主特征提取網絡Darknet53的結構如圖1所示,共有5個大殘差塊,每個大殘差塊所包含的小殘差單元個數為1、2、8、8、4。YOLO主干部分由5個殘差模塊構成,降低梯度爆裂的破壞性,增強網絡的學習能力。
但是 YOLOv3 的最小特征圖尺寸為 13×13,仍然偏大,對于部分中型尺寸甚至較大尺寸物體的檢測結果精確度不盡人意。同時具有梯度組合不夠豐富、計算量較大、特征提取網絡感受野較小等缺點。
本文提出的YOLOv3-Street網絡架構如圖2所示。該方法基于YOLOv3并對其進行改進。搭建出適用于盲人出行的街道檢測算法YOLOv3-Street,主干特征提取網絡將resblock_body的結構進行修改,提出了使用CSPnet結構。將YOLOv3中的主特征提取網絡Darknet53改進成CSPDarknet53,用來提取圖像的特征。不僅能減少算法計算量,而且能完成更加多樣的梯度組合。
特征金字塔方面YOLOv3-Street使用了空間金字塔池化模塊(Spatial pyramid pooling,SPP)[7]和路徑聚合網絡(Path aggregation network,PAN)[8]其中SPP結構能夠極大的增加網絡的感受野,分理出最顯著的上下文特征。PAN網絡結構如圖3所示,加入了自底向上的路徑增強,避免信息丟失問題,經過特征圖拼接后獲得的信息既有底層特征也有語義特征。
頭部則使用YOLOHead[9]利用獲得的特征使用不同的尺度直接對目標的類別和所在位置進行預測。
圖3 PAN網絡
YOLOv3-Street使用全局交并比(Complete-IoU,CIoU)[10]作為BOX回歸函數。常用的矩形框(Bounding-box,Bbox)的回歸損失優(yōu)化和IoU優(yōu)化不是完全等價的,尋常的IoU無法直接優(yōu)化沒有重疊的部分。本文使用CIoU作為回歸優(yōu)化loss,考慮了目標與anchor之間的間隔、重疊率、尺度以及懲罰項,使得目標框回歸變得更加穩(wěn)定,降低出現IoU和GIoU訓練過程中出現的發(fā)散等問題。而懲罰因子把預測框長寬比擬合目標框的長寬比考慮進去,以獲得更好的收斂速度和精度。
CIoU公式如下
(1)
式中:ρ——兩個中心點間的歐氏距離
b——預測框中心點
bgt——真實框框心點
c——兩個中心點間的歐氏距離
α——度量trade-off的參數
v——度量長寬比的相似性
其中
(2)
式中IoU——預測框與真實框的交并比
(3)
式中:ωgt——真實框寬度
hgt——真實框高度
ω——預測框寬度
h——預測框高度
CIoU損失函數LOSSCIoU定義為:
(4)
本次數據來源于麻省理工學院的CBCLStreetScenes Dataset數據集。街景數據集中的圖片主要是圍繞馬薩諸塞州波士頓市及其周邊地區(qū)拍攝采集的,用于盲人對真實場景下的路口街道區(qū)域進行檢測學習。本文利用直方圖均衡化、對比度調整、高斯均值濾波等操作對原始圖片進行了數據增強,預處理流程圖如圖4所示。增強后數據集圖片一共3547張,以訓練集:測試集=8:2的比例將數據集劃分,訓練集共2838張,測試集一共709張。將數據集圖片統(tǒng)一處理為416*416尺寸。
圖4 圖像數據預處理流程圖
為了避免模型在訓練過程中出現過擬合現象,在模型訓練過程中通常會采用CutMix數據增強擴展樣本圖像,而本文嘗試性的使用了全新的Mosaic數據增強技術擴展樣本圖像,使正負樣本數量比達到3:1。
Mosaic數據增強算法是CutMix數據增強算法的提升改進,兩者在實現思想上比較接近。CutMix數據增強將兩張照片組合在一起,而Mosaic數據增強則組合了四張照片,此方法可以增強被測目標的背景,并且在進行BN計算時可以一次計算四張圖片的數據的量。
YOLOv3-Street模型在NVIDIV GTX 1650 GPU上進行訓練和練習。在實驗過程時,本文將輸入圖片大小設置為標準 VGA 圖像的輸入大小 416*416,使用CIoU作為損失函數,將Batch設置為16,最大迭代次數設置為40000,學習率設置為0.001,從而完成了YOLOv3-Street網絡訓練。其Loss變化過程如圖5所示。
圖5 YOLOv3-Street網絡訓練過程
3.3.1 定量評估
本文在NVIDIA GTX 1650 GPU上對訓練好的YOLOv3-Street在模型大小、平均單次預測時間、FPS、AP和平均CIoU指標進行了評估,定量結果如表1所示。
表1 定量結果
可以看出對于改進后的YOLOv3-street對于輸入416*416尺寸的圖片響應時間非常迅速,僅僅只花了25.1ms,FPS也只有69,最終得到的mAP值為79.35%,CIoU雖然較其他算法小一些,但能滿足快速檢測的需求。
3.3.2 定性評估
為了能夠更好的可視化展示和評價YOLOv3-Street在盲人出行街道檢測任務上的效果,本文在大霧天氣、光照不足、斜視角度等場景進行了測試,結果如圖6-圖9所示。分析實驗結果可知,YOLOv3-Street算法在日常光照充足、角度正常的情況下有著較高是分辨準確率。當出現大霧天氣時精確度會有所下降。但仍然能夠分辨出車輛等物體。當出現光照不足較暗天氣時,對算法精確度的改變不是很大。角度傾斜對準確率影響也較小。綜上所述YOLOv3-Street算法能夠滿足盲人出行常規(guī)場景、大霧天氣、光照不足、斜視角度等不同環(huán)境實現實時高精度的環(huán)境檢測。
圖6 算法在常規(guī)場景下的檢測結果
圖7 算法在大霧天氣下的檢測結果
圖8 算法在光照不足下的檢測結果
圖9 算法在斜視角度下的檢測結果
本文針對盲人出行的街道場景檢測任務,提出了基于YOLOv3算法改進的街道場景檢測算法YOLOv3-Street。在實驗過程中,采用了MIT的CBCLStreetScenes Dataset來完成網絡的訓練,并通過客觀的定量性能指標和直觀的定性評價對YOLOv3-Street進行了評估。實驗結果表明,本文所提算法能夠在不受天氣、光照、角度等條件約束下,實現了街道場景檢測實時性與精度的良好平衡,提升了盲人出行的安全指數。