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