羅龍
(江西理工大學,江西贛州,341000)
我國每年因為疲勞駕駛發生交通事故數量有一定增長,數據顯示年交通事故發生率達到20 萬起,死亡人數達到6萬多人,疲勞駕駛所致交通事故的死亡人數為3000 人左右,占比達到4.9%左右。世界范圍內,人為因素所致交通事故占比達到85%左右,駕駛員疲勞駕駛占比較高。人們在駕駛汽車時候,并不能夠進行持續駕駛,長時間駕駛容易導致身體疲勞,進而打瞌睡,生理學家研究提出一旦睡意來襲,人們會出現5 ~10s 短暫性睡眠,雖然從表面上看駕駛員眼睛睜著,但是大腦已進入休息狀態。針對此情況,為有效減少因為駕駛員疲勞駕駛所致交通事故發生率,需要專門建構一個汽車防疲勞駕駛檢測系統[1],因此本次在STM32 智能算法的應用下,實現關于汽車防疲勞駕駛檢測系統的設計,并對其應用效果實施試驗研究。
在本次系統設計中,整體設計包括有數據采集模塊、最小主控系統、藍牙以及應用層等部分。數據采集模塊主要是對駕駛員面部特征數據實施采集,主控系統可以實現和系統芯片的實時通訊,針對所采集的數據值通過SPI 傳輸協議,直接傳輸到STM32 智能算法的MCU 主控中,MCU 在獲取原始數據后通過串口傳輸給藍牙模塊,之后將其發送到PC端應用層,以此實現關于相關數據的處理,獲取駕駛員的面部特征數據處理結果,進而實現對其狀態的評估。整體方案見圖1。

圖1 整體設計方案
在這一系統架構中,選用的是半導體的STM32 系列作為最小主控系統。當前市面上存在有較多微控制器,例如TI 的MSP 產品、51 單片機以及ST 公司的STM32 以及STM8 等,相對來講STM32 應用最為廣泛,操作最為便捷,因此本次選取這一系列。在秉承夠用即可原則下,這一系統選取的是STM32 F0 系列作為主控[2],這一單片機設置有為M0 內核,存在有32 位處理性能,也具備STM32 系列較多功能,屬于是一個微控制器,在應用中的優勢有實時性強、運算功效低以及具有一定先進性,工作頻率為48MHz,且具備豐富的I/0 口,不但可以充分發揮系統主控資源有效利用例,也能夠在應用中迅速實施傅里葉算法,對于內存以及閃存的要求不高。另外在市場上應用較為廣泛,硬件資源豐富,性價比較高。
針對圖像處理智能分析中,即為通過所獲取的圖像信息進行評估。其中數據有效性對其評估結果具有直接影響,因此需要將存在遮擋、清晰度不足的圖像進行處理[3]。防疲勞檢測系統主要是對人臉信息進行檢測,詳情見圖2,先要實施面部信息特征識別,若存在有效信息,采用相關算法對其實施智能判斷;若清晰度不足,先要再次采集相關信息,再次識別;若無法成功采集到面部信息,需要再次進行采集之后實時數據處理。

圖2 數據清理和過濾

