江 柏,李含雁,李勇滔,白 帆,劉 靜,梁明孔,張 峰
(1.廣西科技大學自動化學院,廣西 柳州 545006;2.廣西科技大學機械與汽車工程學院,廣西 柳州 545006;3.廣西柳工機械股份有限公司,廣西 柳州 545007)
作業人員在操作工程機械過程中出現疲勞操作行為,直接導致了很多大型事故的發生,這也使其獲得各個國家重視,成為工程機械智能化安全問題研究領域急需解決的重要難題。工程機械作業人員的疲勞檢測與汽車中的駕駛員疲勞檢測相似,設計一個疲勞檢測系統可以通過分析作業人員的操作狀態,判斷其是否是疲勞操作,而當疲勞操作時會自動發出警報[1]。當操作人員疲勞作業不安全操作行為出現時,它們不僅對自己造成傷害,也會危害他人生命安全。
侯科[2]根據對人臉二值化圖像的水平投影方法來判斷人的上下眼瞼的距離,并且根據P80 方法來判斷駕駛員是否處于疲勞狀態;胡神松[3]采用AdaBoost 算法實現對駕駛員人臉的檢測,采用均值投影方法和方差投影方法實現對人眼狀態睜眼和閉眼進行判斷;孫艷[4]制作了一個疲勞駕駛檢測裝置,用PERCLOS 方法實現對司機疲勞的判定。陳萍[5]采用逐級分割的方法,逐層減少干擾至精確定位到人眼,根據PERCLOS方法進行疲勞的判定。以上方法只對眼部狀態進行提取狀態,特征太單一,準確率不夠。廖冬杰[6]采用基于Dlib 和變種Transformer 的檢測打哈欠的方法;謝國波,陳云華等[7]采用嘴巴內輪廓角點檢測與曲線擬合方法檢測打哈欠狀態;馬素剛[8]采用Softmax 分類器對神經網絡提取的嘴部狀態特征進行了分類,判斷是否在打哈欠狀態。以上3 種方法只是提取了嘴部的狀態特征,特征太單一,準確率不夠。因此,設計了一個能檢測操作人員的疲勞檢測系統,該檢測系統利用眼部和嘴部的特征來判斷操作人員是否疲勞,相比較上述幾人提取的單一特征方法,本檢測系統的實時性、定位快和準確率要高一些。
利用工程機械上安裝的攝像頭采集到作業人員的人臉數據信息,通過運用Opencv 人臉識別工具對采集的面部圖像進行灰度化處理,利用Dlib 庫標定人臉的68 個特征點。通過計算眼部縱橫比EAR 閾值和連續睜閉眼的時間來判斷閉眼,計算嘴部縱橫比的MAR 值和連續張開嘴的時間來判斷打哈欠,最后通過實驗驗證系統設計的可行性,實驗結果表明該系統定位快、實時性高,適應復雜的工作環境。
工程機械作業人員眼睛狀態提取方法是使用68個人臉特征點定位算法獲得面部特征點位置后,通過計算眼部縱橫比(Eye Aspect Ratio,EAR)的比值判斷出當前作業人員的眼部狀態(睜開或者閉合)。
為了判斷操作人員的眼睛是睜開還是閉合,就需要計算出眼部縱橫比的EAR值,先分別計算出左眼睛和右眼睛的EAR值,再求取平均值。其計算步驟如下所示:
步驟1:使用歐氏距離計算出左眼睛對應縱橫比的EAR值。
步驟2:使用歐氏距離計算出右眼睛對應縱橫比的EAR值。
(3)因為當人在疲憊而眨眼時,可能會兩只眼睛同時的眨眼,因此需要得到兩只眼睛的EAR平均值。
眼部狀態的眼睛變化分為睜開與閉合兩種狀態。當眼睛狀態在這兩者之間變化時,眼睛的縱橫比EAR值會隨之變化,需要測定眼睛的EAR閾值。當眼睛EAR值小于設定的閾值,那么此刻作業人員的眼睛狀態處于閉合狀態,如圖1 所示。

圖1 眼部狀態縱橫比變化圖
從圖1 可以看出閾值設定在0.20 時效果最好,當操作人員眼部EAR值低于所設定的閾值,再結合閉眼的時間要素,就可以實現疲勞的判定。
嘴巴狀態提取方法是通過68 人臉特征點定位算法獲得面部特征點位置后,通過計算得到的嘴部縱橫比的比值來判斷出操作人員嘴巴張開或閉合的狀態,再根據實驗測得嘴部縱橫比的閾值,得出作業人員是否存在打哈欠的疲勞特征行為。
嘴巴縱橫比的計算過程與眼睛縱橫比的計算過程相類似,它們都是計算對應在嘴部上相應的坐標點的位置,計算它們對應的縱橫比。不相同的是,嘴部縱橫比的MAR值只需要計算8 個關鍵點。計算出對應點位置的歐幾里得距離,通過式(4)計算出操作人員嘴巴的MAR值。
嘴部的狀態判定采用的是嘴巴縱橫比MAR值的判斷方法,需要計算出嘴巴狀態變化MAR的閾值,用MAR的閾值來確定嘴巴的張開程度。嘴巴狀態的特征提取,需要在作業人員操作工程機械的過程中進行,操作人員的嘴巴狀態會因為作業人員的動作、正常交談等發生變化。如若設定不出合理的閾值,將使嘴巴狀態判斷結果不準確,從而影響疲勞駕駛的判定,如圖2 所示。

