劉 星 黃子琪
(南京信息職業(yè)技術(shù)學(xué)院數(shù)字商務(wù)學(xué)院,江蘇 南京 210021)
汽車(chē)智能化是當(dāng)前全球汽車(chē)重要的技術(shù)發(fā)展趨勢(shì)之一,也是實(shí)施《中國(guó)制造2025》、“兩化融合”戰(zhàn)略的重要支撐。深度學(xué)習(xí)是人工智能領(lǐng)域取得的一個(gè)較大突破,且在汽車(chē)智能化應(yīng)用方面深度學(xué)習(xí)模型已具有極大潛力。司機(jī)疲勞駕駛是造成致命事故的最重要的原因之一,當(dāng)駕駛員處于疲勞駕駛狀態(tài)時(shí),其路況識(shí)別能力和駕駛技能明顯下降,約25%~30%的交通事故是由駕駛員疲勞駕駛導(dǎo)致的。為了解決這個(gè)問(wèn)題,開(kāi)發(fā)一種可以有效檢測(cè)駕駛員疲勞駕駛并及時(shí)發(fā)出警告的系統(tǒng)非常必要。基于車(chē)輛行為、駕駛員生理狀態(tài)和面部表情的研究已被用于識(shí)別疲勞駕駛[1-2],基于車(chē)輛行為的駕駛員疲勞駕駛檢測(cè)方法主要處理車(chē)輛行駛數(shù)據(jù),即車(chē)輛的轉(zhuǎn)向角度、行駛速度、加速度和轉(zhuǎn)彎角度[3-4],不考慮駕駛員自身情況進(jìn)行早期檢測(cè)和預(yù)警,就無(wú)法起到事前預(yù)警的作用。
基于駕駛員生理狀態(tài)的檢測(cè)方法是基于眼電(EOG)、心電圖(ECG)[5]、心率(HR)、腦系統(tǒng)[6]、心率變異性(HRV)以及腦電圖(EEG)等生理信號(hào)的。然而,駕駛員必須在駕駛過(guò)程中穿戴設(shè)備才能獲得相應(yīng)的信號(hào),會(huì)影響駕駛員的舒適感。基于駕駛員面部表情的疲勞駕駛檢測(cè)方法通過(guò)分析眼瞼閉合時(shí)間、眨眼、打哈欠、頭部姿態(tài)和眼瞼運(yùn)動(dòng)[7-9]取得了較好的效果。集成視覺(jué)信號(hào)和生理信號(hào)的方法比單一信號(hào)具有更高的性能,但是存在價(jià)格昂貴、體驗(yàn)不舒適的缺點(diǎn)。該文重點(diǎn)研究了基于視覺(jué)的疲勞駕駛檢測(cè)中最重要的一步,即利用KCF 改進(jìn)的MTCNN 對(duì)人臉進(jìn)行檢測(cè)和跟蹤,并對(duì)眼睛、嘴巴和頭部姿態(tài)進(jìn)行魯棒性定位,特別是在低照度、戴口罩以及大幅度運(yùn)動(dòng)等復(fù)雜真實(shí)車(chē)載情況下進(jìn)行相關(guān)檢測(cè)。
該文提出的疲勞檢測(cè)方法的整體框架如圖1所示,主要包括3 個(gè)部分,即紅外圖像采集和使用VIBE 算法定位前景、人臉檢測(cè)以及疲勞特征識(shí)別。首先,在實(shí)際車(chē)輛環(huán)境下采集紅外圖像。在獲取紅外圖像后,運(yùn)用VIBE 算法來(lái)準(zhǔn)確定位前景區(qū)域。其次,進(jìn)行人臉檢測(cè)。該文提出了一種改進(jìn)的MTCNN 方法,基于核相關(guān)濾波技術(shù)可以在一段時(shí)間內(nèi)對(duì)檢測(cè)的人臉進(jìn)行跟蹤,特別是在面臨大運(yùn)動(dòng)或光照變化等情況下,也可以比較穩(wěn)定地定位人臉區(qū)域。最后,進(jìn)行疲勞特征的融合和識(shí)別。提取眼睛區(qū)域特征、嘴巴區(qū)域特征和頭部姿勢(shì)特征,并將它們輸入多維度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行疲勞識(shí)別。
圖1 疲勞駕駛檢測(cè)系統(tǒng)框圖
該文提出的駕駛員疲勞駕駛檢測(cè)系統(tǒng)的第一步就是獲取人臉的位置,并標(biāo)定面部關(guān)鍵點(diǎn)的坐標(biāo)。為了獲取人臉關(guān)鍵點(diǎn),該文采用人臉關(guān)鍵點(diǎn)檢測(cè)網(wǎng)絡(luò)MTCNN 對(duì)人臉進(jìn)行檢測(cè)和提取關(guān)鍵點(diǎn)。MTCNN 是一個(gè)三級(jí)聯(lián)的卷積神經(jīng)網(wǎng)絡(luò),即提議網(wǎng)絡(luò)(P-Net)、精煉網(wǎng)絡(luò)(R-Net)和回歸網(wǎng)絡(luò)O-Net,可以整合人臉檢測(cè)和人臉對(duì)齊2 個(gè)任務(wù),最終輸出的結(jié)果是人臉目標(biāo)框、嘴部、鼻子和眼部等關(guān)鍵人臉點(diǎn)坐標(biāo)。但是當(dāng)人臉出現(xiàn)光照不均勻造成的“陰陽(yáng)臉”或者駕駛員看后視鏡造成的大角度側(cè)臉的情況時(shí),會(huì)導(dǎo)致MTCNN 人臉檢測(cè)算法短暫失效,無(wú)法定位人臉和提取人臉的關(guān)鍵點(diǎn)。同時(shí),因?yàn)樵趯?shí)車(chē)駕駛過(guò)程中,圖像視野中可能會(huì)出現(xiàn)多個(gè)人臉的情形,所以在MTCNN 的檢測(cè)參數(shù)中設(shè)定最小檢測(cè)目標(biāo)尺寸為100 px,如果檢測(cè)到多個(gè)目標(biāo),就默認(rèn)駕駛員的頭像為最大尺寸。
另外,由于該方法在嵌入式芯片上運(yùn)行,芯片的運(yùn)算算力有限,MTCNN 算法的運(yùn)行時(shí)間為200 ms,因此提出跟蹤器與檢測(cè)器相融合的方法,既可以在短暫時(shí)間內(nèi)用跟蹤算法更好地鎖定人臉,又可以減少對(duì)CPU 處理資源的占用,使算法具有更高的魯棒性且更高效。
在MTCNN 中有3 種任務(wù),包括人臉/非人臉?lè)诸?lèi)、邊界框回歸和關(guān)鍵點(diǎn)定位。為了獲得穩(wěn)定的結(jié)果,該文在邊界和關(guān)鍵點(diǎn)定位中加入了空間約束和時(shí)間約束。針對(duì)每個(gè)候選窗口,該文預(yù)測(cè)它與上一幀的面邊界框之間的偏移量(邊界框的左上角、高度和寬度)。歐氏距離損失適用于每個(gè)樣本,如公式(1)所示。
與邊界框回歸任務(wù)類(lèi)似,人臉目標(biāo)檢測(cè)也被定義為一個(gè)回歸問(wèn)題。該文還應(yīng)用了候選目標(biāo)的關(guān)鍵點(diǎn)與上一幀圖像的人臉關(guān)鍵點(diǎn)之間的歐氏距離,如公式(2)所示。
經(jīng)過(guò)測(cè)算,在實(shí)際應(yīng)用中,當(dāng)KCF 跟蹤算法及MTCNN檢測(cè)在海思3521DV200 芯片上運(yùn)行時(shí),針對(duì)1280px×720px的圖像,KCF 跟蹤器的運(yùn)算速度約為60 f/ms,而MTCNNmobilenet 的運(yùn)算速度約為200 f/ms。因此,在加入KCF 跟蹤器后,平均3 s 內(nèi)跟蹤了46 f,平均運(yùn)算速度為15 f/s,而在國(guó)家標(biāo)準(zhǔn)中,要求須在2 s 內(nèi)對(duì)疲勞駕駛的行為發(fā)出預(yù)警,因此該文提出的方法在海思的嵌入式芯片上也基本能滿足實(shí)時(shí)預(yù)警的要求。
該文主要通過(guò)O-Net 輸出的目標(biāo)框與上一幀存儲(chǔ)的目標(biāo)框之間的重疊率來(lái)判斷MTCNN 是否檢測(cè)到人臉,設(shè)定當(dāng)IoU超過(guò)70%且滿足O-Net輸出的概率大于0.7時(shí),即認(rèn)為有效檢測(cè)出人臉目標(biāo)。該文主要通過(guò)KCF跟蹤器輸出的目標(biāo)框與上一幀存儲(chǔ)的目標(biāo)框之間的重疊率來(lái)判定KCF 跟蹤器是否跟蹤人臉,具體方法與檢測(cè)階段一致。交并比(Intersection over Union,IoU)是指檢測(cè)框與Ground Truth 的交集和并集之間的比,當(dāng)IoU=1 時(shí),檢測(cè)框完全等于Ground Truth,當(dāng)IoU=0 時(shí),檢測(cè)框與Ground Truth 沒(méi)有交集。
針對(duì)CNN 提取到的特征序,應(yīng)用標(biāo)準(zhǔn)的RNN 模型可以計(jì)算一個(gè)隱藏層序列ht和一個(gè)輸出序列yt,分別如公式(3)、公式(4)所示。
式中:Wfh為遺忘門(mén)的權(quán)重系數(shù)矩陣;bh為遺忘門(mén)的偏置向量;fa為激活函數(shù)(激活函數(shù)可以用tanh 函數(shù)、Sigmod 函數(shù)等);Whh為輸入門(mén)的權(quán)重系數(shù)矩陣;ht-1為t-1 時(shí)刻的隱藏層序列;Why為輸出門(mén)的權(quán)重系數(shù)矩陣;bh為輸出門(mén)的偏置向量。
雖然RNN 可以對(duì)非線性時(shí)間序列的數(shù)據(jù)進(jìn)行預(yù)測(cè),但是仍然存在梯度消失、爆炸以及需要預(yù)先確定延遲窗口長(zhǎng)度的問(wèn)題。因此,LSTM 模型應(yīng)運(yùn)而生,隱藏層計(jì)算如公式(5)~公式(9)所示。
式中:it為t時(shí)刻輸入門(mén)狀態(tài);Wxi為輸入門(mén)i時(shí)刻權(quán)重值;Wci為對(duì)于細(xì)胞狀態(tài)i的權(quán)重;Ct-1為t-1 時(shí)刻的細(xì)胞狀態(tài)值;bi為輸出門(mén)偏置向量;ft為t時(shí)刻遺忘門(mén)狀態(tài);Wxf為遺忘門(mén)i時(shí)刻權(quán)重值;Whf為遺忘門(mén)的權(quán)重系數(shù);Wcf為對(duì)于遺忘門(mén)計(jì)算中細(xì)胞狀態(tài)i的權(quán)重;bf為遺忘門(mén)的偏置向量;ct為t時(shí)刻細(xì)胞狀態(tài);ft為細(xì)胞狀態(tài)計(jì)算中的激活函數(shù);tanh 為激活函數(shù)之一;Wxc為細(xì)胞狀態(tài)中對(duì)于向量xt的權(quán)重;Whc為細(xì)胞狀態(tài)中對(duì)于ht-1隱藏序列的權(quán)重;bc為細(xì)胞狀態(tài)的偏置向量;ot為輸出門(mén)t時(shí)刻輸出;Wxo為輸出門(mén)對(duì)于xt向量的權(quán)重;Who為輸出門(mén)中ht-1隱藏序列的權(quán)重。
該文采用LSTM 作為網(wǎng)絡(luò)主體,將眼部和嘴巴提取到的時(shí)間序列特征集記為F,并將其輸入LSTM 網(wǎng)絡(luò)的時(shí)序序列中進(jìn)行判定。
為了驗(yàn)證該文提出的方法在真實(shí)車(chē)輛環(huán)境下的性能,采集7 個(gè)不同車(chē)輛的真實(shí)車(chē)輛數(shù)據(jù)序列,分別為土方車(chē)、長(zhǎng)途重卡、冷鏈運(yùn)輸車(chē)、私家車(chē)、SUV、公共汽車(chē)以及施工卡車(chē)。攝像頭放置在司機(jī)的前面。為了最大限度地減少驅(qū)動(dòng)器的影響(特別是在夜間),采用940 nm 小波的紅外光提供照明。該文提出的方法使用約10 000 f 進(jìn)行訓(xùn)練,并在6 個(gè)實(shí)車(chē)序列上進(jìn)行測(cè)試,總共超過(guò)60 000 f(見(jiàn)表1),其分辨率為1280px×720px,訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)之間不存在重疊。使用lableImg 軟件手動(dòng)標(biāo)注眼睛、嘴的真實(shí)坐標(biāo)以及駕駛員疲勞狀態(tài)。
表1 人臉檢測(cè)算法對(duì)比
疲勞駕駛攝像頭采集到的圖像為RGB 圖像及紅外圖像,可以通過(guò)分析圖像質(zhì)量結(jié)合當(dāng)前時(shí)間來(lái)選取采用RGB圖像還是紅外圖像。該設(shè)備的顯示器主要用來(lái)提示駕駛員是否處于疲勞駕駛,當(dāng)駕駛員處于疲勞駕駛時(shí),可以通過(guò)屏幕與駕駛員互動(dòng)或發(fā)出聲光提示報(bào)警。
召回率反映了測(cè)試方法的魯棒性和持續(xù)跟蹤能力,精度反映了測(cè)試方法對(duì)干擾物和目標(biāo)的識(shí)別能力。不同車(chē)輛視頻序列的結(jié)果概述見(jiàn)表1。由表1 可知,該文提出的方法比原來(lái)的MTCNN 和Dlib19.22 具有更高的魯棒性,這是改進(jìn)后的MTCNN 加上KCF 跟蹤的效果。該文提出的方法也具有更高的性能,特別是在人臉側(cè)面,現(xiàn)有方法很難在光照變化以及側(cè)臉等困難環(huán)境下取得同樣的性能。由表1 可知,該文凸出的方法在側(cè)臉和光照變化方面具有更高的性能,這是KCF跟蹤器的作用。如果MTCNN 在3 s 內(nèi)檢測(cè)到駕駛員的人臉,KCF 跟蹤器將檢測(cè)結(jié)果作為初始目標(biāo)對(duì)人臉進(jìn)行跟蹤,那么該目標(biāo)不會(huì)受到太多光照變化、大幅度運(yùn)動(dòng)和側(cè)臉的影響。
該文將所提出的方法與dlib 算法的最新版本19.22、原始MTCNN 和Face++進(jìn)行比較。由表1 可知,3 種方法在手干擾、背景雜波、大運(yùn)動(dòng)和正常駕駛方面的性能差異不大。
該文提出的方法在光照變化和側(cè)臉?lè)矫婢哂懈叩男阅?,這是KCF 跟蹤器的效果。在序列五中,需要檢測(cè)駕駛員側(cè)臉,這對(duì)人臉檢測(cè)方法來(lái)說(shuō)是一個(gè)問(wèn)題,尤其是大角度的人臉檢測(cè)。然而,如果在前方檢測(cè)駕駛員的人臉并將人臉的邊界框輸入KCF 跟蹤器中,那么該文提出的方法是目前最先進(jìn)的跟蹤方法,可以跟蹤側(cè)臉而不是檢測(cè)側(cè)臉。在序列四中,光照變化是車(chē)輛駕駛員人臉檢測(cè)的另一個(gè)問(wèn)題,由于光照總是會(huì)發(fā)生變化的,因此可以假設(shè)在一段時(shí)間內(nèi)光照良好,MTCNN 人臉檢測(cè)算法可以工作于檢測(cè)駕駛員面部,將檢測(cè)到的面部區(qū)域與上一次保存的人臉結(jié)果進(jìn)行比對(duì),當(dāng)相似度大于80%時(shí),認(rèn)為當(dāng)前檢測(cè)到的人臉是可靠的,并將其作為KCF 跟蹤器的輸入,在接下來(lái)的3 s 內(nèi)進(jìn)行跟蹤,由于采集幀率為30 f/s,因此跟蹤的總幀數(shù)為90 f。運(yùn)用該文提出的方法在光照變化不均衡的圖像序列上具有更高的性能。
MCNN 對(duì)睜眼圖像進(jìn)行分類(lèi)的準(zhǔn)確數(shù)為2 753 張,準(zhǔn)確率為93.3%,對(duì)閉眼圖像進(jìn)行分類(lèi)的準(zhǔn)確數(shù)為978 張,準(zhǔn)確率為91.7%,依然無(wú)法達(dá)到實(shí)際車(chē)載使用準(zhǔn)確率為99%的要求,其原因是駕駛員佩戴墨鏡及眼鏡鏡片反光導(dǎo)致識(shí)別準(zhǔn)確率下降,這也是后期需要解決的重要問(wèn)題之一,當(dāng)前運(yùn)用的技術(shù)一般為偏振光片,但是存在價(jià)格昂貴無(wú)法商用的問(wèn)題。
識(shí)別嘴巴狀態(tài)(打哈欠)圖像的準(zhǔn)確數(shù)為5 411 張,識(shí)別正確率為95.2%,主要識(shí)別錯(cuò)誤的情況為駕駛員張嘴說(shuō)話以及手部的一些干擾動(dòng)作。識(shí)別嘴巴正常情況圖像的準(zhǔn)確數(shù)為14 753 張,識(shí)別準(zhǔn)確率為98.4%。嘴部識(shí)別的準(zhǔn)確率比眼睛該,其原因是嘴部的識(shí)別難度較小且干擾少,容易分類(lèi)。識(shí)別打電話圖像的準(zhǔn)確數(shù)為1 001 張,識(shí)別正確率為89.2%,識(shí)別率較低,其原因是打手機(jī)與摸臉、整理頭發(fā)等動(dòng)作相似,存在一些誤檢的情況。
該文針對(duì)駕駛員疲勞檢測(cè)提出了一種基于CNN-LSTM模型的紅外圖像檢測(cè)方法,通過(guò)分析眼動(dòng)和嘴巴狀態(tài)來(lái)判別駕駛員的疲勞程度,該方法識(shí)別的狀態(tài)包括閉眼、打哈欠和打手機(jī)等行為。該文研究重點(diǎn)利用CNN 網(wǎng)絡(luò)提取駕駛員面部特征,并通過(guò)LSTM 網(wǎng)絡(luò)來(lái)推斷實(shí)際車(chē)輛運(yùn)行環(huán)境下駕駛員疲勞狀態(tài)的關(guān)鍵問(wèn)題。大量真實(shí)駕車(chē)試驗(yàn)數(shù)據(jù)驗(yàn)證了該文提出的方法具有較高的性能,并且可以進(jìn)一步應(yīng)用于實(shí)際場(chǎng)景中。然而,該方法仍面臨一個(gè)問(wèn)題,即對(duì)打手機(jī)動(dòng)作的識(shí)別率較低。為了解決這一問(wèn)題,需要采集更多樣本數(shù)據(jù),并對(duì)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化。