于子平,程杰,丁巖康,仇睿,王單單,李偉仙
(北京信息科技大學儀器科學與光電工程學院,北京,100192)
注意力是指人們心理活動集中于某一個事物的能力,它反映了人們對這一事物的感興趣以及專注程度。注意力歷來是教育教學中關注的熱點,吸引學生注意力是當代課堂的首要任務。在課堂教學中,學生注意力可以有效反應課堂教學狀態,甚至與課堂教學效果戚戚相關。因此,有效評估課堂學生的注意力可提供客觀數據,對教育教學具有重要的指導作用。
注意力的檢測方法主要可分為3種。一是人工法,通過專家現場觀察進行打分,但是該方法主觀性強,對專家能力要求很高。二是答題法,通過完成特殊設計的評分量表,根據答案量化待測人員的注意力情況,該方法是目前多動癥、自閉癥、老年癡呆等醫學診斷中注意力檢測的重要診療手段,但該方法僅適用于為腦部功能缺陷障礙患者的常識反應,而無法圍繞功能健全者對某一具體事件的反應提供注意力情況報告。三是儀器檢測法,通過專門穿戴儀器跟蹤待測人員的腦電或人眼信號并進行注意力評估,該方法能具體到特定事件的注意力檢測,但是由于需要專門儀器,介入檢測將對檢測結果造成影響。比如Veliyath N提出的頭戴式眼動儀注意力檢測方法,會造成受試者行動不便,使得受試者的反應出現偏差,影響注意力檢測結果[1]。因此,針對本文課堂注意力檢測,目前尚無能直接利用的無介入注意力檢測方法與儀器。
由于學生臉部和眼部隨注意力變化反應較大,可作為注意力表征特征,因此本文擬利用教室監控相機拍攝的課堂視頻,通過深度學習算法進行多目標的臉部和眼部特征提取,根據頭部姿態估計與眼部疲勞判斷,檢測課堂所有學生的注意力狀態[2-3]。該方法無需穿戴設備,無介入反應,可真實準確還原課堂注意力,為教學提供指導信息。
隨著深度學習進入目標檢測領域,人臉檢測作為目標檢測的一個子方向也迅速發展起來[4-6]。本文利用libfacede tection模型完成監控視頻中出現的學生人臉檢測,并返回圖2所示的人臉68個特征點位置,為后續的人臉姿態估計和眼部特征提取提供依據[7]。libfacedetection模型的骨干網絡一共有21層,由多個卷積/歸一/激活模塊和最大池化層組成。骨干網絡分成4個分支進入檢測層,網絡對人臉68個特征點使用錨框進行回歸,再經過非極大值抑制去除冗余檢測框后輸出人臉檢測的置信度、68個特征點的位置和交并比。

圖1 人臉模型的68個特征點

圖2 坐標系間的轉換
在計算機視覺中,物體的姿態是指相對于某一坐標系的相對取向和位置。如圖2所示,描述人臉特征的人臉坐標系以鼻尖為原點O,U軸水平向右,V軸垂直向上。假設已知從人臉坐標系到位于光心的相機坐標系的旋轉矩陣R和平移矩陣t,且已知攝像機的內參矩陣K,則可以通過式(1)獲得人臉某個特征點P在人臉坐標系和像素坐標系下的轉換關系。

其中,內參矩陣K通過張正友標定法獲得[8],人臉坐標系下的人臉特征點的三維坐標(U,V,W)通過3DMM模型計算獲得[9]。本文利用人臉特征點8,30,36,45,48,54,再根據式(1)計算當前人臉位置處相對相機的位置關系R和t,接著計算人臉相對于相機坐標系的歐拉角Pitch、Yaw和Roll。本文假設學生低頭為注意力不集中,主要與Pitch角有關,因此,當Pitch角超過閾值,則判斷為注意力不集中。
據統計,正常人每分鐘眨眼次數約為20次,每次眨眼間隔時間約為3s。當學生走神時,每次眨眼間隔時間會超過3s;當學生困乏時,眨眼頻率會增加約為平均每秒眨眼一二次。因此,通過判斷眨眼頻率是否在1/4 到1/2之間,可以判斷學生此時是否注意力集中。眨眼頻率fb定義如下:

其中,n為時間段t內發生眨眼動作的次數,可由眼睛在圖像中的縱橫比來確定。N為時間段內獲取的視頻幀數。以左眼為例,選取圖1的左眼的6個特征點(36,37,38,39,40,41),則眼睛縱橫比定義為:

其中,EAR表示眼睛縱橫比,y表示圖像垂直方向縱坐標,x表示圖像水平方向橫坐標。在睜開眼的情況下,眼睛縱橫比是保持不變的或者在小范圍浮動,當眼睛閉合的瞬間,該數值會迅速下降,通過該數值迅速下降的次數來表示眨眼次數,由此計算出在時間t內眨眼次數n。
本文注意力檢測以頭部姿態估計為主,眼部疲勞檢測為輔的方式展開。首先通過頭部姿態估計計算Pitch角。根據文獻[10]Pitch角應位于[-60.4°,69.6°],以此排除異常姿態,再判斷此時學生是否為低頭。若估計結果為低頭,則記錄為注意力不集中;若估計結果為抬頭,再通過眼部疲勞檢測,當眨眼頻率超過2.3中給定的頻率范圍時,記錄為注意力不集中;其余情況記錄為注意力集中。
人臉檢測訓練使用WIDER FACE數據集,并通過對數據集進行多尺度縮放、隨機拼接的數據增強技術提高了數據的多樣性。采集100張教室中學生聽講的圖片對訓練的模型進行準確率測試,結果顯示課堂視頻人臉檢測平均準確率達到了84.1%,圖3給出了人臉檢測模型的檢測效果,可很好的框選人臉區域,并給出人臉的68個特征點。

圖3 課堂中的人臉檢測和特征點檢測
受試者坐在一個直立的椅子上,通過眼睛正視相機初始化Pitch角,受試者再自然低頭,重復三次動作,取平均值獲得低頭時Pitch角度閾值。閾值確定后,人臉姿態估計結果如圖4所示,其中藍、綠、紅線段分別代表圖2中人臉坐標系下的U、V、W軸。

圖4 人臉姿態估計
對多張閉眼圖像隨機抽取樣本,獲得眼部橫縱比閾值。實驗中所設定的閾值范圍為0.02~0.035,睜眼、閉眼測試結果如圖5所示。使用錄制的眨眼視頻對眼部疲勞檢測效果進行測試,準確率為檢測到的眨眼次數與實際的眨眼次數的比值,經過5次測試,得到平均準確率為93.2%。

圖5 眼部特征檢測
為了驗證模型準確率,使用相機采集視頻,進行注意力檢測測試,測試結果如圖6所示,視頻中學生有6人,最終識別出5人,其中一人由于臉部未出現在圖像內,因此未檢測到。檢測結果表明教室后方的學生2、4被準確地檢測到,小臉檢測效果仍然較好。并且從專注時間可以看出學生1、5專注時間較長,符合預期結果。

圖6 課堂注意力測試
在無介入的環境下,魯棒的人臉檢測是注意力檢測的前提,而頭部姿態估計和眼部疲勞檢測是注意力檢測的關鍵。本文通過深度學習算法進行多目標的臉部特征提取,根據6個臉部特征點估計頭部姿態,并通過使用眨眼頻率來判斷注意力是否集中的方法來彌補頭部姿態估計中抬頭時注意力檢測的錯誤判斷,提高了準確性。