黃麗媛,吳南壽,王雪花,曾亞光,韓定安,周月霞
(1.佛山科學技術學院 物理與光電工程學院;2.佛山科學技術學院 電子信息工程學院,廣東 佛山 528200)
為了實現課堂教學考勤的自動化,部分高校使用考勤系統來替代人工考勤。常見的考勤系統有射頻卡考勤系統、指紋考勤系統和人臉識別考勤系統。與射頻卡考勤系統和指紋考勤系統相比,人臉識別考勤系統具有非接觸、圖像獲取簡單、在實際應用場景中可以同時進行多個人臉的檢測與識別等優點,是一種友好的、直觀的、便利的技術[1,2]。目前大多數高校教室里都配備有監測相機,可以利用這些監測相機拍攝課堂照片,通過機器學習的算法對這些拍攝的圖像進行人臉識別,實現對上課學生和老師的自動考勤。

圖1 算法流程圖Fig.1 Algorithm flowchart
在人臉識別考勤時,學生會出現抬頭、低頭、側臉等人臉角度變化,以及人臉表情變化和人臉被前面同學遮擋的現象,這些現象是影響人臉識別算法識別準確率的關鍵因素。為了解決人臉角度、表情變化和人臉部分遮擋導致人臉識別算法識別不準的問題,本文提出一種基于特征向量提取和SVM(Support Vector Machine)分類器的人臉識別方法,該方法包括用于提取人臉特征向量的深度神經網絡模型和用于識別的SVM分類器。首先采用三元組損失函數(triplet loss)[3]作為目標函數,訓練深度神經網絡模型直接學習從人臉圖像到歐氏空間的映射,使人臉圖像輸入訓練好的神經網絡模型后直接輸出人臉特征向量;然后將人臉特征向量作為SVM分類器的輸入并訓練;最后將訓練好的分類器用于課堂人臉識別考勤。在對12名學生同時進行實際課堂考勤的實驗中,本文提出的方法在人臉角度、表情變化和人臉部分遮擋的情況下能夠達到92.68%的人臉識別準確率。說明本文提出的基于特征向量提取和SVM分類器的人臉識別方法可以實現準確全面的課堂考勤。
本文提出的基于特征向量提取和SVM分類器的人臉識別方法流程如圖1所示。在人臉識別前,先使用攝像機采集12名學生的視頻圖像,再使用MTCNN人臉檢測器[4]截取人臉區域圖像并保存,用訓練好的深度神經網絡模型提取人臉特征向量,最后將人臉特征向量輸入SVM分類器進行訓練。在人臉識別階段,教室前端的攝像機每隔5min拍攝一張學生上課的圖像并保存到服務器,人臉識別的程序在服務器上運行。人臉識別前,同樣使用MTCNN人臉檢測器截取考勤圖像中的人臉區域圖像并保存。然后將人臉圖像輸入深度神經網絡模型得到人臉特征向量,并使用訓練好的SVM分類器進行識別。最后將學生出勤情況寫入Excel中。其中,使用MTCNN進行人臉檢測的優勢是:該算法對人臉姿態變化和極端光照影響具有一定的魯棒性;算法運行速度快,實時性能良好。
本文使用Inception-ResNet-v1[5]殘差神經網絡(Residual neural network)模型[6]提取人臉特征向量。該模型的訓練集采用VGGFace2數據集[7]。其中,三元組損失函數作為目標函數用于該模型的訓練。三元組損失函數中規定同一個人的兩張圖像為正樣本,不同人的兩張圖像為負樣本。通過訓練網絡模型最小化正樣本特征向量之間的歐式距離的同時增加負樣本特征向量之間的歐式距離,從而使人臉特征向量之間的歐式距離直接代表人臉相似度。三元組損失函數為:

公式(1)中的a(anchor)和p(positive)分別表示同一個人的兩張不同圖像,這兩張圖像表示一個正樣本圖像對;a(anchor)和n(positive)分別表示不同人的兩張不同圖像,這兩張圖像表示一個負樣本圖像對;α為閾值;xa和xp表示正樣本的人臉特征向量;xa和xp表示負樣本的人臉特征向量。
人臉識別是一個多分類問題,本文的SVM分類器訓練采用一對一方法(OvO)。要識別K名學生,即K類問題,OvO直接訓練出k(k-1)/2個二分類模型,每個模型都只從訓練集中接受兩個類的樣本進行訓練。模型Gij(i<j)將接受且僅接受所有第i類和第j類的樣本,并嘗試通過訓練來區分開第i類和第j類;同時,假設Ci代表第i類空間樣本,有以下公式[8]

當模型Gij訓練好后,OvO將通過投票來進行決策,在k(k-1)/2次中得票最多的類為模型預測結果。
本文所有算法程序在64位Windows 10 操作系統(Intel(R)Core(TM)i7 3.60GHz,CPU 3.60GHz,16.0GB RAM)上運行,使用Python語言編寫。本文的算法程序調用了GPU(NVIDIA GeForce GTX 1060 6GB)加速。
本文對12名學生進行了實際課堂考勤實驗。使用攝像機對在座學生拍照8張(每張考勤圖像大小為1920×1080)。在人臉識別前,本文對12名學生每人選取30張左右的人臉圖像,所有訓練集人臉圖像的特征提取和SVM分類器訓練過程用時約10.16s。對8張課堂考勤圖像進行人臉識別,總用時約10.67s。考勤圖之一的人臉識別結果如圖2所示,其中被檢測出的人臉用綠色矩形框框出,洋紅色英文表示被識別出的學生的代號。

圖2 課堂考勤圖像識別結果圖之一Fig.2 One of the result diagrams of classroom attendance image recognition
在考勤過程中,學生的人臉普遍存在角度、表情的變化和人臉部分遮擋的現象。圖3展示本文算法能夠準確識別對應學生的部分人臉圖像。其中,人臉角度變化主要包括抬頭、低頭、側臉,表情變化主要有中性臉、高興、驚奇;人臉部分遮擋主要包括臉頰、眼睛、嘴唇、鼻子被前面的學生遮擋。本文算法能夠準確識別具有一定角度變化和表情變化的人臉,對于半邊臉被遮擋的學生也具有一定的識別能力。
本文提出了一種基于特征向量提取和SVM分類器的人臉識別方法用于課堂人臉識別考勤,在含有人臉角度、表情變化和人臉部分遮擋的情況下達到92.68%的人臉識別準確率。該方法首先利用人臉檢測器截取人臉區域圖像,將人臉圖像輸入深度神經網絡模型中得到人臉特征向量,然后將人臉特征向量作為SVM分類器的輸入并訓練分類器,最后將訓練好的SVM分類器進行人臉識別。值得注意的是,在采集學生的人臉視頻圖像時,對于佩戴眼鏡的學生,需要同時錄入佩戴眼鏡和沒戴眼鏡時的圖像以保證識別準確率;另外,對學生人臉數據集進行圖像增強可以提升算法對人臉姿態變化和光照變化的魯棒性。

圖3 準確識別的部分人臉角度、表情變化和人臉部分遮擋的圖像Fig.3 Accurately identified parts of the face angle, expression changes and partially obscured images of the human face