王鵬程 王迪
摘要:建立規(guī)范化、科學(xué)化、制度化的教學(xué)質(zhì)量監(jiān)測(cè)評(píng)估體系是保證教育教學(xué)質(zhì)量提高的重要前提之一。然而,當(dāng)前教師主要采用課堂觀察和提問(wèn)的方式與學(xué)生交互,無(wú)疑會(huì)因個(gè)人經(jīng)歷不足等原因,造成信息傳遞與反饋的片面性與滯后性。本文利用人臉識(shí)別技術(shù)及專注度分析技術(shù),通過(guò)整合MTCNN 模型、Insightface 模型、靜態(tài)表情識(shí)別模型力,將其應(yīng)用于高校教育領(lǐng)域,圖解決如何客觀精確地體現(xiàn)學(xué)生群體在課堂教學(xué)中的專注程度,為課堂教學(xué)質(zhì)量評(píng)價(jià)體系提供有效參考依據(jù),為彌補(bǔ)現(xiàn)存的教學(xué)評(píng)價(jià)問(wèn)題提供了可能。
關(guān)鍵詞:智慧課堂;人臉識(shí)別;專注度分析;MTCNN;Insightface
中圖分類號(hào): TP311 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)31-0038-05
Abstract: The establishment of standardized, scientific, and institutionalized teaching quality monitoring and evaluation system is one of the important preconditions to ensure the improvement of teaching quality. However, at present, teachers mainly use the way of classroom observation and questioning to interact with students, which will undoubtedly lead to the one-sided and lagging of information transmission and feedback due to the lack of personal energy and other reasons. This paper uses face recognition technology and focus analysis technology to integrate MTCNN model and insight face The model and static expression recognition model are applied to the field of higher education, to figure out how to objectively and accurately reflect the focus of students in classroom teaching, to provide an effective reference for the classroom teaching quality evaluation system, and to make up for the existing teaching evaluation problems.
Key words: Intelligent classroom; face recognition; Focus analysis; MTCNN; Insight face
1 概述
在高校傳統(tǒng)的教育中,教師通常采取大班授課的形式,由于上課學(xué)生的數(shù)量眾多,又因教師教學(xué)進(jìn)度的需要,往往不能保證每個(gè)學(xué)生的教學(xué)質(zhì)量,高校學(xué)生也因此面臨著疑難知識(shí)點(diǎn)無(wú)法解答,聽課效率低下等問(wèn)題?,F(xiàn)如今,隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,人工智能相關(guān)技術(shù)已經(jīng)開始應(yīng)用到各個(gè)領(lǐng)域。
現(xiàn)如今,人工智能已經(jīng)成為人們常常談?wù)摰脑掝},人們也將智慧教育從過(guò)去的翻轉(zhuǎn)課堂等概念中抽離出來(lái),重新定義智慧教育為將傳統(tǒng)的教育優(yōu)勢(shì)和當(dāng)今先進(jìn)的技術(shù)高度融合的方案。構(gòu)建一個(gè)充滿數(shù)字化智能化的教育環(huán)境,最大限度地提高學(xué)生的學(xué)習(xí)效率,即學(xué)生在學(xué)習(xí)過(guò)程中所產(chǎn)生的數(shù)據(jù)信息,通過(guò)監(jiān)控?cái)z像頭等信息采集設(shè)備及時(shí)掌握,并且能夠清晰地實(shí)現(xiàn)學(xué)習(xí)數(shù)據(jù)的可視化展示。
本文所闡述的系統(tǒng)就是以人臉識(shí)別技術(shù)為基礎(chǔ),在已有學(xué)生證件照數(shù)據(jù)的基礎(chǔ)上,利用教師監(jiān)控?cái)z像頭對(duì)學(xué)生身份進(jìn)行識(shí)別,并且對(duì)學(xué)生的上課專注度狀態(tài)進(jìn)行監(jiān)測(cè)并且利用得到的數(shù)據(jù)進(jìn)行分析,給出可視化的分析結(jié)果,這個(gè)系統(tǒng)的成功實(shí)現(xiàn),一方面可以幫助高校學(xué)生實(shí)現(xiàn)個(gè)性化學(xué)習(xí),另一方面可以幫助教師制定合適的教學(xué)計(jì)劃,促進(jìn)老師和學(xué)生課堂交互,實(shí)現(xiàn)真正的智慧教學(xué)。
2 技術(shù)背景
2.1MTCNN模型
MTCNN是中科院深圳研究院于2016年提出的一個(gè)深度卷積多任務(wù)的框架,如圖1所示,這個(gè)框架利用了檢測(cè)和對(duì)準(zhǔn)之間固有的關(guān)系來(lái)增強(qiáng)他們的性能,在預(yù)測(cè)人臉及臉部標(biāo)記點(diǎn)的時(shí)候,通過(guò) 3 個(gè) CNN 級(jí)聯(lián)的方式對(duì)任務(wù)進(jìn)行從粗到精的處理。
如圖輸入待檢測(cè)圖片,第一步使用的P-Net是由一個(gè)全卷積網(wǎng)絡(luò),1個(gè)池化層和4層卷積層構(gòu)成,它的作用是用來(lái)生成候選窗和邊框回歸向量。使用Bounding box regression的方法來(lái)校正這些候選窗,然后使用非極大值抑制合并高度重疊的候選框。由于其使用的是全卷積網(wǎng)絡(luò),所以在測(cè)試的時(shí)候輸入是任意大小的圖片,輸出為N個(gè)邊界框的4個(gè)坐標(biāo)信息和 score,如圖2(b)。
第二步使用R-Net改善候選窗,它由2個(gè)池化層和3層卷積層以及1層全連接層構(gòu)成,將通過(guò)P-Net的候選窗輸入R-Net中,邊界框的大小都是24×24×3,這些都可以通過(guò)縮放得到,P-Net的功能是拒絕掉大部分false的窗口后,繼續(xù)使用Boundingboxregression和NMS合并,然后輸出精度更高的人臉框,如圖2(c)。第三步使用O-Net輸出最終的人臉框和特征點(diǎn)位置,O-Net由3個(gè)池化層和4層卷積層以及1層全連接層構(gòu)成,和第二步類似,但是不同的是生成5個(gè)特征點(diǎn)位置。通過(guò)MTCNN模型,可以得到人臉的雙眼,鼻子以及嘴巴的五個(gè)關(guān)鍵點(diǎn)的坐標(biāo)以及人臉邊框的坐標(biāo),其中截取到的人臉圖片可以供h后續(xù)人臉識(shí)別使用,如圖2(d)。
2.2 Insightface模型
2018年由英國(guó)帝國(guó)理工大學(xué)鄧建康團(tuán)隊(duì)提出的Insightface模型別的模型不同,在損失函數(shù)上選擇ArcFace提出的一種新的用于人臉識(shí)別的損失函數(shù):dditiveangularmarginloss函數(shù),其使用角邊距最大化類間距離、最小化類內(nèi)距離。該模型使用的CNN網(wǎng)絡(luò)為改進(jìn)的ResNet-100網(wǎng)絡(luò)結(jié)構(gòu),使得其能夠更加適合學(xué)習(xí)人臉特征。詳細(xì)步驟如圖3所示。
第一步,首先輸入的圖片是3×224×224,也就是3個(gè)通道,圖片尺寸為224×224,然后進(jìn)入第一個(gè)卷積層,卷積核大小為7*7,卷積核個(gè)數(shù)為64,步長(zhǎng)為2,padding為3,輸出向下取整得到112,所以輸出是64×112×112,maxpool層會(huì)改變維度,但是不會(huì)影響個(gè)數(shù)。到了實(shí)線框中,每一個(gè)實(shí)線框包含了3個(gè)Bottleneck,其中每個(gè)Bottleneck里面包含了一個(gè)ConvBlock和一個(gè)IdentityBlock,在ConvBlock中,總體的思路是先通過(guò)1×1的卷積對(duì)特征圖像進(jìn)行降維,做一次3×3的卷積操作,最后再通過(guò)1×1卷積恢復(fù)維度,后面跟著BN和ReLU層,虛線處用256個(gè)1×1的卷積網(wǎng)絡(luò),將maxpool的輸出降維到255×56×56。在IdentityBlock中,不經(jīng)過(guò)卷積網(wǎng)絡(luò)降維,直接將輸入加到最后的1×1卷積輸出上,經(jīng)過(guò)后面的Block,經(jīng)過(guò)平均池化和全連接,用softmax實(shí)現(xiàn)回歸。
第二步,利用L2實(shí)現(xiàn)特征和權(quán)重歸一化,將圖像的特征映射到一個(gè)關(guān)于特征的超球面上,球的半徑為單位長(zhǎng)度。
第三步,再去優(yōu)化這些特征,在這里提出了一個(gè)新的損失函數(shù),arcface損失函數(shù),其原理利用的是角度距離比余弦距離在對(duì)角度的影響更加直接,由于幾何上有恒定的線性角度,ArcFace直接在角度空間θ中最大化分類界限。由于其提出的加性角度間隔懲罰與測(cè)地線距離間隔懲罰在歸一化的超球面上相等。
2.3 靜態(tài)表情識(shí)別模型
本文模型主要采用基于圖像的靜態(tài)面部表情識(shí)別網(wǎng)絡(luò),模型的基本結(jié)構(gòu)如圖4所示。
模型包含了五個(gè)卷積層,三個(gè)隨機(jī)池層和三個(gè)完全連接層,其級(jí)聯(lián)了三個(gè)state-of-the-art的人臉檢測(cè)算法,從而保證人臉檢測(cè)的正確性。其中卷積層的參數(shù)只允許在完全連接的圖層上更新參數(shù)。此處采用自適應(yīng)地為每個(gè)網(wǎng)絡(luò)分配不同的權(quán)重,即要學(xué)習(xí)集合權(quán)重w。采用獨(dú)立地訓(xùn)練多個(gè)不同初始化的CNN并輸出他們的訓(xùn)練響應(yīng)。在加權(quán)的集合響應(yīng)上定義了損失,其中w優(yōu)化以最小化這種損失,在測(cè)試中,學(xué)習(xí)的w也被用來(lái)計(jì)算整體的測(cè)試響應(yīng),架構(gòu)最后有P個(gè)Dense(7),這P個(gè)擾動(dòng)樣本的輸出結(jié)果的平均投票,作為該圖像的預(yù)測(cè)值。在本模型中,為了能夠一定程度上做到數(shù)據(jù)增強(qiáng),圖像尺寸歸一化,直方圖均衡化,去均值除方差。樣本生成公式如下:
[x'y'=c00ccos(θ)sin(θ)-sin(θ)cos(θ)1s2s11x-t1'y-t2]
其中θ是從三個(gè)不同值隨機(jī)采樣的旋轉(zhuǎn)角度:{-π/18,0,π/18}。s1和s2是沿著x和y方向的偏斜參數(shù),并且都是從{-0.1,0,0.1}隨機(jī)采樣的,c是隨機(jī)尺度參數(shù)。定義為c=47/(47-δ),其中δ是[0,4]上隨機(jī)采樣的整數(shù)。
3 專注度識(shí)別的實(shí)現(xiàn)
3.1 課堂環(huán)境下學(xué)生人臉提取
本模型采用的視頻都是用錄影機(jī)在課堂學(xué)生正前方錄制,分辨率為1980*1080,由于MTCNN的效果非常好,故在學(xué)生人臉提取部分主要還是利用MTCNN模型,它的實(shí)際效果已經(jīng)在各大公開的數(shù)據(jù)集中得到證明,由于沒(méi)有自己的數(shù)據(jù)集,所以訓(xùn)練模型的過(guò)程還是跟著官網(wǎng)文檔訓(xùn)練的過(guò)程,在訓(xùn)練MTCNN模型的時(shí)候,使用wider和celeba兩個(gè)公開的數(shù)據(jù)庫(kù),其中wider提供人臉檢測(cè)數(shù)據(jù),在大圖上標(biāo)注了人臉框,groundtruth的坐標(biāo)信息,celeba提供了5個(gè)landmark點(diǎn)的數(shù)據(jù),圖像的預(yù)處理使用opencv提供的圖像處理工具,在訓(xùn)練時(shí),將人臉識(shí)別損失函數(shù)、框回歸函數(shù)、關(guān)鍵點(diǎn)損失函數(shù)按照不同權(quán)重聯(lián)合起來(lái),利用以下的函數(shù),將歐氏距離最小化。
[minNi=1j∈{det,box,landmark}?jβjiLjiβji∈{0,1}P-Net ?R-Net(?det=1,?bax=0.5,?landmark=0.5)O-Net(?det=1,?bax=0.5,?landmark=1)]
在訓(xùn)練的時(shí)候利用Wider_face中9000張標(biāo)記人臉做檢測(cè)任務(wù)的訓(xùn)練,利用CelebA中包含的5000張LFW數(shù)據(jù)集做關(guān)鍵點(diǎn)的訓(xùn)練,訓(xùn)練集分為四種:負(fù)樣本,正樣本,部分樣本,關(guān)鍵點(diǎn)樣本,三個(gè)樣本的比例為3:1:1:2。對(duì)于三個(gè)網(wǎng)絡(luò),其提取過(guò)程類似,本模型對(duì)每個(gè)人臉輸出160*160大小的圖像。
在模型訓(xùn)練結(jié)束后,使用模型應(yīng)用于課堂環(huán)境下,通過(guò)對(duì)采集的1980*1080分辨率視頻幀的分析,可以得到學(xué)生的面部截圖坐標(biāo)以及五個(gè)關(guān)鍵點(diǎn)坐標(biāo)。其中人臉框提取如圖5所示,在人臉關(guān)鍵點(diǎn)可見的情況下,面部檢測(cè)率非常高。
人臉關(guān)鍵點(diǎn)標(biāo)注的檢測(cè)會(huì)因?yàn)榈皖^、遮擋等因素而失效。與此同時(shí),需要注意的是,人眼和鼻子關(guān)鍵點(diǎn)的位置關(guān)系也可以作為一個(gè)判斷上課狀態(tài)的重要依據(jù),這個(gè)關(guān)系將應(yīng)用于本作品的疑惑度分析模塊。
利用本模塊,可以輸出160*160像素的人臉截取圖片提供給人臉識(shí)別模塊提取圖片特征,如圖6所示。
3.2課堂環(huán)境下學(xué)生人臉識(shí)別
在課堂人臉識(shí)別中,在比較了Facenet模型Insightface模型對(duì)于單個(gè)人身份匹配的實(shí)際效果,可以觀察到Facenet在課堂環(huán)境下由于單張人臉像素太低,人臉身份匹配率較低,不能滿足本系統(tǒng)所需功能的要求。但是Insightface模型的實(shí)際效果很好,而且計(jì)算代價(jià)更低,所以采用Insightface模型。本模型的實(shí)現(xiàn)主要在mxnet框架下進(jìn)行,數(shù)據(jù)集使用VGG2和MS-Celeb-1M,在去除噪聲數(shù)據(jù)后進(jìn)行訓(xùn)練,驗(yàn)證集則使用LFW。
本模型使用的網(wǎng)絡(luò)結(jié)構(gòu)是ResNet100,首先需要申明圖片尺寸為MTCNN輸出的160*160,這里需要使用tensorflow的resize工具調(diào)整圖片的大小讓它適應(yīng)網(wǎng)絡(luò)的輸入,利用封裝好的get_model(ctx,image_size,model_str,layer)函數(shù)將截取的低像素人臉給Insightface提取人臉特征。
在初始化FaceImageIter數(shù)據(jù)迭代器后初始化各類迭代用的參數(shù),如batch_size。在初始化評(píng)價(jià)函數(shù)上使用AccMetric,之后初始化神經(jīng)網(wǎng)絡(luò),定義SGD優(yōu)化器,在得到圖像特征的函數(shù)中,根據(jù)ResNet50的結(jié)構(gòu)構(gòu)建主體網(wǎng)絡(luò)計(jì)算圖,輸入112×112×3的圖像,輸出是embedding為512維度,然后初始化類別空間,計(jì)算CosFaceLoss,最后將fc7和真值放入傳統(tǒng)Softmax中輸出得到結(jié)果。
在修正的ResNet中傳入的主要參數(shù)為網(wǎng)絡(luò)層數(shù):num_layers=50,卷積層的Unit:filter_list=[64,64,128,256,512],沒(méi)有1×1的filter:bottle_neck=False,網(wǎng)絡(luò)有四個(gè)部分:num_stages=4,四個(gè)部分分別是:[3,4,14,3]。整個(gè)網(wǎng)絡(luò)分為四個(gè)步驟,分別為i=0,1,2,3。i=0的時(shí)候:body=上述網(wǎng)絡(luò)結(jié)構(gòu)[body,filter=64,步長(zhǎng)(2,2),dim_match=False],經(jīng)歷3個(gè)卷積層。j進(jìn)行0,1兩次循環(huán),兩次進(jìn)行body=上述網(wǎng)絡(luò)結(jié)構(gòu)[body,filter=64,步長(zhǎng)(1,1),dim_match=True],經(jīng)歷4個(gè)卷積層一共經(jīng)歷7個(gè)卷積層。i=1的時(shí)候,body=上述網(wǎng)絡(luò)結(jié)構(gòu)[body,filter=128,步長(zhǎng)(2,2),dim_match=False],經(jīng)歷3個(gè)卷積層。j進(jìn)行0,1,2三次循環(huán),這三次網(wǎng)絡(luò)結(jié)構(gòu)[body,filter=128,步長(zhǎng)(1,1),dim_match=True],經(jīng)歷6個(gè)卷積層,一共經(jīng)歷9個(gè)卷積層。i=2的時(shí)候:body=上述網(wǎng)絡(luò)結(jié)構(gòu)[body,filter=256,步長(zhǎng)(2,2),dim_match=False],經(jīng)歷3個(gè)卷積層,j進(jìn)行0,1,2,一直到13次循環(huán)。這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)一共經(jīng)歷29個(gè)卷積層,i=3的時(shí)候,上述網(wǎng)絡(luò)結(jié)構(gòu)[body,filter=512,步長(zhǎng)(2,2),dim_match=False],經(jīng)歷3個(gè)卷積層,j進(jìn)行0,1兩個(gè)循環(huán),兩次進(jìn)行body=上述網(wǎng)絡(luò)結(jié)構(gòu)[body,filter=512,步長(zhǎng)(1,1),dim_match=True],經(jīng)歷4個(gè)卷積層,整個(gè)過(guò)程總共經(jīng)歷卷積層7+9+29+7=52個(gè)卷積層,再加上初始化的卷積層,一共有53個(gè)。本模型經(jīng)過(guò)歸一化后特征尺度為64,最后輸出特征層的維度為512維。最后根據(jù)特征向量的距離進(jìn)行身份的判斷。在人臉匹配時(shí),身份數(shù)據(jù)庫(kù)中的原照片每張大小為1M左右。
如圖7所示,在實(shí)際測(cè)試時(shí),比較圖片特征向量在超球面的角度差異,最小化類內(nèi)距離,最大化類間距離,定義findNear函數(shù),在數(shù)據(jù)庫(kù)中尋找和低分辨率人臉圖片特征向量最相似的向量特征,可以看到在人臉3個(gè)以上關(guān)鍵點(diǎn)能夠識(shí)別和遮擋不超過(guò)70%的情況下,只要檢測(cè)出人臉,就能夠匹配出數(shù)據(jù)庫(kù)中學(xué)生身份,在1000幀有3-5幀出現(xiàn)誤差。
def findNear(feature, f, threshold,Name):
dist_list = []# 遍歷特征庫(kù)
for feature_unit in feature:
dist = np.sum(np.square(feature_unit - f))
# dist_list 作用是將所有距離都保存下來(lái),以便獲得最小距離
dist_list.append(dist)#尋找到最小距離
minDist = np.min(dist_list)#如果最小距離小于等于閾值
if minDist<= threshold:#求出最小距離對(duì)應(yīng)的索引
minIdx = np.argmin(dist_list)# 找到姓名
return Name[minIdx]
else:
return 'none'
3.3專注度分析模塊
本文的專注度識(shí)別模塊主要在靜態(tài)表情識(shí)別模型的基礎(chǔ)上引入人眼張合度的機(jī)制進(jìn)行狀態(tài)評(píng)判。
3.3.1簡(jiǎn)單表情識(shí)別
在實(shí)際測(cè)試上表情分類CNN使用模型圖8,其采用數(shù)據(jù)增強(qiáng)和投票模式使得網(wǎng)絡(luò)能夠自動(dòng)的決定級(jí)聯(lián)CNN的權(quán)重分配問(wèn)題。損失函數(shù)為softmaxWithLoss,計(jì)算的時(shí)候一個(gè)樣本會(huì)與其生成的樣本loss一起計(jì)算,整個(gè)網(wǎng)絡(luò)用FER數(shù)據(jù)庫(kù)進(jìn)行預(yù)訓(xùn)練,當(dāng)loss突然增加25%或者連續(xù)5次觀察loss發(fā)現(xiàn)loss上升,則手動(dòng)的減小學(xué)習(xí)率,最小的學(xué)習(xí)率設(shè)置為0.0001。相比較簡(jiǎn)單的加權(quán)投票平均的思想,在這里使用學(xué)習(xí)策略來(lái)決定網(wǎng)絡(luò)的具體權(quán)重。模型預(yù)訓(xùn)練上使用FER2013數(shù)據(jù)庫(kù),測(cè)試集則使用SFEW數(shù)據(jù)庫(kù)給出的靜態(tài)圖像,其中為了減弱背景復(fù)雜度帶來(lái)的影響,級(jí)聯(lián)了JDA、DCNN、MOT三個(gè)人臉檢測(cè)算法。在數(shù)據(jù)預(yù)處理上為了去除樣本間的無(wú)關(guān)噪聲,并能夠一定程度的做到數(shù)據(jù)增強(qiáng),圖像尺寸歸一化(48x48)。
其中,輸入的圖片大小為160*160,通過(guò)此模型可以得到高興(happiness)、正常(neutral)、驚訝(surprise)、奇怪(odd)、厭惡(disgust)和悲傷(sadness)六種表情結(jié)果。
x1,y1,x2,y2=int(bbox_unit[0]),int(bbox_unit[1]),int(bbox_unit[2]),int(bbox_unit[3])
gray_face = gray_image[y1:y2, x1:x2]
try:
gray_face = cv2.resize(gray_face, (emotion_target_size))
except:
continue
gray_face = preprocess_input(gray_face, True)
gray_face = np.expand_dims(gray_face, 0)
gray_face = np.expand_dims(gray_face, -1)
emotion_prediction = emotion_classifier.predict(gray_face)
emotion_probability = np.max(emotion_prediction)
emotion_label_arg = np.argmax(emotion_prediction)
emotion_text = emotion_labels[emotion_label_arg]
emotion_window.append(emotion_text)
其中x1,y1,x2,y2分別為人臉框四個(gè)點(diǎn)坐標(biāo),因?yàn)閷?duì)表情的標(biāo)簽進(jìn)行了修改,將6個(gè)表情分為3類,分別為neutral、no_confused、confused,并且將此作為一個(gè)課堂狀態(tài)的初步判斷,將表情結(jié)果視頻化分析結(jié)果如圖9所示。
3.2 專注度評(píng)價(jià)機(jī)制
在課堂條件下,可以觀察到學(xué)生眼睛的張合度和學(xué)生的上課狀態(tài)密切相關(guān),如果僅僅簡(jiǎn)單地通過(guò)基本表情的評(píng)判作為學(xué)生專注度分析的結(jié)果,有效性較低,因此本文決定將人眼張合度納入學(xué)生疑惑度狀態(tài)評(píng)價(jià)之中。由于人眼是呈現(xiàn)橢圓狀,為了圖形處理方便將眼睛面積視為長(zhǎng)方形,張合度考慮為人眼長(zhǎng)方形中寬度和長(zhǎng)度的比值。
其中高度與寬度的比值越大則表示學(xué)生越專注,比值越小表示學(xué)生專注度越低。但是實(shí)際訓(xùn)練中,因?yàn)檎n堂學(xué)生較為密集,單張人臉?lè)直媛瘦^低,人眼面積更小,故考慮使用雙眼和鼻子三個(gè)關(guān)鍵點(diǎn)的角度關(guān)系來(lái)代替眼睛張合度評(píng)價(jià)。其中雙眼和鼻子的三點(diǎn)坐標(biāo)簡(jiǎn)化如圖10所示,本文主要考慮角度C的變化情況。
經(jīng)過(guò)數(shù)據(jù)處理發(fā)現(xiàn)得知,鼻子的位置相對(duì)固定,在監(jiān)控?cái)z像頭位置不變的情況下,學(xué)生抬頭,低頭,側(cè)身等動(dòng)作都會(huì)影響到實(shí)際截取人臉中雙眼和鼻子的角度關(guān)系,若低頭,則監(jiān)控?cái)z像截取人眼面積較小,鼻子位置相對(duì)較高,則夾角C相對(duì)較大。若學(xué)生抬頭,監(jiān)控?cái)z像截取人眼面積仍然較小,鼻子位置相對(duì)不變,夾角C也會(huì)變大。若學(xué)生側(cè)臉,則某一只眼睛和鼻子的距離就會(huì)變小,從而導(dǎo)致角度C變大。采取三點(diǎn)檢測(cè)法可以極大地降低計(jì)算量的同時(shí)提升系統(tǒng)疑惑度分析的準(zhǔn)確度。
在角度C的計(jì)算上,根據(jù)三角形的定義,可以得到平面上三點(diǎn)的坐標(biāo)點(diǎn),假設(shè)這三個(gè)坐標(biāo)點(diǎn)如圖所示為A(a,b),B(c,d),C(e,f),其長(zhǎng)度分別為a,b,c,由余弦定理可以得到:
cosC=(a2+b2-c2)/(2*a*b)
帶入圖中已有的坐標(biāo),可以得到:
[cosC=(x3-x1,y3-y1)*(x2-x3,y2-y3)(x3-x1,y3-y1)*(x2-x3,y2-y3)]
在這里通過(guò)已有數(shù)據(jù)的分析,將角度C的閾值設(shè)置為66度最適合,則cosC的閾值為0.41,故若通過(guò)MTCNN得出的人眼以及鼻子的三個(gè)關(guān)鍵點(diǎn)坐標(biāo)計(jì)算的角度C余弦值大于0.41則可判定為專注狀態(tài),否則為不專注狀態(tài)。實(shí)際效果如圖11所示。正臉狀態(tài)下相對(duì)于低頭和側(cè)臉狀態(tài)角度兩眼和鼻子關(guān)鍵點(diǎn)角度位置更正,處于角度66度評(píng)價(jià)范圍之間。
最后本模塊在最基本的靜態(tài)表情判斷上結(jié)合專注度評(píng)判準(zhǔn)則進(jìn)行修正,若情緒判斷為疑惑狀態(tài)并且臉部狀態(tài)眼鼻關(guān)鍵點(diǎn)角度正常,則修正為正常狀態(tài),若眼鼻關(guān)鍵點(diǎn)異常,則仍然為疑惑。若情緒判斷為正常且眼鼻關(guān)鍵點(diǎn)角度正常,則為專注,否則為正常態(tài)。若情緒判斷為正常態(tài),則保持不變,最終的結(jié)果給出正常、專注、困惑三種狀態(tài)。實(shí)際測(cè)試結(jié)果如圖12所示。
4 結(jié)束語(yǔ)
本文通過(guò)整合 MTCNN 模型、Insightface模型、靜態(tài)表情識(shí)別模型初步實(shí)現(xiàn)了專注度的識(shí)別分析。通過(guò)在靜態(tài)表情識(shí)別模型的基礎(chǔ)上引入人眼張合度的機(jī)制,能夠相對(duì)穩(wěn)定地判斷學(xué)生的專注狀態(tài)。
但是,在課堂的復(fù)雜環(huán)境下,學(xué)生由于遮擋、光線、側(cè)身等原因造成身份難以識(shí)別,學(xué)生人臉狀態(tài)分析評(píng)判指標(biāo)還沒(méi)有統(tǒng)一標(biāo)準(zhǔn)的問(wèn)題將是今后的研究方向。
參考文獻(xiàn):
[1] Zhang K P,Zhang Z P,Li Z F,et al.Joint face detection and alignment usingmultitaskcascaded convolutional networks[J].IEEE Signal Processing Letters,2016,23(10):1499-1503.
[2] Zhu Z Y,Luo P,Wang X G,et al.Recover canonical-view faces in the wild with deep neural networks[EB/OL].2014:arXiv:1404.3543[cs.CV].https://arxiv.org/abs/1404.3543
[3] ?Karen Simonyan,Andrew Zisserman.Very Deep Convolutional Networks f or Large-Scale Image Recognition[EB/OL].2015,https://arxiv.org/abs/1 502.03167.
[4] ?Y.Taigman,M.Yang,M.Ranzato,and L.Wolf. Deepface:Closing the gap to human-level performance in face verification.In IEEE Conf on CVPR,20 14.1,2,5,7,8,9.
[5] ?I.Bayer,X.He,B.Kanagal,and S.Rendle.A generic coordinate descent f ramework for learning from implicit feedback.In www,2017.
[6] ?T.Chen,X.He,and M.-Y.Kan.Context-aware image tweet modelling and r ecommendation.In MM,2016:1018-1027.
[7] Wang H,Wang N Y,Yeung D Y.Collaborative deep learning for recommendersystems[EB/OL].2014:arXiv:1409.2944[cs.LG].https://arxiv.org/abs/1409.2944
[8] ?The Third Emotion Recognition in the Wild (EmotiW)2015 Grand challenge. http://cs.anu.edu.au/few/emotiw2015.html
[9] Dhall A,Goecke R,LuceyS,et al.Collecting large,richly annotated facial-expression databases from movies[J].IEEE MultiMedia,2012,19(3):34-41.
[10] Du S, Tao Y,Martinez A M.Compound Facial Expressions of Emotion[J]. Proceedings of the National Academy of Sciences of the United States of America,2014(111):1454-1462.
【通聯(lián)編輯:唐一東】