劉志濤 何自芬 張印輝
摘? 要: 運(yùn)用YOLO(You Only Look Once)目標(biāo)檢測(cè)算法解決行車過程中汽車智能駕駛系統(tǒng)中對(duì)于行人目標(biāo)的檢測(cè)問題。針對(duì)霧天交通環(huán)境下,YOLO算法受天氣影響檢測(cè)精度不高的問題,運(yùn)用圖像去霧技術(shù)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,并訓(xùn)練出了針對(duì)霧天環(huán)境下適用于行人檢測(cè)的網(wǎng)絡(luò)模型。實(shí)驗(yàn)結(jié)果表明,使用單尺度的Retinex去霧算法訓(xùn)練得到的網(wǎng)絡(luò)結(jié)構(gòu)YOLO-SSR降低了漏檢率和誤檢率,提高了定位準(zhǔn)確性使得精度由77.05%提高到80.27%,并通過對(duì)視頻進(jìn)行取幀處理的方法解決單尺度Retinex算法針對(duì)視頻檢測(cè)速度慢的問題使其滿足實(shí)際需求。
關(guān)鍵詞: 霧天;行人檢測(cè);圖像增強(qiáng);YOLO v3
中圖分類號(hào): TP391. 41? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.10.013
本文著錄格式:劉志濤,何自芬,張印輝. 基于YOLO的霧天行人實(shí)時(shí)檢測(cè)方法[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ù)量的逐年增長(zhǎng),交通事故的發(fā)生頻率也隨之增長(zhǎng),由于空氣污染問題越來越嚴(yán)峻,霧天霧霾等天氣原因成為造成交通事故的主要原因之一。現(xiàn)有的采像設(shè)備缺少解決相關(guān)問題的能力,為了有效對(duì)駕駛員進(jìn)行事故提前預(yù)警,減少交通事故的發(fā)生,智能駕駛系統(tǒng)的研究成為大趨勢(shì)。
在智能駕駛系統(tǒng)中,目標(biāo)的實(shí)時(shí)檢測(cè)又是其中重要的一環(huán)。近幾年來R-CNN[1]、Fast R-CNN[2]、Faster R-CNN[3]、YOLO[4]、SSD[5][12]、YOLOv2[6]、YOLOv3[7]等目標(biāo)實(shí)時(shí)監(jiān)測(cè)方法的提出使得檢測(cè)精度和檢測(cè)速度不斷提高,其中YOLOv3因其快速而又準(zhǔn)確的檢測(cè)性成為關(guān)注的焦點(diǎn)。
近幾年來,隨著深度學(xué)習(xí)的不斷發(fā)展,應(yīng)用在目標(biāo)識(shí)別及模型預(yù)測(cè)等方面的方法[8-10]不斷被推出,但很少有方法會(huì)直接考慮特殊天氣對(duì)圖像的影響,本文針對(duì)霧天圖片存在圖像退化嚴(yán)重,對(duì)比度低,細(xì)節(jié)信息有損失等原因,造成使用YOLOv3檢測(cè)霧天照片中行人目標(biāo)的精度不高問題,建立了霧天環(huán)境下行人的數(shù)據(jù)庫(kù),采用單尺度Retinex去霧算法對(duì)圖像進(jìn)行預(yù)處理[11],以提高圖像對(duì)比度,增強(qiáng)行人在圖像中的細(xì)節(jié)表現(xiàn),然后采用最新的YOLO V3 深度學(xué)習(xí)模型對(duì)行人進(jìn)行識(shí)別。對(duì)于實(shí)時(shí)性問題,本文采用從視頻中取單幀圖片進(jìn)行去霧并識(shí)別,滿足實(shí)際需求。
1? 行人檢測(cè)系統(tǒng)技術(shù)路線
為提高霧天行人識(shí)別的準(zhǔn)確率,首先進(jìn)行預(yù)處理。通過對(duì)行車記錄儀視頻取幀及圖像去霧處理,如圖1所示,通過對(duì)測(cè)試視頻取幀處理得到相應(yīng)的圖片,避免因?yàn)槿レF處理整段視頻而無法滿足實(shí)時(shí)性的問題,然后通過圖像去霧算法處理圖片,增強(qiáng)其細(xì)節(jié)信息,使YOLOv3對(duì)圖像的識(shí)別準(zhǔn)確率提高。
針對(duì)霧天市區(qū)汽車行駛車速規(guī)定,市區(qū)能見度50 m以下為不高于30 km/h,車載行車記錄儀一般為30幀/s即30 ms顯示一幀圖像,通過車載攝像連接視頻采集卡使用OpenCV讀取處理,設(shè)定當(dāng)前一幀圖像中沒人時(shí)系統(tǒng)隔1 s取下一幀圖像,前一幀圖像有人時(shí)間隔30 ms取下一幀圖像。
本文所采用的去霧算法分別是單尺度Retinex算法、暗通道去霧算法、多尺度Retinex算法,在處理圖像為416×416大小時(shí),三種算法的平均處理時(shí)間如表1所示。因此三種算法滿足取幀設(shè)定。
2? 圖像去霧
2.1? 去霧算法
本文選用的圖像去霧算法有:?jiǎn)纬叨萊etinex算法(SSR)[13]、暗通道去霧算法[14]、多尺度Retinex算法(DSSR)[15],其中單尺度Retinex算法和多尺度Retinex算法是基于圖像處理的增強(qiáng)方法,暗通道去霧算法是基于物理模型的復(fù)原方法。
2.2? 單尺度Retinex算法
Retinex算法將圖像理解為入射圖像和反射圖像的乘積。L(x, y)表示入射光圖像,直接決定了圖像中像素所能達(dá)到的動(dòng)態(tài)范圍,R(x, y)表示物體的反射性質(zhì)圖像,即圖像的內(nèi)在屬性,S(x, y)表示人眼所能接收到的反射光圖像。Retinex算法的基本思想就是在原始圖像中,通過某種方法取出或者降低入射圖像的影響,從而盡量保留物體本質(zhì)的反射屬性圖像。
單尺度Retinex算法的公式為:
r(x, y)為輸出圖像,*為卷積符號(hào),F(xiàn)(x, y)為中心環(huán)繞函數(shù),可以表示為
(4)
C表示為高斯環(huán)繞尺度,λ是一個(gè)尺度,它的取值滿足下面條件:
(5)
單尺度Retinex算法的實(shí)現(xiàn)流程可以概括如下:
(1)讀取原圖S(x, y),若為灰度圖則將圖像每個(gè)像素的灰度值由整數(shù)值轉(zhuǎn)換為浮點(diǎn)數(shù),并轉(zhuǎn)換到對(duì)數(shù)域;若輸入是彩色圖像,將圖像的每個(gè)顏色分類處理,將每個(gè)分量的像素值由整數(shù)值轉(zhuǎn)換為浮點(diǎn)數(shù),并轉(zhuǎn)換到對(duì)數(shù)域中,方便后面的數(shù)據(jù)計(jì)算。
(2)輸入尺度C;在離散條件下,積分轉(zhuǎn)換為求和,進(jìn)一步確定參數(shù)λ的值;
(3)根據(jù)前面的公式,計(jì)算得到r(x, y);如果是彩色圖像,則每個(gè)通道均有一個(gè)
(4)將r(x, y)從對(duì)數(shù)域轉(zhuǎn)換到實(shí)數(shù)域得到輸出圖像R(x, y);
(5)對(duì)R(x, y)線性拉伸并以相應(yīng)的格式輸出顯示;
中心環(huán)繞函數(shù)F(x, y)采用低通函數(shù),能夠在算法中估計(jì)出照射圖像所對(duì)應(yīng)的原始圖像的低頻部分。從原始圖像中除去低頻照射部分,就會(huì)留下原始圖像所對(duì)應(yīng)的高頻部分,而在人類的視覺系統(tǒng)中,人眼對(duì)邊緣部分的高頻信息相當(dāng)敏感。
2.3? 去霧效果對(duì)比
本論文采用單尺度Retinex算法,暗通道去霧算法和多尺度Retinex算法對(duì)圖像進(jìn)行增強(qiáng),增強(qiáng)效果如下圖2所示,可以看出對(duì)比度方面單尺度Retinex算法和多尺度Retinex算法表現(xiàn)更好。
3? YOLO網(wǎng)絡(luò)模型的訓(xùn)練
3.1? YOLO網(wǎng)絡(luò)結(jié)構(gòu)
YOLO網(wǎng)絡(luò)模型是Redmon等人在2015年提出,它實(shí)現(xiàn)了端到端并在每個(gè)神經(jīng)網(wǎng)絡(luò)上通過候選
框預(yù)測(cè),輸出每個(gè)候選框所預(yù)測(cè)的類別概率和坐標(biāo),使用閾值篩選掉概率低的候選框,然后通過非極大值抑制去除冗余候選框,得到最終結(jié)果。
2018年3月Redmon改進(jìn)YOLO模型,通過優(yōu)化和吸收SSD,F(xiàn)aster RCNN等目標(biāo)檢測(cè)算法的優(yōu)點(diǎn),提出YOLOv3模型。YOLOv3在YOLOv2的基礎(chǔ)上進(jìn)行了一些應(yīng)用性的改進(jìn),包括多尺度檢測(cè),多標(biāo)簽
分類等,并使用基于殘差神經(jīng)網(wǎng)絡(luò)改進(jìn)的Darknet53網(wǎng)絡(luò)作為特征提取器,使得YOLO系列方法不擅長(zhǎng)檢測(cè)小物體的缺陷得到了改善,目前YOLOv3成為最優(yōu)秀的目標(biāo)檢測(cè)算法之一。
實(shí)驗(yàn)所檢測(cè)的目標(biāo)只有人這一個(gè)類別,因此通過修改YOLOv3模型的輸出類別數(shù)量,可以極大減少網(wǎng)絡(luò)所預(yù)測(cè)張量的維度,使得每個(gè)尺度所預(yù)測(cè)的長(zhǎng)度僅為18,從而減少不必要的運(yùn)算量。
YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3所示。
3.2? 行人檢測(cè)網(wǎng)絡(luò)的訓(xùn)練
本文使用的是AlexeyAB編寫的Windows版本的darknet框架進(jìn)行訓(xùn)練和測(cè)試。訓(xùn)練時(shí)用120張作為訓(xùn)練集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,共分為原圖像,暗通道增強(qiáng)圖像,單尺度Retinex圖像多尺度Retinex圖像四組,每組迭代10000次網(wǎng)絡(luò)損失函數(shù)的輸出如圖4,0到2000次損失函數(shù)逐步下降,2000次之后損失函數(shù)保持穩(wěn)定沒有顯著變化,在訓(xùn)練過程中設(shè)置每迭代100次輸出一個(gè)模型,所以每組得到100個(gè)模型,通過對(duì)每組的100個(gè)模型進(jìn)行校驗(yàn),選取各組中表現(xiàn)最好的模型進(jìn)行參數(shù)對(duì)比。
4? 實(shí)驗(yàn)與分析
4.1? 實(shí)驗(yàn)環(huán)境及數(shù)據(jù)集的建立
本次實(shí)驗(yàn)的電腦型號(hào)為聯(lián)想81LE0007CD,內(nèi)存為8G,處理器為Intel core i7-8750H,顯卡為 NVIDIA GTX 1060,系統(tǒng)為 Windows 10,實(shí)現(xiàn)軟件為 Microsoft visual studio 2017。
本文的圖片來源于行車記錄儀及Cosmin Ancuti等人D-HAZY數(shù)據(jù)集,總計(jì)有166張,其中120張作為訓(xùn)練集,測(cè)試集46張,訓(xùn)練樣本及測(cè)試樣本圖片原始大小均為1280像素×720像素。
4.2? 數(shù)據(jù)測(cè)試及比較
為了測(cè)試霧天行人檢測(cè)效果,設(shè)計(jì)了三種去霧算法的效果對(duì)比實(shí)驗(yàn)。
首先將所有數(shù)據(jù)集的照片分別使用暗通道去霧、單尺度Retinex算法和多尺度Retinex算法處理,然后將數(shù)據(jù)集中的圖像全部轉(zhuǎn)化為416像素×416像素,為選取合適的模型,需要采用多指標(biāo)對(duì)模型功能進(jìn)行評(píng)判,常用的評(píng)判標(biāo)準(zhǔn)包括交并比IOU,準(zhǔn)確率P,召回率R,F(xiàn)1分?jǐn)?shù)與平均精度均值mAP。
計(jì)算公式為:
(9)
其中TP(真正),即網(wǎng)絡(luò)預(yù)測(cè)的正樣本中包含正樣本的數(shù)量,F(xiàn)P(假正),即網(wǎng)絡(luò)預(yù)測(cè)的正樣本中包含負(fù)樣本的數(shù)量,F(xiàn)N(假反),即未被網(wǎng)絡(luò)預(yù)測(cè)的正樣本數(shù)量,J(精度均值函數(shù)),即準(zhǔn)確率P與召回率R所構(gòu)成P-R曲線與橫縱坐標(biāo)所圍成的面積,C為所檢測(cè)目標(biāo)類別的數(shù)量,K為類別序號(hào)。
本實(shí)驗(yàn)只需要檢測(cè)人這一類目標(biāo),因此C取1。
目標(biāo)預(yù)測(cè)正確與否的判斷依據(jù)為IOU值——預(yù)測(cè)框與真實(shí)矩形框(Ground Truth Box)的交集與并集之比,IOU值大于50%屬正確目標(biāo)。本實(shí)驗(yàn)中使用兩種交并比對(duì)模型進(jìn)行衡量,一種是IOU=50,一種為IOU=75。取交并比IOU=75的原因?yàn)闇y(cè)試高交并比情況下,各種增強(qiáng)方法的檢測(cè)能力,并且高交并比條件下精度越高對(duì)于定位的準(zhǔn)確性越好。首先分別在原圖訓(xùn)練模型,暗通道去霧模型,單尺度Retinex去霧算法模型,多尺度Retinex去霧算法模型中選取最優(yōu)模型,選取采用的性能參數(shù)優(yōu)先級(jí)為map>F1>R>P>mIOU。
通過比較在兩種交并比情況下不同模型的各性能參數(shù)來進(jìn)行最終選擇。由表2和表3可以看出在IOU=50和IOU=75時(shí)單尺度Retinex去霧算法預(yù)處理后得到的模型mAP分別比原YOLO模型mAP高3.22%和4.24%其他參數(shù)F1、R、P、mIOU都有顯著提高,相對(duì)于其他去霧算法,也有小幅提升,因此本文選取以單尺度Retinex去霧算法作為預(yù)處理方法。
4.3? 效果對(duì)比
通過對(duì)比使用YOLOv3原模型、暗通道模型、多尺度Retinex模型和本文YOLO-SSR模型分別對(duì)同一張進(jìn)行檢測(cè),效果如圖5、圖6、圖7、圖8所示,可以看出YOLOv3原模型在檢測(cè)有霧這張圖片時(shí)把圖右后的摩托車誤檢為人,并且漏檢了位于圖片中上部的兩個(gè)人。暗通道模型和多尺度Retinex模型同樣講圖片中上部?jī)扇寺z,并且多尺度Retinex模型還存在將圖片左數(shù)第二人漏檢現(xiàn)象。而本文模型表現(xiàn)較好,完成了對(duì)圖片中人的識(shí)別,沒有出現(xiàn)漏檢和誤檢現(xiàn)象。
5? 結(jié)論
將Yolov3網(wǎng)絡(luò)框架用于實(shí)時(shí)的駕駛視頻目標(biāo)檢測(cè),可以作為汽車智能駕駛系統(tǒng)中目標(biāo)識(shí)別環(huán)節(jié)的新解決方案,本文訓(xùn)練得到的霧天環(huán)境下行人識(shí)別的模型解決了霧天環(huán)境下圖像對(duì)比度小而造成的識(shí)別精度不高的問題,使用單尺度Retinex去霧算法預(yù)處理后的圖像mAP比用YOLOv3原模型檢測(cè)圖像的mAP提高了3.22%。
由于對(duì)行人的識(shí)別精度只提高到80.27%對(duì)于滿足實(shí)際應(yīng)用還有一段距離,原因主要為行人的目標(biāo)特征分布表現(xiàn)為水平方向密集、豎直方向稀疏,與YOLO檢測(cè)模型對(duì)輸入圖片統(tǒng)一劃為正方形柵格的機(jī)制不符,這是后續(xù)工作需要改進(jìn)的重點(diǎn)。
參考文獻(xiàn)
[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)絡(luò)的人臉識(shí)別系統(tǒng)[J]. 軟件, 2015, 36(12): 76-79.
[9]張曉明, 尹鴻峰. 基于卷積神經(jīng)網(wǎng)絡(luò)和語義信息的場(chǎng)景分類[J]. 軟件, 2018, 39(01): 29-34.
[10]高偉, 黎英, 張金飛, 等. 城市交通高頻路段預(yù)測(cè)模型研究[J]. 軟件, 2018, 39(2): 81-87.
[11]段世杰, 黃華, 王鵬飛, 等. 一種單幀圖像的快速去霧方法[J]. 軟件, 2015, 36(5): 1-6.
[12]吳亞熙, 岑峰. 基于卷積神經(jīng)網(wǎng)絡(luò)的多層級(jí)目標(biāo)檢測(cè)方法[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.