婁 平,楊 欣,胡輯偉,蕭 箏,嚴(yán)俊偉
(1.武漢理工大學(xué)信息工程學(xué)院,武漢430070;2.寬帶無(wú)線通信和傳感器網(wǎng)絡(luò)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢430070;3.武漢理工大學(xué)機(jī)電工程學(xué)院,武漢430070)
隨著汽車(chē)行業(yè)和道路交通網(wǎng)的不斷發(fā)展,越來(lái)越多的人選擇機(jī)動(dòng)車(chē)出行,道路交通事故頻繁發(fā)生。交通事故給人們的生命財(cái)產(chǎn)安全帶來(lái)巨大的損失,與酒駕、超速等行為相比,疲勞駕駛的預(yù)防及治理更為困難。疲勞是指對(duì)體力勞動(dòng)或者腦力勞動(dòng)進(jìn)行長(zhǎng)時(shí)間重復(fù)作業(yè)形成的一種生理阻礙[1],疲勞會(huì)使駕駛?cè)说鸟{駛操作水平下降,據(jù)相關(guān)數(shù)據(jù)統(tǒng)計(jì),約有20%~30%的交通事故是由疲勞駕駛所引起的[2]。在交通事故發(fā)生前,若駕駛?cè)丝商崆?.5 s 做出反應(yīng),可避免60%的交通事故。在多數(shù)情況下,駕駛?cè)撕茈y意識(shí)到自身處于疲勞駕駛狀態(tài),且據(jù)調(diào)查顯示,多數(shù)駕駛?cè)嗽诟兄狡跁r(shí)仍繼續(xù)駕駛[3]。因此,針對(duì)疲勞駕駛檢測(cè)的研究,在駕駛?cè)似隈{駛時(shí)及時(shí)對(duì)其發(fā)出告警,對(duì)降低交通事故的發(fā)生率及保障人們安全出行具有重要意義。
目前,已有的疲勞檢測(cè)方法主要分為基于駕駛?cè)松硖卣?、?chē)輛行為特征、駕駛?cè)嗣娌刻卣鞯? 類(lèi)參數(shù)。基于駕駛?cè)松硖卣鲄?shù)的疲勞檢測(cè)方法需要在駕駛?cè)松砩戏胖脗鞲衅?,以得到其腦電(Electroencephalogram,EEG)、心電(Electrocardiograms,ECG)、肌電(Electromyogram,EMG)信號(hào)等生理參數(shù),然后對(duì)其進(jìn)行處理分析,判斷駕駛?cè)耸欠衿冢?]。這類(lèi)方法檢測(cè)精度高,但其高昂的成本和侵入式的檢測(cè)方式限制了其應(yīng)用和發(fā)展?;谲?chē)輛行為特征的疲勞檢測(cè)方法通過(guò)檢測(cè)車(chē)輛方向盤(pán)的角速度、車(chē)輛行駛狀態(tài)的改變等特征,判斷駕駛?cè)耸欠衿冢?]。這類(lèi)方法容易受車(chē)輛型號(hào)和實(shí)際道路情況的影響,準(zhǔn)確率較低?;隈{駛?cè)嗣娌刻卣鞯钠跈z測(cè)方法通過(guò)檢測(cè)駕駛?cè)耸欠翊嬖陂]眼時(shí)間長(zhǎng)、打哈欠等疲勞特征進(jìn)行疲勞判斷[6],相比于其他方法,該方法在保障準(zhǔn)確率的同時(shí)具有成本低及非接觸的優(yōu)點(diǎn),因此成為疲勞檢測(cè)研究領(lǐng)域的主流方法。
李照等[7]設(shè)計(jì)一個(gè)基于數(shù)字信號(hào)處理(Digital Signal Processing,DSP)的嵌入式車(chē)載疲勞駕駛檢測(cè)系統(tǒng),該系統(tǒng)利用AdaBoost 算法檢測(cè)人臉并定位駕駛?cè)搜劬^(qū)域,通過(guò)計(jì)算人眼閉合程度,并結(jié)合PERCLOS 算法進(jìn)行疲勞判斷。徐明[8]利用ARM 開(kāi)發(fā)板設(shè)計(jì)了一套疲勞駕駛檢測(cè)系統(tǒng),該系統(tǒng)首先利用AdaBoost 級(jí)聯(lián)分類(lèi)器依次定位駕駛?cè)嗣娌考把鄄繀^(qū)域,接著采用積分投影算法定位嘴部區(qū)域,并根據(jù)眼部及嘴部的寬高比確定開(kāi)閉狀態(tài),最后結(jié)合PERCLOS 算法及打哈欠分析完成疲勞檢測(cè)。這類(lèi)方法可在車(chē)載嵌入式設(shè)備上獨(dú)立完成疲勞檢測(cè),但基于手工提取的特征,準(zhǔn)確率會(huì)受到個(gè)體差異、拍攝距離及角度的影響,魯棒性較差。
由于深度學(xué)習(xí)技術(shù)在計(jì)算機(jī)視覺(jué)領(lǐng)域表現(xiàn)出優(yōu)異的性能,因此研究人員對(duì)此進(jìn)行了大量研究。鄭偉成等[9]利用多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)(Multi-Task Convolutional Neural Network,MTCNN)定位人臉,并利用PFLD 深度學(xué)習(xí)模型進(jìn)行人臉關(guān)鍵點(diǎn)檢測(cè),從而定位眼部、嘴部以及頭部的位置,最后提取眨眼頻率、張嘴程度、點(diǎn)頭頻率等特征進(jìn)行疲勞檢測(cè)。DU等[10]提出一種多模式融合的遞歸神經(jīng)網(wǎng)絡(luò)(Multimode Fusion Recurrent Neural Network,MFRNN),將眼睛和嘴巴的開(kāi)合度以及心率作為疲勞特征,利用遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)提取時(shí)間特征,提高了疲勞駕駛檢測(cè)的準(zhǔn)確率。這類(lèi)方法相比基于手工特征的疲勞檢測(cè)方法具有更強(qiáng)的魯棒性,但是需要龐大的計(jì)算資源。若檢測(cè)過(guò)程在計(jì)算資源豐富的云端進(jìn)行,則需要邊緣設(shè)備采集駕駛?cè)艘曨l數(shù)據(jù)并上傳至云端服務(wù)器進(jìn)行檢測(cè),再由服務(wù)器返回檢測(cè)結(jié)果。然而,在車(chē)輛的行駛過(guò)程中,網(wǎng)絡(luò)覆蓋、響應(yīng)速度等因素會(huì)造成檢測(cè)實(shí)時(shí)性差,甚至無(wú)法完成檢測(cè)。若檢測(cè)過(guò)程在車(chē)載邊緣端完成,則需要具有強(qiáng)大計(jì)算資源的檢測(cè)設(shè)備,若每輛車(chē)上均安裝此類(lèi)設(shè)備,則成本過(guò)于高昂。
本文提出一種基于邊緣計(jì)算的疲勞駕駛檢測(cè)方法,通過(guò)識(shí)別駕駛?cè)说难鄄考白觳康拈_(kāi)閉狀態(tài),結(jié)合PERCLOS 及PMOT 指標(biāo)值進(jìn)行疲勞檢測(cè),并且由于采用了輕量化的檢測(cè)模型,因此可在車(chē)載嵌入式設(shè)備上獨(dú)立完成疲勞檢測(cè)。
通過(guò)駕駛?cè)说拿娌刻卣鬟M(jìn)行疲勞駕駛檢測(cè)通常需要確定人臉與眼嘴的部位,并檢測(cè)眼嘴的開(kāi)合狀態(tài)。為實(shí)現(xiàn)以上功能,本文利用改進(jìn)的MTCNN 完成人臉檢測(cè)及關(guān)鍵點(diǎn)定位,并根據(jù)人臉三庭五眼比例關(guān)系進(jìn)行眼部及嘴部圖像的截取,接著利用改進(jìn)的AlexNet 識(shí)別眼部和嘴部的開(kāi)閉狀態(tài),最后根據(jù)PERCLOS 和PMOT 參數(shù)進(jìn)行疲勞判別。疲勞駕駛檢測(cè)流程如圖1所示。
圖1 疲勞駕駛檢測(cè)流程Fig.1 Procedure of fatigue driving detection
MTCNN 是一種基于深度學(xué)習(xí)的人臉檢測(cè)與對(duì)齊算法,利用圖像金字塔檢測(cè)各個(gè)尺度的人臉[11],不同于多目標(biāo)人臉檢測(cè),在疲勞駕駛檢測(cè)中只需精準(zhǔn)定位駕駛?cè)嗣娌繀^(qū)域。因此,對(duì)MTCNN 網(wǎng)絡(luò)的圖像金字塔部分進(jìn)行改進(jìn),使其快速且準(zhǔn)確地完成人臉檢測(cè)及關(guān)鍵點(diǎn)定位,并在定位關(guān)鍵點(diǎn)后,利用人臉的三庭五眼比例關(guān)系獲取駕駛?cè)说难鄄考白觳繀^(qū)域。
1.1.1 人臉檢測(cè)與關(guān)鍵點(diǎn)定位
MTCNN 由P-Net(Proposal Network)、R-Net(Refine Network)和O-Net(Output Network)組成,采用候選框加分類(lèi)器的思想,快速高效地進(jìn)行人臉檢測(cè)。MTCNN 模型如圖2所示。
圖2 MTCNN 模型Fig.2 MTCNN model
MTCNN 為檢測(cè)到不同尺度的人臉,將原圖縮小為不同尺寸以生成圖像金字塔。將原圖按照一定比例進(jìn)行壓縮,使用固定尺寸為12 像素×12 像素的候選框遍歷圖片,循環(huán)往復(fù),直到縮小后的圖片長(zhǎng)或?qū)捫∮诤蜻x框的邊長(zhǎng)時(shí)停止。此時(shí)得到尺寸為12 像素×12 像素、通道數(shù)為3 的圖片作為P-Net 的輸入,P-Net 利用大小為3×3 的卷積核通過(guò)卷積操作(Conv)提取圖像特征,采用最大池化操作(MP)去除冗余,通過(guò)人臉?lè)诸?lèi)器(face classification)判斷該區(qū)域是否為人臉,并使用邊框回歸(bounding box regression)及一個(gè)面部關(guān)鍵點(diǎn)的定位器(facial landmark localization)初步定位人臉區(qū)域,并將這些區(qū)域輸入R-Net。R-Net 將重復(fù)P-Net 的操作,濾除大部分干擾、保留較為可靠的人臉區(qū)域并將其輸入到O-Net。對(duì)比P-Net 利用全卷積輸出尺寸為1 像素×1 像素、通道數(shù)為32 的特征,R-Net 在最后一個(gè)卷積層后使用一個(gè)128 維的全連接層(FC),保留了更多的圖像特征。O-Net 進(jìn)行更精細(xì)的人臉判別、邊框回歸及關(guān)鍵點(diǎn)定位,最終輸出人臉區(qū)域的坐標(biāo)與5 個(gè)特征點(diǎn),其中5 個(gè)特征點(diǎn)分別為左眼中點(diǎn)、右眼中點(diǎn)、鼻尖點(diǎn)、左嘴角點(diǎn)和右嘴角點(diǎn)。實(shí)驗(yàn)室環(huán)境內(nèi)采集的多人臉圖像MTCNN 人臉檢測(cè)及關(guān)鍵點(diǎn)定位示例,如圖3所示。
圖3 MTCNN 人臉檢測(cè)Fig.3 Face detection using the MTCNN
MTCNN 網(wǎng)絡(luò)構(gòu)建的圖像金字塔包含大量圖像,將其送入網(wǎng)絡(luò)檢測(cè)出圖像中的所有人臉區(qū)域會(huì)花費(fèi)大量時(shí)間。在疲勞駕駛檢測(cè)場(chǎng)景中,由于需要排除多余人臉的干擾,精確定位駕駛?cè)嗣娌浚虼藢?duì)MTCNN 網(wǎng)絡(luò)生成圖像金字塔的方式進(jìn)行改進(jìn)。考慮到駕駛?cè)嗣娌繀^(qū)域在視頻幀中所占像素比例較大,本文根據(jù)駕駛?cè)嗣娌吭趫D像中的比例對(duì)MTCNN 網(wǎng)絡(luò)中最小人臉尺寸進(jìn)行放大,降低固定縮小比例,并略過(guò)第一次縮小與遍歷過(guò)程,使得改進(jìn)的MTCNN 網(wǎng)絡(luò)在準(zhǔn)確定位出駕駛?cè)嗣娌繀^(qū)域的同時(shí),能濾除背景中無(wú)關(guān)的人臉,并大幅縮減人臉檢測(cè)時(shí)間。
1.1.2 眼部與嘴部區(qū)域提取
利用駕駛?cè)说难劬白彀偷臓顟B(tài)變化特征進(jìn)行疲勞判別,需要在人臉檢測(cè)和關(guān)鍵點(diǎn)定位的基礎(chǔ)上將駕駛?cè)说难鄄亢妥觳繀^(qū)域進(jìn)行截取。根據(jù)三庭五眼的人臉比例關(guān)系[12],人臉橫向可分為三等份:前額發(fā)際線到眉骨,眉骨到鼻底,鼻底到下巴,即三庭;人臉縱向可分為五等份:左側(cè)發(fā)際線到左眼外側(cè),左眼外側(cè)到左眼內(nèi)側(cè),左眼內(nèi)側(cè)到右眼內(nèi)側(cè),右眼內(nèi)側(cè)到右眼外側(cè),右眼外側(cè)到右側(cè)發(fā)際線,即五眼。
假設(shè)通過(guò)MTCNN 獲取駕駛?cè)说淖笱圩鴺?biāo)為m1(x1,y1),右眼坐標(biāo)為m2(x2,y2),根據(jù)三庭五眼的人臉比例關(guān)系提取駕駛?cè)搜鄄繀^(qū)域,其對(duì)應(yīng)關(guān)系為:
其中:d1為雙眼間的距離;w1為眼部區(qū)域的寬度;h1為眼部區(qū)域的高度。
假設(shè)通過(guò)MTCNN 獲取駕駛?cè)说淖笥易旖亲鴺?biāo)分別為n1(α1,β1)和n2(α2,β2),根據(jù)三庭五眼的人臉比例關(guān)系提取駕駛?cè)俗觳繀^(qū)域,其對(duì)應(yīng)關(guān)系為:
其中:d2為左右嘴角間的距離;w2為嘴部感興趣區(qū)域(Region of Interest,ROI)的寬度;h2為嘴部區(qū)域的高度。
對(duì)NTHU-DDD 數(shù)據(jù)集[13]中示例進(jìn)行關(guān)鍵點(diǎn)定位,并根據(jù)三庭五眼比例關(guān)系得到眼部及嘴部感興趣區(qū)域,如圖4所示。
圖4 眼部與嘴部ROI 定位Fig.4 ROI location of eyes and mouth
通過(guò)計(jì)算眼睛和嘴巴的寬高比、眼部黑白像素比例等基于手工提取特征的眼部和嘴部狀態(tài)識(shí)別方法受拍攝角度、拍攝距離以及個(gè)體差異的影響,魯棒性較差。本文利用改進(jìn)的AlexNet 對(duì)眼部及嘴部的開(kāi)閉狀態(tài)進(jìn)行識(shí)別,避免了對(duì)圖像的復(fù)雜預(yù)處理操作,且具有較強(qiáng)的魯棒性。
1.2.1 Ghost 模塊
Ghost 模塊[14]是一種輕量化神經(jīng)網(wǎng)絡(luò)單元,為了使疲勞駕駛檢測(cè)模型能在邊緣端獲得更好的實(shí)時(shí)性,本文使用Ghost 模塊替換AlexNet 中的所有卷積操作。傳統(tǒng)卷積和Ghost 模塊示意圖如圖5所示。
圖5 傳統(tǒng)卷積與Ghost 模塊示意圖Fig.5 Schematic diagram of traditional convolution and Ghost module
由于深度卷積神經(jīng)網(wǎng)絡(luò)所輸出的特征圖存在冗余,這些相似的特征圖使得卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力變強(qiáng),因此Ghost 模塊利用簡(jiǎn)單的線性操作Фk來(lái)獲得更多的相似特征圖,以提高CNN 性能。Ghost 模塊首先采用少量常規(guī)卷積得到本征特征圖,然后對(duì)得到的本征特征圖通過(guò)depthwise 卷積這種簡(jiǎn)單的線性操作生成Ghost 特征圖,最后將本征特征圖與Ghost 特征圖進(jìn)行拼接得到最終的輸出。相比直接使用常規(guī)卷積,Ghost 模塊在保障準(zhǔn)確率的同時(shí),大幅度降低了計(jì)算量。
1.2.2 輕量化AlexNet 結(jié)構(gòu)
AlexNet[15]基于8 層網(wǎng)絡(luò)結(jié)構(gòu)在圖像分類(lèi)上表現(xiàn)出優(yōu)異的效果。本文對(duì)AlexNet 進(jìn)行改進(jìn),用于眼睛及嘴巴的開(kāi)閉狀態(tài)分類(lèi)。由于眼睛和嘴巴圖像所占的像素點(diǎn)較少,將AlexNet 的輸入尺寸由224 像素×224 像素、通道數(shù)為3 壓縮至24 像素×24 像素、通道數(shù)為3,將11×11 和5×5 的卷積核修改為3×3 的卷積核,并優(yōu)化最大池化操作的步長(zhǎng)stride 以避免特征圖的尺寸過(guò)小。由于AlexNet 僅用于眼嘴狀態(tài)4 分類(lèi),不同于AlexNet 的1 000 分類(lèi),模型僅保留AlexNet中的第1 個(gè)全連接層,并將全連接層的輸出維度由2 048 修改為128。最終利用Softmax 回歸函數(shù)輸出樣本屬于眼嘴開(kāi)閉狀態(tài)的概率。模型保留第1 層傳統(tǒng)卷積用來(lái)全面提取圖像特征,其余的卷積操作均由Ghost 模塊替代,使網(wǎng)絡(luò)輕量化。改進(jìn)的AlexNet結(jié)構(gòu)如圖6所示。
圖6 改進(jìn)的AlexNet 結(jié)構(gòu)Fig.6 Improved AlexNet structure
當(dāng)駕駛?cè)颂幱谄跔顟B(tài)時(shí)會(huì)產(chǎn)生一系列的生理反應(yīng),例如閉眼時(shí)間長(zhǎng)、打哈欠等。改進(jìn)的AlexNet識(shí)別眼嘴狀態(tài)后,模型通過(guò)計(jì)算連續(xù)視頻幀的PERCLOS 及PMOT 參數(shù),并結(jié)合閾值對(duì)駕駛?cè)说钠跔顟B(tài)進(jìn)行判斷。
1.3.1 PERCLOS 參數(shù)
PERCLOS 是卡內(nèi)基梅隆研究所提出的度量疲勞的物理量。美國(guó)聯(lián)邦公路管理局在駕駛情景下對(duì)PERCLOS 參數(shù)、眨眼頻率、打哈欠參數(shù)等9 種疲勞參數(shù)進(jìn)行相關(guān)性分析,得出PERCLOS 參數(shù)與疲勞駕駛狀態(tài)相關(guān)性最高[16]。PERCLOS 參數(shù)表示在單位時(shí)間內(nèi)閉眼時(shí)長(zhǎng)所占百分比,計(jì)算公式為:
其中:N為單位時(shí)間內(nèi)的視頻總幀數(shù);fi為閉眼幀數(shù);為單位時(shí)間內(nèi)閉眼的總幀數(shù)。在正常的駕駛過(guò)程中,駕駛?cè)说腜ERCLOS 參數(shù)值較小。當(dāng)駕駛?cè)颂幱谄跔顟B(tài)時(shí),閉眼幀數(shù)增多,PERCLOS 參數(shù)值增大。
1.3.2 PMOT 參數(shù)
PMOT 參數(shù)類(lèi)似于PERCLOS 參數(shù),代表單位時(shí)間內(nèi)張嘴時(shí)長(zhǎng)所占百分比,計(jì)算公式為:
其中:N為單位時(shí)間內(nèi)的視頻總幀數(shù);fi為張嘴幀數(shù);為單位時(shí)間內(nèi)張嘴的總幀數(shù)。在正常駕駛過(guò)程中,駕駛?cè)说腜MOT 參數(shù)值較小。當(dāng)駕駛?cè)舜蚬窌r(shí),張嘴幀數(shù)增多,PMOT 參數(shù)值增大。
實(shí)驗(yàn)平臺(tái)為1 臺(tái)配置為Intel?CoreTMi7-8750H CPU 處理器、2.2 GHz 主頻、8 GB 內(nèi)存、顯卡為GTX1060 的PC 機(jī)以及1 塊內(nèi)存為8 GB 的樹(shù)莓派4B開(kāi)發(fā)板。使用PC 機(jī)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并將訓(xùn)練好的模型下載到樹(shù)莓派開(kāi)發(fā)板上進(jìn)行疲勞檢測(cè)。
實(shí)驗(yàn)利用YawDD 數(shù)據(jù)集[17]制作人臉檢測(cè)數(shù)據(jù)集與眼嘴狀態(tài)識(shí)別數(shù)據(jù)集,并在NTHU-DDD 數(shù)據(jù)集上測(cè)試疲勞駕駛檢測(cè)方法的準(zhǔn)確率。YawDD 數(shù)據(jù)集包含了不同性別、種族的駕駛?cè)嗽诓煌庹諚l件下的真實(shí)駕駛視頻。對(duì)該數(shù)據(jù)集進(jìn)行幀采樣,得到人臉檢測(cè)數(shù)據(jù)集,用于人臉檢測(cè)實(shí)驗(yàn),YawDD 數(shù)據(jù)集示例如圖7所示。
圖7 YawDD 數(shù)據(jù)集示例Fig.7 Examples of YawDD dataset
在幀采樣后截取出眼睛及嘴巴區(qū)域,制作眼嘴數(shù)據(jù)集,用于訓(xùn)練眼嘴狀態(tài)分類(lèi)網(wǎng)絡(luò)。眼嘴數(shù)據(jù)集分為眼睛閉合、眼睛張開(kāi)、嘴巴閉合、嘴巴張開(kāi)等4 類(lèi)。眼嘴數(shù)據(jù)集示例如圖8所示。
圖8 眼嘴數(shù)據(jù)集示例Fig.8 Examples of eyes and mouth dataset
NTHU-DDD 數(shù)據(jù)集包括36 位不同種族的受試者在模擬駕駛場(chǎng)景下的視頻數(shù)據(jù),總時(shí)長(zhǎng)約為9.5 h,包含不同光照條件下正常駕駛、打哈欠、說(shuō)話、緩慢眨眼、頻繁點(diǎn)頭等狀態(tài)。NTHU-DDD 數(shù)據(jù)集示例如圖9所示。
圖9 NTHU-DDD 數(shù)據(jù)集示例Fig.9 Examples of NTHU-DDD dataset
疲勞駕駛時(shí)所產(chǎn)生的打哈欠、緩慢眨眼等動(dòng)作是一個(gè)持續(xù)的過(guò)程,其持續(xù)時(shí)間約為8 s,根據(jù)NTHU-DDD 數(shù)據(jù)集的幀標(biāo)注文件將視頻數(shù)據(jù)進(jìn)行裁剪,并將存在上述疲勞特征的視頻標(biāo)注為疲勞狀態(tài),不存在疲勞特征的視頻標(biāo)注為正常狀態(tài)。裁剪后的數(shù)據(jù)集共包含600 個(gè)視頻,其中正常狀態(tài)和疲勞狀態(tài)的視頻分別有300 個(gè)。
2.2.1 人臉檢測(cè)結(jié)果
駕駛?cè)嗣娌繀^(qū)域在圖像中所占比例為1/16~1/3,為了濾除背景中乘客面部的干擾,精確定位出駕駛?cè)嗣娌繀^(qū)域并加速檢測(cè)過(guò)程,對(duì)MTCNN 網(wǎng)絡(luò)的圖像金字塔進(jìn)行改進(jìn),將視頻幀短邊的1/4 作為最小人臉尺寸,將固定縮小比例減小為0.659,并直接從第2 次縮小和遍歷圖片過(guò)程開(kāi)始進(jìn)行圖像金字塔操作。實(shí)驗(yàn)將圖片尺寸從640 像素×480 像素縮小至160 像素×120 像素進(jìn)行檢測(cè),在確保正常檢出人臉的情況下,縮短了檢測(cè)時(shí)間。MTCNN 及改進(jìn)的MTCNN 對(duì)實(shí)驗(yàn)室中模擬駕駛環(huán)境采集的圖像進(jìn)行人臉檢測(cè),示例如圖10所示。
圖10 人臉檢測(cè)示例Fig.10 Examples of face detection
從圖10 可以看出,改進(jìn)的MTCNN 模型有效地濾除了背景人臉,在疲勞駕駛檢測(cè)中能精確定位出駕駛?cè)嗣娌繀^(qū)域。為了進(jìn)一步驗(yàn)證改進(jìn)模型的有效性,實(shí)驗(yàn)利用從YawDD 數(shù)據(jù)集中獲取到的2 000 張人臉圖片進(jìn)行人臉檢測(cè)實(shí)驗(yàn),計(jì)算改進(jìn)前后MTCNN 模型的檢測(cè)準(zhǔn)確率以及樹(shù)莓派開(kāi)發(fā)板上的平均檢測(cè)時(shí)間。人臉檢測(cè)結(jié)果如表1所示??梢钥闯?,改進(jìn)的MTCNN 模型在保障較高準(zhǔn)確率的同時(shí),平均檢測(cè)時(shí)間下降至原來(lái)的53.9%,提高了疲勞駕駛檢測(cè)的實(shí)時(shí)性。
表1 人臉檢測(cè)結(jié)果Table 1 Results of face detection
2.2.2 眼部與嘴部狀態(tài)識(shí)別結(jié)果
由YawDD 數(shù)據(jù)集所得到的眼嘴數(shù)據(jù)集共15 000 張圖片,包括4 551 張睜眼圖片、3 912 張閉眼圖片、2 904 張張嘴圖片和3 633 張閉嘴圖片,其中睜眼和閉眼圖片均包含佩戴眼鏡及未佩戴眼鏡2 種情況。實(shí)驗(yàn)在PC 機(jī)上對(duì)原AlexNet、調(diào)節(jié)參數(shù)的AlexNet 以及調(diào)參并采用Ghost 模塊替換傳統(tǒng)卷積的AlexNet 這3 種網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,按照6∶4 的比例劃分訓(xùn)練集和測(cè)試集,其中測(cè)試圖片共6 000 張,訓(xùn)練時(shí)將圖像大小歸一化為24 像素×24 像素,每次批處理32 張圖片,迭代次數(shù)為1 000 次。模型訓(xùn)練完成后,將其下載到樹(shù)莓派開(kāi)發(fā)板上,測(cè)試平均識(shí)別時(shí)間。眼嘴狀態(tài)識(shí)別結(jié)果如表2所示??梢钥闯觯倪M(jìn)的輕量化AlexNet 模型不僅保持了眼嘴狀態(tài)識(shí)別的準(zhǔn)確率,并且模型大小減小至原有AlexNet 模型的3.9%,平均識(shí)別時(shí)間下降至原有AlexNet 模型的15.5%。
表2 眼嘴狀態(tài)識(shí)別結(jié)果Table 2 Results of eyes and mouth state recognition
將改進(jìn)的AlexNet 與其他網(wǎng)絡(luò)模型在眼嘴狀態(tài)識(shí)別數(shù)據(jù)集上進(jìn)行測(cè)試對(duì)比,結(jié)果如表3所示??梢钥闯?,調(diào)參+Ghost模塊的AlexNet網(wǎng)絡(luò)模型在保障準(zhǔn)確率的同時(shí),模型大小僅為其他模型的0.8%~9.6%,平均識(shí)別時(shí)間僅為其他模型的0.8%~3.1%。
表3 基于4 種網(wǎng)絡(luò)模型的眼嘴狀態(tài)識(shí)別結(jié)果對(duì)比Table 3 Results comparison of eyes and mouth state recognition based on four network models
2.2.3 PERCLOS 與PMOT 參數(shù)閾值
現(xiàn)有研究表明:當(dāng)PERCLOS 參數(shù)值達(dá)到0.15、0.25、0.40 時(shí),駕駛?cè)藭?huì)出現(xiàn)疲勞狀態(tài)。由于不同的眼部及嘴部狀態(tài)判別方法中所得到的眼睛和嘴巴的閉合程度存在差異,因此PERCLOS 及PMOT 參數(shù)閾值與研究方法相關(guān),可從實(shí)驗(yàn)中獲得。本文設(shè)定幀率為5 frame/s、時(shí)長(zhǎng)為8 s,采集30 位駕駛?cè)嗽谡<安煌潭绕跔顟B(tài)下的視頻,并計(jì)算對(duì)應(yīng)的PERCLOS 和PMOT 參數(shù)值,如圖11、圖12所示。
圖11 PERCLOS 參數(shù)閾值實(shí)驗(yàn)結(jié)果Fig.11 Experimental results of PERCLOS parameter threshold
圖12 PMOT 參數(shù)閾值實(shí)驗(yàn)結(jié)果Fig.12 Experimental results of PMOT parameter threshold
在圖11 和圖12 中,以虛線表示正常和疲勞狀態(tài)的分界線,當(dāng)PERCLOS 參數(shù)值達(dá)到0.35、PMOT 參數(shù)值達(dá)到0.25 時(shí),駕駛?cè)顺霈F(xiàn)疲勞狀態(tài),因此本文分別將0.35 和0.25 作為PERCLOS 和PMOT 參數(shù)閾值。
2.2.4 疲勞駕駛檢測(cè)結(jié)果
由NHTU-DDD 數(shù)據(jù)集得到600 個(gè)時(shí)長(zhǎng)為8 s 的視頻,其中正常狀態(tài)和疲勞狀態(tài)分別有300 個(gè)。在樹(shù)莓派4B 開(kāi)發(fā)板上以5 frame/s 的速率進(jìn)行幀采樣,并將圖片分辨率由640 像素×480 像素縮小至160 像素×120 像素,計(jì)算視頻幀序列對(duì)應(yīng)的PERCLOS 以及PMOT 參數(shù)值,結(jié)合閾值進(jìn)行疲勞判斷。疲勞駕駛檢測(cè)示例如圖13所示。
圖13 疲勞駕駛檢測(cè)示例Fig.13 Examples of fatigue driving detection
實(shí)驗(yàn)測(cè)得模型在樹(shù)莓派開(kāi)發(fā)板上的單幀平均檢測(cè)時(shí)間為180 ms,可滿(mǎn)足疲勞駕駛檢測(cè)的實(shí)時(shí)性要求。疲勞檢測(cè)結(jié)果如表4所示。本文方法與基于腦電信號(hào)[18]、基于方向盤(pán)操作特征[19]和基于人眼特征[20]的疲勞駕駛檢測(cè)方法的對(duì)比結(jié)果如表5所示。相比其他疲勞駕駛檢測(cè)方法,本文方法具有非接觸式、精度及魯棒性高且能在低成本的硬件設(shè)備上完成檢測(cè)的優(yōu)點(diǎn)。
表4 疲勞檢測(cè)結(jié)果Table 4 Results of fatigue detection
表5 不同疲勞駕駛檢測(cè)方法對(duì)比Table 5 Comparison of different fatigue driving detection methods
為在成本低廉的車(chē)載嵌入式設(shè)備上對(duì)駕駛?cè)似跔顟B(tài)進(jìn)行準(zhǔn)確預(yù)警,本文提出一種基于邊緣計(jì)算的疲勞駕駛檢測(cè)方法。采用改進(jìn)的MTCNN 網(wǎng)絡(luò)獲取人臉關(guān)鍵點(diǎn),根據(jù)人臉的三庭五眼比例關(guān)系獲取駕駛?cè)说难鄄考白觳繀^(qū)域,同時(shí)利用基于Ghost 模塊的改進(jìn)AlexNet 對(duì)眼睛和嘴巴的狀態(tài)進(jìn)行分類(lèi),計(jì)算出PERCLOS 和PMOT 參數(shù)并結(jié)合閾值進(jìn)行疲勞判斷。實(shí)驗(yàn)結(jié)果表明,該方法在NHTU-DDD 數(shù)據(jù)集上獲得了良好的檢測(cè)性能。后續(xù)將結(jié)合駕駛?cè)说念^部姿態(tài)特征,進(jìn)一步提高疲勞駕駛檢測(cè)算法的準(zhǔn)確率及魯棒性。