圖2 嘴部狀態縱橫比變化圖
從圖2 可以看出閾值設定在0.80 時效果最好,當操作人員嘴巴的MAR值超出了所設定的閾值,再結合打哈欠的時間要素,就可以實現疲勞的判定。
檢測預警系統在PyCharm2022 開發平臺上完成,由眼部與嘴部的狀態可以確定出操作人員的操作狀態,即通過閉眼的時間長度與打哈欠疲勞特征行為判斷操作人員是否處于疲勞操作狀態。這兩個疲勞特征可以作為疲勞操作判定的依據。
因為人在產生疲勞的狀態下眨眼所用的時間會有明顯變長,特別是在長時間操作工程機械沒有及時休息的情況下,眼睛會長時間處于閉眼狀態,這樣會出現一些操作安全事故,造成生命安全和財產的損失。因此,根據作業人員眼睛閉合的狀態與眼睛閉合的時間長度綜合來判斷出此刻作業人員是否正處于疲勞操作的狀態??梢韵壤貌僮魅藛T眼睛的EAR的閾值判斷出眼睛處在睜開或閉合狀態,再根據眼睛的閉合時間來判定出操作人員其是否疲勞操作狀態。圖3 為開始閉眼或閉眼連續時間小于1.68 s 狀態,圖4 為連續閉眼時間超過了1.68 s,發出疲勞駕駛警告。

圖3 眼睛閉合狀態

圖4 眼睛連續閉合時間超過1.68s
當判斷出此時作業人員的眼睛為閉合狀態時,還需要接著判斷單位時間內,眼睛處于該狀態下總共所用的時間。對于一般人來說,在不處于疲勞狀態時,正常一分鐘眨眼15 次到20 次,處于疲勞狀態時,眼睛的閉合時間超過1.68 s[9]。依據眼睛疲勞狀態判定條件,滿足閉眼時間長度大于1.68 s 的條件后,系統發出疲勞警報。
一般情況下,打哈欠是人疲勞前的征兆。若以打哈欠行為表征為作業人員的精神狀態,則可以把打哈欠作為疲勞操作的判定依據。打哈欠行為比較明顯,此刻嘴巴的縱橫比遠大于正常值,并且打哈欠持續的時間較長,也就加大了操作工程機械所導致危險操作的危害性。因此要判斷作業人員是否存在打哈欠行為,就要判斷嘴巴的MAR 值是否遠大于設定的閾值,并且持續時間超過4 s[9]。檢測效果如圖5 和圖6 所示,圖5 是嘴部的縱橫比超過0.8,但是,時間沒有達到4 s;圖6 是嘴部縱橫比超過0.8 的閾值,并且時間超過了4 s,出現疲勞駕駛警告。

圖5 開始打哈欠

圖6 打哈欠時間超過4s
依據嘴巴疲勞狀態判定條件,對作業人員打哈欠的行為進行識別,從檢測預警結果可以看出,系統可以對打哈欠的動作發出預警。之所以在打哈欠識別與嘴巴閉合的實驗中可以準確的檢測并預警,一方面是因為嘴巴疲勞狀態的特征具有很明顯的表現,另一方也表明疲勞檢測系統所設計的嘴巴橫縱比設定閾值的正確性與合理性。
根據工程機械的作業環境,采集到人臉的面部圖像,使用68 個關鍵點定位到眼部和嘴部。其中眼部的特征提取是通過計算左眼和右眼縱橫比的平均值,再通過實驗設定睜閉眼的閾值來判斷眼睛的閉合狀態,再根據眼睛閉合時間長度對作業人員完成疲勞判定;嘴部的特征提取與眼部相似,也是通過實驗設定嘴巴張開的閾值來判斷打哈欠的狀態,再根據嘴巴張開持續的時間,得出作業人員是否存在打哈欠的行為,從而判定作業人員是否參與疲勞操作行為。最后在工程機械實際的操作環境下,對眼部與嘴部的疲勞檢測效果進行了實驗,驗證了閾值設定的合理性,以及達到了疲勞檢測系統實時性檢測的要求。