鄭 鵬
(福建船政交通職業學院,福建 福州 350007)
本文提出了一種基于駕駛員臉部特征的疲勞檢測方法,該方法具有非接觸、精確、成本低、易于實現等特點,并在駕駛員疲勞駕駛預警中應用。Isaza等人提出一種基于圖像處理與機器學習相結合的車輛預警系統動態設定點模型。該方法利用 Python編程的 Open CV庫,運行 Harr描述符,對臉部位置進行識別,并對其進行疲勞判斷。閆保中等[1]根據眼寬與高之比,計算出目前的眼的閉合度,利用視覺的方向來進行疲勞駕駛的識別,從而判定駕駛員的注意力是否分散,從而在駕駛員進入深度疲勞狀態前發出警告。潘志庚等[2]采用 Adaboost方法進行面部識別,通過“三庭五眼”的分布特點,將人眼區域劃分為一個大概的人眼區域,并將其與長寬比、擬合橢圓面積、瞳孔黑色相結合,對其進行疲勞分析。根據司機臉部的特點進行疲勞檢測具有實時性、便利性和經濟性好的優點,但其魯棒性差,結果受外界影響,難以適應復雜的環境,如司機戴著眼鏡不能正確識別等。當前,針對汽車駕駛員的疲勞測試[3]存在以下問題:①疲勞指數太單一,受不同駕駛環境和光線等因素的影響,很難保證其準確性和可靠性;②沒有能夠很好地處理由于個體的不同而產生的疲勞效應;③在關鍵疲勞工況下,無法對駕駛員進行準確的判別和分級預警。針對這一問題,本文研究了一種利用計算機視覺技術對駕駛員臉部多個特征進行識別的方法。以影視視頻為樣本,收集不同司機的疲勞特性指數,并運用數學方法求出對應的閾值,從而有效降低由于駕駛員臉部特征的差異而造成的檢測效果;采用“眨眼”“閉眼”“眼皮閉合”“哈欠”等四個不同的參數,構建了“疲勞駕駛”的評價模型,為“智能駕駛”駕駛員的疲勞駕駛狀況提供了科學依據。
本文采用TMS320DM642AZDKA6為核心,通過圖像采集、電源總成、CPU處理器、聲音警報模塊等部分實現了對駕駛員疲勞程度的檢測(見圖1)。該系統首先利用攝像機對駕駛員臉部進行采集,然后通過 A/D變換,將數據輸入 CPU進行人臉檢測、疲勞關鍵點的定位和疲勞程度判斷。電源模塊給整個系統進行供電,當系統判定駕駛員處于疲勞狀態時,通過預設的語音報警系統對駕駛員發出警告。硬件平臺具體配置如下:MT8V032的CMOS 攝像頭,英特爾酷睿i5-9400F@2.90GHz六核CPU,運行內存32GB,256GB 固態硬盤;操作平臺采用Windows10平臺。

圖1 硬件系統圖
臺架面操作區域可分為4個部分,如圖2所示,分別為實驗臺架主控區域、駕駛監測控制區域、駕駛監測狀態指示區域、相機數據處理單元及故障分區。每一個小區域代表實車對應系統,在實訓臺架上模擬其真實情況,通過簡單的視覺及聲控反應,配合實驗顯示模擬區域對搭載了相關功能的智能網聯汽車進行真實行駛狀況對駕駛員的疲勞狀態進行檢測,用簡潔明了的方式最大程度體現真實數據,方便老師教學和學生理解。

