洪子夢,周秀,鄔小魯
(中移(上海)信息通信科技有限公司,上海,200120)
船舵手疲勞檢測方法可分為兩大類:一類是以船舵手生理狀態(tài)數(shù)據(jù),通過對數(shù)據(jù)分析與處理,判斷船舵手是否處于疲勞狀態(tài)。另一類是以船舵手駕船活動、主觀感受等依據(jù),通過邏輯推理,進而分析船舵手是否處于疲勞狀態(tài)。本文主要針對第一類疲勞檢測方法開展工作,基于人眼長寬比的變化,提出了一種基于眼睛長寬比的船舵手疲勞檢測方法。實踐證明,本文提出的方法,是一種代價小、速度快的船舵手疲勞檢測方法。
現(xiàn)有技術中主要是通過不同方式采集面部特征對駕駛員進行疲勞檢測,比如基于面部特征與圖像脈搏心率融合的疲勞檢測方法、基于疲勞程度的駕駛員疲勞檢測方法、輔助預警疲勞駕駛檢測方法等,這些方法,各有千秋,本文提出的方法與現(xiàn)有的方法,有本質的區(qū)別。
基于面部特征與圖像脈搏心率融合的駕駛員疲勞檢測方法,與本文的方法,有如下區(qū)別:
(1)前者提供的方法,解決的是動態(tài)條件下運動偽跡所產生的運動噪聲對IPPG源信號提取的干擾問題,使之在汽車行駛的動態(tài)條件下獲得準確的駕駛員脈搏心率估計,同時利用面部特征點采集駕駛員駕駛汽車的面部特征數(shù)據(jù),與其當前狀態(tài)下的脈搏心率特征相結合,準確計算出駕駛員的疲勞狀態(tài)。該方法利用脈搏心率數(shù)據(jù),結合眨眼頻率和打哈欠頻率,利用模糊神經網絡系統(tǒng)使用信息融合的方法實時精準測出駕駛員的疲勞狀態(tài),這與本文提出的利用閉眼時間及頻率來檢測船舵手的疲勞程度方法有著本質的不同。
(2)前者提供的方法只給出駕駛員處于疲勞狀態(tài)并預警,未給出疲勞等級劃分。而本文不僅檢測船舵手是否疲勞,還檢測船舵手的疲勞等級,并給出相應的提醒操作。
針對駕駛員的疲勞程度實現(xiàn)個性化檢測的方法,與本文提出的疲勞方法有如下區(qū)別:
(1)在前者方案中,駕駛員臉部圖片庫通過采集行車過程中的駕駛員臉部的紅外視頻圖像,并經OpenCV中的Local Binary Pattern Histogram(LBPH)算法識別得到,且圖片庫的數(shù)量不少于3000張。本文提出的方法,只需在開始駕駛的五分鐘內拍攝采集若干張駕駛員面部圖像,初始數(shù)據(jù)采集量和分析量小。
(2)前者方案利用駕駛員眼部、嘴部狀態(tài)檢測實現(xiàn)對駕駛員疲勞狀態(tài)的在線辨識。本文提供的方法,只需通過眼部狀態(tài)檢測實現(xiàn)疲勞判定。
輔助駕駛預警疲勞檢測方法,通過訓練獲得行車安全模型以及司機疲勞檢測模型,進而對道路環(huán)境以及駕駛室內的駕駛情況進行實時監(jiān)控。該方法與本文提出的疲勞方法有如下區(qū)別:前者運用司機疲勞檢測模型、行車安全模型(主要是車聯(lián)網領域的前后車距、車道偏移、超速等安全事件)判斷是否存在疲勞駕駛隱患,與本文所述運用眼部狀態(tài)判定模型的方式不同。
此外,駕駛員疲勞檢測方法,利用疲勞檢測系統(tǒng)用于提取駕駛員的面部特征,若獲取的面部特征為瞌睡或睡眠狀態(tài),則啟動報警裝置進行警示。該方法與本文提出的疲勞方法有如下區(qū)別:
(1)結合眼睛特征以及口部特征定位出當前面部所處的狀態(tài),當眼睛睜開同時嘴巴閉合,認定為正常狀態(tài);當眼睛睜開同時嘴巴張開,認定為瞌睡狀態(tài);當眼睛閉合,認定為疲勞狀態(tài)。僅根據(jù)駕駛員眼睛和嘴巴的靜態(tài)特征(張開或閉合)定位當前面部狀態(tài)的準確性有待考量。
(2)該方案只考慮了對駕駛員疲勞檢測后進行提醒,并沒有對疲勞的等級評估,也沒有具體的輔助駕駛操作行為。
基于深度學習和信息融合的駕駛員疲勞檢測方法,包括:圖像預處理模塊、面部以及面部特征點檢測模塊、面部區(qū)域調整歸一化模塊、面部特征提取網絡模塊和疲勞程度判斷模塊。該專利與本文提出的疲勞檢測方法有如下區(qū)別:
(1)根據(jù)人臉面部特征,包括左右眼閉眼狀態(tài)置信度,張嘴狀態(tài)置信度以及頭部位姿的Pitch值利用加權融合算法獲得駕駛員當前幀下的疲勞置信度,根據(jù)此判斷人是否處于疲勞狀態(tài)。而本專利使用眼部長寬比來判斷是否閉眼,根據(jù)閉眼的次數(shù)和時間來檢測疲勞。
(2)該系統(tǒng)僅進行了疲勞檢測,沒有對疲勞的等級評估,也沒有具體的輔助駕駛操作行為。
綜合起來,現(xiàn)有的技術,只考慮對駕駛員進行疲勞檢測后進行提醒,并沒有對疲勞的等級進行評估,也沒有具體的對車輛的操作行為。
本文針對船舵手的疲勞檢測,提供了一種使用圖像處理的方法來對船舵手的眼部信息進行提取,建立眼部狀態(tài)判定模型,根據(jù)圖像信息提取判斷出閉眼的時長以及閉眼的頻率分析判斷疲勞行為,并對船舵手進行提醒和輔助航行,以減少水運交通事故的發(fā)生。
下面結合來說明本提案具體的實施流程,圖1為整個檢測方法的步驟,圖2為眼部特征點采集過程。
圖1 船舵手疲勞檢測方法
圖2 眼部特征點采集過程
步驟1:船舵手眼部特征點采集,眼部特征點采集過程如圖2所示。
步驟1.1:船舵手圖像采集處理。
當船舵手打開船舶航行系統(tǒng)的五分鐘內采集船舵手的多張面部圖像,包括睜眼和閉眼的多種狀態(tài)。通過直方圖均值化提高對比度,去除噪聲并凸顯圖像細節(jié),提高圖像質量。用參白法對圖像進行光照補償,計算圖像中像素點的灰度值,將前5%的像素灰度值設為255。
步驟1.2:人臉區(qū)域檢測分割。
將預處理后的圖像轉換到HSV色彩,利用最佳閾值分割的方法進行類膚色與背景的區(qū)分。色度取值范圍在7<H<29時判斷為膚色,將圖像二值化。然后利用圖像形態(tài)學中的腐蝕運算把圖像中的一些非人臉的毛刺、小凸起等有可能影響檢測效果的像素點過濾掉,最后再利用圖像處理中的開運算,去除類膚色塊中那些像素點少于1000的區(qū)域,最終分割出人臉區(qū)域。
步驟1.3:眼部特征點采集。
使用dlib庫中的圖像特征點識別函數(shù),標記眼部的6個特征點,每個眼睛區(qū)域表示為6個坐標,即以眼睛區(qū)域的左角為起點,以順時針方式在眼鏡區(qū)域的周圍設置6個面部特征點其中,p1為眼睛區(qū)域的左角面部特征點的位置,p2為眼睛區(qū)域的左上面部特征點的位置,p3為眼睛區(qū)域的右上面部特征點的位置,p4為眼睛區(qū)域右角面部特征點的位置,p5為眼睛區(qū)域的右下面部特征點的位置,p6為眼睛區(qū)域的左下面部特征點的位置。
圖3 特征點位分布圖
步驟2:眼部狀態(tài)判定模型建立。
步驟2.1:圖像眼睛長寬比計算。
步驟2.2:睜眼狀態(tài)判定模型建立。
取眼睛長寬比大于0.5小于1的圖片,計算這些圖片中眼部長寬比的平均值w作為該船舵手睜眼時的眼部長寬比。
步驟2.3:閉眼狀態(tài)判定模型建立。
眼睛長寬比小于0.5w(睜眼時的眼部長寬比的二分之一)即判定為閉眼狀態(tài)。
步驟3:駕駛過程記錄。
開始駕駛后,以一分鐘為周期,計算船舵手閉眼的次數(shù)以及每次閉眼的時間。
步驟4:疲勞航行等級判斷和航行提醒。
疲勞航行等級判斷和相應等級航行提醒過程如圖4所示。
圖4 疲勞航行等級判斷和相應等級航行提醒過程
步驟4.1:疲勞航行等級判斷。
如果一分鐘內船舵手閉眼的時間大于2s的次數(shù)大于10次,則判斷船舵手為重度疲勞航行;如果一分鐘內船舵手閉眼的時間大于2s的次數(shù)小于10次并且大于5次,則判斷船舵手為中度疲勞航行;如果一分鐘內船舵手閉眼的時間大于2s的次數(shù)小于5次并且大于2次,則判斷船舵手為輕度疲勞航行。
步驟4.2:根據(jù)不同的疲勞等級迅速做出應對措施。
重度疲勞航行提醒:如果船舵手處于重度疲勞狀態(tài),則系統(tǒng)語音提示船舵手及時休息并開啟輔助航行系統(tǒng)并拉響報警器提醒船內人員。
中度疲勞航行提醒:如果船舵手處于中度疲勞航行,則系統(tǒng)語音提示船舵手及時休息并開啟輔助航行系統(tǒng)輔助船舵手進行航行。
輕度疲勞航行提醒:如果船舵手處于輕度疲勞航行,則系統(tǒng)語音提示船舵手及時休息。
本文提出的疲勞航行檢測方法,采用眼部信息而不是整個面部的信息來進行疲勞識別,數(shù)據(jù)量小,計算速度快。在該方法中,不是簡單地采用上眼皮和下眼皮的高度差來作為眼睛開合度的評價標準,而是綜合考慮了人眼大小差異情況,在船舵手剛上船航行的五分鐘內采集船舵手正常的眼部信息,采用眼部長寬比作為疲勞的評價標準,將疲勞時的眼部信息與正常時的眼部信息進行對比,具有普適性。此外,根據(jù)一分鐘內閉眼時間大于2s的次數(shù)判斷了疲勞等級,在不同的疲勞等級下來對船舵手進行提醒,而且啟動輔助航行對船只進行不同的操作,更加智能化和人性化。