吳 迪,董雪晴,馮曉婉
(沈陽師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院,沈陽 110034)
2020年年初的疫情導(dǎo)致學(xué)生無法按期開學(xué),為不延誤課程,教育部支持學(xué)校開展線上教學(xué)活動,確?!巴Un不停學(xué)”[1]。但疫情沖擊下流行起來的線上授課方式是利弊共存的,優(yōu)點(diǎn)是教師可遠(yuǎn)距離、無接觸完成教學(xué)任務(wù),缺點(diǎn)是對于自律性差的學(xué)生,家長需要一直監(jiān)督學(xué)生線上學(xué)習(xí),這極大影響了家長的工作和生活[2]。因此,在線上授課期間需要利用電子產(chǎn)品自動監(jiān)督學(xué)生的聽課狀態(tài)。
近年,隨著人工智能技術(shù)的發(fā)展,人臉檢測成為人工智能應(yīng)用開發(fā)中一項(xiàng)基礎(chǔ)且重要的研究內(nèi)容,例如人臉識別打卡[3]、人臉表情識別[4]等。而深度學(xué)習(xí)作為當(dāng)前的研究熱點(diǎn),也早已被應(yīng)用到人臉檢測之中,基于深度學(xué)習(xí)的人臉檢測算法模型已有許多,例如Faster R-CNN[5],SSD[6],MTCNN[7]等。人眼狀態(tài)檢測依賴于人臉檢測,通過人臉檢測結(jié)合人眼定位先驗(yàn)知識[8]可得到人眼圖像,以不同方法處理和分析人眼圖像,可檢測不同的人眼狀態(tài)[9-12]。疲勞駕駛檢測[13]技術(shù)正是通過分析人眼圖像中人眼的閉合程度,檢測駕駛員是否處于疲勞狀態(tài)[14-15]。本文綜合上述諸多因素,針對線上課堂學(xué)生的聽課狀態(tài),設(shè)計了基于多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)(MTCNN)的人眼狀態(tài)檢測與判斷系統(tǒng),在線上課堂教師授課過程中,判斷學(xué)生人眼關(guān)注點(diǎn)是否放在屏幕兩側(cè),從而確定學(xué)生是否認(rèn)真聽課。
MTCNN采用了Viola-Jones檢測器[16]中的級聯(lián)概念,級聯(lián)3個CNN,分別是Proposal Network(P-Net),Refine Network(R-Net),Out Network(O-Net)。在MTCNN模型結(jié)構(gòu)中,P-Net用于獲取人臉區(qū)域候選窗口和邊界框回歸向量,利用邊界框回歸對候選窗口進(jìn)行校準(zhǔn),通過非極大值抑制(NMS)合并高度重合的候選框;R-Net在前者基礎(chǔ)上丟棄錯誤的候選窗口,使用邊界框回歸校準(zhǔn)候選窗口,通過NMS合并高度重合的候選框;O-Net與R-Net相似,但O-Net描述更多人臉細(xì)節(jié),并輸出5個人臉特征點(diǎn)。
MTCNN模型訓(xùn)練用不同類型的數(shù)據(jù)學(xué)習(xí)3個不同的任務(wù):利用Negative和Positive數(shù)據(jù)訓(xùn)練人臉與非人臉的分類;利用Positive和Part faces數(shù)據(jù)訓(xùn)練邊界框回歸;利用Landmark face數(shù)據(jù)訓(xùn)練特征點(diǎn)定位。
1)人臉檢測是一個分類任務(wù),使用交叉熵?fù)p失函數(shù):
2)邊界框回歸(bounding box regression)是一個回歸問題,使用歐式距離計算回歸損失:
3)特征點(diǎn)定位是回歸問題,同樣使用歐式距離計算回歸損失:
實(shí)驗(yàn)設(shè)備是一臺普通筆記本電腦,具體配置:處理器Intel Core i3,顯示適配器NVIDA GeForce 710 M,內(nèi)存4.0 GB,操作系統(tǒng)Windows 8。如下為人眼狀態(tài)檢測與判斷系統(tǒng)流程圖:
圖1 人眼狀態(tài)檢測與判斷系統(tǒng)流程圖Fig.1 Flow chart of human eye state detection and judgment system
設(shè)置視頻顯示窗口像素為500×500。視頻經(jīng)過MTCNN模型檢測得到實(shí)時人臉框和人臉特征點(diǎn)的位置信息以及人臉置信度值(Score),在顯示窗口中畫出人臉框,并標(biāo)記置信度值和5個特征點(diǎn)位置,如圖2所示;根據(jù)人眼特征點(diǎn)位置信息、人臉框位置信息和人眼定位先驗(yàn)知識,可得式(1):
圖2 人臉框圖Fig.2 Face block
(1)
這里:(x,y)是人眼特征點(diǎn)坐標(biāo);(sx,sy)與(ex,ey)分別是人臉框左上點(diǎn)坐標(biāo)和右下點(diǎn)坐標(biāo);(SX,SY)與(EX,EY)分別是矩形人眼框左上點(diǎn)坐標(biāo)和右下點(diǎn)坐標(biāo)。由式(1)可得人眼框相對于整個視頻幀的坐標(biāo),再根據(jù)矩形人眼框坐標(biāo)信息在視頻幀中獲取人眼圖3。
圖3 人眼圖Fig.3 Human eye map
由于已獲人眼框的中心位置無法準(zhǔn)確反映人眼的中心位置,因此,在已獲人眼框的基礎(chǔ)上進(jìn)行人眼提純。將人眼框內(nèi)的人眼圖像進(jìn)行灰度化處理。在灰度圖中分別以豎直和水平方向選取2條穿過虹膜中心的線,摘取2條線上像素點(diǎn)的像素值,并向坐標(biāo)軸進(jìn)行投影(圖5)。根據(jù)圖5(a)和圖5(b)中2條投影曲線中像素值隨坐標(biāo)變化的趨勢,選擇適當(dāng)像素閾值對灰度圖做二值化處理,得到圖4(a),其中黑色區(qū)域?yàn)檠劬喞秃缒ぁR匀搜圩笥已劢屈c(diǎn)的橫坐標(biāo)作提純框的初、末橫坐標(biāo),以虹膜區(qū)域最高點(diǎn)和最低點(diǎn)的縱坐標(biāo)作提純框的初、末縱坐標(biāo),得到提純?nèi)搜劭蜃鴺?biāo)。圖4(b)為提純?nèi)搜邸L峒兊娜搜壑行奈恢媚軌驕?zhǔn)確地反映人眼的中心點(diǎn)。
圖4 眼睛提純過程圖Fig.4 Eye purification process chart
圖5 投影曲線圖Fig.5 Projection graph
對提純后得到的人眼圖像進(jìn)行灰度二值化處理,二值化閾值選擇小于人眼提純中的閾值,盡可能排除眼睛輪廓的像素點(diǎn),保留虹膜區(qū)域的像素點(diǎn),得到圖6。
圖6 灰度-二值化圖Fig.6 Grayscale-binary image
根據(jù)式(2)計算的虹膜中心大致位置(虹膜中心),即圖7人眼中標(biāo)記的紅點(diǎn)。
圖7 虹膜中心Fig.7 Iris center
(2)
這里:(xi,yi)表示像素點(diǎn)i的坐標(biāo);Sum(X,Y)是所有像素值為0的像素點(diǎn)的坐標(biāo)總和;n表示像素值為0的像素點(diǎn)個數(shù)。利用已得到的虹膜中心位置與提純的人眼中心位置計算二者之間距離:
(3)
其中:D表示虹膜中心與提純?nèi)搜壑行闹g的距離;(x,y)表示虹膜中心位置;(mx,my)表示提純?nèi)搜壑行奈恢?。設(shè)置適當(dāng)虹膜中心至人眼中心的閾值距離,若虹膜大致停留在人眼中心,即虹膜中心與提純?nèi)搜壑行牡木嚯x小于閾值距離,代表人眼的關(guān)注點(diǎn)放在屏幕上;若虹膜距人眼中心較遠(yuǎn),即虹膜中心與提純?nèi)搜壑行木嚯x大于閾值距離,則表示人眼的關(guān)注點(diǎn)在屏幕兩側(cè),即表示學(xué)生一定沒有認(rèn)真觀看屏幕中播放的內(nèi)容。
實(shí)驗(yàn)條件:非過亮或過暗的光線環(huán)境,人臉及人眼無任何遮擋。實(shí)驗(yàn)測試規(guī)則:設(shè)置初始值為0的計數(shù)變量k,當(dāng)檢測到虹膜中心點(diǎn)與提純?nèi)搜壑行狞c(diǎn)之間的距離(D)大于閾值距離(DT)時開始計數(shù),k值加1,即k=k+1;若連續(xù)5張(5 s)人眼圖像均為D>DT,即當(dāng)k=5時,則表示人眼狀態(tài)異常,提示警告;否則表示人眼狀態(tài)正常,不作提示。
表1中選取了2幅提純后的人眼圖像,藍(lán)點(diǎn)表示提純?nèi)搜壑行狞c(diǎn),紅點(diǎn)表示虹膜中心點(diǎn)。比較系統(tǒng)計算的2個中心點(diǎn)距離與利用畫圖軟件獲取的2個中心點(diǎn)坐標(biāo)人為計算距離,2個值之間相差較小,不影響判斷效果,所以系統(tǒng)計算的距離結(jié)果可信度高。
表1 人為與系統(tǒng)計算距離對比表Table 1 Comparison of man-made and systematic distances
表2中展示了3組人眼圖像及其圖像中心點(diǎn)與虹膜中心點(diǎn)之間的距離。表中第1組、第3組圖像寬度范圍在40~50像素,對應(yīng)的閾值距離為4.5像素;第2組圖像寬度范圍在30~40像素,對應(yīng)的閾值距離為3個像素。比較2個中心點(diǎn)距離與閾值距離,得出系統(tǒng)判斷的人眼狀態(tài)結(jié)果。系統(tǒng)判斷的人眼狀態(tài)與直觀感受得到的人眼狀態(tài)一致,因此文中利用人眼中心點(diǎn)與虹膜中心點(diǎn)之間距離判斷人眼狀態(tài)的結(jié)果可靠。
表2 人眼狀態(tài)判斷Table 2 Human eye state judgement
本文主要設(shè)計了基于MTCNN的人眼狀態(tài)檢測與判斷系統(tǒng)。根據(jù)MTCNN模型檢測得到正面人臉的人臉框及人臉特征點(diǎn)的位置信息,結(jié)合人眼定位的先驗(yàn)知識,得到了粗略的人眼圖像,再利用灰度二值化處理人眼圖像,結(jié)合處理后圖像的像素值分布特點(diǎn),提純了人眼圖像,并得到準(zhǔn)確的人眼中心點(diǎn)以及大致的虹膜中心點(diǎn),最后通過計算二者之間的距離,實(shí)現(xiàn)了人眼關(guān)注點(diǎn)是否落在屏幕中的判斷。實(shí)驗(yàn)結(jié)果表明,該方法能夠有效判斷學(xué)生在線上課堂聽課時是否關(guān)注屏幕。