?

基于面部多特征融合的學生網課疲勞檢測研究

2023-10-29 01:32黃麗鳳陳建華
計算機仿真 2023年9期
關鍵詞:網課嘴巴人臉

黃麗鳳,陳建華

(泉州信息工程學院軟件學院,福建 泉州 362000)

1 引言

科學技術的發展帶動遠程教育,使其成為了一種在某些特殊情況下非常有效的教育方式[1]。遠程教育不僅學習方式靈活,時間安排自由,資源利用率高,更能夠為學生提供較好的師資和豐富的學習資源,更加滿足了學生的個性學習需求。但遠程教育由于師生之間沒有面對面授課,彼此之間互動性不足,監管力度不夠,個別學生學習主動性不積極,容易產生較差的學習效果。同時,遠程教育中,通常由學生獨自完成,沒有家長或者教師的監督,因此,在學習過程中,極容易出現走神和磕睡等情況[2]。為了約束網課課堂,幫助教師了解學生在網絡課堂中是否具有疲勞狀態并根據學生的疲勞狀態作出相應的預警是目前遠程教育需要研究的一個問題。

目前,基于計算機視覺的人臉識別疲勞檢測是一個研究熱點。張闖[3]等提出了基于人臉特征的MTCNN檢測方法,根據人臉面部特征計算眼睛縱橫比,眼睛閉合百分比和嘴巴縱橫比,然后按不同的權重相加得到疲勞值,根據疲勞值判定駕駛員疲勞程度并對其提出預警。該方法能夠有效地檢測出駕駛員正視的狀態,如果駕駛員的頭部發生偏轉,檢測出來的結果就會有一定的誤差。陳潘等提出了基于卷積神經網絡的學生課堂疲勞檢測算法,通過Leaky ReLU定位眼部特征[4],融合嘴部特征狀態進行疲勞檢測,據此判定學生上課的疲勞狀態。武昆亮等[6]提出了一種基于眼部特征與頭部姿態自適應的疲勞檢測系統。通過BFR(Blinking Frequency ratio)與頭部姿態算法進行綜合判定[6],檢測出疲勞狀態,但參數過于單一?;谇懊嫜芯糠椒ㄖ械牟蛔愫陀嬎銠C視覺研究的發展,本文提出了一種改進的面部多特征融合疲勞檢測算法[5]。

本文以2020級軟件工程1班學生為研究對象,要求學生在網課期間打開攝像頭。首先,通過學生端攝像頭識別學生的眼睛、嘴巴關鍵特征點,實時計算學生眼部的縱橫比Er值和嘴部縱橫比Mr值,采用了眼部自適應閉眼閾值和基于歐拉角的特征校正算法降低了個體中由于眼睛大小不同,頭部偏轉所產生的面部特征偏差,進一步提高了檢測算法的準確性。接著計算學生眨眼頻率、眼睛閉合時間、打哈欠頻率等數據,并對這些數據進行加權求和,得出學生的疲勞狀態。最后根據學生的疲勞狀態提示學生。這樣可以實時地監測學生磕睡情況,有效提高網課課堂的教學管理和教學質量,起到輔助教師管理課堂的功能。

2 相關工作

計算機視覺技術廣泛應用于人臉識別,比如人臉打卡考勤、人臉賬單支付等。本文主要利用計算機視覺技術[8],實現基于多特征因素融合檢測學生在網絡課堂中是否有疲勞狀態。研究主要包括三個過程:1)采用OpenCV結合PHOG算法,通過學生端攝像頭,檢測學生的面部區域,如果末檢測到面部,表明學生開著視頻,并沒有在上課,教師給予警告;如果檢測到學生的面部區域,利用Dlib工具包標定學生的眼睛、嘴巴、面部等關鍵特征的坐標點。2)根據眼睛、嘴巴、頭部的關鍵點坐標位置,計算出學生在平視狀態和不同頭部姿態下校正的眼睛縱橫比Er值,嘴巴縱橫比Mr值。3)根據Er和Mr的閾值,計算出學生在課堂中的眨眼頻率fblink,PERCLOS和打哈欠頻率fyawn,按照不同的權重對這三個特征融合相加,等到疲勞(Fat)值,根據Fat值判斷學生是否有疲勞現象,并對有出現疲勞現象的學生進行分級并對學生提出相應的預警,系統實現流程圖如圖1。

圖1 系統實現流程圖

2.1 人臉檢測關鍵點識別

本文人臉檢測算法采用改進的PHOG(Pyramid Histogram of Oriented Gradients,分層梯度方向直方圖)[8]。1)為了降低人臉在不同的環境中受光照強度和陰影等因素的影響,抑制圖像的噪聲干擾,用式(1-2)灰度化和歸一化處理圖像;2)根據圖像的像素點f(x,y)利用式(3-5)分別計算水平x方向和垂直y方向的梯度以及梯度幅值和梯度方向。3)將圖像分成若干個稱為單元格cell區域,然后統計每一個cell的梯度大小和方向,建立梯度方向直方圖。4)將多個cell單元組合在一個連通的大區域塊block中,然后對每個block進行對比度歸一化處理,串聯出圖像的特征;最后將圖片分割成不同尺度,計算出每個尺度的HOG值并將這些HOG值按順序拼接,得到Phog特征。如圖2。

