吳麗娟, 任海清, 關貴明, 梁岱立, 黃 堯
(1. 沈陽師范大學 物理科學與技術學院, 沈陽 110034; 2. 北部戰區31441部隊, 沈陽 110001)
傳統的課堂教學評價通常采取專家聽課和課后學生打分等方式,具有一定的滯后性和不客觀性[1-4]。隨著素質教育的推行,課堂上教師和學生的互動越來越成為評價課堂質量的一個重要指標。因此,實時、客觀的教學評估體系,是有效培養高素質人才必不可少的保障。隨著電子設備的普及,當代課堂中出現了大批的“低頭族”,這也成為師生互動、提升教學效率的一大障礙。“抬頭率”已成為判斷學生的專注程度、檢驗課堂教學效果的重要因素之一[5-8],因而設計和開發基于人臉識別的課堂學習狀態反饋系統是非常必要的。在如今科技飛速發展的環境背景下,人臉識別已經從20世紀60年代時的理論層面發展到現在運行穩定的應用層面。目前,應用較為廣泛的算法中,YOLO算法頗受研究者的青睞,但在某些應用場景中,也具有一定的局限性。本文在YOLO算法的基礎上進行改進,完善了它的局限性。通過精確、實時的課堂人臉檢測和姿態識別,該系統可以對學生的聽課狀態和課堂教學質量進行客觀可靠的判斷,為教師對課堂的整體把控和教學方案實施提供參考,對課堂上學生的表現也起到了監督和評價的作用。
卷積神經網絡包括輸入層、隱含層、輸出層,其中,輸入層和輸出層各1個,隱含層設置多個。隱含層包含卷積層、池化層及全連接層。經過卷積運算產生的圖像具有和原始圖像相似的特征,卷積過程中,卷積核尺寸、深度、移動步長的設置都會影響結果的準確性,應根據需要將其調整到適當值。將卷積后生成的圖像經過激活函數重新賦值,再進行池化處理,在保留原圖像基本信息不被改變的情況下將冗余信息舍棄,按比例將圖像調整到適當尺寸。全連接層將所有像素依次進行全連接處理完成輸出。
1.2.1 YOLOv5s模型
YOLOv5算法所采用的卷積神經網絡模型有4種,按照復雜程度從簡到繁分別是YOLOv5s, YOLOv5m, YOLOv5l以及YOLOv5x,模型越復雜,其識別速度越慢,識別準確度越高。本文選取YOLOv5s模型的速度優勢,在其基礎上進行識別準確度的提升。
1.2.2 YOLOv5s的損失函數
輸出層對于每個輸入的神經元有權重的取舍,將最終識別出來的結果與真實結果進行對比,之間的誤差形成損失函數,經過梯度下降法進行反向傳播,并對卷積核的參數進行迭代調整,這樣循環計算不斷調整權重,直到將損失函數降到最低,最終完成訓練過程。總體采用梯度下降法解決回歸問題。
輸入圖像經過卷積神經網絡的變換得到一個三維的張量輸出,主要原理如圖1所示。在目標圖像沒有重疊的情況下,將原圖像劃分成K×K個網格,每個網格預測出2個邊框,作為檢測對象的候選區域。

圖1 YOLOv5s識別原理圖Fig.1 The principle of YOLOv5s recognition
邊框中心點的x坐標,y坐標,邊框的高度h,以及寬度w,2個邊框共需要8個數值來表示。邊框置信度表示使用該邊框的可能性。邊框的置信度=該邊框內存在對象的概率×該邊框與該對象實際邊框的IOU(即2個邊框的交并比),每個邊框只代表一個類,因而有其唯一的置信度,而每個網格預測出2個邊框,每個網格共有2個置信度。
YOLOv5s支持識別80種不同的對象,所以有80個值表示該網格位置存在任一種對象的概率,那么每個網格就有8+2+80=90個維度。
基于SCV6544并行超算云平臺,在pytorch 2.0環境中使用python 3.6.13運行完成訓練,并在相同環境下進行人臉識別。人臉識別定位系統的主要處理環節如下:首先,進行圖像采集,將采集來的圖像進行圖像增強預處理,再進行人工標注,框出人臉區域并打上人臉狀態標簽;然后,生成標簽文件,導入到訓練模型中,進行訓練參數的改進,開始訓練;其次,進行訓練結果的分析,如果不理想,則繼續修改訓練參數,直到訓練結果滿意;最后,對訓練結果進行識別參數的修改并識別,然后對識別結果進行分析,若結果不理想則進行識別參數的修改,直到識別結果滿意為止,完成輸出。
2.2.1 圖像采集與預處理
根據需要, 準備充足的正面人臉數據集。 考慮到課堂教學的實際情況, 具體標準為: 正臉面對鏡頭, 或者與攝像頭方向水平旋轉角度在10° 以內視為正面。 與攝像頭水平旋轉角度示例如圖2所示。

(a) 向左旋轉10°(b) 正面(c) 向右旋轉10°
考慮到教室光線變化等情況[9-12],將分類完成的數據集按照改進的YOLOv5s網絡模型進行設置。將每張圖像像素設置為640×640,為了使識別效果更加準確,將原始圖像進行RGB曲線變換預處理,再按照不同分類將數據集進行依次編號。預處理前后對比圖像如圖3所示。

