方書雅,劉守印
(華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院,武漢 430079)
文獻(xiàn)[1-3]中提出高校學(xué)生上課率是影響其學(xué)習(xí)成績(jī)的重要因素之一。近年來(lái),文獻(xiàn)[4-8]研究基于人臉識(shí)別的課堂考勤系統(tǒng),用來(lái)確認(rèn)學(xué)生是否到課堂聽課,減少教師人工點(diǎn)名的時(shí)間開銷。目前單一人臉識(shí)別技術(shù)比較成熟。但由于課堂環(huán)境特殊,人臉識(shí)別技術(shù)在應(yīng)用到課堂考勤系統(tǒng)中存在許多難點(diǎn)。首先由于學(xué)生數(shù)目較多,教室的面積很大;其次因?yàn)榻淌也晒夂屯L(fēng)的要求,導(dǎo)致教室的窗戶比較多,教室內(nèi)光強(qiáng)分布極度不均勻;最后學(xué)生在上課時(shí)的姿態(tài)千變?nèi)f化。這些問題都給課堂考勤中人臉檢測(cè)和人臉識(shí)別的應(yīng)用帶來(lái)挑戰(zhàn)。
基于人臉識(shí)別的課堂考勤系統(tǒng)依賴于人臉檢測(cè)的性能。從一張包含眾多學(xué)生、學(xué)生姿勢(shì)各異、光線不均勻的視頻圖片中檢測(cè)出所有學(xué)生的人臉,是一項(xiàng)技術(shù)挑戰(zhàn)。如果不能檢測(cè)出所有學(xué)生的人臉,勢(shì)必會(huì)遺漏上課的學(xué)生。為了避免漏檢,Balcoh 等[4]使用皮膚分類技術(shù)輔助Voila-Jones 人臉檢測(cè)算法[9],提高了檢測(cè)過程的效率和準(zhǔn)確性。Fu 等[5]采用基于深度學(xué)習(xí)方法的MTCNN(Multi-Task Convolutional Neural Network)算法[10]進(jìn)行人臉檢測(cè),該算法具有良好的魯棒性,可以檢測(cè)出不同姿態(tài)的人臉,但是仍然會(huì)存在漏檢。劉宇明等[11]優(yōu)化了MTCNN 算法[10]并引入時(shí)空特征實(shí)現(xiàn)對(duì)參會(huì)人員跟蹤檢測(cè)和人數(shù)統(tǒng)計(jì)的功能。Sarkar 等[6]使用tiny-face 算法[12]用于檢測(cè)不同尺度、不同姿態(tài)的人臉,極大地提高了小尺度人臉的檢測(cè)率。雖然上述這些系統(tǒng)使用的人臉檢測(cè)方法在準(zhǔn)確率方面有大幅度提升,但是這些方法[4-8]在檢測(cè)過程中仍需要學(xué)生主動(dòng)面向攝像機(jī)且保證自己不被其他同學(xué)遮擋。這不僅會(huì)干擾學(xué)生和老師的正常上課,同時(shí)也不利于后續(xù)在自然狀態(tài)下對(duì)學(xué)生的課堂行為和表情進(jìn)行研究。
通過人臉檢測(cè)方法在檢測(cè)到學(xué)生人臉后,需要將人臉區(qū)域的圖像裁剪出來(lái),用于人臉識(shí)別。人臉識(shí)別的性能受人臉姿勢(shì)多樣性(低頭、傾斜角度、遮擋等)的影響。龔銳等[13]提出建立多姿態(tài)人臉數(shù)據(jù)集的方法用于人臉識(shí)別。Surekha 等[8]將多姿態(tài)人臉數(shù)據(jù)集的方法應(yīng)用到課堂領(lǐng)域,在注冊(cè)時(shí)采集每個(gè)學(xué)生不同姿態(tài)、表情、光照下的多張圖片。但這種方法的弊端是注冊(cè)時(shí)需要學(xué)生配合,對(duì)每個(gè)學(xué)生拍攝視頻并選擇合適的多張圖片。這不僅增加了額外的人工開銷,而且沒有在識(shí)別過程中考慮人臉姿態(tài)多樣性的影響。
同時(shí),人臉圖像質(zhì)量也是對(duì)人臉識(shí)別的準(zhǔn)確性造成影響的因素之一。如果學(xué)生人臉在拍攝的視頻圖片中尺寸較小,被裁剪出的人臉圖像再被放縮到統(tǒng)一尺寸時(shí),會(huì)出現(xiàn)圖像模糊、圖像質(zhì)量變差的問題,從而影響識(shí)別的準(zhǔn)確率。目前,針對(duì)低分辨率圖像的人臉識(shí)別技術(shù)[14-15]尚未應(yīng)用到課堂識(shí)別領(lǐng)域。對(duì)此方冠男[16]采用PTZ(Pan/Tilt/Zoom)攝像機(jī)對(duì)教室進(jìn)行分區(qū)定點(diǎn)拍攝的方法提高圖像質(zhì)量,但是識(shí)別性能有待提高。
為解決上述問題,在基于人臉識(shí)別的課堂考勤系統(tǒng)的基礎(chǔ)上,本文提出一種聯(lián)合學(xué)生人體檢測(cè)和人臉角度篩選的方法,首先有效降低了漏檢率,其次簡(jiǎn)化了學(xué)生人臉注冊(cè)數(shù)據(jù)集的采集過程,在降低注冊(cè)需要的人臉圖片數(shù)量的同時(shí)提高了識(shí)別的準(zhǔn)確率,實(shí)現(xiàn)無(wú)感知、低漏檢、高準(zhǔn)確的課堂學(xué)生識(shí)別功能。該方法為解決課堂學(xué)生漏檢問題提供了新的思路。
Mask R-CNN 算法[17]將目標(biāo)檢測(cè)中的Faster R-CNN 算法[18]和語(yǔ)義分割領(lǐng)域的FCN(Fully Convolutional Network)算法[19]相結(jié)合,形成一個(gè)可同時(shí)進(jìn)行目標(biāo)檢測(cè)和實(shí)例分割的多任務(wù)模型。Faster R-CNN 對(duì)每個(gè)候選對(duì)象有兩個(gè)輸出,一個(gè)類標(biāo)簽和一個(gè)邊界框;Mask R-CNN 在其基礎(chǔ)上添加了輸出對(duì)象掩碼的第三個(gè)分支,對(duì)每個(gè)感興趣區(qū)域(Region of Interest,RoI)上采用一個(gè)小的FCN 實(shí)現(xiàn)逐像素點(diǎn)的方法預(yù)測(cè)分割掩碼。Mask R-CNN 算法的創(chuàng)新之處在于提出RoIAlign 方法代替了RoIPool[20]方法,采用雙線性插值實(shí)現(xiàn)了像素級(jí)別的對(duì)齊。
Mask R-CNN 算法的優(yōu)點(diǎn)是訓(xùn)練速度快,僅比Faster RCNN 增加少量開銷,運(yùn)算速度為5幀每秒(Frames Per Second,F(xiàn)PS)。使用ResNeXt-101-FPN 作為骨架的Mask R-CNN 在COCO 實(shí)例分割任務(wù)上獲得2016 年MS COCO 比賽的冠軍,在目標(biāo)檢測(cè)任務(wù)上取得了很好的效果。權(quán)衡運(yùn)算速度和檢測(cè)準(zhǔn)確率,選擇Mask R-CNN算法檢測(cè)學(xué)生人體。
MTCNN 算法[10]提出了一個(gè)深度級(jí)聯(lián)多任務(wù)框架,利用人臉檢測(cè)與對(duì)齊的內(nèi)在相關(guān)性來(lái)提高性能。該模型采用了3 個(gè)深度卷積神經(jīng)網(wǎng)絡(luò),并通過由粗糙到細(xì)致的方式來(lái)預(yù)測(cè)臉部整體和特征點(diǎn)的坐標(biāo)。這3 個(gè)級(jí)聯(lián)的網(wǎng)絡(luò)分別是快速生成候選窗口的P-Net(Proposal Network)、進(jìn)行高精度候選窗口過濾選擇的R-Net(Refine Network)和生成最終邊界框與人臉關(guān)鍵點(diǎn)的O-Net(Output Network)。該模型也用到了圖像金字塔、邊框回歸、非極大值抑制等技術(shù)。MTCNN 算法準(zhǔn)確率高、檢測(cè)速度快,被廣泛應(yīng)用在人臉檢測(cè)領(lǐng)域[21-22]。
FSA(Fine-grained Structure Aggregation)-Net 算法[23]提出一種直接使用回歸方法的、無(wú)標(biāo)志的姿態(tài)估計(jì)模型,用于單張圖像的頭部姿態(tài)估計(jì)。模型的核心思想是將特征圖在像素級(jí)別上的特征組合成一組空間信息編碼的特征,作為聚合的候選特征。該方法的目的是學(xué)習(xí)尋找細(xì)粒度的結(jié)構(gòu)映射,以便將像素級(jí)別的特征在空間上進(jìn)行分組以形成更多的冪域級(jí)特征。
FSA-Net 算法框架如圖1 所示。輸入的圖像通過兩個(gè)支流、三個(gè)階段進(jìn)行提取特征。每個(gè)支流在每個(gè)階段提取一個(gè)特征圖。在每個(gè)階段,將兩個(gè)支流提取的特征圖融合在一起。對(duì)每個(gè)階段融合的特征先計(jì)算它的注意力圖,然后將特征圖和注意力圖一起被輸入到細(xì)粒度結(jié)構(gòu)特征聚合模塊中。該模塊通過對(duì)特征圖中的像素級(jí)別特征進(jìn)行空間加權(quán)的方式來(lái)編碼特征,然后將這些特征聚合以生成用于回歸的最終代表特征集。最后將這些輸出代入軟階段回歸網(wǎng)絡(luò)(Soft Stagewise Regression network,SSR)函數(shù)以獲得姿態(tài)估計(jì)。
圖1 FSA-Net框架Fig.1 FSA-Net framework
FSA-Net 算 法 在AFLW2000(Annotated Facial Landmarks in the Wild 2000)數(shù) 據(jù) 集 和BIWI(Biwi Kinect Head Pose Database)數(shù)據(jù)集上的結(jié)果優(yōu)于現(xiàn)有的方法(基于地標(biāo)的方法和無(wú)地標(biāo)的方法),而其模型尺寸是以前方法的1/100 左右。因此本文選用FSA-Net算法進(jìn)行頭部姿態(tài)識(shí)別。
本系統(tǒng)增加學(xué)生人體檢測(cè)模塊和人臉角度篩選模塊,采用主、從雙攝像機(jī)設(shè)備,分別實(shí)現(xiàn)教室全景圖的拍攝和定點(diǎn)圖像縮放拍攝的功能。主攝像機(jī)拍攝的全景圖像作為學(xué)生人體檢測(cè)模塊的輸入,計(jì)算分析課堂實(shí)到學(xué)生的數(shù)量和位置信息。根據(jù)學(xué)生位置信息,系統(tǒng)控制從攝像機(jī)對(duì)每個(gè)學(xué)生定點(diǎn)縮放拍攝,以獲取高清人臉圖像。最后對(duì)獲取的人臉圖像先通過人臉角度篩選,選出合格的正面人臉圖像后再進(jìn)行識(shí)別。
相較于其他人臉考勤系統(tǒng),本系統(tǒng)有如下4個(gè)優(yōu)點(diǎn):
1)解決了在單次或有限次數(shù)的人臉識(shí)別過程中,因人臉信息缺失造成的漏檢問題。
2)可以獲取到每位學(xué)生高清放大的人臉圖像。
3)在學(xué)生無(wú)感知的情況下獲取學(xué)生高清的正面人臉圖像用于注冊(cè),極大簡(jiǎn)化了傳統(tǒng)的注冊(cè)過程。
4)在提高識(shí)別率的同時(shí),減少了每個(gè)學(xué)生注冊(cè)時(shí)需要的圖像數(shù)量。
系統(tǒng)在學(xué)生無(wú)感知、不影響學(xué)生正常上課的情況下實(shí)現(xiàn)學(xué)生注冊(cè)和出勤記錄功能。注冊(cè)階段不需要額外的設(shè)備,也不需要課下逐個(gè)采集學(xué)生圖像信息。具體框架如圖2 所示,系統(tǒng)在注冊(cè)和識(shí)別階段采用相同的處理方式,都經(jīng)過學(xué)生人體檢測(cè)、云臺(tái)參數(shù)估計(jì)和人臉角度篩選的步驟。不同點(diǎn)在于,注冊(cè)過程在初次課程教學(xué)時(shí)完成;識(shí)別階段則在后續(xù)課程教學(xué)時(shí)實(shí)時(shí)進(jìn)行。下面對(duì)圖2中的硬件和軟件進(jìn)行詳細(xì)介紹。
系統(tǒng)的硬件部分由設(shè)備端和服務(wù)器端組成。設(shè)備采用主、從雙攝像機(jī)實(shí)現(xiàn)圖像和視頻的采集。其中主攝像機(jī)是定焦廣角攝像機(jī),負(fù)責(zé)拍攝教室全景圖;從攝像機(jī)是PTZ 攝像機(jī),可通過參數(shù)控制從攝像機(jī)對(duì)感興趣的區(qū)域定點(diǎn)拍攝,并能對(duì)區(qū)域的圖像進(jìn)行縮放處理。系統(tǒng)通過控制主、從雙攝像機(jī),可以獲取教室內(nèi)每位學(xué)生高清放大的人臉圖像。
軟件功能在服務(wù)器端實(shí)現(xiàn),包括學(xué)生人體檢測(cè)、云臺(tái)參數(shù)估計(jì)、人臉角度篩選、注冊(cè)和識(shí)別部分。首先,采用Mask RCNN 算法對(duì)主攝像機(jī)拍攝的教室全景圖進(jìn)行學(xué)生人體檢測(cè),確定實(shí)到學(xué)生數(shù)量和每個(gè)學(xué)生的位置;然后將學(xué)生位置信息輸入到多元線性回歸模型中,估計(jì)出云臺(tái)在垂直方向和水平方向上的轉(zhuǎn)動(dòng)角度和變焦度數(shù)這3 個(gè)參數(shù)。通過參數(shù)控制云臺(tái)轉(zhuǎn)動(dòng),使從攝像機(jī)對(duì)準(zhǔn)目標(biāo)學(xué)生。接著對(duì)從攝像機(jī)拍攝的區(qū)域圖進(jìn)行基于FSA-Net 算法的人臉角度篩選,篩選出清晰、無(wú)遮擋的正面人臉。最后根據(jù)情況選擇進(jìn)入注冊(cè)或者識(shí)別階段。兩個(gè)階段均采用FaceNet 算法[24]對(duì)篩選的人臉圖像進(jìn)行特征提取,在注冊(cè)階段使用提取的特征訓(xùn)練支持向量機(jī)(Support Vector Machine,SVM)的分類器;在識(shí)別階段將提取的特征輸入到訓(xùn)練好的SVM 模型中進(jìn)行預(yù)測(cè)以確定學(xué)生身份。當(dāng)每個(gè)學(xué)生位置依次進(jìn)行識(shí)別后,系統(tǒng)輸出本節(jié)課出勤學(xué)生名單。
圖2 系統(tǒng)框架Fig.2 System framework
2.2.1 學(xué)生人體檢測(cè)
現(xiàn)有課堂考勤系統(tǒng)均采用基于人臉的檢測(cè)方法,其缺點(diǎn)是檢測(cè)過程中完全依賴人臉信息。一旦出現(xiàn)學(xué)生人臉信息缺失的情況(如學(xué)生低頭看書或者記筆記、學(xué)生側(cè)臉、回頭或者被其他學(xué)生遮擋等情況),學(xué)生即使出現(xiàn)在課堂上也會(huì)被判為缺勤。而相較于人臉,人體面積更大,包含的信息更多,被全部遮擋住的概率更小。故本系統(tǒng)在人臉檢測(cè)的基礎(chǔ)上增加學(xué)生人體檢測(cè)模塊,目的是先確定整個(gè)課堂實(shí)到學(xué)生的數(shù)量和位置信息,避免因人臉信息缺失造成的漏檢。
學(xué)生人體檢測(cè)采用目標(biāo)檢測(cè)中的Mask R-CNN 算法。輸入圖片Ij,Mask R-CNN算法的標(biāo)準(zhǔn)輸出為{(bj,maskj,cj,scorej)}j,j是檢測(cè)到的目標(biāo)索引,向量bj是邊界框,maskj是掩碼,cj是類標(biāo)簽,scorej是得分。其中,bj=[y1j,x1j,y2j,x2j]分別代表邊界框的左上頂點(diǎn)和右下頂點(diǎn)在y軸和x軸方向上的圖像坐標(biāo)。Mask R-CNN 算法可以檢測(cè)80 種不同類別的物體實(shí)例。學(xué)生人體檢測(cè)方法將教室全景圖作為輸入,篩選Mask R-CNN輸出中類標(biāo)簽為“person”的邊界框集合B={b1,b2,…,bi,…,bN}作為學(xué)生人體檢測(cè)的結(jié)果,N表示檢測(cè)到的學(xué)生個(gè)數(shù)。
2.2.2 從攝像機(jī)控制
通過學(xué)生人體檢測(cè)確定到課學(xué)生的數(shù)量和位置后,需要對(duì)學(xué)生身份進(jìn)行識(shí)別。為獲取學(xué)生的高質(zhì)量圖像以提高識(shí)別的準(zhǔn)確率,系統(tǒng)根據(jù)學(xué)生位置信息控制從攝像機(jī),依次定位到每個(gè)學(xué)生,并對(duì)學(xué)生圖像進(jìn)行縮放,獲取高清的視頻圖片。
通過設(shè)置垂直和水平方向上的轉(zhuǎn)動(dòng)角度以及變焦倍數(shù)這三個(gè)參數(shù),系統(tǒng)可以控制從攝像機(jī)轉(zhuǎn)動(dòng)到指定位置并對(duì)圖像進(jìn)行縮放處理。為了根據(jù)學(xué)生的位置信息得到控制從攝像機(jī)運(yùn)動(dòng)的三個(gè)參數(shù),本文建立了多元線性回歸模型,其表達(dá)式和展開形式如式(1)所示。其中i是學(xué)生的索引號(hào),每個(gè)學(xué)生的人體邊界框記為向量bi,矩陣A為回歸系數(shù)項(xiàng),向量c為隨機(jī)誤差項(xiàng),模型輸出為從攝像機(jī)在垂直方向和水平方向上的轉(zhuǎn)動(dòng)角度pi和ti,以及變焦倍數(shù)zi。
通過這3 個(gè)參數(shù)控制云臺(tái)轉(zhuǎn)動(dòng),使從攝像機(jī)對(duì)準(zhǔn)本張全景圖中的第i個(gè)學(xué)生,并在后續(xù)過程中識(shí)別該學(xué)生。
2.2.3 人臉角度篩選
本文通過實(shí)驗(yàn)發(fā)現(xiàn)上課時(shí)學(xué)生不會(huì)一直抬頭看向黑板或者教師(面朝攝像機(jī)),會(huì)出現(xiàn)側(cè)臉、低頭或前后排學(xué)生遮擋。在對(duì)每個(gè)學(xué)生進(jìn)行識(shí)別的過程中,若采取實(shí)時(shí)檢測(cè),則會(huì)造成嚴(yán)重的系統(tǒng)負(fù)擔(dān);若隨機(jī)選擇一張或者多張圖像進(jìn)行人臉檢測(cè),則無(wú)法保證圖像包含有效的人臉信息。因此,在人臉識(shí)別前,系統(tǒng)會(huì)對(duì)檢測(cè)到的人臉進(jìn)行角度識(shí)別篩選出正面人臉圖像。具體流程如圖3所示。
圖3 人臉角度篩選的流程Fig.3 Flowchart of face angle filtering
系統(tǒng)對(duì)從攝像機(jī)獲取的第i個(gè)學(xué)生的圖像依次進(jìn)行人臉檢測(cè)和人臉角度篩選,將獲取到的第i個(gè)學(xué)生的第r圖像記為Xir。先采用MTCNN 算法對(duì)圖像Xir進(jìn)行人臉檢測(cè),輸出160×160維的人臉圖像Fir;再通過FSA-Net頭部姿態(tài)識(shí)別算法對(duì)人臉圖像Fir進(jìn)行角度值的預(yù)測(cè),輸出偏航角yir、俯仰角pir、翻滾角rir。如式(2):
如果3 個(gè)角度的取值范圍滿足式(3)或(4)的條件,則認(rèn)為第i個(gè)學(xué)生的第r人臉圖像Fir是合適的正面人臉圖像,可被用于后續(xù)的訓(xùn)練或者識(shí)別:
為驗(yàn)證學(xué)生人體檢測(cè)方法性能優(yōu)于主流的人臉檢測(cè)算法,設(shè)計(jì)了學(xué)生人體檢測(cè)實(shí)驗(yàn)。針對(duì)人臉角度篩選方法能夠降低注冊(cè)數(shù)據(jù)量、提高識(shí)別準(zhǔn)確率的說法,設(shè)計(jì)了人臉角度篩選實(shí)驗(yàn)。最后對(duì)系統(tǒng)進(jìn)行整體測(cè)試。三個(gè)實(shí)驗(yàn)采用不同的評(píng)價(jià)指標(biāo),驗(yàn)證基于學(xué)生人體檢測(cè)的無(wú)感知課堂考勤方法在不同評(píng)價(jià)指標(biāo)上的性能表現(xiàn)和提升。
學(xué)生人體檢測(cè)實(shí)驗(yàn)將比較人臉檢測(cè)算法和Mask R-CNN算法的性能。因二者都屬于目標(biāo)檢測(cè)領(lǐng)域,故該實(shí)驗(yàn)采用目標(biāo)檢測(cè)算法最常用的指標(biāo):檢測(cè)速度和MS COCO 目標(biāo)檢測(cè)挑戰(zhàn)中使用的、評(píng)估精度。分別表示IOU 設(shè)置的閾值為0.5 和0.75 時(shí)的平均精度(Average Precision,AP)。APcoco是IOU 設(shè)置的閾值從0.5~0.95,以0.05 的步長(zhǎng),分別計(jì)算AP 最后將所有結(jié)果取的均值。重疊比(Intersection Over Union,IOU)的計(jì)算公式如下:
設(shè)學(xué)生人體檢測(cè)或人臉檢測(cè)預(yù)測(cè)的任意一個(gè)邊界框?yàn)橄蛄縝,其對(duì)應(yīng)的真實(shí)邊界框?yàn)橄蛄縝g。
人臉角度篩選實(shí)驗(yàn)和系統(tǒng)驗(yàn)證實(shí)驗(yàn)分別采用平均精度均值(Mean Average Precision,MAP)和準(zhǔn)確率η作為評(píng)價(jià)指標(biāo),如式(6)和(7)所示:
其中:N表示學(xué)生個(gè)數(shù),TP(True Positive)是正確檢測(cè)到的出勤學(xué)生數(shù)量,F(xiàn)P(False Positive)是檢測(cè)錯(cuò)誤的學(xué)生,TN(True Negative)是正確檢測(cè)到的缺席學(xué)生數(shù)量。
實(shí)驗(yàn)對(duì)比了本文采用的Mask R-CNN 算法和課堂考勤系統(tǒng)中常用的三種人臉檢測(cè)算(Voila-Jones[9]、MTCNN[10]、Tinyface[12])在平均精度和檢測(cè)速度上的差異。數(shù)據(jù)采集了同一間教室12個(gè)課堂的200張全景圖片。采集方式為在學(xué)生正常上課的情況下,每2 min 保存一張全景圖片,并對(duì)每一張全景圖內(nèi)的學(xué)生人臉和人體分別進(jìn)行人工標(biāo)注作為驗(yàn)證集。實(shí)驗(yàn)結(jié)果如圖4和表1所示。
圖4 針對(duì)某圖的4種算法檢測(cè)結(jié)果Fig.4 Detection results of four algorithms of a certain photograph
表1 是4 種算法根據(jù)評(píng)價(jià)指標(biāo)在200 張數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果。除Voila-Jones 算法,其他3 種深度學(xué)習(xí)的算法均使用GPU 進(jìn)行加速。從檢測(cè)速度上看,傳統(tǒng)的Voila-Jones 算法在不適用GPU 加速時(shí)的速度明顯比深度學(xué)習(xí)算法檢測(cè)速度上高一個(gè)數(shù)量級(jí)。但是在檢測(cè)精度上,深度學(xué)習(xí)算法要明顯優(yōu)于Voila-Jones算法。
表1 四種算法結(jié)果Tab.1 Results of four algorithms
在3 種人臉檢測(cè)算法中,Tiny-face 算法在APcoco、三個(gè)指標(biāo)上都明顯高于其他2 種人臉檢測(cè)算法。與MTCNN 人臉檢測(cè)算法相比,Tiny-face 算法在指標(biāo)上具有明顯優(yōu)勢(shì),高出約15 個(gè)百分點(diǎn)。雖然Tiny-face 算法在指標(biāo)上與Mask R-CNN 算法效果相同,但是Mask R-CNN 算法能夠兼顧在不同IOU 閾值下的AP值、APcoco、指標(biāo)上分別提升了約17個(gè)百分點(diǎn)和36個(gè)百分點(diǎn)。這是由于人體比人臉面積更大,在一定程度上降低了檢測(cè)難度。與Tiny-face算法相比,Mask R-CNN 算法耗時(shí)減少了57%。
圖4 是對(duì)同一張教室全景圖采用不同算法的檢測(cè)結(jié)果,其中的矩形框是檢測(cè)到的人臉或人體的邊界框。為保護(hù)學(xué)生的隱私權(quán),對(duì)結(jié)果圖片進(jìn)行了人工打碼。圖4(a)、(b)、(c)三種人臉檢測(cè)算中,檢測(cè)效果最好的是Tiny-face算法,只漏檢了最后一排低頭和被遮擋的兩個(gè)學(xué)生。Voila-Jones 算法和MTCNN 算法分別漏檢了8 個(gè)和5 個(gè)學(xué)生。圖4(d)采用Mask R-CNN 人臉檢測(cè)算法的檢測(cè)結(jié)果優(yōu)于Tiny-face 算法,所有學(xué)生都被檢測(cè)到。
因此Mask R-CNN 算法在精度和檢測(cè)速度上都優(yōu)于Tinyface 人臉檢測(cè)算法。從實(shí)驗(yàn)結(jié)果可知,本文提出的學(xué)生人體檢測(cè)方法可以減少因?yàn)槿四樞畔⑷笔г斐傻膶W(xué)生漏檢。
人臉角度篩選方法可以用在注冊(cè)階段和識(shí)別階段。本實(shí)驗(yàn)的目的是驗(yàn)證在兩個(gè)階段均采用人臉角度篩選方法會(huì)提高最終識(shí)別的準(zhǔn)確率,并減小注冊(cè)時(shí)的數(shù)據(jù)量。本實(shí)驗(yàn)的對(duì)象為某課堂的14 名學(xué)生。以該課堂第一次上課時(shí)采集的數(shù)據(jù)作為訓(xùn)練集,后續(xù)三周的數(shù)據(jù)作為人臉識(shí)別的測(cè)試集。
在注冊(cè)階段,采用人臉角度篩選方法為14 名學(xué)生每人篩選出10 張正面人臉圖像,共計(jì)140 張,制作成篩選訓(xùn)練集Train-With10。在后續(xù)三周的課堂上,使用同樣的方式采集每名學(xué)生正面人臉圖像共計(jì)420 張,制作成篩選測(cè)試集Test-With10。為進(jìn)行對(duì)照實(shí)驗(yàn),在注冊(cè)和識(shí)別階段,通過MTCNN檢測(cè)算法對(duì)每名學(xué)生的視頻流進(jìn)行裁剪,再由人工為每名學(xué)生篩選出20 張不同角度的人臉圖像,制作成多姿態(tài)人臉數(shù)據(jù)集Train-Without20 和Test-Without20。數(shù)據(jù)集的詳細(xì)介紹如表2 所示。因?yàn)榻?jīng)過人臉角度篩選后的人臉圖片比多姿態(tài)人臉圖片少,所以兩種類型的數(shù)據(jù)集的大小不同。
圖5 為某學(xué)生的8 張人臉圖片:第一行的4 張圖片來(lái)自于篩選數(shù)據(jù)集;第二行的4 張圖片來(lái)自于多姿態(tài)人臉數(shù)據(jù)集。由圖可知,篩選數(shù)據(jù)集中的圖像為正面人臉圖像,不同圖像中的人臉角度差別較小;而在多姿態(tài)人臉數(shù)據(jù)集中,有回頭、側(cè)臉和低頭的人臉圖像,人臉角度差異較大。
表2 數(shù)據(jù)集介紹Tab.2 Introduction of datasets
圖5 兩種數(shù)據(jù)集圖片樣例Fig.5 Sample images of two datasets
實(shí)驗(yàn)使用訓(xùn)練集Train-With10 和Train-Without20 分別采用Facenet算法[24]訓(xùn)練對(duì)應(yīng)的人臉分類模型,并在Test-With10和Test-Without20 這兩個(gè)測(cè)試集上測(cè)試其性能。實(shí)驗(yàn)結(jié)果如表3 所示,兩個(gè)模型在篩選過的Test-With10 測(cè)試集上的MAP值均高于不篩選的Test-Without20 測(cè)試集,分別提高了1 個(gè)百分點(diǎn)和5 個(gè)百分點(diǎn)。在篩選過的測(cè)試集上,使用篩選過的訓(xùn)練模型(Train-With10 模型)的MAP 值比不篩選的模型(Train-Without20模型)提高了3個(gè)百分點(diǎn)。
表3 模型測(cè)試結(jié)果 單位:%Tab.3 Model test results unit:%
在表3 中,Train-Without20 模型在Test-Without20 測(cè)試集上的準(zhǔn)確率為90%,其物理含義是在注冊(cè)和識(shí)別時(shí)均采用多姿態(tài)人臉方法的準(zhǔn)確率為90%;同理,Train-With10 模型在Test-With10測(cè)試集上的準(zhǔn)確率表示在注冊(cè)和識(shí)別時(shí)均采用人臉角度篩選方法的準(zhǔn)確率為94%。由此可知,在注冊(cè)和識(shí)別過程中均采用人臉角度篩選方法,與多姿態(tài)人臉注冊(cè)和識(shí)別的方法相比,可以將識(shí)別準(zhǔn)確率提高4個(gè)百分點(diǎn)。
為證實(shí)采用人臉角度篩選的方法可以減少學(xué)生注冊(cè)時(shí)的數(shù)據(jù)量,將訓(xùn)練集Train-With10 中每個(gè)人的圖片從10 張減少至5 張,記為訓(xùn)練集Train-With5。訓(xùn)練集Train-With10 和Train-With5 分別用于模型訓(xùn)練并在Test-With10 測(cè)試集上進(jìn)行測(cè)試。兩個(gè)模型在測(cè)試集上的MAP 值均為94%。因此在保證識(shí)別率的同時(shí),可以減少數(shù)據(jù)量,對(duì)每個(gè)同學(xué)只采集5 張圖片制作訓(xùn)練集。
為測(cè)試整個(gè)系統(tǒng)的性能,對(duì)3.3 節(jié)的同一實(shí)驗(yàn)對(duì)象進(jìn)行實(shí)時(shí)課堂識(shí)別。一共檢測(cè)了6 節(jié)課,每次上課時(shí)間相隔一周。6 次識(shí)別中5 次識(shí)別的準(zhǔn)確率為100%;1 次為92.8%,即一位同學(xué)被誤判。從系統(tǒng)實(shí)驗(yàn)結(jié)果分析,本系統(tǒng)識(shí)別的準(zhǔn)確率較高。
本文提出一種聯(lián)合學(xué)生人體檢測(cè)和人臉角度篩選的方法,改進(jìn)現(xiàn)有系統(tǒng)的整體框架和學(xué)生注冊(cè)方案。研究表明人體檢測(cè)方法能夠有效緩解因人臉信息缺失造成的人臉漏檢問題;在注冊(cè)和識(shí)別階段均采用人臉角度篩選方法可以減少注冊(cè)需要的數(shù)據(jù)量,提高識(shí)別準(zhǔn)確率,在課堂應(yīng)用場(chǎng)景下優(yōu)于建立多姿態(tài)人臉數(shù)據(jù)集的方法。本文為課堂學(xué)生出勤率檢測(cè)提供了一種新的解決思路,具有一定的實(shí)踐意義。在后續(xù)課堂人臉識(shí)別的研究中,可以考慮使用超分辨率圖像重建技術(shù)提高人臉識(shí)別的準(zhǔn)確率、降低硬件成本。