圖2 人臉關鍵點識別

利用PHOG算法,可以在各種不同的情況下檢測出人臉并識別出眼睛、嘴巴等特征的關鍵點信息,如圖3。

圖3 人臉68個關鍵點定位

2.2 人臉眼部和嘴巴狀態分析

根據人體生理研究發現,當一個人處于疲勞狀態時,面部會出現眨眼頻繁,嘴巴張大打哈欠,眼睛閉合等現象。因此,學生是否處于疲勞狀態可以通過人體面部特征進行判斷。

1)眼睛縱橫比

人體疲勞狀態的一種有效判斷方法是眼部的運動和眨眼信息。實時計算眼睛縱向坐標與橫向坐標之間的歐式距離比值[10]得到的眼睛縱橫比是眼部疲勞檢測有效的方法之一。根據前面dlib 提取人臉的68個點可以得到眼睛的特征點。假設以右眼為例,如圖4。用式(1)計算眼睛Er值。

圖4 眼睛特征點標定

(1)

由于人的眼睛有大有小,存在差異,為了減少這種差異帶來的Er值精準性判斷,本文在閉眼閾值中加入了自適應計算。這樣可以根據單位時間Er值的變化范圍相對準確地計算出不同人的閉眼閾值,自適應閉眼閾值Ert[12]用式(2)計算。

Ert=Ermin+q*(Ermax-Ermin)

(2)

其中q取值0.2。

2)嘴巴縱橫比

人體疲勞狀態的另一種有效參考依據是嘴巴的張大程度。dlib 提取人臉的68個點中分別用12個點表示嘴巴外輪廓和8個點表示嘴巴內輪廓,由于嘴巴內部更能表示嘴巴的張開程度[13],因此,在這里計算8個點的內輪廓。嘴巴內輪廓如圖5,用式(3)計算嘴巴Mr值。

圖5 嘴巴內輪廓特征點標定

(3)

2.3 人臉特征較正

頭部姿態指的是人體在3D空間中頭部發生偏轉產生的。頭部姿態通常指的是人的抬頭、低頭、搖頭和轉頭等狀態。當人的頭部姿態發生變化時,檢測出來眼睛和嘴巴張開的長寬就會發生變化。在人臉特征中,眼睛和嘴巴張開的寬度長度比值是決定Er值和Mr值的關鍵。但由于頭部姿態位置的不同,Er值和Mr值也隨之變化。因此,在人臉檢測中,需要對特征數據進行校正。

通常來說,頭部姿態可以表示成俯仰角(抬低頭)、偏航角(搖頭)及翻滾角(轉頭)組成的歐拉角。下面以學生抬頭低頭為例,分析Er值的校正。

當學生出現抬頭或低頭現象時,人臉頭像映射到圖像時,俯仰角和眼睛長度發生變化,而眼睛的寬度不變。假設平視狀態下測得學生眼睛長度為h0,俯仰角為α0,而在點頭或抬頭狀態下測得眼睛長度為h1,俯仰角為α1[11],因此有:

(4)

公式轉換可得:

(5)

同理推斷,學生在搖頭時,w0和w1表示學生在平視和搖頭時眼睛映射的長度,β0和β1表示學生在平視和搖頭時眼睛的偏航角。因此有

(6)

所以,當學生頭部發生變化時,眼睛的縱橫比Er1可表示為:

(7)

(8)

同理,學生在平視姿態下嘴巴長寬比Mr0和頭部姿態發生變化時嘴巴長寬比Mr1的關系可表示為

(9)

根據學生上課時眼睛的正?;顒?當眼睛平視屏幕時,Er值會保持在設定的閾值0.28之間,當眼睛睜到一定時間,會出現眨眼現象,這時Er值會迅速下降,間隔幾幀后眼睛睜開,Er值又回到閾值周圍,保持相對平穩的狀態。但是當學生出現疲勞時,眼睛閉上時間較長,Er值偏離閾值的持續幀數較長。學生不同狀態的Er值波動折線圖如圖6和圖7。

圖7 眼睛疲勞Er值分布

根據學生上課時嘴巴的正?;顒?當學生沒有張嘴,認真聽課時,Mr值保持在一個相對平穩的閾值中,當張嘴回答問題時,嘴巴張大,Mr偏離閾值,但是又迅速回歸平穩。但是當學生出現打哈欠情況時,Mr值會持續偏離閾值并保留一定的時間。學生不同狀態的Mr值波動折線圖如圖8和圖9。

圖8 嘴巴正常說話Mr值分布

圖9 嘴巴打哈欠Mr值分布

2.4 疲勞參數計算

1)PERCLOS

