馮宇航 葉輝 黃文禧 徐梓浩 林錦櫻
摘要: 疲勞預(yù)警在各領(lǐng)域都有重要意義,如工作學(xué)習(xí)狀態(tài)的預(yù)警、駕駛疲勞預(yù)警等。通過從用戶端攝像頭提取出人臉,選取眼部、嘴部等特征,計(jì)算人眼睛的開合程度、嘴部開合度、頭部偏移程度,并結(jié)合羅德里格斯旋轉(zhuǎn)公式的頭部姿態(tài)檢測算法,設(shè)計(jì)一個(gè)適用于多場景的疲勞檢測融合算法,并且同時(shí)介紹了疲勞檢測預(yù)警系統(tǒng)設(shè)計(jì)架構(gòu)和核心算法過程。實(shí)驗(yàn)結(jié)果表明,通過以上三種特征信息融合進(jìn)行疲勞檢測具有較高的準(zhǔn)確度,可適用于多種場景的疲勞檢測。
關(guān)鍵詞:人臉識別;特征提取;疲勞檢測;頭部多姿態(tài);融合識別
中圖分類號:TP302? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)13-0012-03
Abstract: Fatigue early warning is of great significance in various fields, such as the early warning of work and learning status, driving fatigue and so on. By extracting the face from the client camera, selecting the eye, mouth and other features, calculating the opening and closing degree of human eyes, opening and closing degree of mouth, head offset degree, and combining with the head posture detection algorithm of Rodriguez rotation formula, a fatigue detection system suitable for multi scene is designed. The system architecture and core algorithm process are introduced. The experimental results show that the fatigue detection based on the above three feature information fusion has high accuracy and can be applied to a variety of scenes.
Key words:Face recognition; Feature extraction; Fatigue detection; head multi poses; fusion recognition
1 引言
1.1 疲勞檢測方法研究現(xiàn)狀
目前業(yè)內(nèi)已經(jīng)有采用物聯(lián)網(wǎng)數(shù)字化技術(shù)實(shí)現(xiàn)駕駛員精神狀況的檢測系統(tǒng),它基于車聯(lián)網(wǎng)應(yīng)用的,以適應(yīng)行駛安全檢測的新需求。這種數(shù)字化的系統(tǒng)的應(yīng)用融合姿態(tài)信息的多姿態(tài)人臉檢測方法,基于生物特征的頭部姿態(tài)估計(jì)方法,融合駕駛員自身多種生物特征的疲勞駕駛模型。大多數(shù)以嵌入式為主,普及率也比較低,目前研究疲勞駕駛預(yù)警系統(tǒng)的成果較以往增多了,但是還未見到一種方法被大家所公認(rèn)。其原因主要是:雖然每一種方法都在某一方面具有了一定的說服力和可操作性,但是距離車載、實(shí)時(shí)、客觀的本質(zhì)要求還有其不可克服的弊端。同時(shí),不僅是駕駛疲勞,在工作和學(xué)習(xí)中也需要有疲勞預(yù)警系統(tǒng),但目前的預(yù)警系統(tǒng)多是以疲勞駕駛為主,對于在辦公桌前工作或是在書桌前學(xué)習(xí)都不太好能夠適應(yīng)需求。
1.2 背景分析
據(jù)不完全統(tǒng)計(jì),50%的交通安全事故起源駕駛員意識不清醒從而釀成車禍。引起駕駛員主動駕駛意外最多的原因包括疲勞駕駛、注意力不集中。同時(shí)很多上班族長時(shí)間看電腦、手機(jī)對眼睛的影響是非常明顯的,會引發(fā)視疲勞。為了避免這種現(xiàn)象的發(fā)生,人們在工作時(shí)就應(yīng)該給自己留出休息的時(shí)間。但許多人在工作時(shí)往往會過度投入,在自己眼睛疲倦時(shí)也毫無察覺,而疲勞預(yù)警系統(tǒng)就能夠通過對員工的眼睛進(jìn)行實(shí)時(shí)的檢測以獲取當(dāng)前的精神狀態(tài),當(dāng)精神狀態(tài)過于疲勞時(shí)會發(fā)出警告,告知員工應(yīng)該適當(dāng)休息,防止視疲勞的加深。
1.3 疲勞檢測預(yù)警目標(biāo)
對目前的種種現(xiàn)狀,無論是疲勞駕駛、學(xué)習(xí)或者工作,研究出一款疲勞預(yù)警系統(tǒng)顯得十分的重要,無論對于社會方面還是對于經(jīng)濟(jì)方面。它既要能夠正確的判斷使用者的疲勞狀況,又要能夠便于用戶的使用方便,因而設(shè)計(jì)一款基于移動端和PC端的預(yù)警系統(tǒng)是比較合適的。駕駛者通過使用手機(jī)實(shí)時(shí)監(jiān)測當(dāng)前的疲勞情況,長期坐在辦公室工作的用戶使用電腦檢測要更加方便一些,對于學(xué)習(xí)的學(xué)生而言,他們可以自行選擇使用手機(jī)或者是電腦進(jìn)行檢測。我們希望通過系統(tǒng)能夠減少道路上因疲勞而產(chǎn)生的交通事故,讓工作和學(xué)習(xí)的用戶能夠更好地調(diào)整自己的休息時(shí)間,從而提高效率。
2 研究方法
2.1 基于頭部多姿態(tài)融合識別的疲勞檢測方法
2.1.1 基于眼睛閉合程度
研究了基于卡內(nèi)基梅隆提出的度量疲勞的物理PERCLOS。PERCLOS方法通過眼睛閉合所占時(shí)間比例進(jìn)行疲勞的判斷,目前有三種判斷準(zhǔn)則:EM準(zhǔn)則:瞳孔被眼瞼覆蓋超50%,判定眼睛為閉合;P70準(zhǔn)則:瞳孔被眼瞼覆蓋超70%,判定眼睛為閉合;P80準(zhǔn)則:瞳孔被眼瞼覆蓋超80%,判定眼睛為閉合。計(jì)算原理如圖1。
2.1.2基于嘴巴開合程度
基于MAR算法的哈欠檢測,此算法同樣利用了Dlib提取了嘴部的8個(gè)特征點(diǎn),計(jì)算嘴部縱橫比,若縱橫比提升至MAR閾值之上,再迅速下降,則判斷為打哈欠。
2.1.3 基于頭部的偏移
基于羅德里格斯旋轉(zhuǎn)公式的頭部姿態(tài)檢測算法,并使用PERCLOS中的P70算法,以0度俯仰角(pitch)與0度滾轉(zhuǎn)角(roll)作為基準(zhǔn),若偏移程度超過最大值的30%,則判斷處于疲勞狀態(tài)。
2.2 單一生物特征閾值的設(shè)定
眼部閾值的設(shè)定:計(jì)算眼瞼實(shí)時(shí)值與用戶錄入的初始值對比,利用PERCLOS中的P80定理,若計(jì)算得出的PERCLOS值>P80,則判斷用戶處于疲勞;同時(shí)檢測眼睛閉合時(shí)長,若眼睛持續(xù)閉合超過3s,則判斷用戶處于疲勞狀態(tài)。
嘴部閾值的設(shè)定:人在打哈欠時(shí),與說話不同,嘴巴的張開程度相對于正常說話明顯更大,且持續(xù)的時(shí)間更長,團(tuán)隊(duì)通過定義PMRCLOS參數(shù)作為打哈欠的判斷標(biāo)準(zhǔn),若PMRCLOS值維持在60%以上并保持3s以上,則判斷用戶處于打哈欠的疲勞狀態(tài)。
頭部偏移閾值的設(shè)定:當(dāng)用戶處于疲勞狀態(tài)時(shí),會產(chǎn)生打瞌睡現(xiàn)象,頭部則會發(fā)生一定程度的偏移,在使用程序時(shí),要求用戶錄入一張坐姿端正的圖片,并以此作為基準(zhǔn)的初始值,在往后的檢測過程中,當(dāng)頭部的偏移程度超過初始值的30%,判斷用戶處于打瞌睡的疲勞狀態(tài)。
2.3 系統(tǒng)運(yùn)行與實(shí)驗(yàn)
系統(tǒng)通過攝像頭對用戶實(shí)時(shí)檢測,獲取用戶人臉并框定頭部位置,標(biāo)記人臉特征點(diǎn),分別通過計(jì)算眼部閉合程度、嘴部張合程度以及頭部的偏移程度,結(jié)合三種計(jì)算值與設(shè)置的閾值比較,當(dāng)用戶出現(xiàn)一種以上條件超過預(yù)設(shè)閾值,則通過鈴聲等方式提醒用戶合理安排時(shí)間休息。融合多姿態(tài)后的疲勞檢測預(yù)警系統(tǒng)運(yùn)行流程如圖4所示。
通過設(shè)備相機(jī)采集用戶正面頭部的情況,每隔2s提取一幀圖像,再利用Dlib庫和頭部姿態(tài)檢測算法選取眼部、嘴部的特征點(diǎn)和框定頭部的位置并設(shè)為初始值,通過融合PERCLOS、MAR及頭部姿勢3個(gè)指標(biāo)計(jì)算,通過計(jì)算眼睛長寬比確定用戶是否出現(xiàn)瞌睡,通過計(jì)算嘴部長寬比確定用戶是否打哈欠,通過頭部偏移程度確定是否打瞌睡。當(dāng)系統(tǒng)檢測到用戶處于疲勞狀態(tài)時(shí),即以P80>40%,MAR>60%,頭部偏移程度>30%為判定疲勞標(biāo)準(zhǔn)時(shí),系統(tǒng)將通過主動發(fā)出提示音等方式,提醒用戶適當(dāng)休息,合理安排時(shí)間。
4 結(jié)論
使用單一指標(biāo)檢測用戶處于疲勞狀態(tài)有一定的準(zhǔn)確性,以眼睛作為檢測指標(biāo)的準(zhǔn)確度與以嘴部為檢測指標(biāo)的效果更好,且在實(shí)驗(yàn)測試過程中團(tuán)隊(duì)發(fā)現(xiàn)以頭部姿態(tài)作為指標(biāo)的檢測方法的難度較高,系統(tǒng)在多幀靜態(tài)圖片的對比中較難做出正確判斷。與單一指標(biāo)作為檢測指標(biāo)相比,融合三種檢測指標(biāo)后得到的用戶疲勞檢測的準(zhǔn)確度更優(yōu),誤差性較小。
以頭部面部多姿態(tài)作為疲勞檢測指標(biāo)的可行性,通過算法搭建檢測系統(tǒng),仍存在以下不足需要進(jìn)一步開展研究:本文基于頭部面部多姿態(tài)作為指標(biāo),系統(tǒng)在采集用戶數(shù)據(jù)后判斷用戶是否處于疲勞,但改為對疲勞的等級進(jìn)行劃分,僅有疲勞和正常兩個(gè)標(biāo)準(zhǔn),而疲勞不是一個(gè)瞬間的過程,以防用戶接近設(shè)定閾值時(shí)系統(tǒng)未能及時(shí)提醒。目前的算法是基于Dlib庫的應(yīng)用,通過Dlib基于C++編寫的優(yōu)勢,讓其擁有良好的跨平臺特性,本文的研究對開發(fā)完備功能的App的開發(fā)提供了基礎(chǔ)。
參考文獻(xiàn):
[1] 武昆亮.基于面部特征與頭部姿態(tài)的疲勞駕駛檢測[D].上海:東華大學(xué),2020.
[2] 孫顯彬,唐洪偉,文妍.疲勞駕駛預(yù)警系統(tǒng)的研究現(xiàn)狀和發(fā)展趨勢[J].青島理工大學(xué)學(xué)報(bào),2007,28(3):91-94.
[3] 龔淑娟.基于面部多指標(biāo)的貨運(yùn)司機(jī)疲勞駕駛檢測[J].物流技術(shù),2020,39(9):74-81,95.
[4] 趙雪娟.基于ASM與信息融合的駕駛員疲勞檢測技術(shù)的研究[J].科學(xué)技術(shù)創(chuàng)新,2020(30):120-121.
[5] 陳梅芬,陸蓉.在線學(xué)習(xí)疲勞狀態(tài)識別方法及應(yīng)用研究[J].深圳職業(yè)技術(shù)學(xué)院學(xué)報(bào),2020,19(5):23-29.
[6] 敖邦乾,楊莎,令狐金卿,等.基于級聯(lián)神經(jīng)網(wǎng)絡(luò)疲勞駕駛檢測系統(tǒng)設(shè)計(jì)[J/OL].系統(tǒng)仿真學(xué)報(bào):1-9[2021-03-08].https://doi.org/10.16182/j.issn1004731x.joss.20-0703.
[7] 劉佰強(qiáng).基于人臉視頻智能分析的日間駕駛員不安全行為檢測分類與預(yù)警系統(tǒng)[D].西安:西安理工大學(xué),2020.
[8] 陸權(quán).關(guān)于公交車駕駛員安全駕駛視覺特性的分析[J].時(shí)代汽車,2021(4):197-198.
【通聯(lián)編輯:唐一東】