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