劉小雙, 方志軍, 劉 翔, 高永彬, 張祥祥
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201600)
我國(guó)每年有超過(guò)20 %的交通事故是由疲勞駕駛造成的,研究一個(gè)實(shí)時(shí)準(zhǔn)確的疲勞檢測(cè)系統(tǒng),具有非常重要的意義?;谟?jì)算機(jī)視覺(jué)的疲勞檢測(cè)方法[7~9]是一種非侵入式的檢測(cè)方法,與侵入式的檢測(cè)方法[6]相比,其對(duì)駕駛員的影響更小,更安全有效。本文的疲勞檢測(cè)是在常見(jiàn)光下進(jìn)行,相比于傳統(tǒng)的紅外圖像的狀態(tài)檢測(cè)[2],屬于一種更安全的被動(dòng)方式。為了檢測(cè)眼口的狀態(tài),很多方法都依靠傳統(tǒng)的分類(lèi)器和特征,例如AdaBoost分類(lèi)器[3],以及支持向量機(jī)(support vector machine,SVM)分類(lèi)器[4],在這些方法中是否選取了適當(dāng)?shù)奶卣魇怯绊憣?shí)驗(yàn)結(jié)果的關(guān)鍵因素,本文采用深度卷積神經(jīng)網(wǎng)絡(luò)可以自適應(yīng)提取特征,有更好的表征能力。
本文使用的檢測(cè)和定位方法是Zhang K P等人[1]提出的多任務(wù)級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)(multi-task convolutional neural networks,MTCNN)的檢測(cè)定位算法。該方法主要優(yōu)點(diǎn)在于通過(guò)3個(gè)級(jí)聯(lián)網(wǎng)絡(luò)同時(shí)實(shí)現(xiàn)人臉檢測(cè)和特征點(diǎn)定位,速度快,且定位精度能夠滿(mǎn)足疲勞檢測(cè)系統(tǒng)的要求。室外駕駛光線(xiàn)變化很大,通過(guò)在面光、背光、側(cè)光3種不同光照以及不同姿勢(shì)的檢測(cè)與定位實(shí)驗(yàn),結(jié)果表明該方法能夠克服一定程度的光照影響。
為了準(zhǔn)確的提取人眼與嘴巴區(qū)域圖像,需要將檢測(cè)出的不同姿態(tài)、不同尺度大小的人臉圖像歸一化到同一位置尺度,需要進(jìn)行二維仿射變換,對(duì)定位的圖像進(jìn)行平移、縮放、旋轉(zhuǎn)等一系列變換。
(1)
矩陣的簡(jiǎn)寫(xiě)形式為U=Kh,U為平均人臉的5點(diǎn)坐標(biāo)值矩陣,K為通過(guò)人臉定位后的5點(diǎn)特征點(diǎn)坐標(biāo)矩陣,h為仿射變換矩陣,可利用最小二乘法求出線(xiàn)性方程的解為h=(KTK)-1KTU。
圖1為將檢測(cè)定位出的不同姿態(tài),不同尺度大小的人臉圖像歸一化到同一位置、同一尺寸大小的圖像,并截取固定尺寸的人眼和嘴巴區(qū)域圖像。
圖1 人臉歸一化
對(duì)歸一化后的人臉圖像,以人眼特征點(diǎn)為中心提取32×32的人眼區(qū)域,并以?xún)勺旖菫檫吔缃厝?0×50的嘴巴區(qū)域。圖2為提取結(jié)果示意。
圖2 眼口區(qū)域提取示意
本文主要通過(guò)卷積神經(jīng)網(wǎng)絡(luò)分別對(duì)人眼和嘴巴的睜閉狀態(tài)進(jìn)行識(shí)別。考慮到識(shí)別的速度與準(zhǔn)確率,本文使用了快速簡(jiǎn)單的3層網(wǎng)絡(luò)結(jié)構(gòu),使用了3個(gè)卷積層,每個(gè)卷積層連接1個(gè)池化層, Relu層用于增加非線(xiàn)性約束,為了防止過(guò)擬合,網(wǎng)絡(luò)中增加了dropout層。在眼口的狀態(tài)識(shí)別過(guò)程中,使用同一個(gè)網(wǎng)絡(luò)分別訓(xùn)練出2個(gè)模型識(shí)別眼睛與嘴巴的狀態(tài)。圖3為網(wǎng)絡(luò)結(jié)構(gòu)示意。
本文通過(guò)計(jì)算眼瞼閉合率(percentage of eyelid closure,PERCLOS)和嘴巴的動(dòng)作頻率2個(gè)參數(shù)判定駕駛員是否處于疲勞狀態(tài)。
由于在連續(xù)的圖像序列中,沒(méi)有時(shí)間刻度,但每秒讀取的圖像幀數(shù)固定,因此可由幀數(shù)代替時(shí)間刻度計(jì)算PERCLOS值,其定義為
(2)
式中nc為特定時(shí)間內(nèi)閉眼總幀數(shù),Nt為特定時(shí)間內(nèi)的總幀數(shù)。通過(guò)計(jì)算特定時(shí)間內(nèi)閉眼幀數(shù)與總幀數(shù)的比值計(jì)算PERCLOS的值,當(dāng)駕駛員的PERCLOS值比正常情況下高時(shí),可通過(guò)眼睛的狀態(tài)判斷駕駛員處于疲勞狀態(tài)。
與駕駛員不斷說(shuō)話(huà)相比,打哈欠時(shí)嘴巴張開(kāi)的持續(xù)時(shí)間較長(zhǎng),據(jù)此判斷駕駛員是在打呵欠還是在說(shuō)話(huà)。當(dāng)檢測(cè)到駕駛員在打哈欠時(shí),則認(rèn)為駕駛員可能處于疲勞狀態(tài),再根據(jù)單位時(shí)間內(nèi)打哈欠的頻率判斷疲勞程度。醫(yī)學(xué)數(shù)據(jù)顯示,正常情況下,人在打哈欠時(shí),嘴部持續(xù)張開(kāi)時(shí)間為4~5 s。由于在連續(xù)的圖像序列中,沒(méi)有時(shí)間刻度,但是每秒讀取的圖像幀數(shù)固定,因此,可以根據(jù)連續(xù)時(shí)間內(nèi)嘴巴張開(kāi)的幀數(shù)判斷是否是打哈欠,進(jìn)而得到固定時(shí)間(T)內(nèi)打哈欠的次數(shù)(n)。本文使用的嘴巴動(dòng)作頻率公式為fY=n/T。
通過(guò)檢測(cè)眼口狀態(tài),分別采用PERCLOS和嘴部動(dòng)作頻率2個(gè)參數(shù)共同判斷駕駛員的疲勞狀態(tài),即
P=w1fP+w2fY,w1+w2=1
(3)
式中P為疲勞度,w1,w2為權(quán)重。根據(jù)實(shí)驗(yàn)選取合適的權(quán)重值和疲勞度閾值,當(dāng)P大于閾值時(shí),駕駛員處于疲勞狀態(tài)。
測(cè)試采用Visual Studio 2013軟件,Win7系統(tǒng):Intel(R)Core(TM)i7—6700HQ,CPUs(3.40 GHz),內(nèi)存32 GB。
為了能夠克服一定的光照影響,增強(qiáng)網(wǎng)絡(luò)的魯棒性訓(xùn)練數(shù)據(jù)所用的人眼與嘴巴區(qū)域圖像必須采集包含不同強(qiáng)度光照的圖像。部分訓(xùn)練數(shù)據(jù)的眼口圖像如圖4所示。
圖4 不同光照下的圖像
訓(xùn)練眼口狀態(tài)識(shí)別模型后,為了測(cè)試該網(wǎng)絡(luò)模型的性能,采集了3段視頻數(shù)據(jù)(視頻總幀數(shù)分別為652,1 103,1 037),獲行相應(yīng)的睜閉眼狀態(tài)檢測(cè)和張閉嘴狀態(tài)識(shí)別準(zhǔn)確率為:95.86 %,92.94 %;95.1 %,93.11 %;96.91 %,94.12 %。
采集4段大小為320×240的視頻幀進(jìn)行實(shí)時(shí)性測(cè)試,測(cè)得獲取人眼區(qū)域(含檢測(cè)定位)、人眼狀態(tài)識(shí)別、嘴巴狀態(tài)識(shí)別、總耗時(shí)分別為:1#視頻:23.41,6.57,6.02,40.94 ms;2#視頻:24.50,7.10,6.34,42.97 ms;3#視頻:23.12,7.09,6.76,41.52 ms;4#視頻:23.42,6.51,7.08,41.17 ms??梢钥闯?,該方法的實(shí)時(shí)性較好,滿(mǎn)足實(shí)際要求。
駕駛員疲勞狀態(tài)時(shí)的PERCLOS值會(huì)比正常情況下高,同時(shí)駕駛員也可能伴隨打哈欠,通過(guò)多組實(shí)驗(yàn)分析,設(shè)定各參數(shù)閾值,在模擬駕駛環(huán)境中對(duì)4組實(shí)驗(yàn)對(duì)象進(jìn)行疲勞狀態(tài)檢測(cè),分別采用單參數(shù)和雙參數(shù)作為判斷依據(jù),權(quán)重w1=4/5,w2=1/5。從表1中第3組和第4組實(shí)驗(yàn)中可以看出雙參數(shù)的方法更可靠,能夠準(zhǔn)確實(shí)時(shí)地對(duì)駕駛員的疲勞狀態(tài)進(jìn)行檢測(cè)。
表1 疲勞狀態(tài)檢測(cè)實(shí)驗(yàn)結(jié)果
圖5為對(duì)4位駕駛員在連續(xù)時(shí)間段內(nèi)通過(guò)雙參數(shù)進(jìn)行實(shí)時(shí)疲勞檢測(cè)的結(jié)果,從圖中可以看出,3位駕駛者在疲勞狀態(tài)下的P值明顯高于正常駕駛時(shí)的值。
圖5 PERCLOS結(jié)果
圖6為疲勞檢測(cè)系統(tǒng)截取的部分幀數(shù),系統(tǒng)在進(jìn)行疲勞檢測(cè)過(guò)程中會(huì)實(shí)時(shí)進(jìn)行人臉檢測(cè)與特征點(diǎn)定位,提取眼口區(qū)域圖像進(jìn)行識(shí)別,并計(jì)算當(dāng)前幀的疲勞度P值與嘴部運(yùn)動(dòng)頻率,并實(shí)時(shí)檢測(cè)駕駛員的疲勞狀態(tài)。
圖6 疲勞檢測(cè)系統(tǒng)示意
提出一種基于眼口狀態(tài)的疲勞檢測(cè)系統(tǒng),實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)能夠滿(mǎn)足實(shí)際應(yīng)用的要求,能夠?qū)崟r(shí)準(zhǔn)確地對(duì)駕駛員的疲勞狀況進(jìn)行預(yù)測(cè)。