張孫俊 祝凱 李偉莎 孫曰俊



摘要:眼部狀態的檢測被認為是目前最準確可靠的疲勞狀態檢測方法,快速、準確地進行眼部定位和狀態識別是疲勞檢測的關鍵。本文基于眼部特征的人體疲勞檢測方法,主要包括:人臉眼部定位、眼部特征提取以及根據PERCLOS 的 P80 標準進行疲勞檢測,最終開發了一套疲勞程度檢測軟件系統,具有一定的理論意義和較好的應用價值。
關鍵詞:眼部特征;疲勞檢測;眼睛縱橫比;PERCLOS
1 前言
疲勞檢測是一門多學科融合的綜合技術,包含了生命科學、計算機科學、傳感器技術、人工智能技術等,一直是國內外研究的熱點問題。交通事故也已被公認為當今世界危害人類生命安全的第一大公害, “過勞死”、“疲勞駕駛”等時有發生。研究人體疲勞及其監測很有必要。基于眼部特征的疲勞檢測技術可在人體疲勞時發出預警,避免不必要的人身傷害。本文的主要目的是利用已有的攝像頭資源,采用快速、準確的算法,開發符合人體疲勞檢測要求的軟件。
2 方法
快速、準確的特點地進行眼部定位和狀態識別是疲勞檢測的關鍵,本文使用判斷疲勞程度的PERCLOS 標準和抓取眨眼特征的EAR算法。
2.1 眼部特征提取的原理
Soukupová等人在其2016年的論文“Real-Time Eye Blink Detection using Facial Landmarks”中提出眼睛縱橫比(EAR)的概念,它基于眼睛的特征點之間的距離比例作為張開度指標。圖1中的6個特征點p1至p6是人臉特征點中對應眼睛的6個特征點。每只眼睛由6個(x,y)坐標表示,基于這個描述,我們可以導出EAR的方程。
根據PERCLOS的P80標準內容有:其定義為單位時間內(一般取1分鐘或者30秒)眼睛閉合80%的時間,則認為發生了疲勞。只需測出t1~t4的值,就能計算出PERCLOS 的值f。
t1是眼睛由睜開到閉合到眼睛最大開度80%的時刻;t2是眼睛由睜開到閉合到眼睛最大開度20%的時刻;t3是眼睛從閉合到睜開到眼睛最大開度20%的時刻;t4是眼睛從閉合到睜開到眼睛最大開度80%的時刻。
2.2 算法實現
(1)數據采集。利用opencv庫調用攝像頭,實時抓拍駕駛室的人臉活動范圍畫面。
(2)預處理。利用dlib庫進行人臉識別,把圖片的范圍鎖定到人臉的區域。
(3)抓取眼部特征。基于人臉定位的68個點,提取眼部的12個定位點。
(4)眼部處理。計算EAR,判斷是否眨眼,如果眨眼,則進入下一個疲勞識別環節。
(5)疲勞識別。根據PERCLOS算法判斷是否疲勞。
(6)判斷疲勞。通過疲勞的判斷來選擇:若被檢測不疲勞,則繼續檢測;反之,則發出警告。
(7)疲勞處理。發現人體疲勞時,發出警告聲提醒,直到采取關閉或接收提示之后,不再發聲。
(8)檢測結束。關閉檢測系統。若還想繼續進行疲勞檢測,可重啟程序。
3 結果分析
基于算法開發了相應軟件,其運行效果如圖2。界面左側展示了張開度,右側是實時監測的畫面,底部是一些功能按鈕。可以通過攝像頭檢測人臉和眼部特征進行疲勞檢測,如果處于疲勞狀態則標簽顯示紅色。
圖3是眼睛開度動態圖分析,橫坐標是“時間序列”,縱坐標是眼睛開度EAR的值。檢測過程可出現如下情況:
(1)正常情況:藍線部分為正常狀態下的EAR,浮動變化不大,可作為判斷眨眼的基準值。
(2)眨眼情況:明顯低于正常的水平的60%可視為眨眼,眨眼的頻率也是作為疲勞的一個依據。
(3)檢測不到的情況:由于環境的光線會產生檢測不到人眼的情況,此時EAR為0。
(4)異常情況:人為睜大眼睛或瞇眼都視為異常,根據閉眼或瞇眼時間的長短來判斷是否為疲勞。
4 結論
本文實現了基于人眼特征的疲勞識別,結合目前流行的算法形成了一個可運行的軟件。算法還有很大的進步空間,可繼續完善并結合嵌入式硬件應用于實際場景中。
參考文獻
[1]唐廣發, 張會林. 人眼疲勞預測技術的研究[J]. 計算機工程與應用, 2016, 52(9):213-218.
[2]李響, 譚南林, 李國正,等. 基于 Zernike 矩的人眼定位與狀態識別[J]. 電子測量與儀器學報, 2015(3):390-398.
[3]李洪研,趙學敏. 基于人眼 PERCLOS 特征的列車駕駛員疲勞檢測系統[J].中國鐵路,2012( 12) : 32-35.
作者信息
1.張孫俊,1997年08月生,青島理工大學在讀本科生。
2.祝? 凱,1988年4月生,青島理工大學信息與控制工程學院講師。
3.李偉莎,1999年9月生,青島理工大學在讀本科生。
4.孫曰俊,1998年6月生。青島理工大學在讀本科生。