宋亞鋒,鐘 銳,王 晨
(贛南師范大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,江西 贛州 341000)
在學(xué)校教育中,課堂考勤是了解學(xué)生學(xué)習(xí)狀態(tài),保證教學(xué)質(zhì)量的重要保障.目前學(xué)校的考勤大多采用傳統(tǒng)點(diǎn)名、線上打卡以及人臉打卡等方式.具體的考勤實(shí)現(xiàn)方式有:文獻(xiàn)[1]實(shí)現(xiàn)的在線點(diǎn)名軟件,采用實(shí)名化的方式來杜絕代替考勤的現(xiàn)象,但依然是采用點(diǎn)名的方式進(jìn)行考勤,效率問題沒有得到解決.文獻(xiàn)[2]基于人臉識(shí)別提出的移動(dòng)考勤系統(tǒng),極大的提高考勤效率,基本能做到實(shí)時(shí)考勤,但在考勤的準(zhǔn)確度上有所欠缺,容易出現(xiàn)漏檢誤檢的情況.文獻(xiàn)[3]提出的人臉識(shí)別會(huì)議考勤系統(tǒng),該考勤系統(tǒng)只適用于人數(shù)較少的會(huì)議場(chǎng)景,無法適用于人數(shù)眾多的高校課堂.盡管以上課堂考勤方式只是在考勤準(zhǔn)確率或效率方面具有一定優(yōu)勢(shì),然而在實(shí)際應(yīng)用中的課堂考勤系統(tǒng),應(yīng)在實(shí)時(shí)性和準(zhǔn)確性方面同時(shí)具有較好的性能,只有這樣的系統(tǒng)才具有較好的實(shí)用價(jià)值.
準(zhǔn)確的身份驗(yàn)證是考勤系統(tǒng)的關(guān)鍵,在目前眾多的身份驗(yàn)證技術(shù)中,人臉識(shí)別以其無接觸性、高效性以及難以偽造等優(yōu)勢(shì)被廣泛應(yīng)用,特別是近年來深度學(xué)習(xí)技術(shù)的快速發(fā)展,人臉識(shí)別的準(zhǔn)確度得到了前所未有的提高,如:文獻(xiàn)[4]提出的DeepFace模型首次采用了深度學(xué)習(xí)方法進(jìn)行人臉識(shí)別,在識(shí)別準(zhǔn)確度上遠(yuǎn)遠(yuǎn)超越了以往的非深度學(xué)習(xí)人臉識(shí)別方法.文獻(xiàn)[5]提出的FaceNet模型利用三元組損失替代原來的SoftMax損失,進(jìn)一步提高了人臉識(shí)別的準(zhǔn)確度.文獻(xiàn)[6-7]提出的SphereFace和ArcFace也是通過改進(jìn)損失函數(shù)來提升人臉識(shí)別性能的模型.以上人臉識(shí)別算法只能在公共數(shù)據(jù)集和限制性場(chǎng)景中實(shí)現(xiàn)較高的人臉識(shí)別率,在復(fù)雜的非限制性場(chǎng)景中還難以取得令人滿意的結(jié)果.特別是在高校課堂中(如:公共課等),學(xué)生人數(shù)多,環(huán)境中存在各種復(fù)雜的面部姿態(tài)變化、光照不足、圖像分辨率低、遮擋等多種干擾因素,若直接使用上述人臉識(shí)別算法對(duì)教室監(jiān)控圖像進(jìn)行人臉識(shí)別,將出現(xiàn)嚴(yán)重的漏識(shí)別和誤識(shí)別的問題,無法滿足課堂考勤的需求.
針對(duì)現(xiàn)有課堂考勤系統(tǒng)所存在準(zhǔn)確度不高以及實(shí)時(shí)性不足的問題,本文受到文獻(xiàn) [8]中的無感知課堂考勤方法的啟發(fā),提出一種基于多攝像頭(Multi Camera,MC)的無感知實(shí)時(shí)課堂考勤方法.該方法是通過多個(gè)攝像頭的方式來獲取多個(gè)角度學(xué)生圖像,以有效解決遮擋和遠(yuǎn)距離的問題,然后利用FaceNet模型對(duì)學(xué)生人臉進(jìn)行識(shí)別考勤.學(xué)生在多攝像頭的場(chǎng)景下不需要刻意望著一個(gè)攝像頭,從而實(shí)現(xiàn)無感知考勤.由于多攝像頭采集的圖像中存在重復(fù)人臉,因此為了提高人臉識(shí)別效率,避免重復(fù)人臉的多次識(shí)別,本文提出粗篩和細(xì)篩相結(jié)合的方式去除重復(fù)人臉,提高系統(tǒng)的識(shí)別效率.
無感知課堂考勤指在學(xué)生上課時(shí)的無感知狀態(tài)下對(duì)學(xué)生進(jìn)行考勤,本文的無感知課堂考勤通過利用多攝像頭采集學(xué)生上課圖像的方式來實(shí)現(xiàn),這樣就不需要學(xué)生刻意望著同一個(gè)攝像頭.本文的多攝像頭無感知課堂考勤方法由人臉檢測(cè)模塊、比對(duì)篩選模塊、人臉識(shí)別模塊3個(gè)部分組成,該方法的總體框架如圖1所示.
圖1 總體框架結(jié)構(gòu)圖
從圖1中可知,該方法的總體流程為:
第1步:利用多個(gè)攝像頭(n1,n2,…,ni)從不同角度獲取學(xué)生上課圖像,再對(duì)所采集的圖像進(jìn)行人臉檢測(cè),從而獲取人臉樣本集(a1,a2,…,am).
第2步:將人臉樣本集放入比對(duì)篩選模塊,通過LBP特征粗篩和深度特征細(xì)篩相結(jié)合的方式去除重復(fù)的人臉樣本,比對(duì)融合時(shí)采用兩兩比對(duì)來實(shí)現(xiàn).
第3步:將去除重復(fù)人臉后的人臉樣本集放進(jìn)人臉識(shí)別模塊進(jìn)行識(shí)別,識(shí)別結(jié)果記錄在excel考勤記錄表中,并在每次考勤完后更新考勤記錄表.
為了能夠?qū)崿F(xiàn)高效準(zhǔn)確的人臉檢測(cè),本文在人臉檢測(cè)模塊中采用MTCNN算法框架[9]進(jìn)行人臉檢測(cè).MTCNN框架是基于人臉對(duì)齊和人臉檢測(cè)的內(nèi)在相關(guān)性提出的一個(gè)深度級(jí)聯(lián)多任務(wù)框架,在進(jìn)行人臉檢測(cè)時(shí)具有較高的準(zhǔn)確性和實(shí)時(shí)性,算法的整體檢測(cè)流程如圖2所示.
圖2 MTCNN檢測(cè)流程
圖2 (a)是教室中采集的課堂場(chǎng)景圖像,圖中部分學(xué)生人臉圖像存在分辨率低以及遮擋等干擾因素.圖2(b)為使用MTCNN人臉檢測(cè)后的結(jié)果圖,圖中的低分辨率人臉和遮擋人臉無法進(jìn)行有效檢測(cè).為了解決該問題,本文使用多個(gè)攝像頭從不同角度獲取學(xué)生圖像,來獲取課堂中所有學(xué)生的人臉圖像.
由于多個(gè)攝像頭所采集的課堂場(chǎng)景圖像中存在著大量重復(fù)人臉,若直接對(duì)圖像樣本進(jìn)行識(shí)別,將出現(xiàn)重復(fù)人臉多次識(shí)別的問題.為了解決該問題,本文采用初篩和細(xì)篩相結(jié)合的比對(duì)方法,對(duì)重復(fù)人臉進(jìn)行比對(duì)篩選,以此來提高人臉識(shí)別的效率,使考勤系統(tǒng)具有更好的實(shí)時(shí)性,具體的實(shí)現(xiàn)方法如圖3所示.
圖3 比對(duì)篩選模塊
從圖3中可以看出,最初每個(gè)學(xué)生有若干張重復(fù)樣本,在粗篩這一階段通過 LBP特征提取并使用歐式距離進(jìn)行特征比對(duì),當(dāng)兩兩比對(duì)的樣本特征距離小于所設(shè)定的閾值時(shí),則將這兩個(gè)樣本判斷為同一人臉.為了進(jìn)一步提高重復(fù)樣本的篩選精度,本文采用深度卷積特征來進(jìn)一步篩選粗篩后的重復(fù)樣本,從而得到具有較少重復(fù)率的人臉樣本集.歐式距離的具體計(jì)算方法如式(1)所示:
(1)
式中X和Y表示比對(duì)篩選的人臉樣本,每個(gè)人臉樣本的特征有n維,xi和yi為待篩選人臉樣本的第i維特征.3.2.1 LBP特征粗篩
本文采用LBP特征[10]對(duì)人臉樣本進(jìn)行粗篩,由于LBP特征提取的人臉特征屬于臉部的淺層特征,具有特征維數(shù)低、效率高等優(yōu)勢(shì),利用該特征能夠快速的篩除大量顯著的重復(fù)樣本 .該特征的提取方法如式(2)所示:
(2)
式中(xc,yc)代表圖像中心像素點(diǎn);I(p)表示第p個(gè)像素點(diǎn)的灰度值,I(c)代表中心像素點(diǎn)的灰度值,LBP特征提取方法如圖4所示.
圖4 LBP特征提取
從圖4中可以看出,將圖像中每一個(gè)像素與中心像素相減,大于中心像素的為1,否則就為0,這樣就會(huì)形成一個(gè)8位的二進(jìn)制數(shù),也就是該中心像素的LBP值,此時(shí)該圖像所提取的 LBP特征維數(shù)為28=256維,具有較低的維數(shù).使用LBP特征粗篩可以通過人臉的淺層特征篩選顯著的重復(fù)樣本,大約60%.
3.2.2 細(xì)篩
為了在不影響篩選效率的前提下來提高篩選的精度,本文使用精簡(jiǎn)的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征細(xì)篩,該網(wǎng)絡(luò)由4個(gè)卷積層和1個(gè)池化層的構(gòu)成,該網(wǎng)絡(luò)的具體框架結(jié)構(gòu)如圖5所示.
圖5 CNN網(wǎng)絡(luò)框架
從圖5中可以看出,該網(wǎng)絡(luò)每個(gè)卷積層的卷積核都為3*3,步長(zhǎng)也均為1,采用RELU激活函數(shù)進(jìn)行激活,池化層使用最大池化,步長(zhǎng)為2.深度特征提取方法如式(3)所示.
CNNi(X)=max(0,Wi*CNNi-1(X)+Bi)
(3)
式中i為當(dāng)前卷積層的編號(hào),Wi表示第i個(gè)卷積層中卷積核參數(shù),其中包括卷積核個(gè)數(shù)和卷積核尺寸,Bi為當(dāng)前所在卷積層的偏置,最后本文應(yīng)用Relu(max(0,x))函數(shù)作為各卷積層的激活函數(shù).對(duì)粗篩后的人臉樣本提取完深度特征后,通過相似度度量的方法來實(shí)現(xiàn)比對(duì)篩選,如果相似度大于這個(gè)閾值則判定為同一人臉,此時(shí)便去除掉該樣本,閾值大小通過實(shí)驗(yàn)確定.通過簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),可以從剩下的40%重復(fù)樣本中簡(jiǎn)單快速的進(jìn)行進(jìn)一步篩選,這可以大大提高人臉識(shí)別的時(shí)間效率,但是還會(huì)剩下難以篩選的人臉樣本會(huì)進(jìn)入到識(shí)別階段,不過與不經(jīng)過篩選的人臉識(shí)別方法比較,效率得到了明顯的提高.
由于課堂考勤非常注重實(shí)時(shí)性能,這就需要我們對(duì)圖像人臉進(jìn)行快速準(zhǔn)確的識(shí)別,前面對(duì)人臉進(jìn)行比對(duì)篩選也是如此.因此本文選擇了識(shí)別速度較快且識(shí)別準(zhǔn)確也不低的FaceNet模型作為整個(gè)課堂考勤系統(tǒng)的人臉識(shí)別模型.FaceNet模型通過把原來的SoftMax損失替換為三元組損失來提升人臉識(shí)別的準(zhǔn)確度和速度,具體的模型框架如圖6所示.
圖6 FaceNet模型框架
三元組損失是每次在訓(xùn)練數(shù)據(jù)中抽出3張人臉樣本,分別為錨點(diǎn)、正樣本和負(fù)樣本,使得錨點(diǎn)到正樣本距離小于到負(fù)樣本的距離,如式(4)所示.
(4)
(5)
為了驗(yàn)證基于多攝像頭的無感知實(shí)時(shí)課堂考勤方法的性能,本文在實(shí)際應(yīng)用場(chǎng)景中對(duì)篩選模塊和整個(gè)考勤方法進(jìn)行對(duì)比實(shí)驗(yàn).實(shí)驗(yàn)中所使用的數(shù)據(jù)來自實(shí)際課堂場(chǎng)景,采集了10張教室中不同角度的場(chǎng)景圖像,場(chǎng)景中共有17名學(xué)生,通過人臉檢測(cè)算法,共計(jì)得到168張人臉圖像.每個(gè)學(xué)生選擇3至5張較為正面的人臉圖像用于構(gòu)造訓(xùn)練集,剩余100張人臉用于構(gòu)造測(cè)試集,實(shí)驗(yàn)數(shù)據(jù)集如圖7所示.在訓(xùn)練模型時(shí)通過Casia預(yù)訓(xùn)練的模型作為本文考勤方法的預(yù)訓(xùn)練模型,并在模型訓(xùn)練時(shí)通過翻轉(zhuǎn)、仿射變換、縮放等操作對(duì)訓(xùn)練集中的樣本進(jìn)行擴(kuò)充,以此來防止模型訓(xùn)練時(shí)由于數(shù)據(jù)量不足出現(xiàn)的欠擬合問題.本文使用的實(shí)驗(yàn)平臺(tái)為個(gè)人PC,具體硬件配置為: i5 10400 CPU、16G運(yùn)行內(nèi)存,虛擬環(huán)境和軟件開發(fā)平臺(tái)分別為tensorflow2.0.1和PyCharm Community Edition 2022.1.
圖7 實(shí)驗(yàn)數(shù)據(jù)集
測(cè)試集中共有100個(gè)人臉樣本,共有17名學(xué)生,數(shù)據(jù)集中含有87張重復(fù)人臉樣本.為了更好的去除測(cè)試集中的重復(fù)樣本,本文利用LBP+CNN來對(duì)人臉進(jìn)行比對(duì)篩選,從而進(jìn)一步提高考勤方法的高效實(shí)時(shí)性.本文在實(shí)際場(chǎng)景中將該方法與其他人臉比對(duì)篩選方法進(jìn)行對(duì)比實(shí)驗(yàn)來驗(yàn)證LBP+CNN比對(duì)篩選方法的準(zhǔn)確性和實(shí)時(shí)性.
在進(jìn)行比對(duì)篩選實(shí)驗(yàn)時(shí),首先單獨(dú)使用HOG[11]、LBP和CNN深度卷積特征進(jìn)行獨(dú)立特征篩選實(shí)驗(yàn).然后采用粗篩和細(xì)篩相結(jié)合的方式進(jìn)行重復(fù)人臉篩除,即采用LBP和HOG等淺層特征進(jìn)行粗篩,使用CNN卷積特征進(jìn)行細(xì)篩,實(shí)驗(yàn)的具體對(duì)比結(jié)果如表1所示.
表1 LBP+CNN與HOG+CNN的對(duì)比實(shí)驗(yàn)
從表1中可以看出,使用淺層特征進(jìn)行單輪比對(duì)篩選,其準(zhǔn)確度沒有達(dá)到理想中的效果,其主要原因是淺層特征算法無法有效提取人臉圖像中具有判別特性的特征,深度卷積網(wǎng)絡(luò)具有較好的特征抽象能力,但網(wǎng)絡(luò)模型的構(gòu)建和訓(xùn)練較為復(fù)雜,因此直接使用CNN深度特征進(jìn)行比對(duì)篩選,需要耗費(fèi)大量的時(shí)間,為了確保篩選的準(zhǔn)確度和篩選效率,本文使用LBP特征與CNN深度特征相結(jié)合的篩選方式來去除重復(fù)的人臉樣本.
通過LBP+CNN方法對(duì)人臉樣本進(jìn)行比對(duì)篩選后,去除了多個(gè)攝像頭采集的圖像中的重復(fù)人臉.然后將比對(duì)篩選后的人臉樣本放入FaceNet人臉識(shí)別模型中進(jìn)行識(shí)別考勤.圖8為考勤方法所統(tǒng)計(jì)到的到課學(xué)生圖像和相應(yīng)的人臉標(biāo)簽.
圖8 FaceNet識(shí)別結(jié)果
從圖8中可知,用于實(shí)驗(yàn)的17名學(xué)生都可以識(shí)別到,這說明該方法應(yīng)用在實(shí)際場(chǎng)景中是可行的.為了能夠更準(zhǔn)確的評(píng)價(jià)方法的準(zhǔn)確率和實(shí)時(shí)性,本文將文獻(xiàn)[12-14]中的考勤方法與本文所提方法進(jìn)行對(duì)比實(shí)驗(yàn),總共進(jìn)行了10次實(shí)驗(yàn)來計(jì)算本文方法的平均識(shí)別率,實(shí)驗(yàn)結(jié)果如表2所示.
表2 考勤系統(tǒng)性能對(duì)比
從表2中數(shù)據(jù)可知,本文所提的無感知考勤方法在準(zhǔn)確度和時(shí)間效率上都要明顯優(yōu)于文獻(xiàn)[12-14]所提的考勤方法,主要是由于本文采用多攝像進(jìn)行圖像采集,能夠獲取所有到課學(xué)生的人臉圖像.其他方法只有一個(gè)攝像頭,當(dāng)人臉圖像中出現(xiàn)低分辨率和遮擋等干擾因素時(shí),將導(dǎo)致系統(tǒng)識(shí)別失敗.由于本文在進(jìn)行實(shí)驗(yàn)是在配置不高的PC端進(jìn)行的,性能上達(dá)不到實(shí)時(shí)的效果.對(duì)此,在配置為RTX3060 8GB的云端GPU上進(jìn)行了測(cè)試實(shí)驗(yàn),考勤時(shí)間縮減到了5 s,滿足了課堂考勤所需的實(shí)時(shí)性能,云端GPU實(shí)驗(yàn)結(jié)果如表3所示.
表3 云端GPU實(shí)驗(yàn)性能對(duì)比
以上實(shí)驗(yàn)結(jié)果說明本文所提的無感知考勤方法對(duì)提升課堂考勤的性能上有著較大的幫助,但是會(huì)因?yàn)閷?shí)驗(yàn)終端配置不同而不同,這就要求我們?cè)谑褂萌四樧R(shí)別進(jìn)行考勤時(shí)需要注意終端的使用.
本文提出一種基于多攝像頭的無感知實(shí)時(shí)課堂考勤方法,該方法分為人臉檢測(cè)、比對(duì)篩選、人臉識(shí)別3大模塊.首先通過多個(gè)攝像頭獲取學(xué)生上課圖像來達(dá)到無感知考勤,其次通過LBP粗篩+CNN細(xì)篩方法來去除圖像中的重復(fù)人臉樣本,提高系統(tǒng)的識(shí)別效率.經(jīng)過多次實(shí)驗(yàn)的驗(yàn)證,這種比對(duì)篩選方法能有效減少FaceNet人臉識(shí)別的樣本量,從而使課堂考勤更具高效實(shí)時(shí)性.