卡內基梅隆研究所經過反復的實驗與論證,提出了度量疲勞的物理量PERCLOS[12]。該算法是目前被國際上公認的最有效的疲勞檢測算法。PERCLOS指測得眼睛在單位時間內閉合時間和總時間的占比,用式(10)計算,其中,單位時間指的是1分鐘。本系統的眼部疲勞判定采用實驗證明效果最好的P80標準。

(10)

2) 眨眼頻率

表3中A1、A2、B1區域為可忽略風險區域. 風險水平可接受,當前風險應對措施有效,無須采取額外的技術、管理等控制措施;

人體的一種正常生理現象是眨眼,一般來說,正常人平均每分鐘眨眼的次數是15~20次,如果一個人在一分鐘內眨眼超過二十次甚至高達四十次,就可以判斷為眨眼睛頻率,用式(11)計算。當人處于疲勞時,眨眼的頻率會隨著疲勞的加深而逐漸明顯。因此,本系統把眨眼頻率也做為疲勞狀態的判定標準之一。

(11)

3) 打哈欠頻率

當人處于疲勞狀態時,嘴巴會張開再閉合,出現打哈欠現象。因此,可以根據嘴巴這一特征用式(12)計算打哈欠頻率,這也是評價疲勞狀態的另一個重要指標。

(12)

4) 疲勞特征融合

由于每個個體在不同方面表現存在差異,如果單靠某一特征進行疲勞判定可能出現誤差,準確率較低。因此,在疲勞狀態判定時,需要從多個方面進行考慮,比如人體的眨眼頻率,打哈欠的頻率,眼瞼閉合時間占比等。本系統用式(13)采用對不同的疲勞特征賦予不同的權重進行加權求和融合計算。

Fat=α0*PERCLOS+α1*fblink+α2*fyawn

(13)

3 實驗測試與結果分析

本文通過網課模擬實驗采集監測圖像樣本數據集。在該數據集中,包含了50名學生自愿者模擬了在不同室內光照下呈現的正常狀態和疲勞狀態。為了保證實驗結果的準確性,攝像頭的拍攝分辨率是每秒30幀,每個視頻采集持續7秒。經過重復5次實驗測試,將檢測結果分成了幾個不同的疲勞等級。

根據人體生理特征表現,當一個人處于嚴重疲勞時,閉眼瞌睡的癥狀比如眨眼、打哈欠更明顯。因此,綜合疲勞狀態與每個特征的關聯及對各項指標的認識,分別給不同特征分配不同的權重。為了使實驗數據更有說服力,分別選擇了兩組不同的權重來對疲勞特征融合。見表1。

表1 各疲勞特征權重分配

根據疲勞特征融合公式及疲勞等級分配的權重,可以計算機出融合后的疲勞等級,見表2。

表2 疲勞等級劃分表

傳統的疲勞特征計算采用的是單特征完成,本文利用的是多特征的融合計算疲勞特征,不同的計算結果見表3。

表3 不同特征的疲勞分析表

不同特征不同權重計算出來的疲勞值見表4。

表4 不同特征不同權重的疲勞分析表

從上表可以看出,當學生出現多特征疲勞狀況時,分配的疲勞特征分配的權重不同,計算出來的結里也有差異,方案1更為精確。因此,本文采用方案1的物權重對疲勞值進行計算。

如果采用單特征進行疲勞檢測,當學生吃東西或者大笑時,會影響檢測的準確率,為了進一步驗證本文提出方法的有效性,隨機抽取6段學生網課視頻數據進行分析。實驗結果見表5。

表5 兩種疲勞檢測方法數據對比

根據多特征融合計算出學生網課時的狀態。以實際檢測到的數值對學生的疲勞狀態進行分級,當出現嚴重疲勞時,給予”warning”提醒,當出現輕度疲勞時,給予“Attention”提醒。效果如圖10。

圖10 學生上課狀態截圖

4 總結

本文提出的學生網課疲勞檢測方法能及時有效地檢測出學生在網課中的疲勞狀態,幫助教師發現并提醒學生,提升課堂管理水平,保證網課課堂教學質量。該方法通過具有更強抗干擾能力的PHOG算法對人臉進行標定,通過計算眼睛縱橫比(Er)和嘴巴縱橫比(Mr),得到學生臉部的實時特征。為了減少不同個體的眼睛大小、頭部姿態對Er值和Mr值的影響,采用了眼部自適應閉眼閾值和基于歐拉角的特征校正。最后分別為不同的疲勞特征設置權重,融合加權計算,得到學生的疲勞值,解決了單一特征疲勞值計算容易受外界影響的問題,進一步提高了檢測的準確性。實驗表明,在學生網課疲勞檢測中,本文的算法準確性較高,實時性較好,對監管網課課堂、提升網課教學質量有明顯的作用。

猜你喜歡
網課嘴巴人臉
有特點的人臉
對網課不能聽之任之
遏止網課亂象重在落實
嘴巴嘟嘟
是什么“網課”讓“學生們”好評如潮
嘴巴不見了
『選』網課
好好的嘴巴
三國漫——人臉解鎖
馬面部與人臉相似度驚人
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合