洪宇軒
(南昌航空大學(xué),江西 南昌 330063)
高校的課堂出勤率一直是高校對學(xué)生重點(diǎn)考核指標(biāo)之一,文獻(xiàn)[1-2]中闡述了課堂的出勤率對學(xué)生學(xué)習(xí)效率的影響。很長一段時(shí)間以來,課堂考勤主要是由人力來完成的,然而,無論是老師點(diǎn)名還是紙質(zhì)版的考勤不僅浪費(fèi)課堂時(shí)光而且都無法對學(xué)生起到良好的監(jiān)督作用。
在文獻(xiàn)[3]中,作者實(shí)現(xiàn)了讓學(xué)生在教學(xué)樓特定區(qū)域內(nèi)通過手機(jī)人臉識別完成課堂考勤,但是這種方法依舊不能避免學(xué)生利用虛擬定位或代簽等系列作弊手段完成課堂考勤。在文獻(xiàn)[4-5]中,作者利用教室入口處的視頻攝像頭針對上課學(xué)生的人臉進(jìn)行識別完成課堂考勤,但是僅用這種方法在實(shí)際運(yùn)用層面上會(huì)遇到很多問題,例如打卡造成的走廊擁堵等。如此可見,近年來課堂環(huán)境下的人臉識別系統(tǒng)需求也日益增長。
近年來,隨著互聯(lián)網(wǎng)的飛速發(fā)展,深度學(xué)習(xí)在人工智能技術(shù)上取得了顯著的進(jìn)展,在人臉識別的場景中尤為突出。目前,國內(nèi)很多公司的人臉識別技術(shù)取得了很好的商用效果,根據(jù)2019年FRVT(face recognition vendor test)最新競賽結(jié)果來看,中國格靈深瞳公司取得了非常優(yōu)秀的成績,在FRVT的四個(gè)子任務(wù)分別為簽證照片(Visa)、嫌疑人照片(Mugshot)、非約束自然環(huán)境人臉照片(Wild)、非約束環(huán)境下兒童照片(Child)中,格靈深瞳最終獲得一項(xiàng)全球第一(非約束自然環(huán)境人臉照片)、兩項(xiàng)全球第四(嫌疑人照片,非約束環(huán)境下兒童照片)及一項(xiàng)全球第五(簽證照片)的優(yōu)異成績,如果僅計(jì)入國內(nèi)參賽廠商,格靈深瞳則分列兩項(xiàng)第一和兩項(xiàng)第二,其各個(gè)子任務(wù)的準(zhǔn)確率都高達(dá)99%以上。
這也證明了國內(nèi)在研究人臉識別等深度學(xué)習(xí)技術(shù)上,取得了重大的進(jìn)步,也為深度學(xué)習(xí)在國內(nèi)進(jìn)一步普及奠定了一定的基礎(chǔ)。雖然針對約束性場景下的人臉識別已經(jīng)達(dá)到了商用程度,但是在自然場景中,人臉會(huì)受到很多因素的影響,比如上述說的人臉姿態(tài)、光照不均等因素,都造成了識別上的困難。因此研究一種針對于自然場景下的人臉識別方法就顯得尤為重要,并且具有實(shí)際意義。其中,文中要研究的自然場景以課堂為主要背景。
文中設(shè)計(jì)了可以用于課堂環(huán)境下的人臉識別系統(tǒng),即在教室的內(nèi)部安裝攝像頭來進(jìn)行人臉識別。但是因?yàn)槿四樧R別系統(tǒng)極其依賴人臉檢測的性能,教室內(nèi)學(xué)生數(shù)量多,教室內(nèi)空間大,教室內(nèi)不同位置的光線分布存在差異以及學(xué)生在上課時(shí)的面部姿態(tài)也不一致[6-9]。這些客觀因素都導(dǎo)致了內(nèi)攝像頭得到的一張圖片中可能是十分復(fù)雜的,它可能有眾多且姿勢各異的學(xué)生并且光線分布不均勻,要檢測出這樣一張圖片的所有學(xué)生的人臉,無疑是一項(xiàng)技術(shù)挑戰(zhàn),如果人臉檢測的性能不佳,勢必會(huì)導(dǎo)致遺漏掉部分已經(jīng)來上的同學(xué),準(zhǔn)確性會(huì)大打折扣。
近些年來,深度學(xué)習(xí)在人臉識別方面有了很大的進(jìn)展,針對自然場景下的人臉識別,研究者進(jìn)行了長期研究并有了實(shí)質(zhì)性的進(jìn)展。一般而言,人臉識別系統(tǒng)涵蓋人臉采集、人臉檢測對齊、人臉識別模塊等,優(yōu)化其中任意一個(gè)模塊對于人臉識別準(zhǔn)確率的提高都具有重要意義。文獻(xiàn)[10]提出了一種Multi-task的人臉檢測框架,該框架使用了三個(gè)CNN,分別為P-Net、R-Net和O-Net,并將它們級聯(lián),但其環(huán)境的適應(yīng)性較差、漏檢率較高;后來由Redmon J等人提出的YOLO系列[11-13]算法是端到端目標(biāo)檢測算法,此系列算法對于人臉的檢測速度有很大的突破。文獻(xiàn)[14]提出了一種相比于MTCNN算法更簡單并且檢測更快速的高精度人臉關(guān)鍵點(diǎn)檢測算法(PFLD),在主流數(shù)據(jù)集上的精度表現(xiàn)達(dá)到最高。
在人臉識別算法上,DeepFace[15]是由Facebook于CVPR2014年發(fā)表的,首度采用了深度學(xué)習(xí)方法在精度上超越了非深度學(xué)習(xí)方法Tom-vs-Pete classifiers[16]、high-dim LBP[17]等,主要用于人臉驗(yàn)證,是深度學(xué)習(xí)人臉識別的奠基之作。FaceNet[18]是Google于CVPR2015年發(fā)表的,提出了一個(gè)對識別、驗(yàn)證、聚類等問題的統(tǒng)一解決框架,即它們都可以放到特征空間里做,需要專注解決的僅僅是如何將人臉更好地映射到特征空間。考慮到深度學(xué)習(xí)的網(wǎng)絡(luò)復(fù)雜程度已經(jīng)很高,研究者們便開始了對損失函數(shù)優(yōu)化的研究,其中SphereFace[19]提出了將Softmax loss從歐幾里得距離轉(zhuǎn)換到角度間隔,增加決策余量m,限制||W||=1和b=0。ArcFace[20]在SphereFace基礎(chǔ)上進(jìn)行了改進(jìn),提高了類間可分性同時(shí)加強(qiáng)類內(nèi)緊度和類間差異,取得了更高的識別準(zhǔn)確率。
其中,基于ArcFace的人臉識別技術(shù)采用的是Resnet網(wǎng)絡(luò)結(jié)構(gòu)做人臉關(guān)鍵點(diǎn)檢測,但是對自然場景下的人臉識別精確度不高,會(huì)影響人臉識別的性能。為了解決上述問題,文中旨在設(shè)計(jì)一種新的人臉識別系統(tǒng),增加了圖像增強(qiáng)算法,融合了Mask R-CNN目標(biāo)檢測算法,以提升整套系統(tǒng)的識別能力。
圖像增強(qiáng)算法常見于對圖像的亮度、對比度、飽和度、色調(diào)等進(jìn)行調(diào)節(jié),增加其清晰度,減少噪點(diǎn)等。圖像增強(qiáng)往往經(jīng)過多個(gè)算法的組合,完成上述功能,比如圖像去噪等同于低通濾波器,增加清晰度則為高通濾波器,當(dāng)然增強(qiáng)一幅圖像是為最后獲取圖像有用信息服務(wù)為主。一般的算法流程為:圖像去噪、增加清晰度(對比度)、灰度化或者獲取圖像邊緣特征或者對圖像進(jìn)行卷積、二值化等。
文中之所以加入圖像增強(qiáng)算法,是因?yàn)樵谡n堂環(huán)境下采集到的人臉圖像可能會(huì)受到光線、人物運(yùn)動(dòng)等因素的影響,人臉圖像很容易不清晰,從而導(dǎo)致識別準(zhǔn)確率不高。為了解決這此問題,在1993年文獻(xiàn)[21-23]就提出了模糊集,后來文獻(xiàn)[24-25]基于此提出了改進(jìn)的方法,基于上述文獻(xiàn),文中提出了新的圖像增強(qiáng)算法。
依據(jù)文獻(xiàn)[21-25]所提的算法,利用線性變換把圖像映射到模糊域,線性變換公式如下:
(1)
其中,xa表示3×3圖像區(qū)域的最小值,xb表示3×3圖像區(qū)域的最大值,t表示圖像像素值的補(bǔ)償因子,xij表示圖像像素值。
圖像增強(qiáng)算子公式為:
O(uA(x))=
(2)
其中,O表示圖像輸出,m和n均表示常數(shù),且m=n=0.5。
為了恢復(fù)圖像的信息丟失,文中通過公式(3)進(jìn)行恢復(fù):
xij=uA(xb-xa)+xa+η
(3)
其中,η是像素補(bǔ)償因子。
那么,文中的圖像增強(qiáng)算法的步驟為:
(1)通過公式(1)把圖像映射到模糊域;
(2)通過公式(2)對圖像進(jìn)行非線性變換;
(3)進(jìn)行圖像恢復(fù)運(yùn)算。
目標(biāo)檢測,也叫目標(biāo)提取,是一種基于目標(biāo)幾何和統(tǒng)計(jì)特征的圖像分割,它將目標(biāo)的分割和識別合二為一,其準(zhǔn)確性和實(shí)時(shí)性是整個(gè)系統(tǒng)的一項(xiàng)重要能力。尤其是在復(fù)雜場景中,需要對多個(gè)目標(biāo)進(jìn)行實(shí)時(shí)處理時(shí),目標(biāo)自動(dòng)提取和識別就顯得特別重要。
隨著計(jì)算機(jī)技術(shù)的發(fā)展和計(jì)算機(jī)視覺原理的廣泛應(yīng)用,利用計(jì)算機(jī)圖像處理技術(shù)對目標(biāo)進(jìn)行實(shí)時(shí)跟蹤的研究越來越熱門,對目標(biāo)進(jìn)行動(dòng)態(tài)實(shí)時(shí)跟蹤定位在智能化交通系統(tǒng)、智能監(jiān)控系統(tǒng)、軍事目標(biāo)檢測及醫(yī)學(xué)導(dǎo)航手術(shù)中手術(shù)器械定位等方面具有廣泛的應(yīng)用價(jià)值。文中之所以加入目標(biāo)檢測是因?yàn)檎n堂環(huán)境下存在面部遮擋,可以通過目標(biāo)檢測算法,先檢測出學(xué)生的身體輪廓,再進(jìn)行面部識別,在一定程度上可以大幅提高準(zhǔn)確率。
其中,Mask R-CNN[26]是2017年提出的,實(shí)際上是Faster R-CNN的另一種形式,是將Faster R-CNN[27]與FCN(fully convolutional network)[28]相結(jié)合,組合成一個(gè)可以同時(shí)進(jìn)行目標(biāo)檢測和實(shí)例分割的多任務(wù)框架。Faster R-CNN采用的都是two-state步驟,即先找出RPN(region proposal network),之后對其找到的每個(gè)RoI(region of interest)進(jìn)行分類、定位、并找到binary mask。這與當(dāng)時(shí)其他先找到mask然后再進(jìn)行分類的網(wǎng)絡(luò)是不同的。Mask R-CNN算法的創(chuàng)新之處在于提出RoIAlign方法代替了RoIPool[29]方法,采用雙線性插值實(shí)現(xiàn)了像素級別的對齊。
Mask R-CNN是一個(gè)實(shí)例分割(Instance segmentation)算法,可以用來做“目標(biāo)檢測”、“目標(biāo)實(shí)例分割”、“目標(biāo)關(guān)鍵點(diǎn)檢測”。
Mask R-CNN算法步驟:首先,輸入一幅待處理的圖片,然后進(jìn)行對應(yīng)的預(yù)處理操作;然后,將其輸入到一個(gè)預(yù)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中(ResNeXt等)獲得對應(yīng)的feature map;接著,對這個(gè)feature map中的每一點(diǎn)設(shè)定預(yù)定的ROI,從而獲得多個(gè)候選ROI;接著,將這些候選的ROI送入RPN網(wǎng)絡(luò)進(jìn)行二值分類(前景或背景)和BB回歸,過濾掉一部分候選的ROI;接著,對這些剩下的ROI進(jìn)行ROIAlign操作(即先將原圖和feature map的pixel對應(yīng)起來,然后將feature map和固定的feature對應(yīng)起來);最后,對這些ROI進(jìn)行分類(N類別分類)、BB回歸和Mask生成(在每一個(gè)ROI里面進(jìn)行FCN操作)。
總之,Mask R-CNN是一個(gè)非常靈活的框架,可以增加不同的分支完成不同的任務(wù),可以完成目標(biāo)分類、目標(biāo)檢測、語義分割、實(shí)例分割、人體姿勢識別等多種任務(wù)。Mask R-CNN算法的優(yōu)點(diǎn)是訓(xùn)練速度十分快,訓(xùn)練花費(fèi)的時(shí)間短,所以選擇其作為檢測課堂環(huán)境下學(xué)生人體的算法。之所以在檢測人臉之前需要先進(jìn)行人體檢測,是因?yàn)榧尤肴梭w檢測可以大大降低因面部遮擋以及其他因素造成的面部信息不足而引起的漏檢情況發(fā)生概率。
近年來,隨著硬件計(jì)算能力的大爆發(fā),在高性能計(jì)算的支持下深度學(xué)習(xí)有了革命性的進(jìn)步,在互聯(lián)網(wǎng)大數(shù)據(jù)的保證下深度學(xué)習(xí)有了源源不斷的動(dòng)力,優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu)被不斷提出,深度學(xué)習(xí)技術(shù)已被推向時(shí)代浪潮。
在深度學(xué)習(xí)的分支領(lǐng)域,計(jì)算機(jī)視覺領(lǐng)域中,人臉識別技術(shù)的發(fā)展依然是工業(yè)界、學(xué)術(shù)界重點(diǎn)關(guān)注的對象,深度卷積神經(jīng)網(wǎng)絡(luò)也得到人們的高度關(guān)注。卷積神經(jīng)網(wǎng)絡(luò)是深度神經(jīng)網(wǎng)絡(luò)的一種具有代表性的算法,包含卷積計(jì)算及深度結(jié)構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)具有相同的特征,都屬于分層網(wǎng)絡(luò)模型,其通過改變傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中層的計(jì)算形式與功能而來。
人們熟知的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)共分為輸入層、隱藏層和輸出層三部分。其中輸入層是用于接收和傳遞信息;隱藏層隨處理問題的復(fù)雜度不同,包含的神經(jīng)元連接數(shù)目也不同,一般具有一個(gè)或多個(gè)層面,主要是用于處理輸入信息;輸出層輸出結(jié)果是輸入信息在神經(jīng)網(wǎng)絡(luò)中傳遞、分析及權(quán)衡的結(jié)果,該層輸出能夠體現(xiàn)出機(jī)器對事物的認(rèn)知。每個(gè)層之間由有一個(gè)或多個(gè)神經(jīng)元連接,相鄰神經(jīng)元之間互為連接,并將信息送入激活機(jī)制中處理,從而形成神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在ResNet于2015年被提出后,越來越多優(yōu)秀的網(wǎng)絡(luò)基于ResNet進(jìn)行優(yōu)化更新也已取得卓越的成就,而在網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)一步升級優(yōu)化有困難的情況下,研究者逐步將目光轉(zhuǎn)向損失函數(shù)這一指揮棒上。
在引言中提到了ArcFace,它是在SphereFace原有的基礎(chǔ)上進(jìn)行的改進(jìn)。提出了一種新的用于人臉識別的損失函數(shù):additive angular margin loss,基于該損失函數(shù)訓(xùn)練得到人臉識別算法ArcFace(開源代碼中為該算法取名為insightface,二者意思一樣,接下來都用ArcFace代替)。ArcFace的思想(additive angular margin)和SphereFace以及不久前的CosineFace(additive cosine margin)有一定的共同點(diǎn),重點(diǎn)在于:在ArcFace中是直接在角度空間(angular space)中最大化分類界限,而CosineFace是在余弦空間中最大化分類界限,這也是為什么這篇文章叫ArcFace的原因,因?yàn)閍rc含義和angular一樣。除了損失函數(shù)外,該文的作者還清洗了公開數(shù)據(jù)集MS-Celeb-1M的數(shù)據(jù),并強(qiáng)調(diào)了干凈數(shù)據(jù)對實(shí)驗(yàn)結(jié)果的影響,同時(shí)還對網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)做了優(yōu)化。
總體來說,ArcFace這篇文章做了很多實(shí)驗(yàn)來驗(yàn)證additive angular margin、網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)清洗的重要性,角度間隔比余弦間隔在對角度的影響更加直接,則與cos(mθ)和cos(θ-m)相比,ArcFace可以獲得更具辨識性的深度特征,提高了類間可分性同時(shí)加強(qiáng)了類內(nèi)緊度和類間差異。文中基于ArcFace人臉識別系統(tǒng)流程如圖1所示。
由圖1可見,該系統(tǒng)流程先利用教室內(nèi)部的攝像頭進(jìn)行視頻幀的提取,利用提取到的圖像首先進(jìn)行圖像增強(qiáng)處理,接著利用Mask R-CNN目標(biāo)檢測技術(shù)進(jìn)行初步的人體輪廓檢測,緊接著使用ArcFace人臉檢測,最后利用檢測到的人臉數(shù)據(jù)與后臺數(shù)據(jù)進(jìn)行對比,完成課堂考勤。
圖1 人臉識別系統(tǒng)流程
實(shí)驗(yàn)部分采用了文中的改進(jìn)算法與課堂考勤中常用的人臉檢測算法(Voila-Jones[30]、MTCNN[31]、Tiny-Face[32])進(jìn)行精度和速度上的差異對比。數(shù)據(jù)集使用了同一間教室的100余張圖片,且采集方式暫時(shí)為人工拍攝,并對每一張圖片內(nèi)的學(xué)生人臉和人體進(jìn)行訓(xùn)練驗(yàn)證。實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 某圖的四種算法檢測結(jié)果
基于實(shí)驗(yàn)結(jié)果得出,Tiny-Face算法的檢測結(jié)果是很好的,只是漏檢了部分面部信息被遮擋的同學(xué),其余基本都被檢測出了。而Voila-Jones和MTCNN算法的檢測結(jié)果差強(qiáng)人意,而文中算法的檢測結(jié)果由于Tiny-Face,除了極個(gè)別幾乎完全被遮擋同學(xué)未被檢測出,其他學(xué)生都被檢測到了。從該實(shí)驗(yàn)結(jié)果可以得出,文中提出的融合Mask R-CNN目標(biāo)檢測算法的方案可以起到降低漏檢率的作用。
為了評價(jià)該系統(tǒng)的可靠性,定義兩個(gè)指標(biāo)分別為平均識別率(TPR)和誤識率(FPR):
表1為文獻(xiàn)[12-13]與改進(jìn)后系統(tǒng)的TPR和FPR對比,由其可知,改進(jìn)的方法TPR得到了一定的提高,錯(cuò)誤率最小??梢缘贸觯摲桨冈诒WC降低漏檢率的同時(shí),提高了系統(tǒng)的識別準(zhǔn)確率。
表1 改進(jìn)系統(tǒng)與SphereFace系統(tǒng)和ArcFace系統(tǒng)與改進(jìn)系統(tǒng)的TPR和FPR對比
基于ArcFace框架提出了一種課堂環(huán)境下人臉識別系統(tǒng),此外分別加入了圖像增強(qiáng)技術(shù)以及Mask R-CNN目標(biāo)檢測技術(shù),輔助其在課堂環(huán)境下增加檢測的準(zhǔn)確率以及降低漏檢率。研究表明,該方法能夠有效地解決人臉漏檢的問題,為課堂環(huán)境下的人臉識別技術(shù)研究提供了一種新的方案,具有一定的實(shí)際意義,并得出以下結(jié)論:
(1)在課堂環(huán)境下,結(jié)合了圖像增強(qiáng)算法以及目標(biāo)檢測算法的方法確實(shí)比單純的ArcFace框架識別率要高,也降低了漏檢率;
(2)雖然該改進(jìn)算法確實(shí)比原算法效率好,但是系統(tǒng)在一定程度上也存在不足,比如容易引起誤識別,有時(shí)會(huì)把非人體的目標(biāo)框選進(jìn)去。
因此,在未來的研究工作中,將想方設(shè)法改進(jìn)算法,降低錯(cuò)誤的概率,并且融合學(xué)校先前已經(jīng)建設(shè)的學(xué)生宿舍人臉識別通道和門禁系統(tǒng),并具備完善的學(xué)生人臉庫數(shù)據(jù),學(xué)校的教務(wù)系統(tǒng)具備各班級的課表數(shù)據(jù)以及教室上課學(xué)生詳細(xì)名單等先行條件,給整套系統(tǒng)進(jìn)行改進(jìn)以及完善,也希望在未來的研究中能做到更好。