江 柏,李含雁,李勇滔,白 帆,劉 靜,梁明孔,張 峰
(1.廣西科技大學(xué)自動化學(xué)院,廣西 柳州 545006;2.廣西科技大學(xué)機械與汽車工程學(xué)院,廣西 柳州 545006;3.廣西柳工機械股份有限公司,廣西 柳州 545007)
作業(yè)人員在操作工程機械過程中出現(xiàn)疲勞操作行為,直接導(dǎo)致了很多大型事故的發(fā)生,這也使其獲得各個國家重視,成為工程機械智能化安全問題研究領(lǐng)域急需解決的重要難題。工程機械作業(yè)人員的疲勞檢測與汽車中的駕駛員疲勞檢測相似,設(shè)計一個疲勞檢測系統(tǒng)可以通過分析作業(yè)人員的操作狀態(tài),判斷其是否是疲勞操作,而當疲勞操作時會自動發(fā)出警報[1]。當操作人員疲勞作業(yè)不安全操作行為出現(xiàn)時,它們不僅對自己造成傷害,也會危害他人生命安全。
侯科[2]根據(jù)對人臉二值化圖像的水平投影方法來判斷人的上下眼瞼的距離,并且根據(jù)P80 方法來判斷駕駛員是否處于疲勞狀態(tài);胡神松[3]采用AdaBoost 算法實現(xiàn)對駕駛員人臉的檢測,采用均值投影方法和方差投影方法實現(xiàn)對人眼狀態(tài)睜眼和閉眼進行判斷;孫艷[4]制作了一個疲勞駕駛檢測裝置,用PERCLOS 方法實現(xiàn)對司機疲勞的判定。陳萍[5]采用逐級分割的方法,逐層減少干擾至精確定位到人眼,根據(jù)PERCLOS方法進行疲勞的判定。以上方法只對眼部狀態(tài)進行提取狀態(tài),特征太單一,準確率不夠。廖冬杰[6]采用基于Dlib 和變種Transformer 的檢測打哈欠的方法;謝國波,陳云華等[7]采用嘴巴內(nèi)輪廓角點檢測與曲線擬合方法檢測打哈欠狀態(tài);馬素剛[8]采用Softmax 分類器對神經(jīng)網(wǎng)絡(luò)提取的嘴部狀態(tài)特征進行了分類,判斷是否在打哈欠狀態(tài)。以上3 種方法只是提取了嘴部的狀態(tài)特征,特征太單一,準確率不夠。因此,設(shè)計了一個能檢測操作人員的疲勞檢測系統(tǒng),該檢測系統(tǒng)利用眼部和嘴部的特征來判斷操作人員是否疲勞,相比較上述幾人提取的單一特征方法,本檢測系統(tǒng)的實時性、定位快和準確率要高一些。
利用工程機械上安裝的攝像頭采集到作業(yè)人員的人臉數(shù)據(jù)信息,通過運用Opencv 人臉識別工具對采集的面部圖像進行灰度化處理,利用Dlib 庫標定人臉的68 個特征點。通過計算眼部縱橫比EAR 閾值和連續(xù)睜閉眼的時間來判斷閉眼,計算嘴部縱橫比的MAR 值和連續(xù)張開嘴的時間來判斷打哈欠,最后通過實驗驗證系統(tǒng)設(shè)計的可行性,實驗結(jié)果表明該系統(tǒng)定位快、實時性高,適應(yīng)復(fù)雜的工作環(huán)境。
工程機械作業(yè)人員眼睛狀態(tài)提取方法是使用68個人臉特征點定位算法獲得面部特征點位置后,通過計算眼部縱橫比(Eye Aspect Ratio,EAR)的比值判斷出當前作業(yè)人員的眼部狀態(tài)(睜開或者閉合)。
為了判斷操作人員的眼睛是睜開還是閉合,就需要計算出眼部縱橫比的EAR值,先分別計算出左眼睛和右眼睛的EAR值,再求取平均值。其計算步驟如下所示:
步驟1:使用歐氏距離計算出左眼睛對應(yīng)縱橫比的EAR值。
步驟2:使用歐氏距離計算出右眼睛對應(yīng)縱橫比的EAR值。
(3)因為當人在疲憊而眨眼時,可能會兩只眼睛同時的眨眼,因此需要得到兩只眼睛的EAR平均值。
眼部狀態(tài)的眼睛變化分為睜開與閉合兩種狀態(tài)。當眼睛狀態(tài)在這兩者之間變化時,眼睛的縱橫比EAR值會隨之變化,需要測定眼睛的EAR閾值。當眼睛EAR值小于設(shè)定的閾值,那么此刻作業(yè)人員的眼睛狀態(tài)處于閉合狀態(tài),如圖1 所示。
圖1 眼部狀態(tài)縱橫比變化圖
從圖1 可以看出閾值設(shè)定在0.20 時效果最好,當操作人員眼部EAR值低于所設(shè)定的閾值,再結(jié)合閉眼的時間要素,就可以實現(xiàn)疲勞的判定。
嘴巴狀態(tài)提取方法是通過68 人臉特征點定位算法獲得面部特征點位置后,通過計算得到的嘴部縱橫比的比值來判斷出操作人員嘴巴張開或閉合的狀態(tài),再根據(jù)實驗測得嘴部縱橫比的閾值,得出作業(yè)人員是否存在打哈欠的疲勞特征行為。
嘴巴縱橫比的計算過程與眼睛縱橫比的計算過程相類似,它們都是計算對應(yīng)在嘴部上相應(yīng)的坐標點的位置,計算它們對應(yīng)的縱橫比。不相同的是,嘴部縱橫比的MAR值只需要計算8 個關(guān)鍵點。計算出對應(yīng)點位置的歐幾里得距離,通過式(4)計算出操作人員嘴巴的MAR值。
嘴部的狀態(tài)判定采用的是嘴巴縱橫比MAR值的判斷方法,需要計算出嘴巴狀態(tài)變化MAR的閾值,用MAR的閾值來確定嘴巴的張開程度。嘴巴狀態(tài)的特征提取,需要在作業(yè)人員操作工程機械的過程中進行,操作人員的嘴巴狀態(tài)會因為作業(yè)人員的動作、正常交談等發(fā)生變化。如若設(shè)定不出合理的閾值,將使嘴巴狀態(tài)判斷結(jié)果不準確,從而影響疲勞駕駛的判定,如圖2 所示。
圖2 嘴部狀態(tài)縱橫比變化圖
從圖2 可以看出閾值設(shè)定在0.80 時效果最好,當操作人員嘴巴的MAR值超出了所設(shè)定的閾值,再結(jié)合打哈欠的時間要素,就可以實現(xiàn)疲勞的判定。
檢測預(yù)警系統(tǒng)在PyCharm2022 開發(fā)平臺上完成,由眼部與嘴部的狀態(tài)可以確定出操作人員的操作狀態(tài),即通過閉眼的時間長度與打哈欠疲勞特征行為判斷操作人員是否處于疲勞操作狀態(tài)。這兩個疲勞特征可以作為疲勞操作判定的依據(jù)。
因為人在產(chǎn)生疲勞的狀態(tài)下眨眼所用的時間會有明顯變長,特別是在長時間操作工程機械沒有及時休息的情況下,眼睛會長時間處于閉眼狀態(tài),這樣會出現(xiàn)一些操作安全事故,造成生命安全和財產(chǎn)的損失。因此,根據(jù)作業(yè)人員眼睛閉合的狀態(tài)與眼睛閉合的時間長度綜合來判斷出此刻作業(yè)人員是否正處于疲勞操作的狀態(tài)??梢韵壤貌僮魅藛T眼睛的EAR的閾值判斷出眼睛處在睜開或閉合狀態(tài),再根據(jù)眼睛的閉合時間來判定出操作人員其是否疲勞操作狀態(tài)。圖3 為開始閉眼或閉眼連續(xù)時間小于1.68 s 狀態(tài),圖4 為連續(xù)閉眼時間超過了1.68 s,發(fā)出疲勞駕駛警告。
圖3 眼睛閉合狀態(tài)
圖4 眼睛連續(xù)閉合時間超過1.68s
當判斷出此時作業(yè)人員的眼睛為閉合狀態(tài)時,還需要接著判斷單位時間內(nèi),眼睛處于該狀態(tài)下總共所用的時間。對于一般人來說,在不處于疲勞狀態(tài)時,正常一分鐘眨眼15 次到20 次,處于疲勞狀態(tài)時,眼睛的閉合時間超過1.68 s[9]。依據(jù)眼睛疲勞狀態(tài)判定條件,滿足閉眼時間長度大于1.68 s 的條件后,系統(tǒng)發(fā)出疲勞警報。
一般情況下,打哈欠是人疲勞前的征兆。若以打哈欠行為表征為作業(yè)人員的精神狀態(tài),則可以把打哈欠作為疲勞操作的判定依據(jù)。打哈欠行為比較明顯,此刻嘴巴的縱橫比遠大于正常值,并且打哈欠持續(xù)的時間較長,也就加大了操作工程機械所導(dǎo)致危險操作的危害性。因此要判斷作業(yè)人員是否存在打哈欠行為,就要判斷嘴巴的MAR 值是否遠大于設(shè)定的閾值,并且持續(xù)時間超過4 s[9]。檢測效果如圖5 和圖6 所示,圖5 是嘴部的縱橫比超過0.8,但是,時間沒有達到4 s;圖6 是嘴部縱橫比超過0.8 的閾值,并且時間超過了4 s,出現(xiàn)疲勞駕駛警告。
圖5 開始打哈欠
圖6 打哈欠時間超過4s
依據(jù)嘴巴疲勞狀態(tài)判定條件,對作業(yè)人員打哈欠的行為進行識別,從檢測預(yù)警結(jié)果可以看出,系統(tǒng)可以對打哈欠的動作發(fā)出預(yù)警。之所以在打哈欠識別與嘴巴閉合的實驗中可以準確的檢測并預(yù)警,一方面是因為嘴巴疲勞狀態(tài)的特征具有很明顯的表現(xiàn),另一方也表明疲勞檢測系統(tǒng)所設(shè)計的嘴巴橫縱比設(shè)定閾值的正確性與合理性。
根據(jù)工程機械的作業(yè)環(huán)境,采集到人臉的面部圖像,使用68 個關(guān)鍵點定位到眼部和嘴部。其中眼部的特征提取是通過計算左眼和右眼縱橫比的平均值,再通過實驗設(shè)定睜閉眼的閾值來判斷眼睛的閉合狀態(tài),再根據(jù)眼睛閉合時間長度對作業(yè)人員完成疲勞判定;嘴部的特征提取與眼部相似,也是通過實驗設(shè)定嘴巴張開的閾值來判斷打哈欠的狀態(tài),再根據(jù)嘴巴張開持續(xù)的時間,得出作業(yè)人員是否存在打哈欠的行為,從而判定作業(yè)人員是否參與疲勞操作行為。最后在工程機械實際的操作環(huán)境下,對眼部與嘴部的疲勞檢測效果進行了實驗,驗證了閾值設(shè)定的合理性,以及達到了疲勞檢測系統(tǒng)實時性檢測的要求。