陳小強(qiáng),熊 燁,王 英,陳思彤
(1.蘭州交通大學(xué) 自動(dòng)化與電氣工程學(xué)院,甘肅 蘭州 730070;2.光電技術(shù)與智能控制教育部重點(diǎn)實(shí)驗(yàn)室,甘肅 蘭州 730070)
隨著我國(guó)鐵路的發(fā)展,列車(chē)司機(jī)作業(yè)由傳統(tǒng)的列車(chē)操控,轉(zhuǎn)變?yōu)榱熊?chē)實(shí)時(shí)運(yùn)行信息的長(zhǎng)時(shí)間監(jiān)控[1]。由于列車(chē)運(yùn)行時(shí)間長(zhǎng)且路況復(fù)雜的特點(diǎn),列車(chē)司機(jī)的工作量日益加大,疲勞駕駛的可能性也日益增大。因此,實(shí)時(shí)檢測(cè)出列車(chē)司機(jī)疲勞程度并預(yù)警,對(duì)保證列車(chē)的安全運(yùn)營(yíng)有重大意義。但我國(guó)鐵路現(xiàn)有線(xiàn)路上機(jī)車(chē)車(chē)載行車(chē)安全裝置主要是依靠司機(jī)一段時(shí)間后重復(fù)按無(wú)人警惕鍵來(lái)確定列車(chē)處于正常駕駛狀態(tài),大部分機(jī)車(chē)所配備的能夠反映司機(jī)駕駛疲勞的車(chē)載裝置也僅用于事后分析機(jī)車(chē)狀態(tài)數(shù)據(jù)和司機(jī)操作數(shù)據(jù)的機(jī)車(chē)運(yùn)行監(jiān)控記錄儀,基本不具備駕駛過(guò)程中的在線(xiàn)監(jiān)測(cè)功能。
目前國(guó)內(nèi)外對(duì)疲勞檢測(cè)的研究多是從面部表現(xiàn)、人體生理指標(biāo)、駕駛行為出發(fā)[2]。面部表現(xiàn)以其操作簡(jiǎn)單、成本低、無(wú)需穿戴特殊設(shè)備的優(yōu)點(diǎn)成為近年來(lái)的研究熱點(diǎn)。
面部表現(xiàn)可大致分為基于眼睛、嘴巴、多面部特征融合三種。
在眼睛特征中,文獻(xiàn)[3]利用眼睛開(kāi)合度計(jì)算單位時(shí)間內(nèi)閉眼百分比判斷司機(jī)是否疲勞。文獻(xiàn)[4]構(gòu)建雙流雙向卷積神經(jīng)網(wǎng)絡(luò)(BCNN)利用雙目一致性進(jìn)行信息交互以檢測(cè)眼睛凝視方式,并提出基于瞳孔距離的人眼遮擋機(jī)制(ESM),以消除側(cè)臉檢測(cè)時(shí)遮擋人眼帶來(lái)的疲勞檢測(cè)誤差。文獻(xiàn)[5]分析疲勞前后人眼瞳孔直徑大小隨時(shí)間的波動(dòng)的情況,司機(jī)清醒狀態(tài)時(shí)以低波幅、快頻率為主;相反,疲勞狀態(tài)時(shí),波形的變化幅度很大,振動(dòng)頻率中存在明顯的低頻慢波。文獻(xiàn)[6]通過(guò)頭部姿態(tài)估計(jì),建立眼睛逆投影開(kāi)合度和真實(shí)開(kāi)合度的變換關(guān)系,修正了凝視方向?qū)ρ劬﹂_(kāi)合度檢測(cè)的影響。文獻(xiàn)[7]通過(guò)人眼在臉部的位置來(lái)跟蹤人眼區(qū)域,定位虹膜中心計(jì)算眼動(dòng)速率實(shí)時(shí)檢測(cè)疲勞。文獻(xiàn)[8]提出一種基于PCA/ICA的迭代補(bǔ)償算法摘除眼鏡以檢測(cè)疲勞。文獻(xiàn)[9]提出一種動(dòng)態(tài)滑動(dòng)窗口算法以睜閉眼的最佳閾值來(lái)檢測(cè)疲勞。文獻(xiàn)[10]利用眨眼頻率、PERCLOS、注視方向和注視時(shí)間等眼睛特征分析了各自的最優(yōu)時(shí)窗,針對(duì)不同眼睛特征最優(yōu)時(shí)窗差異,提出了滑移時(shí)窗的數(shù)據(jù)融合方法以檢測(cè)司機(jī)疲勞。文獻(xiàn)[11]設(shè)計(jì)一種基于模糊綜合評(píng)價(jià)算法,通過(guò)眼部高寬比,瞳孔黑色素占比,眼部擬合的橢圓面積三個(gè)評(píng)價(jià)因素判斷眼睛開(kāi)閉狀態(tài)來(lái)檢測(cè)疲勞。文獻(xiàn)[12]提出一種利用深度殘差卷積神經(jīng)網(wǎng)絡(luò)對(duì)不同光照條件下的睜眼和閉眼圖像進(jìn)行分類(lèi)的方法,以消除光照變化對(duì)疲勞檢測(cè)的影響。文獻(xiàn)[13] 通過(guò)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)得到人眼的6個(gè)特征點(diǎn)識(shí)別人眼狀態(tài)并檢測(cè)疲勞。
在嘴巴特征中,文獻(xiàn)[14]通過(guò)Hough變換定位駕駛員嘴部的特征實(shí)現(xiàn)疲勞預(yù)警。文獻(xiàn)[15]使用Fisher分類(lèi)器提取嘴巴的形狀,將其幾何特征作為特征值構(gòu)成特征向量輸入BP網(wǎng)絡(luò)中,以區(qū)別司機(jī)在正常、說(shuō)話(huà)、瞌睡時(shí)的嘴巴狀態(tài)。
在多面部特征融合中,對(duì)特征信息的融合算法多是模糊邏輯融合方法和貝葉斯分類(lèi),文獻(xiàn)[16]將PERCLOS、閉眼時(shí)間、眨眼頻率、點(diǎn)頭頻率等輸入模糊推理系統(tǒng)進(jìn)行疲勞檢測(cè)。文獻(xiàn)[17]通過(guò)自適應(yīng)神經(jīng)模糊推理系統(tǒng)判斷駕駛員的疲勞程度。文獻(xiàn)[18-19]通過(guò)貝葉斯算法對(duì)多個(gè)面部特征進(jìn)行融合判斷司機(jī)是否疲勞。文獻(xiàn)[20]分別將眼睛嘴巴圖像構(gòu)建識(shí)別網(wǎng)絡(luò),對(duì)采集到的眼睛嘴巴狀態(tài)進(jìn)行融合并建立疲勞特征判斷模型,提高了因司機(jī)頭部?jī)A斜、偏轉(zhuǎn)時(shí)疲勞檢測(cè)的準(zhǔn)確率。此外,文獻(xiàn)[21]利用LBP、Gabor、HOG 三種特征測(cè)度矩陣,采用多模態(tài)特征的距離測(cè)度學(xué)習(xí)算法從司機(jī)面部表情判斷是否疲勞。文獻(xiàn)[22]從疲勞表情機(jī)理和經(jīng)驗(yàn)獲取司機(jī)疲勞時(shí)的表情特征,將特征量化得到疲勞表情指標(biāo)作為判據(jù)。文獻(xiàn)[23]利用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的面部特征替代傳統(tǒng)預(yù)先定義的面部特征,使用softmax層將特征分為疲勞與非疲勞兩類(lèi),判斷司機(jī)疲勞狀態(tài)。文獻(xiàn)[24]通過(guò)采集到的司機(jī)面部圖像建立其特征空間,與疲勞訓(xùn)練樣本進(jìn)行比較,判斷司機(jī)是否疲勞。
本文提出一種面部多特征融合方法,根據(jù)K-means++算法得出不同司機(jī)人眼自適應(yīng)閾值,利用相鄰兩幀瞳孔和內(nèi)眼角的特征點(diǎn)位置的差值實(shí)現(xiàn)眼動(dòng)跟蹤,計(jì)算出眼動(dòng)速率,通過(guò)模糊推理系統(tǒng)將眼睛開(kāi)合度、嘴巴開(kāi)合度、眼動(dòng)速率三個(gè)判斷指標(biāo)相結(jié)合進(jìn)行疲勞檢測(cè)。該方法不僅能在一定程度上解決因個(gè)體面部特征差異導(dǎo)致固定閾值無(wú)法適用于每位司機(jī)以及面部特征判斷指標(biāo)單一的情況,還考慮前后幀圖像的相關(guān)性,提高了駕駛員疲勞檢測(cè)的可靠性。
疲勞檢測(cè)方法流程見(jiàn)圖1,輸入采集到的司機(jī)人臉圖像進(jìn)行特征點(diǎn)定位,提取和計(jì)算疲勞檢測(cè)相關(guān)面部特征,并定位到瞳孔和內(nèi)眼角計(jì)算得到眼動(dòng)速率。通過(guò)眼睛開(kāi)合度判斷眼睛開(kāi)閉,用嘴巴開(kāi)合度判斷駕駛員是否打哈欠,用眼動(dòng)速率判斷眼球運(yùn)動(dòng)是否變得遲緩。將眼睛開(kāi)合度、嘴巴開(kāi)合度、眼動(dòng)速率作為模糊控制系統(tǒng)的輸入,根據(jù)設(shè)計(jì)的規(guī)則庫(kù)進(jìn)行推理,得到的模糊量為疲勞狀態(tài),將輸出的疲勞程度值輸入到疲勞判定模塊,輸出值即為列車(chē)駕駛員的疲勞狀態(tài)從而實(shí)現(xiàn)疲勞檢測(cè)。
圖1 疲勞檢測(cè)方法流程
為了提高疲勞檢測(cè)方法對(duì)光照條件變化的適應(yīng)能力,使用基于HOG特征檢測(cè)人臉區(qū)域,在人臉區(qū)域運(yùn)用ERT算法定位人臉特征點(diǎn),從而計(jì)算出用于檢測(cè)疲勞的各個(gè)判斷指標(biāo)。
HOG特征的基本思想是利用梯度信息很好地反映圖像目標(biāo)的邊緣信息,并通過(guò)局部梯度的大小將圖像局部的外觀和形狀特征化[25]。具體流程見(jiàn)圖2。
圖2 人臉檢測(cè)流程
ERT(Ensemble of Regression Trees)法是2014年由Vahid Kazemi 和Josephine Sullivan提出的人臉對(duì)齊算法[26]。此算法通過(guò)建立一個(gè)級(jí)聯(lián)的殘差回歸樹(shù)GBDT(Gradient Boosting Decision Tree)來(lái)使人臉形狀從當(dāng)前形狀一步一步回歸到真實(shí)形狀,即每級(jí)回歸器學(xué)習(xí)的都是當(dāng)前初始形狀與真實(shí)形狀的殘差。當(dāng)輸入落到一個(gè)節(jié)點(diǎn)上時(shí),就將殘差加到該輸入上,起到回歸的目的,最終將所有殘差疊加在一起,完成人臉對(duì)齊的目的。具體步驟如下:
Step1給定訓(xùn)練樣本。有訓(xùn)練數(shù)據(jù)集(I1,S1),…,(In,Sn),其中Ii為圖像,Si為人臉特征點(diǎn)的位置,數(shù)據(jù)組織形式可以表示為
( 1 )
式中:N=nR,n為圖片數(shù),R為初始化倍數(shù);i=1,…,N;πi∈{1,…,n},π為滿(mǎn)映射,πi(i=1,2,…,n)為第1到第n張圖片的滿(mǎn)映射,即圖像中所有的人臉信息。
Step2初始化:
( 2 )
式中:ρ為面部特征的坐標(biāo)位置的個(gè)數(shù);γ為標(biāo)準(zhǔn)人臉信息。
( 3 )
Step4更新回歸器:學(xué)習(xí)率0<υ<1
( 4 )
( 5 )
Step5更新位置:
( 6 )
( 7 )
圖3 人臉識(shí)別與特征點(diǎn)定位效果
常用的瞳孔定位方法有灰度投影法、模板匹配法、Hough變換法、統(tǒng)計(jì)學(xué)習(xí)法等。考慮疲勞檢測(cè)的實(shí)時(shí)性以及駕駛員與攝像頭存在一定距離,所提供的像素信息較少,使用灰度投影法實(shí)現(xiàn)瞳孔定位,但該方法不適用于整張臉中檢測(cè)人眼,由此利用ERT算法定位得到的人眼特征點(diǎn)外接的一個(gè)最小矩形框中使用積分投影函數(shù)對(duì)人眼進(jìn)行定位,即
( 8 )
( 9 )
式中:I(x,y)表示圖像在(x,y)處的灰度值,[xn,xm]和[yn,ym]分別表示圖像在水平和垂直的邊界。
在不同區(qū)域的邊界,即當(dāng)圖像的某一列與其前一列或某一行與其前一行相比,發(fā)生了較大變化,通過(guò)積分得到極大或極小值是人眼的邊界位置,在得到的人眼區(qū)域?qū)⒒叶热搜蹐D分別進(jìn)行水平和垂直方向上的疊加,取疊加后數(shù)值最小的部分即為瞳孔的位置。人臉在不同狀態(tài)下的瞳孔定位效果見(jiàn)圖4。
圖4 不同情況下的瞳孔定位效果
當(dāng)人處于疲勞狀態(tài)時(shí),眼球運(yùn)動(dòng)速率會(huì)大幅降低。通過(guò)瞳孔定位,采用幀差分法計(jì)算相鄰兩幀圖像瞳孔與內(nèi)眼角的距離差值L除以處理這兩幀圖像所用時(shí)間t從而得到眼動(dòng)速率v[25],見(jiàn)圖5。
圖5 相鄰兩幀的眼睛狀態(tài)
(10)
(11)
L=|L1-L2|
(12)
(13)
PERCLOS(Percentage of Eyelid Closure Over the Pupil Over Time)是目前國(guó)際上公認(rèn)的最有效的疲勞檢測(cè)算法,它表示一定時(shí)間內(nèi)人眼閉合時(shí)間占總時(shí)間的比例,有EM、P70、P80三種判斷標(biāo)準(zhǔn),其中P80效果最好,因此采用眼睛閉合80%代表眼睛處于閉合狀態(tài)。眼睛的開(kāi)閉狀態(tài)通常情況下是采用眼部高寬比r來(lái)判斷的,圖6為眼部高寬比,即
圖6 眼部高寬比
(14)
式中:h和w分別為眼睛的高度和寬度。
當(dāng)人處于疲勞狀態(tài)時(shí)會(huì)打哈欠,判斷嘴巴開(kāi)閉狀態(tài)也是疲勞的評(píng)價(jià)因素之一。將嘴巴高寬比k作為判斷嘴巴開(kāi)閉的依據(jù)(圖7),即
圖7 嘴巴高寬比
(15)
式中:m和n分別表示為嘴巴的高度和寬度。
眼睛是判斷是否疲勞最明顯的特征,但司機(jī)的眼睛大小及形態(tài)個(gè)體差異明顯,固定閾值可能并不適用于判斷每位列車(chē)司機(jī)眼睛開(kāi)閉狀態(tài),針對(duì)這個(gè)現(xiàn)象,本文提出基于K-means++法的人眼自適應(yīng)閾值法,相較于傳統(tǒng)的K-means法,K-means++法優(yōu)化了初始中心的選擇,使聚類(lèi)結(jié)果更可靠,收斂速度更快,更滿(mǎn)足實(shí)時(shí)檢測(cè)要求[27]。使用當(dāng)值列車(chē)司機(jī)眼睛開(kāi)合度r的數(shù)據(jù)制定其自適應(yīng)閾值。通過(guò)K-means++法將疲勞周期內(nèi)的眼睛開(kāi)合度聚類(lèi)為兩類(lèi),得到兩個(gè)聚類(lèi)中心r1、r2,先判斷r1與r2的距離,若距離小于0.03,說(shuō)明聚類(lèi)效果不明顯,這個(gè)周期內(nèi)眼睛都屬于同一狀態(tài),這時(shí)用絕對(duì)閾值0.2判斷眼睛開(kāi)閉狀態(tài),若小于絕對(duì)閾值,則為閉眼,反之為睜眼,下一個(gè)周期繼續(xù)進(jìn)行聚類(lèi)直到成功聚類(lèi)為兩類(lèi)。若距離較遠(yuǎn),將眼睛開(kāi)合度分為兩類(lèi),較小的一類(lèi)為閉眼狀態(tài),較大的一類(lèi)為睜眼狀態(tài),得到人眼自適應(yīng)閾值。計(jì)算每個(gè)眼睛開(kāi)合度到兩個(gè)聚類(lèi)中心r1和r2的距離,距離哪個(gè)聚類(lèi)中心更近,眼睛就屬于哪個(gè)狀態(tài),人眼自適應(yīng)閾值法具體流程見(jiàn)圖8。
圖8 人眼自適應(yīng)閾值法具體流程
為證明本算法的可行性,選用5名眼睛大小形態(tài)不同的志愿者分別在正常和疲勞狀態(tài)下的眼睛開(kāi)合度用K-means++法進(jìn)行聚類(lèi),得到的聚類(lèi)中心如表1所示,可以看出在正常狀態(tài)下,眼睛開(kāi)合度聚類(lèi)效果不明顯,在疲勞狀態(tài)下,眼睛開(kāi)合度聚類(lèi)效果良好,滿(mǎn)足實(shí)際要求。同時(shí),每名志愿者的眼睛開(kāi)合度聚類(lèi)中心不盡相同,說(shuō)明閾值的選取具有自適應(yīng)能力。
表1 眼睛開(kāi)合度在不同狀態(tài)下的聚類(lèi)中心
為進(jìn)一步區(qū)別列車(chē)司機(jī)打哈欠與其他張嘴行為,使用YawDD公用數(shù)據(jù)集自行檢測(cè)了32名志愿者在嘴巴自然狀態(tài)、說(shuō)話(huà)以及打哈欠狀態(tài)下的48 557個(gè)嘴巴開(kāi)合度數(shù)據(jù),通過(guò)K-means聚類(lèi)將其分3類(lèi),聚類(lèi)結(jié)果見(jiàn)圖9,相同顏色的點(diǎn)為同一類(lèi),三類(lèi)邊界分別為[0,0.109],[0.11,0.324],[0.325,0.875],分別對(duì)應(yīng)嘴巴在自然狀態(tài)、說(shuō)話(huà)以及打哈欠狀態(tài)下的嘴巴開(kāi)合度區(qū)間,由此將判斷打哈欠的閾值設(shè)為0.325用以區(qū)分其他張嘴方式。
圖9 嘴巴開(kāi)合度聚類(lèi)結(jié)果
在提取到眼睛、嘴巴特征以及計(jì)算出眼動(dòng)速率的基礎(chǔ)上,將眼睛開(kāi)合度、嘴巴開(kāi)合度、眼動(dòng)速率三個(gè)判斷指標(biāo)作為輸入變量經(jīng)過(guò)設(shè)計(jì)的模糊控制系統(tǒng)來(lái)確定駕駛員的疲勞程度,其中眼動(dòng)速率還沒(méi)有統(tǒng)一標(biāo)準(zhǔn),采用室內(nèi)環(huán)境下均勻光照拍攝人清醒狀態(tài)下的視頻求取其1 800幀眼動(dòng)速率平均值作為眼動(dòng)速率標(biāo)準(zhǔn)值。根據(jù)司機(jī)產(chǎn)生疲勞駕駛現(xiàn)象和形成機(jī)制的先驗(yàn)知識(shí)制定規(guī)則,疲勞等級(jí)分為不疲勞、輕度疲勞、中度疲勞、重度疲勞。斯坦福睡意表表明,疲勞的產(chǎn)生是一個(gè)隨時(shí)間漸變的過(guò)程,司機(jī)從亢奮到沉睡之間存在著注意力處于高水平但不在峰值以及雖反應(yīng)時(shí)間較之前慢但可以對(duì)外界做出反應(yīng)等能安全駕駛的狀態(tài),采用疲勞分級(jí)不僅能反映出這些狀態(tài),還能提醒司機(jī)潛在的駕駛風(fēng)險(xiǎn),使檢測(cè)更加靈敏,提高駕駛安全性,模糊控制過(guò)程見(jiàn)圖10。
圖10 模糊控制過(guò)程
根據(jù)第4節(jié)疲勞特征相關(guān)閾值的選取,眼睛狀態(tài)的模糊集為{睜開(kāi),閉合},論域?yàn)閇0,1],值得注意的是判斷眼睛狀態(tài)采用自適應(yīng)閾值,不同閾值情況下,隸屬度函數(shù)也會(huì)不同,此處取表1中志愿2的眼睛開(kāi)合度數(shù)據(jù),其隸屬度函數(shù)為
(15)
嘴巴狀態(tài)的模糊集為{張開(kāi),閉合},論域?yàn)閇0,1],其隸屬度函數(shù)為
(16)
眼動(dòng)速率快慢的模糊集為{快,慢},論域?yàn)閇0,4],其隸屬度函數(shù)為
(17)
由模糊推理得到的模糊輸出值為疲勞程度,其模糊集為{不疲勞,輕度疲勞,中度疲勞,重度疲勞},論域?yàn)閇0,1],根據(jù)疲勞區(qū)間的劃分,輸出隸屬度函數(shù)為
(18)
制定的模糊控制規(guī)則如表2所示。
表2 模糊控制規(guī)則
考慮檢測(cè)的準(zhǔn)確性和靈活性,選用的檢測(cè)周期太短容易捕捉不到疲勞特征的變化過(guò)程,選用的檢測(cè)周期太長(zhǎng)會(huì)導(dǎo)致檢測(cè)系統(tǒng)不夠靈敏,取每50幀為一個(gè)檢測(cè)周期,單位周期內(nèi)占比最高的疲勞等級(jí)為當(dāng)前周期的疲勞等級(jí)。
由于列車(chē)司機(jī)疲勞駕駛?cè)鄙俟驳臄?shù)據(jù)集,采用在室內(nèi)環(huán)境下均勻光照自行拍攝視頻。實(shí)驗(yàn)分四部分進(jìn)行,第一部分分別檢測(cè)司機(jī)正常狀態(tài)和逐漸進(jìn)入疲勞狀態(tài)下的疲勞等級(jí);第二部分是司機(jī)逐漸進(jìn)入疲勞狀態(tài)下對(duì)比本文方法與單一判斷指標(biāo)眼睛開(kāi)合度以及眼動(dòng)速率的疲勞等級(jí);第三部分是司機(jī)逐漸進(jìn)入疲勞狀態(tài)下對(duì)比本文方法與PERCLOS法的檢測(cè)結(jié)果;第四部分檢測(cè)本文方法的準(zhǔn)確性。
圖11給出了駕駛員在正常狀態(tài)下的檢測(cè)結(jié)果,疲勞等級(jí)大多穩(wěn)定分布在0.166~0.5之間,檢測(cè)到的疲勞等級(jí)大多都是不疲勞或輕度疲勞,但由于駕駛員眨眼,導(dǎo)致在58~66幀、114~126幀、154~168幀以及203~215幀疲勞等級(jí)曲線(xiàn)出現(xiàn)峰值,275幀以后是因?yàn)轳{駛員說(shuō)話(huà)或大笑導(dǎo)致疲勞等級(jí)曲線(xiàn)出現(xiàn)波動(dòng),實(shí)驗(yàn)結(jié)果符合駕駛員實(shí)際狀態(tài),且能捕捉到駕駛員眨眼以及說(shuō)話(huà)的行為。
圖11 正常狀態(tài)下檢測(cè)結(jié)果
圖12給出了駕駛員逐漸進(jìn)入疲勞狀態(tài)的檢測(cè)結(jié)果,疲勞等級(jí)曲線(xiàn)在1~25幀時(shí)大多處在0.16~0.5之間,檢測(cè)到的疲勞等級(jí)都為不疲勞或輕度疲勞,26~36幀疲勞等級(jí)曲線(xiàn)出現(xiàn)突變是由于眨眼所致,47~160幀疲勞等級(jí)的值在0.52~0.8之間波動(dòng),檢測(cè)到的疲勞等級(jí)大多為中度疲勞或重度疲勞,表明駕駛員處于打瞌睡狀態(tài),168~204幀疲勞等級(jí)的值穩(wěn)定在0.85左右,表明駕駛員處于重度疲勞狀態(tài),210~234幀眼睛短暫睜開(kāi)后,疲勞曲線(xiàn)出現(xiàn)波動(dòng),之后駕駛員逐漸入睡,疲勞等級(jí)的值又穩(wěn)定在0.85左右,表明駕駛員進(jìn)入睡眠狀態(tài)。實(shí)驗(yàn)結(jié)果符合駕駛員實(shí)際狀態(tài),且能正確實(shí)現(xiàn)不疲勞、輕度疲勞、中度疲勞以及重度疲勞這四個(gè)疲勞分級(jí)。
圖12 逐漸進(jìn)入疲勞狀態(tài)的檢測(cè)結(jié)果
圖13中,考慮駕駛過(guò)程中駕駛員可能出現(xiàn)睜眼但可能很快又陷入疲勞的情況,如139~160幀時(shí)眼睛開(kāi)合度的疲勞等級(jí)曲線(xiàn)降低到0.24左右,但實(shí)際上并未真正清醒,僅僅使用眼睛開(kāi)合度來(lái)判斷容易造成誤判。而這段時(shí)間內(nèi)眼動(dòng)速率疲勞等級(jí)曲線(xiàn)在0.5~0.82之間,本文方法融合了眼動(dòng)跟蹤,結(jié)合眼動(dòng)速率與眼睛開(kāi)合度協(xié)同判斷眼睛狀態(tài),本文方法的疲勞曲線(xiàn)的值在兩者中間,起到了修正的作用。
圖13 單一參數(shù)檢測(cè)方法與本文方法檢測(cè)結(jié)果對(duì)比
此外,可以看出本文方法與單一參數(shù)眼睛開(kāi)合度以及眼動(dòng)速率的疲勞等級(jí)曲線(xiàn)存在一定差異,這是由于駕駛員逐漸進(jìn)入疲勞的狀態(tài)變化過(guò)程中,嘴巴特征變化明顯,僅僅用眼睛特征來(lái)檢測(cè)疲勞不夠準(zhǔn)確。如0~24幀時(shí)駕駛員清醒狀態(tài)嘴巴完全閉合,本文方法疲勞曲線(xiàn)的值較低,更能反映駕駛員不疲勞的狀態(tài)。65~124幀是嘴巴開(kāi)合度較大,本文方法疲勞曲線(xiàn)的值較高,判斷出駕駛員處于中或重度疲勞狀態(tài),而用單一特征眼睛開(kāi)合度與眼動(dòng)跟蹤方法僅考慮眼睛特征,在眼睛還未完全閉合時(shí)疲勞等級(jí)曲線(xiàn)較本文方法更低,顯然不夠準(zhǔn)確。本文方法將多個(gè)判斷指標(biāo)相融合,使準(zhǔn)確率得到提高。
兩種方法的對(duì)比結(jié)果如表3所示,PERCLOS法由于本身限制只能識(shí)別疲勞與不疲勞,且兩者的檢測(cè)結(jié)果也有一定差異,本文方法將PERCLOS法、眼動(dòng)跟蹤的判斷指標(biāo)相融合,不僅僅實(shí)現(xiàn)了疲勞分級(jí),在檢測(cè)能力上也更強(qiáng)。
表3 逐漸進(jìn)入疲勞狀態(tài)檢測(cè)結(jié)果對(duì)比
如表4所示,采集5名測(cè)試人員從清醒到疲勞反復(fù)的視頻進(jìn)行測(cè)試,分別統(tǒng)計(jì)出被測(cè)視頻的準(zhǔn)確率,漏檢主要是由于頭部偏轉(zhuǎn)角度過(guò)大未識(shí)別出人臉,誤檢則主要是由疲勞特征變化較大時(shí),人臉特征點(diǎn)定位不準(zhǔn)確造成的,得到的平均準(zhǔn)確率為95.04%。
表4 本文方法性能測(cè)試
實(shí)時(shí)性是疲勞檢測(cè)的一個(gè)重要指標(biāo),根據(jù)人的視覺(jué)暫態(tài)理論分析,檢測(cè)系統(tǒng)的處理速度在每秒20幀以上時(shí)能達(dá)到視頻流效果,即50 ms/f及以上的處理速度可達(dá)到實(shí)時(shí)檢測(cè)要求。
對(duì)采集的5段視頻中每幀各個(gè)模塊耗時(shí)進(jìn)行統(tǒng)計(jì),其中特征點(diǎn)定位還包括人眼及瞳孔定位,如表5所示,總耗時(shí)平均為36.6 ms。此外,基于K-means++法的人眼自適應(yīng)閾值法是以疲勞周期進(jìn)行聚類(lèi)的,而何時(shí)找到自適應(yīng)閾值也是根據(jù)人眼開(kāi)合度聚類(lèi)情況而定,并未統(tǒng)計(jì)在每幀耗時(shí)的模塊里。但K-means++法本身運(yùn)算速度極快,一個(gè)疲勞周期內(nèi)的聚類(lèi)時(shí)間只需不到1 ms,所以并不影響實(shí)時(shí)性。綜上兩部分,滿(mǎn)足要求。
表5 各模塊耗時(shí)測(cè)試結(jié)果
如表6所示,本文方法準(zhǔn)確率較文獻(xiàn)[17]和文獻(xiàn)[19]更高,具有良好的性能。
表6 疲勞檢測(cè)準(zhǔn)確率對(duì)比
綜上所述,通過(guò)模糊推理系統(tǒng)融合了眼動(dòng)速率、眼睛開(kāi)合度以及嘴巴開(kāi)合度這三個(gè)判斷指標(biāo),不僅修正了駕駛員短暫轉(zhuǎn)醒但很快又陷入疲勞導(dǎo)致誤判的情況,還解決了單一判斷指標(biāo)導(dǎo)致疲勞檢測(cè)靈敏度不高的情況,準(zhǔn)確率可達(dá)到95%。
本文引入眼動(dòng)速率將其通過(guò)模糊推理系統(tǒng)與眼睛和嘴巴疲勞檢測(cè)相關(guān)面部特征相融合,不僅在一定程度上修正了駕駛員短暫睜眼而非真正清醒造成誤判的情況,還考慮了圖像前后幀的相關(guān)性代替了傳統(tǒng)方法僅使用單幅圖像面部特征檢測(cè)疲勞,提出了基于K-means++的人眼自適應(yīng)閾值法,得到自適應(yīng)閾值,解決了因不同司機(jī)面部特征差異而導(dǎo)致固定閾值無(wú)法適用于每位司機(jī)的問(wèn)題。實(shí)驗(yàn)結(jié)果表明,本文方法檢測(cè)準(zhǔn)確率達(dá)到95%。
由于本文在室內(nèi)均勻光照下進(jìn)行檢測(cè)的,下一步考慮減少光照條件對(duì)檢測(cè)的影響以提高疲勞檢測(cè)系統(tǒng)的魯棒性。