梁文龍
(湖南信息職業(yè)技術(shù)學(xué)院 湖南 長沙 410000)
隨著互聯(lián)網(wǎng)應(yīng)用的大規(guī)模普及,人臉識別技術(shù)已經(jīng)嵌入到各大主流應(yīng)用軟件,極大地方便了軟件的易用性。與指紋、虹膜等人體生物特征相比,人臉識別操作方便,而且人臉信息長期保持穩(wěn)定,更加容易采集,擁有更加廣泛的應(yīng)用場景。
人臉識別技術(shù)是計算機圖像處理與模式識別研究課題中的一個細(xì)小分支,目前,深度學(xué)習(xí)[1]已經(jīng)主導(dǎo)人工智能發(fā)展的潮流。運用深度學(xué)習(xí)中最新的卷積神經(jīng)網(wǎng)絡(luò)模型,針對復(fù)雜環(huán)境下的人臉數(shù)據(jù)測試集都取得了理想的效果,但是在不同場景下識別效果差別比較大,在某些特殊的場景下人臉識別效果表現(xiàn)不夠理想,目前重點需要關(guān)注的是以下3 種情況下的影響。
(1)外界環(huán)境影響。①光照影響,受外界自然光的強弱和拍攝設(shè)備捕獲圖像的能力大小,導(dǎo)致獲取圖像存儲在計算機內(nèi)部的RGB 值存在一定的差異,從而影響后續(xù)的圖像處理結(jié)果,進(jìn)而導(dǎo)致與實際圖像不能很好地匹配。②拍攝角度影響,拍攝設(shè)備一般采用固定位置,而人臉信息是在不同的行為中進(jìn)行采集、比對,在不同情景下采集到的人臉角度是不一樣的,對于樣本數(shù)據(jù)的豐富性提出了挑戰(zhàn)。
(2)面部動作影響。人類的面部結(jié)構(gòu)不單單是一個平面,而是一個立體結(jié)構(gòu),需要考慮面部的凹凸結(jié)構(gòu)。在不同的情感狀態(tài)表達(dá)下,如喜、怒、哀、樂,或者是與外界進(jìn)行交談時,人的面部輪廓以及五官的圖像會有一定的差異,對人臉識別算法的特征表達(dá)也會造成一定影響。
(3)面部遮擋影響。外界環(huán)境以及面部動作影響僅僅是導(dǎo)致采集到的圖像與標(biāo)準(zhǔn)圖像之間產(chǎn)生差異,而面部遮擋則是會直接減少人臉信息的獲取。對于遮擋部位較大的情況,如口罩遮擋口鼻以下人臉信息,所獲得的人臉信息量減少了50%,大大增加人臉識別的難度。在日常生活中,人們佩戴的飾品也會產(chǎn)生一定的遮擋,這是本文需要重點優(yōu)化的方向。
在傳統(tǒng)的人臉識別系統(tǒng)中,主要關(guān)注以下5 部分功能:人臉檢測、圖像預(yù)處理、人臉特征點定位、人臉特征點提取和特征對比識別,系統(tǒng)結(jié)構(gòu)見圖1。
人臉檢測是目標(biāo)檢測[2]課題下的具體場景應(yīng)用,在圖像中自動劃定待檢測區(qū)域,對每一個待檢測區(qū)域進(jìn)行識別是否存在人臉,若存在,則將人臉信息標(biāo)注出來。人臉識別的基礎(chǔ)依賴于人臉檢測,考慮到人臉信息具有復(fù)雜多樣性的特點,我們的算法也需要考慮到不同光照、有遮擋、年齡增長造成的各種影響。當(dāng)深度學(xué)習(xí)算法成為了主流算法之后,基于卷積神經(jīng)網(wǎng)絡(luò)[3]用作人臉識別效果表現(xiàn)優(yōu)異。
圖像預(yù)處理是考慮到外界采集的圖像復(fù)雜多樣,為了保證計算機的識別速度,在保留原圖像主要信息的情況下,消除部分不會對識別主體產(chǎn)生影響的信息,增強該識別主體的信息特征。常用的圖像處理方法有灰度化處理、直方圖均衡化和中值濾波3 類方法,都是基于數(shù)字圖像處理的方法。
人臉特征點定位的目的是在確定了人臉大致輪廓的基礎(chǔ)上,進(jìn)一步確定人臉的局部特征點(如眼鏡、眉毛、鼻子、嘴巴、臉部外輪廓)的位置。人臉定位算法的基本思路是:實際人臉的各個特征點構(gòu)成的相關(guān)位置關(guān)系與標(biāo)準(zhǔn)模板人臉模型進(jìn)行比對。
人臉特征點提取也就是將輸入的人臉圖像轉(zhuǎn)換成一個向量的表示。具體來說:如果一個圖像是256 色的,那么圖像的每一個像素點,都是0 到255 中間的一個值,這樣可以把一張圖像轉(zhuǎn)換成一個矩陣。用一個相對較小的矩陣按照一定的規(guī)則依次從大矩陣內(nèi)進(jìn)行掃描,統(tǒng)計每次掃描過程中小矩陣內(nèi)RGB 數(shù)據(jù)進(jìn)行處理后的值,再根據(jù)最后的結(jié)果來表達(dá)這個區(qū)域的特征值。
在進(jìn)行比對時,需要對包含臉部的所有可能檢測窗口進(jìn)行窮舉搜索,得到關(guān)鍵部位信息,并進(jìn)行存儲或比對,這個過程相對比較耗時。在比對過程中,可以使用各個部位進(jìn)行相似性比對,并進(jìn)行結(jié)果合并;或者直接對包含各個部件的全局特征進(jìn)行比對,直接輸出比對結(jié)果。
在日常的圖像拍攝過程中,人臉與設(shè)備的遠(yuǎn)近以及不同的角度和遮擋物對于人臉識別的精度都會產(chǎn)生影響。當(dāng)人臉口鼻以下部位被口罩所遮擋時,人臉識別算法的精度會大幅度下降。為了提升人臉識別精度,本文改進(jìn)了一種卷積神經(jīng)網(wǎng)絡(luò)用于人臉識別,主要是注意力機制與卷積神經(jīng)網(wǎng)絡(luò)有效地結(jié)合,將目標(biāo)識別的重點集中在口鼻以上區(qū)域,降低對其他部分區(qū)域的依賴,有效地提高人臉識別準(zhǔn)確率。
為了提升卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,常用的方法是增加卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)、增大網(wǎng)絡(luò)的寬度和擴大感受野的范圍。從網(wǎng)絡(luò)的層數(shù)這個方面進(jìn)行改進(jìn),最初的手寫數(shù)字識別采用的是7 層網(wǎng)絡(luò)結(jié)構(gòu)的LeNet-5,再到目標(biāo)檢測中常用的16 層網(wǎng)絡(luò)VGGNet[4]和32 層網(wǎng)絡(luò)VGGNet。網(wǎng)絡(luò)在層數(shù)的上增加在理論上可以不斷地獲取高維度的特征以獲得更加明顯的特征,但是考慮到大多數(shù)計算機設(shè)備性能,較多層數(shù)的網(wǎng)絡(luò)結(jié)構(gòu)不利于計算設(shè)備的適配,尤其在當(dāng)前GPU 資源非常稀缺的情況下。在后續(xù)算法改進(jìn)中提出了ResNet-50 和ResNet-101,是將局部的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行循環(huán)嵌套從而達(dá)到增加層數(shù)的目的,達(dá)到接近于傳統(tǒng)的50 層和101 層卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。對于這種以新結(jié)構(gòu)的方式來優(yōu)化較深的網(wǎng)絡(luò)層數(shù),就是將相鄰兩層的輸入、輸出與激活函數(shù)進(jìn)行不同的靈活的復(fù)合以獲取更多的特征。在增加網(wǎng)絡(luò)寬度方面,通過增加特征圖通道數(shù),以便卷積核可以獲得更豐富的特征。
人臉檢測是在目標(biāo)檢測的基礎(chǔ)上,對于框定的目標(biāo)進(jìn)行類別比對,如果判定目標(biāo)框里中存在人臉,則將該目標(biāo)框的位置和尺寸進(jìn)行計算。在傳統(tǒng)的目標(biāo)檢測算法中,一般使用滑動窗口在圖像中選出一些候選識別區(qū)域,再根據(jù)框定的區(qū)域進(jìn)行判斷該區(qū)域內(nèi)是否存在人臉。這個方法的缺陷在于要事先需要準(zhǔn)備好不同尺寸的候選框以針對可能出現(xiàn)不同尺寸的人臉信息,計算量十分復(fù)雜,對于計算機的性能提出了更高的要求。MTCNN[5]采用了類似于候選框的思路,考慮到計算機的實際處理能力,并且為了提升訓(xùn)練后模型的性能,用簡單的模型生成有概率是目標(biāo)區(qū)域的候選框,再使用復(fù)雜的模型確定目標(biāo)區(qū)域框,并利用邊界框回歸,以便獲得更為精準(zhǔn)的人臉位置。MTCNN 采用的3個級聯(lián)網(wǎng)絡(luò)框架見圖2。
2.3.1 通道注意力模塊
為了保證特征圖盡量最小化且保持可用性,使用平均池化(Average Pooling)和最大池化(Max Pooling)[6]兩種操作得到了兩個1*1*c 的特征向量,然后將該特征向量送入一個兩層的網(wǎng)絡(luò)結(jié)構(gòu)中,將處理后得到的兩個特征向量相加,通過Sigmoid 激活函數(shù)得到了一個權(quán)重系數(shù),相關(guān)計算公式如下。
2.3.2 全局注意力模塊
全局注意力模塊提取的是整個圖像的信息,對提取的位置特征進(jìn)行加權(quán)處理分析,見圖3。
本文提出的改進(jìn)算法,依照MobileNetV2 網(wǎng)絡(luò)的結(jié)構(gòu),結(jié)合多注意力機制的思想并命名為ImproveFaceNet,該網(wǎng)絡(luò)整體框架見圖4。
如圖4 所示,經(jīng)過預(yù)處理的圖片尺寸為256*256*3,采用了3*3,步長為2 的卷積核提取特征。根據(jù)得到的特征圖分別作為3 個不同注意力模塊的輸入,最后再進(jìn)行特征提取,使用深度可分離卷積層可以保留大多數(shù)的特征。
ImproveFaceNet 能夠?qū)⒆R別區(qū)域放置在口鼻以上部分,與目前主流的 FaceNet[7]、SphereFace[8]、CosFace[9]、Arc Face[10]、MobileFaceNet[11]等5 個人臉識別算法中進(jìn)行對比測試。這些算法所使用的損失函數(shù)各有不同,其中本文采用的 Arc Face 損失函數(shù)表現(xiàn)最優(yōu)。在本課題的實驗部分,采取人臉識別準(zhǔn)確率指標(biāo)檢驗識別效果,該指標(biāo)等于識別正確的樣本數(shù)占樣本總數(shù)的比值,實驗結(jié)果見表1。
表1 人臉識別在口罩遮擋數(shù)據(jù)實驗結(jié)果
如表1 對比實驗結(jié)果所示,現(xiàn)有人臉識別準(zhǔn)確率在無遮擋條件下已經(jīng)取得了非常優(yōu)異的成績,尤其是 Arc Face 算法,其準(zhǔn)確率達(dá)到了99.83%。但是從本文的研究目標(biāo)出發(fā),在口罩遮擋的情況下,當(dāng)前所有人臉識別算法的性能全部受到嚴(yán)重的干擾,識別準(zhǔn)確率都有不同程度的下降。本文提出的ImproveFaceNet 在人臉識別數(shù)據(jù)集LFW 上取得了99.91%的準(zhǔn)確率,在有人臉遮擋的情況下Mask-LFW 上也取得了95.62%的準(zhǔn)備率。相較于其他識別算法在有口罩遮擋后識別準(zhǔn)確率下降了10%左右,ImproveFaceNet 的識別準(zhǔn)確率只下降了4%,識別效果下降幅度最小,取得了非常優(yōu)異的成績。
本文將注意力機制與卷積神經(jīng)網(wǎng)絡(luò)有效地結(jié)合,將目標(biāo)識別的重點集中在口鼻以上區(qū)域,降低了對人臉其他部位的依賴程度,有效地提升了在人臉有遮擋情況的識別效果。在算法的實際應(yīng)用中,還需要結(jié)合設(shè)備的實際性能與外界環(huán)境做進(jìn)一步的優(yōu)化,需要著重考慮通用設(shè)備的可移植性,以爭取大規(guī)模地進(jìn)行部署人臉識別算法用來在當(dāng)前復(fù)雜環(huán)境下提升人臉識別效率,這也是本課題的下一個研究方向。