圖3 眼睛6 點示意圖
針對所獲取的數據,可以針對駕駛員眼睛和嘴巴閉合度、閉合時間對其疲勞狀態實施判斷。在眼睛評估中分析連續20 幀內眼睛閉合情況,若出現連續幀內眼睛閉合,未睜開,也就可以發出提醒語言;若閉眼次數已經達到20 次,需要發出預警提示;若嘴巴張開尺度已經過大情況,即可以判定為疲勞。在針對眼睛特征參數分析中,主要指標包括有眼睛閉合時間百分比、閉眼持續時間最大值以及眨眼頻率[4]。其中在眼睛閉合時間百分比(PRRCLOS)中,也就是一定周期內眼睛閉合程度在某一閾值范圍之外時間占比。為簡化計算,提升計算準確性,可以在視頻幀數的應用下替代時間,也就是計算單位時間內閉眼視頻幀數在總視頻中的占比進行計算,具體計算公式為:
在以上公式中,N 為單位時間內閉眼視頻幀數,M 為單位時間內視頻總幀數。
針對閉眼持續時間最大值(MDEC)計算中,即為計算特定時間內眼睛閉合持續時間的最大值。通常在人體疲勞狀態下,會隨著疲勞程度加深而逐漸延長人體的眼睛的睜閉時間。所以,可以針對正常清醒狀態下,駕駛員正常閉眼持續時間最大值實施統計,并將其作為閾值,檢測發現某段時間內駕駛員閉眼持續時間最大值比這一閾值大,即可判定為駕駛員疲勞。具體計算公式為:
在以上公式中,Z1,Z2,...,ZN分別為某時間段內的眼睛閉合持續時間。
針對眨眼頻率(BF)計算中,即為統計1min 中的眨眼次數。在這一指標評估中,是在眼睛縱橫比(EAR)應用下實現對眼睛張開程度的評估[5],即為采用的是6 點判定法,針對每只眼睛采用6 個點表示,具體見圖2。眼部縱橫比的應用計算公式為:
在以上公式中,P1,P2...P6即為眼部特征點6 點。
嘴部特征參數提取中,是在嘴巴縱橫比(MAR)應用下實現對其張開程度的判定,結合持續時間,通常打哈欠時間在4s 以上,以此判定駕駛員是否打哈欠。
嘴部縱橫比計算方法為:
在以上公式中,M1,M...M6 為嘴部特征點。如果MAR計算結果在正常狀態下最大閾值以上,即為判定為打哈欠。
在我們日常生活中,圖像處理技術的應用較為廣泛,即為在圖像識別中,針對采集的圖像實施預處理,消除冗余信息,以能夠有效提取關鍵特征信息。
2.2.1 數據處理
系統中的數據比較多,也具備多樣性以及異構性,針對數據處理過程中需要數據具備一定實時性和準確性。所以,針對數據處理可以有效應用數據融合、數據激活、數據挖掘以及數據可視化等相關技術。因此本次設計系統檢測采集的數據中,還存在有部分視頻圖像數據,所以也需要有效應用圖像智能分析技術,進而實施視頻圖像數據處理,在分層處理過程中有效分離視頻圖像的有用信息。這一技術在應用中,主要是建立在強大數據處理功能基礎上,能夠迅速分析視頻圖像數據,且對其實施過濾冗余信息處理。自動分析以及提取視頻源中的關鍵信息,因此為駕駛員狀態評估提供有用信息[6]。例如在圖像識別技術的應用下,可以在通行數據的應用下,實現關于車輛車牌號以及品牌等信息的識別。也能夠在駕駛員駕車視頻的應用下,實現對駕駛員駕駛狀態的判斷評估。
2.2.2 圖像識別
在計算機和電子技術迅速發展應用下,計算機不但能夠實現圖像的實時處理,也能夠為圖像處理提供高效算法以及識別技術。其中識別技術的應用較為廣泛,主要是針對圖像特征,實現關于圖像的預處理,以此將圖像中的冗余信息有效消除,進而實現關于圖像中關鍵人物信息的提取。之后還能夠針對圖像樣本實施分類,以此獲取不同特征分類組,進而也就可以實現關于識別完成圖像的識別分類。
想要進一步提升檢測模塊識別率,首先要實施圖像處理。針對圖像實施預處理,可以顯著降低圖像信息中的冗余信息,最大化減少原始圖像噪聲。在這一單元建構中主要包括有照相機、掃描儀以及其他采集設備。通常圖像預處理過程中,主要為灰度化、去噪、分割等相關步驟。
2.2.3 圖像灰度級
因為彩色圖像調色板內容相對較為復雜,對于較多圖像
算法沒有足夠的處理能力,所以需要處理彩色圖像的灰度值。圖像中各個像素R、G 以及B 分量灰度圖像值一致。通常圖像灰度值即為針對圖像的R、G 以及B 分量實施加權,最終獲取的灰度值即為最終的使用參數。一般在針對灰度值計算過程中,所采用的方法有平均法、加權平均法以及最大法等[7]。本次采用的是平均法,以此實現關于各個像素R、G 以及B 分量的平均亮度計算,所得結果即為這一像素的灰度值,計算方法為:
這一像素點的兩個值是在把一定標準內實現對像素的分類,通常是分成具有較大對比度的兩種顏色。在灰度值計算中所采用的方法有自適應閾值和給定閾值,本次是在閾值法應用下實施計算,具體為設置圖像(fx,y),灰度范圍需要在兩者之間選取合理灰度值P,其中灰度值P 的范圍為,具體為:
在以上公式中,(x,y)為像素點圖表,P 代表閾值,F(x,y)即為在這一像素點經過兩值處理中的灰度圖像,g(x,y)即為原始灰度圖像。通過以上公式可以看出,如果g(x,y)<P 情況下,f(x,y)為0,這一點即為背景圖像點;如果g(x,y)≥P 情況下,f(x,y)為1,這一點即為目標像點。如果計算發現P 值較大,也會出現將出現物體作為是背景情況;如果發現P 值較小,容易導致這一值和噪聲出現混合。通過自適應閾值化應用下,能夠針對圖像依照所選取閾值實施二值化處理,處理對象呈現出黑色,背景為白色。
在駕駛員面部特征提取疲勞狀態評估中,最容易提取的體征即為眼部及嘴部特征,所以本次試驗研究則以駕駛員眼睛和嘴巴特征參數作為識別參數。
在實際道路駕駛過程中,在本次系統應用下實現對駕駛員駕駛過程面部圖像數據實施采集,以此對其面部特征提取,并評估系統的應用有效性。本次研究共選取8 位駕駛員,6 位男性、2 位女性,年齡不同。試驗過程中叮囑駕駛員駕駛過程中盡量減少換道操作,如果遇到阻擋盡可能實施跟車,避免交談,禁止播放音樂等。選取城市站道路,駕駛速度為50—80km/h,盡可能不要超出所選取的形式路段。在得到視頻樣本后,和駕駛員的自我描述及評價小組綜合評價結果實現對其疲勞狀態的評估[8]。評估規則即為:分割駕駛員的面部視頻,將其轉變為時長為30s 的視頻片段,結合面部特征評價各個駕駛員疲勞狀態。評估結果為三級,分別為清醒、疲勞以及嚴重疲勞。具體見表1。