圖2 實驗臺架控制區域
這一部分主要是對整個實訓平臺的操作。其中,“總電源”是整個疲勞檢測實訓臺架的總電源開關;“實時機電源”是實時機的電源開關;“車輛開關”模擬實車“ON”檔,開機點火啟動發動機,使車輛進入待機運行狀態,還配置有方向盤,最大程度還原真實駕駛場景。
這一區域主要是對駕駛員疲勞駕駛的程度進行檢測,并對駕駛員眨眼頻率、閉眼次數、網絡眼瞼閉合度打哈欠頻率4個疲勞特征要素進行單獨開關設置。
此區域為駕駛監測狀態指示燈區域,該部分包含了4個危險駕駛情況工作助系統指示燈。系統“眨眼檢測”指示燈指示眨眼檢測系統的啟動與關閉狀態;“閉眼檢測”指示燈指示閉眼檢測機構啟動與關閉狀態;“眼瞼檢測”指示燈指示檢測眼瞼檢測系統是否正常運行;“打哈欠狀態檢測”閉眼檢測機構啟動與關閉的指示燈;“1級警告”指示燈:當駕駛員出現一級疲勞狀態,該指示燈亮;“2級警告”指示燈:當駕駛員出現二級疲勞狀態,該指示燈亮;“3級警告”指示燈:當駕駛員出現三級疲勞狀態,該指示燈亮。
這部分主要是與相機進行聯動,作為一個單一的處理視覺傳感器傳送各項數據附帶故障檢修的區域。主要有“X-Y軸控制搖桿”:調節相機的X-Y軸的位置;“故障設置”:包含硬件故障、軟件故障等幾種故障類別,通過該旋鈕調節選擇故障種類,必要的時候配合相關實訓軟件進行故障試驗;“故障設置確認”按鈕:通過“故障設置”旋鈕選定故障后按下該按鈕確認;“故障確認燈”:按下“故障設置確認”按鈕后,故障設置成功該燈常亮。除此之外,實訓臺架的示教面板上還有很多檢測接口,學生可以利用示波器、萬用表等檢測工具來對故障進行模擬檢修。
經處理,得出眨眼次數、閉眼次數、眼皮閉合時間百分比和哈欠頻率;考慮到這些數據各自隸屬的計量單元的差異,在此必須對所有的疲勞指數進行全面的評估,并對采集的資料進行統一處理,最后將以上數據進行綜合計算,計算公式如下。
(1)
式(1)中,x為最后一個融合值;xi為疲勞數值,由該系統實時探測;xmin和 xmax是探測期間的最小和最大值。經過了一致的處理,所有的數據都是沒有被量化的十進制,而且在[0,0.5]范圍之內。在這里,各個單元的資料對目標函數具有相同的作用,各個因素的作用可以見表1。

表1 疲勞指標最值
下面是對表1中的數值進行對比或權重。按照司機的疲勞程度,設定了相應的加權系數,其計算公式如下:
(2)
式(2)中,x是最后的疲勞指標,數值為[0,0.5],將其劃分為4個級別,表示疲勞等級,見表2。

表2 疲勞等級區分
駕駛員疲勞檢測系統的目的是在盡可能短的時間內精準地識別出駕駛員的疲勞情況并進行相應的反饋[4],具體過程如圖3所示。

圖3 算法總流程圖
步驟1,攝像頭采集圖像的預處理,對視頻文件逐幀進行灰度化處理;步驟2,對攝像頭處理過后灰度化的駕駛員人像對照Dlib 開源庫人臉檢測模型并進行定位;步驟3,對照灰度化的圖像,將其與開源人臉庫的數據樣本進行特殊點對照,并識別和定位出特征點;步驟4,根據上一步驟提取的特征點帶入算法中完成對疲勞指標數據的計算;步驟5,對上述的數據進行統合計算并處理后生成最終數值,根據最終數值對駕駛員的狀態進行分級,實現對疲勞駕駛的定級和預警。
本文針對駕駛員這一交通運輸的主體,以監測疲勞程度為目標,在考慮駕駛員個體差異的基礎上,制作出疲勞程度的數值指標,完善建立精準的數據模型[5],希望以此臺架為基礎,研究駕駛員疲勞駕駛的預警技術,防止交通事故發生。同時,臺架可以根據智能網聯課程的需求,與當前的智能網聯課程內容有機結合,擴充學生相關知識的認知領域。