劉志濤 何自芬 張印輝
摘? 要: 運用YOLO(You Only Look Once)目標檢測算法解決行車過程中汽車智能駕駛系統(tǒng)中對于行人目標的檢測問題。針對霧天交通環(huán)境下,YOLO算法受天氣影響檢測精度不高的問題,運用圖像去霧技術對數(shù)據(jù)進行預處理,并訓練出了針對霧天環(huán)境下適用于行人檢測的網(wǎng)絡模型。實驗結果表明,使用單尺度的Retinex去霧算法訓練得到的網(wǎng)絡結構YOLO-SSR降低了漏檢率和誤檢率,提高了定位準確性使得精度由77.05%提高到80.27%,并通過對視頻進行取幀處理的方法解決單尺度Retinex算法針對視頻檢測速度慢的問題使其滿足實際需求。
關鍵詞: 霧天;行人檢測;圖像增強;YOLO v3
中圖分類號: TP391. 41? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.10.013
本文著錄格式:劉志濤,何自芬,張印輝. 基于YOLO的霧天行人實時檢測方法[J]. 軟件,2019,40(10):5357
Real-time Pedestrian Detection Method in Foggy Sky Based on YOLO
LIU Zhi-tao, HE Zi-fen*, ZHANG Yin-hui
(Faculty of Mechanical and Electrical Engineering, Kunming University of Science and Technology, Kunming 650500, China)
【Abstract】: YOLO (You Only Look Once) target detection algorithm is used to solve the problem of pedestrian target detection in vehicle intelligent driving system. In order to solve the problem of low accuracy of YOLO algorithm in foggy traffic environment, image de-fogging technology is used to preprocess data and a network model suitable for pedestrian detection in foggy environment is trained. The experimental results show that YOLO-SSR, a network structure trained by single-scale Retinex defogging algorithm, reduces the rate of missed detection and false detection, improves the accuracy of location from 77.05% to 80.27% and solves the problem of slow detection speed of single-scale Retinex algorithm by taking single frame image processing of video in order to make that method meet the actual needs.
【Key words】: Foggy weather; Pedestrian detection; Image enhancement; YOLOv3
0? 引言
隨著近幾年來人們生活水平和出行需求的提高,汽車的需求量不斷增加。而伴隨著車輛數(shù)量的逐年增長,交通事故的發(fā)生頻率也隨之增長,由于空氣污染問題越來越嚴峻,霧天霧霾等天氣原因成為造成交通事故的主要原因之一。現(xiàn)有的采像設備缺少解決相關問題的能力,為了有效對駕駛員進行事故提前預警,減少交通事故的發(fā)生,智能駕駛系統(tǒng)的研究成為大趨勢。
在智能駕駛系統(tǒng)中,目標的實時檢測又是其中重要的一環(huán)。近幾年來R-CNN[1]、Fast R-CNN[2]、Faster R-CNN[3]、YOLO[4]、SSD[5][12]、YOLOv2[6]、YOLOv3[7]等目標實時監(jiān)測方法的提出使得檢測精度和檢測速度不斷提高,其中YOLOv3因其快速而又準確的檢測性成為關注的焦點。
近幾年來,隨著深度學習的不斷發(fā)展,應用在目標識別及模型預測等方面的方法[8-10]不斷被推出,但很少有方法會直接考慮特殊天氣對圖像的影響,本文針對霧天圖片存在圖像退化嚴重,對比度低,細節(jié)信息有損失等原因,造成使用YOLOv3檢測霧天照片中行人目標的精度不高問題,建立了霧天環(huán)境下行人的數(shù)據(jù)庫,采用單尺度Retinex去霧算法對圖像進行預處理[11],以提高圖像對比度,增強行人在圖像中的細節(jié)表現(xiàn),然后采用最新的YOLO V3 深度學習模型對行人進行識別。對于實時性問題,本文采用從視頻中取單幀圖片進行去霧并識別,滿足實際需求。
1? 行人檢測系統(tǒng)技術路線
為提高霧天行人識別的準確率,首先進行預處理。通過對行車記錄儀視頻取幀及圖像去霧處理,如圖1所示,通過對測試視頻取幀處理得到相應的圖片,避免因為去霧處理整段視頻而無法滿足實時性的問題,然后通過圖像去霧算法處理圖片,增強其細節(jié)信息,使YOLOv3對圖像的識別準確率提高。
針對霧天市區(qū)汽車行駛車速規(guī)定,市區(qū)能見度50 m以下為不高于30 km/h,車載行車記錄儀一般為30幀/s即30 ms顯示一幀圖像,通過車載攝像連接視頻采集卡使用OpenCV讀取處理,設定當前一幀圖像中沒人時系統(tǒng)隔1 s取下一幀圖像,前一幀圖像有人時間隔30 ms取下一幀圖像。
本文所采用的去霧算法分別是單尺度Retinex算法、暗通道去霧算法、多尺度Retinex算法,在處理圖像為416×416大小時,三種算法的平均處理時間如表1所示。因此三種算法滿足取幀設定。
2? 圖像去霧
2.1? 去霧算法
本文選用的圖像去霧算法有:單尺度Retinex算法(SSR)[13]、暗通道去霧算法[14]、多尺度Retinex算法(DSSR)[15],其中單尺度Retinex算法和多尺度Retinex算法是基于圖像處理的增強方法,暗通道去霧算法是基于物理模型的復原方法。
2.2? 單尺度Retinex算法
Retinex算法將圖像理解為入射圖像和反射圖像的乘積。L(x, y)表示入射光圖像,直接決定了圖像中像素所能達到的動態(tài)范圍,R(x, y)表示物體的反射性質圖像,即圖像的內在屬性,S(x, y)表示人眼所能接收到的反射光圖像。Retinex算法的基本思想就是在原始圖像中,通過某種方法取出或者降低入射圖像的影響,從而盡量保留物體本質的反射屬性圖像。
單尺度Retinex算法的公式為:
r(x, y)為輸出圖像,*為卷積符號,F(xiàn)(x, y)為中心環(huán)繞函數(shù),可以表示為
(4)
C表示為高斯環(huán)繞尺度,λ是一個尺度,它的取值滿足下面條件:
(5)
單尺度Retinex算法的實現(xiàn)流程可以概括如下:
(1)讀取原圖S(x, y),若為灰度圖則將圖像每個像素的灰度值由整數(shù)值轉換為浮點數(shù),并轉換到對數(shù)域;若輸入是彩色圖像,將圖像的每個顏色分類處理,將每個分量的像素值由整數(shù)值轉換為浮點數(shù),并轉換到對數(shù)域中,方便后面的數(shù)據(jù)計算。
(2)輸入尺度C;在離散條件下,積分轉換為求和,進一步確定參數(shù)λ的值;
(3)根據(jù)前面的公式,計算得到r(x, y);如果是彩色圖像,則每個通道均有一個
(4)將r(x, y)從對數(shù)域轉換到實數(shù)域得到輸出圖像R(x, y);
(5)對R(x, y)線性拉伸并以相應的格式輸出顯示;
中心環(huán)繞函數(shù)F(x, y)采用低通函數(shù),能夠在算法中估計出照射圖像所對應的原始圖像的低頻部分。從原始圖像中除去低頻照射部分,就會留下原始圖像所對應的高頻部分,而在人類的視覺系統(tǒng)中,人眼對邊緣部分的高頻信息相當敏感。
2.3? 去霧效果對比
本論文采用單尺度Retinex算法,暗通道去霧算法和多尺度Retinex算法對圖像進行增強,增強效果如下圖2所示,可以看出對比度方面單尺度Retinex算法和多尺度Retinex算法表現(xiàn)更好。
3? YOLO網(wǎng)絡模型的訓練
3.1? YOLO網(wǎng)絡結構
YOLO網(wǎng)絡模型是Redmon等人在2015年提出,它實現(xiàn)了端到端并在每個神經(jīng)網(wǎng)絡上通過候選
框預測,輸出每個候選框所預測的類別概率和坐標,使用閾值篩選掉概率低的候選框,然后通過非極大值抑制去除冗余候選框,得到最終結果。
2018年3月Redmon改進YOLO模型,通過優(yōu)化和吸收SSD,F(xiàn)aster RCNN等目標檢測算法的優(yōu)點,提出YOLOv3模型。YOLOv3在YOLOv2的基礎上進行了一些應用性的改進,包括多尺度檢測,多標簽
分類等,并使用基于殘差神經(jīng)網(wǎng)絡改進的Darknet53網(wǎng)絡作為特征提取器,使得YOLO系列方法不擅長檢測小物體的缺陷得到了改善,目前YOLOv3成為最優(yōu)秀的目標檢測算法之一。
實驗所檢測的目標只有人這一個類別,因此通過修改YOLOv3模型的輸出類別數(shù)量,可以極大減少網(wǎng)絡所預測張量的維度,使得每個尺度所預測的長度僅為18,從而減少不必要的運算量。
YOLOv3的網(wǎng)絡結構圖如圖3所示。
3.2? 行人檢測網(wǎng)絡的訓練
本文使用的是AlexeyAB編寫的Windows版本的darknet框架進行訓練和測試。訓練時用120張作為訓練集對網(wǎng)絡進行訓練,共分為原圖像,暗通道增強圖像,單尺度Retinex圖像多尺度Retinex圖像四組,每組迭代10000次網(wǎng)絡損失函數(shù)的輸出如圖4,0到2000次損失函數(shù)逐步下降,2000次之后損失函數(shù)保持穩(wěn)定沒有顯著變化,在訓練過程中設置每迭代100次輸出一個模型,所以每組得到100個模型,通過對每組的100個模型進行校驗,選取各組中表現(xiàn)最好的模型進行參數(shù)對比。
4? 實驗與分析
4.1? 實驗環(huán)境及數(shù)據(jù)集的建立
本次實驗的電腦型號為聯(lián)想81LE0007CD,內存為8G,處理器為Intel core i7-8750H,顯卡為 NVIDIA GTX 1060,系統(tǒng)為 Windows 10,實現(xiàn)軟件為 Microsoft visual studio 2017。
本文的圖片來源于行車記錄儀及Cosmin Ancuti等人D-HAZY數(shù)據(jù)集,總計有166張,其中120張作為訓練集,測試集46張,訓練樣本及測試樣本圖片原始大小均為1280像素×720像素。
4.2? 數(shù)據(jù)測試及比較
為了測試霧天行人檢測效果,設計了三種去霧算法的效果對比實驗。
首先將所有數(shù)據(jù)集的照片分別使用暗通道去霧、單尺度Retinex算法和多尺度Retinex算法處理,然后將數(shù)據(jù)集中的圖像全部轉化為416像素×416像素,為選取合適的模型,需要采用多指標對模型功能進行評判,常用的評判標準包括交并比IOU,準確率P,召回率R,F(xiàn)1分數(shù)與平均精度均值mAP。
計算公式為:
(9)
其中TP(真正),即網(wǎng)絡預測的正樣本中包含正樣本的數(shù)量,F(xiàn)P(假正),即網(wǎng)絡預測的正樣本中包含負樣本的數(shù)量,F(xiàn)N(假反),即未被網(wǎng)絡預測的正樣本數(shù)量,J(精度均值函數(shù)),即準確率P與召回率R所構成P-R曲線與橫縱坐標所圍成的面積,C為所檢測目標類別的數(shù)量,K為類別序號。
本實驗只需要檢測人這一類目標,因此C取1。
目標預測正確與否的判斷依據(jù)為IOU值——預測框與真實矩形框(Ground Truth Box)的交集與并集之比,IOU值大于50%屬正確目標。本實驗中使用兩種交并比對模型進行衡量,一種是IOU=50,一種為IOU=75。取交并比IOU=75的原因為測試高交并比情況下,各種增強方法的檢測能力,并且高交并比條件下精度越高對于定位的準確性越好。首先分別在原圖訓練模型,暗通道去霧模型,單尺度Retinex去霧算法模型,多尺度Retinex去霧算法模型中選取最優(yōu)模型,選取采用的性能參數(shù)優(yōu)先級為map>F1>R>P>mIOU。
通過比較在兩種交并比情況下不同模型的各性能參數(shù)來進行最終選擇。由表2和表3可以看出在IOU=50和IOU=75時單尺度Retinex去霧算法預處理后得到的模型mAP分別比原YOLO模型mAP高3.22%和4.24%其他參數(shù)F1、R、P、mIOU都有顯著提高,相對于其他去霧算法,也有小幅提升,因此本文選取以單尺度Retinex去霧算法作為預處理方法。
4.3? 效果對比
通過對比使用YOLOv3原模型、暗通道模型、多尺度Retinex模型和本文YOLO-SSR模型分別對同一張進行檢測,效果如圖5、圖6、圖7、圖8所示,可以看出YOLOv3原模型在檢測有霧這張圖片時把圖右后的摩托車誤檢為人,并且漏檢了位于圖片中上部的兩個人。暗通道模型和多尺度Retinex模型同樣講圖片中上部兩人漏檢,并且多尺度Retinex模型還存在將圖片左數(shù)第二人漏檢現(xiàn)象。而本文模型表現(xiàn)較好,完成了對圖片中人的識別,沒有出現(xiàn)漏檢和誤檢現(xiàn)象。
5? 結論
將Yolov3網(wǎng)絡框架用于實時的駕駛視頻目標檢測,可以作為汽車智能駕駛系統(tǒng)中目標識別環(huán)節(jié)的新解決方案,本文訓練得到的霧天環(huán)境下行人識別的模型解決了霧天環(huán)境下圖像對比度小而造成的識別精度不高的問題,使用單尺度Retinex去霧算法預處理后的圖像mAP比用YOLOv3原模型檢測圖像的mAP提高了3.22%。
由于對行人的識別精度只提高到80.27%對于滿足實際應用還有一段距離,原因主要為行人的目標特征分布表現(xiàn)為水平方向密集、豎直方向稀疏,與YOLO檢測模型對輸入圖片統(tǒng)一劃為正方形柵格的機制不符,這是后續(xù)工作需要改進的重點。
參考文獻
[1]Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik Rich feature hierarchies for accurate object detection and semantic[C]. Proceedings of the IEEE conference on segmenta tion Computer Vision and Pattern Recognition 2014: 580-587
[2]Girshick R. Fast R-CNN[J]. Computer Science, arXiv preprint arXiv: 1504.08083, 2015.
[3]Ren, Shaoqing, et al. “Faster R-CNN: Towards real-time object detection with region proposal networks[C]. NIPS'15Proceedings of the 28th International Conference on Neural Information Processing Systems . MIT Press Cambridge. 2015: 91-99
[4]Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified, Real-Time Object Detection[J]. arXiv preprint arXiv: 1506. 02640, 2015.
[5]Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg. SSD: Single Shot MultiBox Detector[J]. Computer Vision and Pattern Recognition,arXiv preprint arXiv: 1512. 02325, 2016.
[6]Redmon J, Farhadi A. YOLO9000: Better, Faster, Stron ger[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition Washington D. C., USA: IEEE Computer Society, 2017: 6517-6525.
[7]Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. Computer Vision and Pattern Recognition, arXiv preprint arXiv: 1804. 02767, 2018.
[8]安大海, 蔣硯軍. 基于BP 神經(jīng)網(wǎng)絡的人臉識別系統(tǒng)[J]. 軟件, 2015, 36(12): 76-79.
[9]張曉明, 尹鴻峰. 基于卷積神經(jīng)網(wǎng)絡和語義信息的場景分類[J]. 軟件, 2018, 39(01): 29-34.
[10]高偉, 黎英, 張金飛, 等. 城市交通高頻路段預測模型研究[J]. 軟件, 2018, 39(2): 81-87.
[11]段世杰, 黃華, 王鵬飛, 等. 一種單幀圖像的快速去霧方法[J]. 軟件, 2015, 36(5): 1-6.
[12]吳亞熙, 岑峰. 基于卷積神經(jīng)網(wǎng)絡的多層級目標檢測方法[J]. 軟件, 2018, 39(4): 164-169.
[13]Jobson D J, Rahman Zia-ur, Woodell G A. Properties and performance of a center /surround Retinex[J]. IEEE Trans on Image Processing, 1997, 6(3): 451- 462.
[14]He K M, Sun j, Tang X O Single image haze removal using dark channel prior[J]. IEEE Transacting on Pattern Analysis and Machine Intelligence, 2011, 33(12): 2341-2353.
[15]Li Tao, Vijayan Asari. Modified Luminance Based MSR for Fast and Efficient Image Enhancement[J]. IEEE Applied Imagery pattern Recognition, 2003, 4(3): 174-179.