劉 英
(呼和浩特職業學院,呼和浩特 010051)
隨著科技水平的不斷發展,機動車輛與日俱增,隨之產生的人身安全問題越來越受到人們的關注。據統計,全世界每年因交通事故導致的死亡人數達60萬,直接經濟損失約125億美元,這些事故中57%的災難性事故與駕駛員疲勞駕駛有關[1]。可見駕駛員的疲勞駕駛是引發交通事故的重要原因之一,因此開展駕駛疲勞檢測相關技術的研究,將在很大程度上減少交通事故的發生,具有重要的社會意義和經濟價值。
目前,世界各國已經有多種駕駛疲勞的檢測技術,常用疲勞檢測方法有脈搏跳動檢測、腦電圖檢測、心電圖檢測、頭部位置檢測以及PERCLOs法等,綜合考慮可靠性、實時性、舒適性和實用性等多方面的性能,PERCLOs法的性能最好。本文將構建一種基于PERCLOs方法的駕駛疲勞檢測系統,檢測駕駛員的疲勞狀態,實時地發出報警,進而避免交通事故的發生。
本文構建的系統中選擇PERCLOs(Percentage of Eyelid Closure Over the Pupil Over Time)算法。其中,PERCLOs的P80(單位時間內眼睛閉合程度超過80%以上的時間占總時間的百分比)與駕駛疲勞程度的相關性最好。
PERCLOs算法的測量原理如圖1所示,通過測量出t1~t4,人們根據式(1)就能計算出PERCLOs的值。

式中,f為眼睛閉合時間的百分率,即PERCLOs值;t1為眼睛最大瞳孔閉合到80%瞳孔所用時間;t2為眼睛最大瞳孔閉合到20%瞳孔所用時間;t3為眼睛最大瞳孔到下一次20%瞳孔睜開所用時間;t4為眼睛最大瞳孔到下一次80%瞳孔睜開所用時間。

圖1 測量PERCOLS值的原理
當系統檢測到PERCLOs值大于80%,眼睛持續閉合時間大于3s時,即認為駕駛員處于疲勞狀態,屬于疲勞駕駛。
本文中檢測駕駛疲勞的系統,選擇了1394數字圖像采集卡作為硬件平臺,并選擇了Guppy系列的CCD攝像機,安裝到實驗室計算機上組成駕駛疲勞檢測的硬件系統。該檢測系統的硬件系統能夠實現每秒20幀圖像以上的處理速度,能夠實現機動車駕駛員駕駛疲勞的實時檢測。
本系統中用攝像機實時抓取駕駛員的臉部圖像,通過圖像處理方法得到眼睛圖像,并對所得的圖像進行分析和識別,確定駕駛員眼睛當前的狀態,進而識別駕駛員的疲勞狀態。
駕駛疲勞檢測主要包括采集圖像、圖像預處理、人臉定位、人眼定位、眼睛面積計算、PERCOLs值計算和疲勞程度識別。其中,圖像預處理主要包括圖像灰度化處理、二值化處理等。它們主要是為了降低噪聲對圖像的影響,確保圖像的質量,這是實施人臉定位的前提。
本文將攝像機采集的原始圖像轉換成YCbCr顏色空間,再運用YCbCr顏色空間中膚色的聚類性進行人臉檢測。根據膚色在顏色空間的高斯模型,計算像素點屬于膚色區域的概率,即根據該像素點離高斯分布中心的遠近得到膚色的相似度(所得圖像中的每個像素點的灰度值表示該點屬于膚色區域的概率),其計算公式為[2]:

式中,m為均值,m=E(x),x=(Cb,Cr);C為協方差矩陣,C=E[(x-m)(x-m)T]。
在計算出膚色的相似度P(Cb,Cr)后,將其乘以255,以灰度來表征像素點屬于膚色區域的概率,進而得到了膚色的相似度圖。在所得到的相似度圖中,其灰度值的大小就表示該區域可能為人臉的概率大小,灰度值越大則可能為人臉的概率越大(即越亮的區域就越接近皮膚的顏色),反之則為人臉的概率越小。在經過膚色相似度計算之后,并且已經得到膚色的高斯模型后,再對圖像進行二值化,檢測出人臉區域。在進行二值化時,應該選取合適的閾值將相似度灰度圖像進行二值化,一般利用YCbCr的膚色模型的閾值來生成二值圖像。
當像素的色度值(Cb、Cr色度分量值)落入在給定的膚色模型的閾值范圍內時,像素的灰度值取為1(即為膚色區域);反之,像素的色度值(Cb、Cr色度分量值)超出膚色模型的閾值范圍時,像素的灰度值取為0(即為非膚色區域)。
試驗證明,本文所采用的硬件和軟件系統能夠達到駕駛員疲勞檢測的實時性要求,并且可以較為精準地定位出人眼的位置和計算出人眼面積,最終做出駕駛員疲勞與否的判定,可以驗證PERCLOs算法的準確性。
但是,本文所構建的系統還存在一些不足:當駕駛員的頭部沒有面向正前方,或是未能對準攝像頭,會導致駕駛疲勞檢測的準確率下降;駕駛室內的照明條件會導致駕駛疲勞判斷的準確率下降;駕駛員睡覺眼睛不能完全閉合以及駕駛員佩戴眼睛等,均會導致駕駛員疲勞檢測的準確率下降。介于該系統所存在的種種不足,人們還需在今后的駕駛員疲勞檢測研究中進一步克服。