陽(yáng)家偉 何鑫 任月
摘要:針對(duì)汽車駕駛員疲勞駕駛易導(dǎo)致交通事故這一問(wèn)題,該文提出了基于YOLOv3目標(biāo)檢測(cè)算法的駛員疲勞檢測(cè)實(shí)現(xiàn)方案。YOLOv3算法主要采用Darknet53作為主特征提取網(wǎng)絡(luò),在保證檢測(cè)精度的同時(shí)提高檢測(cè)精準(zhǔn)度。YOLOv3算法作為獲取駕駛員面部體征提取算法,將得到的眼部數(shù)據(jù),計(jì)算判斷的得出眨眼頻率,PERCLOS算法分析判斷駕駛員是否疲勞。試驗(yàn)表明,所提出的檢測(cè)模型的mAP為90.30%,幀率58fps,能夠適應(yīng)實(shí)時(shí)監(jiān)測(cè)的要求。
關(guān)鍵詞:疲勞監(jiān)測(cè);YOLOv3;PERCLOS
介紹:隨著汽車數(shù)量的逐漸增多,隨之而來(lái)的是交通事故的增加,國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)顯示,2018 年全國(guó)交通事故高達(dá)2.4萬(wàn)起。在的交通事故中,由疲勞駕駛引起的事故比例逐漸增加,駕駛員疲勞駕駛已經(jīng)成為導(dǎo)致交通事故的主要原因[1]當(dāng)前,國(guó)內(nèi)外眾多研究學(xué)者針對(duì)于如何對(duì)汽車駕駛員是否疲勞開(kāi)展廣泛深入研究。主要分為三類主要方法。第一類,基于駕駛員人體體征數(shù)據(jù)參數(shù)[2]。該方法主要通過(guò)人體體征數(shù)據(jù)分析駕駛員是否疲勞。雖對(duì)是否疲勞檢測(cè)的準(zhǔn)確性較高,但由于檢測(cè)設(shè)備過(guò)于龐大且檢測(cè)過(guò)程較為復(fù)雜,導(dǎo)致了可能會(huì)對(duì)駕駛員正常的駕駛汽車造成一定的影響。第二類,基于車輛行為檢測(cè)檢測(cè)[3-4]。該方法通過(guò)對(duì)行駛中汽車的行駛的車速、加速度、方向盤轉(zhuǎn)角等汽車行駛信息來(lái)進(jìn)行判斷。不同品牌的汽車參數(shù)性能各不相同,同時(shí)不同地形的路況也會(huì)對(duì)汽車的表現(xiàn)造成一定影響,因此方法存在一定的局限性。第三類,基于計(jì)算機(jī)機(jī)器視覺(jué)檢測(cè)[5-7]。主要通過(guò)車影像設(shè)備能夠?qū)崟r(shí)獲取駕駛員行駛汽車過(guò)程中的臉部信息,再通過(guò)訓(xùn)練好的算法模型對(duì)采集到的臉部信息進(jìn)行面部特征提取,然后通過(guò)分析正常情況下眨眼的頻率與頻率狀態(tài)下的眨眼頻率,分析判定駕駛員的當(dāng)前是否處于疲勞狀態(tài)。此方法能夠最大程度上的減少對(duì)駕駛員正常駕駛汽車的影響,并具有一定的準(zhǔn)確性。駕駛員的疲勞檢測(cè),因?yàn)閼?yīng)用于汽車行駛的過(guò)程中,需要的是實(shí)時(shí)數(shù)據(jù),因此對(duì)目標(biāo)檢測(cè)算法的實(shí)時(shí)性有著很高的要求。目前基于深度卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)的算法應(yīng)用于三大類目標(biāo)檢測(cè)算法:第一類方法是基于學(xué)習(xí)搜索的檢測(cè)算法,這類算法與其他算法的不同點(diǎn)在于,是通過(guò)將圖像特征提取任務(wù)轉(zhuǎn)換為動(dòng)態(tài)視覺(jué)搜索任務(wù),這樣雖然能夠很好的提高了特征提取的速度,但是也會(huì)出現(xiàn)檢測(cè)精度不足的問(wèn)題。第二類方法,基于候選區(qū)域目標(biāo)檢測(cè)器的目標(biāo)識(shí)別算法。如Fast R-CNN[8]、Faster R-CNN[9]等,這類算法檢測(cè)精度較高,但檢測(cè)速度較慢,需要占用大量計(jì)算資源;第三類方法是基于回歸方式的目標(biāo)檢測(cè)算法,如YOLO(You Only LiveOnce)[10][11]系列算法等,此系列算法在不僅在保證目標(biāo)檢測(cè)準(zhǔn)確率高的同時(shí),在檢測(cè)速度方面也表現(xiàn)出優(yōu)越的性能。目前YOLO 系列算法已經(jīng)發(fā)展到第三版本即YOLO V3,在對(duì)實(shí)時(shí)性要求比較高的目標(biāo)檢測(cè)任務(wù)當(dāng)中表現(xiàn)相當(dāng)出色。本文基于YOLOv3[12]目標(biāo)檢測(cè)算法的實(shí)現(xiàn)對(duì)駕駛員疲勞狀態(tài)的檢測(cè)。
二、算法
2.1 YOLOv3 算法
YOLOv3 算法相比較于前兩個(gè)版本,主要進(jìn)行了三方面的改進(jìn):
(1)新的網(wǎng)絡(luò)結(jié)構(gòu)Darknet53,主要借鑒ResNet 殘差網(wǎng)絡(luò)思想。在原有的基礎(chǔ)網(wǎng)絡(luò)中大量使用殘差連接,緩解了訓(xùn)練中梯度小時(shí)的問(wèn)題,使得能夠?qū)⒕W(wǎng)絡(luò)設(shè)計(jì)很深,當(dāng)網(wǎng)絡(luò)層次越深,特征表達(dá)的效果就越好,分類與預(yù)測(cè)的性能就能得到提高;
(2)新的特征提取網(wǎng)絡(luò),主要采用多尺度融合預(yù)測(cè)方法。YOLOv3 算法使用13*13、26*26、52*52 這三種不同尺度的特征圖進(jìn)行預(yù)測(cè),采用金字塔網(wǎng)絡(luò)[13]進(jìn)行提取特征,通過(guò)上采樣特征合并,能夠得到更豐富的語(yǔ)義信息,極大的提高檢測(cè)算法對(duì)微型目標(biāo)檢測(cè)精度。
(3)分類損失函數(shù)替換。YOLOv3 算法替換了原來(lái)的Softmax 函數(shù)改為L(zhǎng)ogistic 函數(shù)。Softmax 函數(shù)輸出多個(gè)類別預(yù)測(cè)之間會(huì)互相抑制,Logistic 分類器相互獨(dú)立,可實(shí)現(xiàn)多類別預(yù)測(cè)。
2.2 特征提取網(wǎng)絡(luò)Darknet – 53
YOLOv3 算法采用Darknet – 53 為特征提取網(wǎng)絡(luò),Darknet – 53 網(wǎng)絡(luò)中有53 個(gè)卷積層,采用LeakyReLu 作為修正函數(shù)。網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。圖中各塊意義如下:DBL:代表卷積、BN 及Leaky ReLU 三層的結(jié)合。
Res:代表殘差塊。
上采樣:上采樣使用的方式為池化,即元素賦值擴(kuò)充的方法使得特征尺寸擴(kuò)大。
Concat:上采樣后將深層與淺層的特征圖進(jìn)行Conncat操作,即通道的拼接。
從圖1 中可以看出Darknet – 53 結(jié)構(gòu)的一些新特性:殘差思想、多層特征圖、無(wú)池化層。
2.3 疲勞識(shí)別
PERCLOS(percentage of eyeIid cIosure over the pupiI)[14] ,PERCLOS 算法指的是在一定單位時(shí)間內(nèi)眼睛閉合時(shí)間所占單位時(shí)間的比例,當(dāng)眼睛閉合比例達(dá)到70%或80%時(shí),則認(rèn)為出其中單位時(shí)間T 取單位時(shí)間= 20s,為每次眨眼時(shí)眼睛閉合所用的時(shí)間。
三、實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)環(huán)境
本文的實(shí)驗(yàn)?zāi)P陀?xùn)練環(huán)境配置:Intel(R) Core(TM) i7-8700處理器,64G 內(nèi)存,NVIDIA RTX2080Ti 顯卡,CUDA 版本10.0,CUDNN 版本7.4,OpenCV 版本為3.3,操作系統(tǒng)為windows10。
網(wǎng)絡(luò)參數(shù)配置如下:動(dòng)量為0.9,權(quán)重衰減為0.0005, 迭代次數(shù)為500200,學(xué)習(xí)率使用分步策略,初始值設(shè)置為0.001,變化的次數(shù)為400000 和450000,比率為0.1 和0.1。
3.2 評(píng)價(jià)指標(biāo)
在實(shí)際對(duì)于駕駛員是否疲勞狀態(tài)檢測(cè)的實(shí)際應(yīng)用中,識(shí)別的準(zhǔn)確率和速度尤為重要。若實(shí)際檢驗(yàn)中出現(xiàn)狀態(tài)不準(zhǔn)確,則十分容易導(dǎo)致對(duì)駕駛員疲勞檢測(cè)出現(xiàn)錯(cuò)誤。當(dāng)駕駛員已經(jīng)處于疲勞狀態(tài),但系統(tǒng)仍然未能做出檢測(cè),則依舊會(huì)存在安全上的隱患。
本文采用每個(gè)類別相互獨(dú)立的平均精確率均值mAP(meanaverage precision),與每秒機(jī)器能夠檢測(cè)到圖像數(shù)量的幀數(shù)FPS(frames per second)作為目標(biāo)檢測(cè)模型性能好壞的評(píng)價(jià)指標(biāo)。
精確率與召回率的定義如下:
以本文為例,TP(True Position):表示預(yù)測(cè)框正確地與標(biāo)簽匹配,即能夠準(zhǔn)確預(yù)測(cè)出眼睛狀態(tài)的數(shù)量;P(FalsePositon):表示將背景預(yù)測(cè)成物體,即指將臉部部位識(shí)別為眼睛數(shù)量;FN(False Negative):表示本來(lái)需要檢測(cè)出的物體,模型沒(méi)有檢測(cè)出,即眼睛沒(méi)有檢測(cè)出的數(shù)量; TN(TrueNegative):表示檢測(cè)目標(biāo)本無(wú)背景,檢測(cè)模型也沒(méi)能夠識(shí)別出背景,即指臉部,并沒(méi)有識(shí)別出的數(shù)量。以召回率為橫坐標(biāo),以識(shí)別的精準(zhǔn)度為縱坐標(biāo),最終繪制出一條P-R 曲線。曲線下的面積即為AP ,AP 綜合考量了不同召回率下的準(zhǔn)確率,不會(huì)對(duì)P 與R 有任何偏好。每個(gè)類別的AP 是相互獨(dú)立的,將每個(gè)類別的AP 進(jìn)行平均,即可以得到mAP。
3.3 測(cè)試結(jié)果
根據(jù)以上計(jì)算指標(biāo)得出模型的綜合性能如表1 所示,從表中可以看出檢測(cè)精度與召回率都比較高,F(xiàn)1-score 也高達(dá)89%整體的應(yīng)用性能較強(qiáng)。
另外,從圖1 模型訓(xùn)練的loss 曲線中可以看出,隨著迭代次數(shù)逐漸的增加,十分明顯的可以看出收斂速度較快,同時(shí)也能夠達(dá)到很不錯(cuò)的學(xué)習(xí)效果,因此這一個(gè)具有代表性意義的典型特征結(jié)果可以得出結(jié)論模型的學(xué)習(xí)能力較強(qiáng)。
針對(duì)于采集到的數(shù)據(jù)集,采用YOLOv3 檢測(cè)模型進(jìn)行檢測(cè),P-R 曲線如圖2 所示,mAP 達(dá)到了90.30%,一系列可靠實(shí)驗(yàn)的結(jié)果表明模型具有良好的普適性。
如表2 所示,采用同一數(shù)據(jù)集與其他主流目標(biāo)檢測(cè)模型的性能對(duì)比后發(fā)現(xiàn),YOLOv3 與Faster R-CNN 在精準(zhǔn)度上都達(dá)到了90% , 但Faster R-CNN 在檢測(cè)的幀率上遠(yuǎn)遠(yuǎn)不如YOLOv3,達(dá)不到實(shí)時(shí)檢測(cè)的需求。雖然YOLOv3 在檢測(cè)速度上比YOLOv2 略低,但在滿足實(shí)時(shí)檢測(cè)的幀的同時(shí)還保證了檢測(cè)的精準(zhǔn)度。
四、結(jié)束語(yǔ)
本文主要研究,提出了基于YOLOv3 目標(biāo)檢測(cè)算法實(shí)現(xiàn)對(duì)駕駛員疲勞狀態(tài)檢測(cè)方法。通過(guò)一系列大量具有重復(fù)性的精準(zhǔn)良好的結(jié)果均證明YOLOv3 在目標(biāo)檢測(cè)任務(wù)中在檢測(cè)速度與精度的上表現(xiàn)出良好的優(yōu)越性。同時(shí),結(jié)合PERCLOS 疲勞判斷方法在是否判斷上具有的普適性,能夠?qū)崿F(xiàn)對(duì)駕駛員是否疲勞的實(shí)時(shí)檢測(cè)。通過(guò)實(shí)時(shí)數(shù)據(jù)檢測(cè)表明,該方法在檢測(cè)精度與實(shí)時(shí)性兩個(gè)方面均展現(xiàn)出良好的性能。在后續(xù)研究中,將會(huì)考慮將模型移植到移動(dòng)設(shè)備中,以適應(yīng)生產(chǎn)應(yīng)用。
參考文獻(xiàn):
[1]Mandal B , Li L , Wang G S , et al. Towards Detection ofBus Driver Fatigue Based on Robust Visual Analysis of Eye State[J].Intelligent Transportation Systems, IEEE Transactions on, 2017,18(3):545-557.
[2]胥川, 王雪松, 陳小鴻,等. 基于決策樹(shù)的駕駛疲勞等級(jí)分析與判定[J]. 同濟(jì)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2013, 43(1).
[3]Gustavo Lenis, Patrick Reichensperger, David Sommer,等. Detection of microsleep events in a car driving simulation studyusing electrocardiographic features[C]// Current Directions inBiomedical Engineering. 2016.
[4]Xiaoliang Z , Jiali L , Yugang L , et al. Design of a FatigueDetection System for High-Speed Trains Based on DriverVigilance Using a Wireless Wearable EEG[J]. Sensors, 2017,17(3):486.
[5]李銳, 蔡兵, 劉琳,等. 基于模型的駕駛員眼睛狀態(tài)識(shí)別[J]. 儀器儀表學(xué)報(bào), 2016, 037(001):184-191.
[6]Feng D , Feng M Q . Computer vision for SHM of civilinfrastructure: From dynamic response measurement to damage detection - A review[J]. Engineering Structures, 2018,156(FEB.1):105-117.
[ 7 ] Xiaoyun J , Lingyu Z , Jiang R , et al. Research on Fatigue Driving Detection Method of Facial Features Fusion[J].Power System and Clean Energy, 2016.
[8]張琦,胡廣地,李雨生,等.改進(jìn)Fast-RCNN 的雙目視覺(jué)車輛檢測(cè)方法[J].應(yīng)用光學(xué),2018,39(6):832-838.
[ 9 ] Ren S , He K , Girshick R , et al. Faster R-CNN:Towards Real-Time Object Detection with Region ProposalNetworks[J]. IEEE Transactions on Pattern Analysis and MachineIntelligence, 2015.
[10]Redmon J, Divvala s, Girshick R,et al. You Only LookOnce:Unified, real-time object detection [C]// IEEE ConferenceonCom puter Vision and Pattern Recognition. Las Vegas,USA:IEEE,2016:779- 788.
[ 11 ] Redmon J,F(xiàn)arhadi A. YOLO9000 Better , faster ,stronger[C]//IEEE Conference on Com puter Vision and PatternRecognition.Long Beach, California, USA:IEEE, 2017 :6517-6525.
[ 12 ] Redmon J, Farhadi A. YOLOv3: An incrementalimprovement[C]//IEEE Conference on Com puter Vision andPattern Recog-nition. Honolulu, USA;IEEE, 2017 :6517-6525.[13]Dakhia A,Wang T T,Lu H C .Multi-scale PyramidPooling Network for salient objectdetection[J].Neurocomputing,2019,333:211-220.
[14]Yan P , Yan D , Du C . Design and Implementation of a Driver's Eye State Recognition Algorithm Based on PERCLOS[J].Chinese Journal of Electronics, 2014(04):18-21.
作者簡(jiǎn)介:
陽(yáng)家偉(1999.3.22)男;侗族;籍貫:廣西三江;學(xué)歷:本科;單位:西南民族大學(xué)。
本項(xiàng)目來(lái)源于大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目支持(項(xiàng)目編號(hào):S201910656072)