基于3G視頻的駕駛員疲勞狀態(tài)檢測方法
掃描二維碼
隨時隨地手機看文章
摘要 疲勞駕駛已成為交通事故發(fā)生的主要原因之一。文中提出了一種基于3G視頻的人眼疲勞檢測方法。通過DirectShow技術(shù)對視頻流抓取視頻幀,采用膚色聚性特征進(jìn)行人臉定位,基于灰度信息進(jìn)行人眼定位與追蹤,并采用Perclos方法進(jìn)行疲勞判斷。通過此方法,可以及時了解駕駛者的疲勞狀態(tài),有效預(yù)防疲勞駕駛。
關(guān)鍵詞 3G視頻;車輛監(jiān)控;疲勞檢測
疲勞駕駛是司機在駕車過程中介于意識清醒和進(jìn)人睡眠的一種非正常狀態(tài),是導(dǎo)致交通事故的主要原因之一。由于車輛流動性強、任務(wù)區(qū)域廣、安全隱患多、風(fēng)險責(zé)任大,并缺乏科學(xué)有效的監(jiān)管手段,近年來疲勞駕駛所造成的車輛事故時有發(fā)生。通過3G視頻監(jiān)控系統(tǒng)對駕駛員面部狀態(tài)的實時監(jiān)控,一旦發(fā)現(xiàn)駕駛員眼睛疲勞狀態(tài)立即進(jìn)行報警,能有效減少駕駛員疲勞所造成的交通事故,解決車輛管理中“看不見、聽不著、控不了”的難題。
基于3C視頻的疲勞檢測主要包括視頻流解壓抓幀、人臉定位、人眼定位追蹤和疲勞判斷4個部分。文中提出一種基于膚色檢測及灰度信息的疲勞檢測算法,能有效用于3G車輛視頻監(jiān)控系統(tǒng)。
1 視頻采集及預(yù)處理
文中使用車輛內(nèi)部的3G視頻監(jiān)控裝置來進(jìn)行視頻采集,位于駕駛員頭頂正面上方,拍攝在駕駛過程中多種光照環(huán)境下、不同姿勢和精神狀態(tài)的駕駛員視頻。
視頻預(yù)處理主要采用DirectShow技術(shù)進(jìn)行視頻流解壓抓幀。利用DirectShow的媒體監(jiān)測器對象(Media Detector Object),將拍攝到的駕駛員視頻文件進(jìn)行視頻流解壓縮,實時在線地從視頻流中提取指定的幀視頻圖像,并為后續(xù)的駕駛員眼睛狀態(tài)檢測提供位圖數(shù)據(jù)。
媒體監(jiān)測器不僅能獲取媒體源文件的格式信息,也可以通過捕獲過濾器從一個媒體文件的視頻流中捕獲一幅位圖圖像,通常獲得的位圖是24位RGB格式。通過搜索媒體文件,媒體監(jiān)測器可以獲得這個文件中任意點的圖像。應(yīng)用程序通過調(diào)用IMediaDet接口與Media Detector進(jìn)行交互。接口包含了一些方法能夠從媒體源文件中提取重要信息,比如媒體類型、幀速率甚至是視頻流的單個幀。媒體監(jiān)測器將過濾器視圖封裝到對象中,從而使應(yīng)用程序屏蔽掉與視圖相關(guān)的一些細(xì)節(jié)。
在疲勞檢測中,用得到的第一幅圖像檢測人臉和眼睛,如若失敗則從下一幅圖像檢測直至成功,并將得到的眼睛圖像作為動態(tài)模板對以后的序列進(jìn)行眼睛追蹤,若失敗則重新定位人眼。
2 基于膚色檢測的人臉定位
膚色是人臉最為顯著特征之一,對于彩色圖像,膚色是圖像中相對集中、穩(wěn)定區(qū)域。膚色信息可將人臉和背景區(qū)域分開。研究表明,在除去亮度的色度空間中,不同人臉膚色分布具有聚類性。所以膚色的差異主要取決于色彩信息,而非亮度信息?;谀w色檢測方法利用人的膚色中Cr和Cb的聚類特性,在YCbCr色彩空間中檢測圖像中是否存在人臉。這種算法檢測速度快,并且受人臉旋轉(zhuǎn)或側(cè)轉(zhuǎn)的影響較小。
膚色分割可以采用的色彩空間有很多種。其中YCbCr色彩空間具有與人類視覺感知過程類似的構(gòu)成機理,能很好地反映膚色分布,并反映出膚色聚類特性。YCbCr模型與RGB模型的變換公式如下
通過對人臉數(shù)據(jù)庫中和人臉視頻圖像中黃種人人臉膚色點的采樣進(jìn)行分析,可得到實驗環(huán)境下膚色在YCbCr空間中的聚類,用數(shù)學(xué)表達(dá)式確定膚色范圍的方法進(jìn)行膚色建模??筛鶕?jù)Chai采用YCbCr顏色空間的CbCr平面,如果某像素點的顏色落入Cr=[133:173]和Cb=[77:127]范圍內(nèi),就認(rèn)為是屬于膚色像素,否則就認(rèn)為是非膚色像素。確定為膚色區(qū)域后,將其認(rèn)定的膚色區(qū)域的R、G、B值均設(shè)定為255,在圖像中顯示為白色;非膚色區(qū)域設(shè)y=R=G=B=0,即在圖像中顯示為黑色。隨后對得到的圖像采用自適應(yīng)閾值二值化。
式中,g(t)為灰度值為t的像素個數(shù);G為非零像素個數(shù)。最后利用投影技術(shù)及頭部的特點確定人臉上下和左右邊界。由于眼部處于人臉上半部分,故只需保留圖像的3/5。
3 基于灰度信息的人眼定位
眼睛區(qū)域與周圍區(qū)域相比,具有灰度值較低且灰度變化率較大的特點。因此可基于眼睛圖像的灰度信息進(jìn)行定位。
3.1 眼睛粗略定位
準(zhǔn)確定位人臉后,根據(jù)面部器官分布,人眼在臉部的上半部,可以很簡單的確定一個大概區(qū)域。觀察人臉圖片,發(fā)現(xiàn)眼部在水平方向經(jīng)過皮膚、左眼眼白、左眼瞳孔、左眼眼白、皮膚、右眼眼白、右眼瞳孔、右眼眼白、皮膚、灰度變化較大。在灰度變化突變處進(jìn)行微分,將產(chǎn)生高值,將其絕對值累加,則灰度變化越大的那一行,累積值越大。計算公式如下
f(x,y)為得到的人臉區(qū)域的灰度圖像,通過實驗發(fā)現(xiàn),在眼睛處導(dǎo)數(shù)變化值之和的絕對值最大,通過此方法可粗略判斷人眼所在線的位置。
3.2 人眼精確定位
通過觀察發(fā)現(xiàn)眼睛周圍Cb值較高,而Cr值較低,因此由式(5)計算得到特征圖,以突出眼部特征。
其中,EyeMap是眼睛特征圖,都?xì)w一化到[0,255]之間,是由Cr求反得到(255,Cr)。在得到EyeMap圖后,設(shè)定閥值T,將EyeMap小于T的值設(shè)為0,這一步可視為一個簡單的濾波以去掉非眼部特征的干擾。
得到EyeMap濾波圖后,結(jié)合人眼粗定位結(jié)果,從左到右搜索,按比例定義相對于人臉區(qū)域一定大小的框,當(dāng)框進(jìn)EyeMap濾波圖值的和最大時,即為人眼。
3.3 眼睛的追蹤
對人眼完成定位后,還要利用動態(tài)模板匹配的方法跟蹤眼睛。設(shè)眼睛模板左上角的位置為(x,y),下一幀的搜索范圍是原位置上沿上、下、左、右4個方向各擴展10個像素。其公式為
式中,N是模板中像索的個數(shù);M為模板;I為圖像中待匹配的部分。
可得所有大于閾值p的最大值所對應(yīng)的坐標(biāo)為最匹配的位置。以此得到的眼睛圖像作為下一幀圖像的模板。在追蹤的過程中,若得到的p均小于閾值或兩眼的行距過大則重新回到眼睛的檢測過程。
4 基于Perclos的疲勞識別
文中的疲勞識別基于Perclos的P80模型,即將閉合程度大于80%的眼睛狀態(tài)判斷為閉合狀態(tài)。以初始時刻司機清醒時的上下眼瞼最大距離為標(biāo)準(zhǔn),若以后得到的距離小于此距離的80%則判斷為閉合。假設(shè)實驗視頻幀率10 f·s-1分辨率為640×480,時長60s。
則以每6 s視頻作為1個檢測單元,間隔0.33 s取1幀作眼睛狀態(tài)檢測。統(tǒng)計每個檢測單元內(nèi)18幀圖像的狀態(tài),得到眼睛閉合幀數(shù)CloseFr ame_Num和處理的總幀數(shù)SumFrame_Num,依據(jù)式(7)計算相應(yīng)的Perclos值。
如果所得Perclos值大于實驗確定的閾值20%,則判斷此時駕駛員可能已處于疲勞狀態(tài),通過報警系統(tǒng)進(jìn)行警告。
5 結(jié)束語
視頻監(jiān)控能對駕駛者進(jìn)行監(jiān)督提醒,有效預(yù)防疲勞駕駛,減少疲勞駕駛所引起的車輛事故。3G視頻監(jiān)控是車輛監(jiān)控發(fā)展的新趨勢。算法在3G監(jiān)控視頻幀的基礎(chǔ)上,進(jìn)行了人臉定位、人眼定位與追蹤及疲勞狀態(tài)判斷。實驗表明,該算法有較高的魯棒性及準(zhǔn)確性,并能有效應(yīng)用于實際。