(a) 原圖(b) 增大曝光度處理圖(c) 減小曝光度處理圖
2.2.2 數據集的準備
將預處理之后的圖像進行編號, 對帶有序號的人臉圖像進行標注(標注的人臉識別框的位置與尺寸作為訓練與識別中IOU計算部分的參考依據), 選擇對應的分類名稱, 生成各自的標簽文件, 再將訓練圖像和標簽文件導入到訓練程序中, 修改訓練過程參數,準備訓練。 圖像標注過程如圖4所示。

圖4 圖像標注過程圖Fig.4 Image annotation process
2.3.1 數據集訓練
所有數據集充分準備后開始訓練,訓練過程中模型輸出341×3=1 023個預測框,這些預測框共輸出1 023個標簽值,每個預測框都有對應的標簽。在訓練過程中將這些標簽所對應的數與其標簽進行擬合,通過損失函數的反向傳播和梯度下降,對卷積層內的權重進行迭代更新,完成訓練過程。
2.3.2 初訓練結果分析
訓練結束后,若發現系統的識別速度很快,但是識別的平均準確度達不到要求,則需要在不影響識別速度的條件下,進一步將訓練模型進行改進,以提高其準確度。
2.3.3 訓練算法改進
為了使YOLOv5s訓練算法中設置的模型深度與寬度滿足應用需要,將模型的深度由原來的0.33增加到0.50,寬度由原來的0.50增加到0.67,在不影響識別速度的情況下,提高了系統識別的準確度。
2.3.4 改進后的訓練結果
根據訓練結果顯示,改進后的訓練結果中檢測框的損失函數、目標檢測損失函數都可以降到0.1以下,準確度和召回率都可以達到0.99以上,達到了理想的效果,如圖5所示。

圖5 參數修改后訓練結果圖Fig.5 Training result after parameter modification
在YOLO算法的卷積神經網絡模型中,YOLOv5s與YOLOv5m是由簡到繁的相鄰2個模型結構,因此將本文提出的改進的YOLOv5s模型與上述2種模型進行對比,結果見表1。改進后的YOLOv5s在人臉識別速度上并沒有明顯差異,但相比于YOLOv5m,可以達到快速的識別;在平均準確度上,改進的YOLOv5s增大了0.011,與YOLOv5m相差無幾;從4種損失函數的指標也可以看出,改進的算法可以迭代到更低值,準確度更高;在召回率上,改進的算法可以使識別結果更加穩定。


表1 模型改進前后的識別結果對比Table 1 Comparison of recognition results before and after model improvement
綜上所述,與YOLOv5s和YOLOv5m相比較,改進的YOLOv5s具有前者的速度和后者的準確度。
當訓練達到最佳穩定狀態時,進行圖像的檢測與識別,檢測算法中的參數設置直接影響識別結果。其中,主要修改的參數為圖像置信度閾值-conf及交并比閾值-iou。
2個閾值參數對識別結果起到篩選的作用。 置信度閾值-conf參數將所設置的數值以下的識別框全部過濾掉,在預測結果中不再顯示。交并比閾值-iou參數負責篩選識別結果中的邊框個數,如果將-iou參數設置為0.45,則2個邊框的交并比在0.45以上的將只會顯示出一個IOU值較大的邊框,具體原理如圖6所示。

圖6 IOU原理示例圖Fig.6 Illustration of IOU principle
IOU的計算方法如下:
IOU=S/M
其中:S表示2個檢測框的交集區域;M表示2個檢測框的并集區域;IOU為2個檢測框的交并比。
通過-conf與-iou參數的改進,可以使識別結果更加清晰,可以看到每個人臉只有一個檢測框對應的一種識別狀態,使識別結果更具有實用價值,如圖7所示。

(a) 參數改進前識別圖(b) 參數改進后識別圖
由于教室環境的影響,人臉的識別不僅會識別到真正的課堂中的學生人臉數,還會識別出環境中(如畫像)的人臉,這會影響“抬頭率”的計算結果,本文暫不考慮這種因素。人臉識別結果會輸出處于“認真狀態”的學生人數V以及“抬頭率”T。“認真狀態”指根據課程性質所規定的學生上課姿態中的一種或幾種。“抬頭率”,即系統識別出的“認真狀態”人數V與課堂上課總人數R之比:
T=V/R
其中,V根據課程的實際性質來規定,課程性質包括講授課、復習課、習題課、自習課等。本文研究講授課“抬頭率”,因而規定“正面”為“認真狀態”,識別結果中為“正面”的學生人數即V的值,如圖8所示。
圖像中一共有6(R)種不同姿態的人臉,而被識別出“正面”的人臉一共為4(V)個,則此時的“抬頭率”T=4/6=66.7%。
將計算出的“抬頭率”的值反饋給教師來總體分析學生課堂表現的狀態,同時,幫助教師進一步調整教學計劃和講課內容,更好地完成每一節課。
3 結 論
改進的YOLOv5s算法識別無遮擋人臉圖像平均檢測速度為32 ms,平均識別速度為1.287 s,可以達到實際應用要求[13-15],平均識別準確度可以達到0.996,可以滿足實際需要。對于較暗環境下的識別準確度也可以達到0.877,達到了課堂教學實時監測需求。然而,改進的YOLOv5s算法對于其他領域人臉不同姿態識別的應用有待進一步探索。