表1 試驗樣本情況
在特征點定位中,針對系統所采集的圖像實施隨機像素點閾值對比,實現對其分裂方向的判斷,將圖像在某個葉節點中進行劃分,通過葉節點平均殘差,也就是在位置偏移量的應用下,實現對初始形狀向量的更新,之后將結果輸給下一棵樹。各級回歸期均需要實施多次更新,且將偏移位移量輸出,針對輸出結果實施級聯回歸更新,即可以獲取預測形狀。人臉特征點定位見圖4。

圖4 人臉特征點定位過程
在關于眼睛狀態評估中,選取的PETCLOS 參數閾值為0.12,如果針對駕駛員狀態評估中計算結果在這一閾值以上,即判定為疲勞;選取的MDEC 計算結果如果在0.8s 以上,即判定為疲勞;選取的眨眼頻率參數,統計的閾值為15~20 次/min,若計算結果在這一范圍之外即判定為疲勞;針對嘴部縱橫比,閾值為0.8,如果計算結果在這一值以上,即判定為出現打哈欠行為。在針對駕駛員狀態實施檢測中,若發現眼部和嘴部特征參數不一致,處理策略為:第一,如果發現駕駛員眼睛參數存在有兩項或以上在閾值之上,但是嘴部并未打哈欠,主要參考指標即為眼部特征,即為疲勞;第二,如果發現駕駛員嘴部打哈欠,但是眼睛相關指標正常,依舊是以嘴部特征為主,即為疲勞。因為一旦人體出現重度疲勞,也就會出現面部表情僵硬,頭部動作變換遲緩,肢體動作時有時無或者緩慢,所以在狀態判斷中主要參數為眼睛特征。所設定的眼部狀態參數有兩項或以上超出閾值范圍25%,即可以判定為嚴重疲勞。相應的疲勞判定流程如圖5 所示。

圖5 疲勞判定流程
針對本次所采集的8 位駕駛員樣本集中,隨機抽取100個有效樣本實施分析,分別標定有效樣本,將樣本輸入到系統中,由系統對其實施識別。
其中樣本標定結果和系統識別結果見表2。通過評估結果可以發現,系統識別結果具有較高準確率[9],針對駕駛員的清醒和非清醒狀態可以實施準確評估,平均識別準確率為91.26%,具有比較高識別準確率。

表2 樣本評估結果
通過以上研究,所得結果為:第一,在針對駕駛員疲勞狀態檢測中,通過駕駛員面部特征實施識別,進而提取臉部圖像,判定有效信息,除去無效信息,可以實現對駕駛員疲勞狀態的評估;第二,在汽車防疲勞駕駛檢測系統應用中,可以在數據處理、圖像識別以及圖像灰度級的應用下,實現關于圖像特征的提取和評估;第三,針對汽車防疲勞駕駛檢測系統所采集的數據,實施疲勞狀態評估中,所選取的面部特征參數為眼睛和嘴部特征,主要為眼睛閉合時間百分比、閉眼持續時間最大值以及眨眼頻率、嘴部縱橫比,制定相關參數閾值,進而實現對駕駛員疲勞狀態的評估;第四,本次設計系統在應用中,所得平均識別準確率達到91.26%,針對交通安全具有重要預防作用。