方仕健
(廣東理工學(xué)院,廣東 肇慶 526100)
人臉識(shí)別是一種基于計(jì)算機(jī)視覺和模式識(shí)別的技術(shù),通過攝像頭、監(jiān)視器、手機(jī)攝像頭等設(shè)備采集面部信息,被廣泛應(yīng)用于各個(gè)領(lǐng)域,比如在信息安全領(lǐng)域用于門禁系統(tǒng),在交通領(lǐng)域的高速公路車輛識(shí)別,在支付領(lǐng)域的刷臉支付,在娛樂領(lǐng)域的人臉表情識(shí)別游戲和AI換臉。此外,人臉識(shí)別可應(yīng)用在醫(yī)療服務(wù)、教育、家具自動(dòng)化與智能化等多個(gè)方面。在人臉圖像采集過程中,光照強(qiáng)度、身體姿態(tài)與面部表情都會(huì)影響采集圖像的質(zhì)量,所以將采集到的人臉圖像進(jìn)行人臉檢測(cè)、人臉對(duì)齊、質(zhì)量評(píng)估等預(yù)處理可以提高檢測(cè)質(zhì)量,提高后續(xù)處理的準(zhǔn)確性和穩(wěn)定性,經(jīng)過預(yù)處理后的圖像作為輸入數(shù)據(jù),進(jìn)行特征提取,通過比對(duì)人臉圖像來對(duì)個(gè)體進(jìn)行身份認(rèn)證。人工智能和深度學(xué)習(xí)推動(dòng)人臉識(shí)別技術(shù)的發(fā)展,使人臉識(shí)別的識(shí)別結(jié)果準(zhǔn)確率、識(shí)別速度和魯棒性等指標(biāo)更優(yōu)化。
20世紀(jì)末期出現(xiàn)了人臉識(shí)別的經(jīng)典算法Fisherface和Eigenface,這個(gè)時(shí)期的研究為后期人臉識(shí)別奠定了基礎(chǔ)。20世紀(jì)末21世紀(jì)初,研究者開始對(duì)非理想環(huán)境下的人臉數(shù)據(jù)進(jìn)行相關(guān)實(shí)驗(yàn),出現(xiàn)分類器與特征提取的融合方法,這個(gè)時(shí)期的經(jīng)典算法有SVM、 Sift 特征法、Gabor特征等。直至當(dāng)前,研究者開始不斷結(jié)合神經(jīng)網(wǎng)絡(luò)的相關(guān)算法進(jìn)行研究,比如,李溪等[1]結(jié)合Gabor小波與分區(qū)選擇提出一種遮擋人臉識(shí)別方法,Hou等[2]提出非監(jiān)督的人臉圖像旋轉(zhuǎn)與渲染算法,張延生等[3]對(duì)人臉識(shí)別的復(fù)雜環(huán)境進(jìn)行研究,Wei等[4]提出光照不一致情況下人臉正面化特征學(xué)習(xí)方法,張榮榮等[5]提出基于DNN模型人臉識(shí)別去噪算法,周稻祥等[6]結(jié)合Gabor濾波器與核池化提出單樣本人臉識(shí)別算法,Deng等[7]提出大規(guī)模噪聲網(wǎng)頁面增強(qiáng)人臉識(shí)別精確度算法,錢澤凱等[8]根據(jù)MAE人臉隱私保護(hù)原理實(shí)現(xiàn)身份認(rèn)證系統(tǒng),Yang等[9]提出從單個(gè)圖像中進(jìn)行頭部姿態(tài)估計(jì)的學(xué)習(xí)細(xì)粒度結(jié)構(gòu)聚合算法,王志波等[10]對(duì)計(jì)算機(jī)視覺的相關(guān)技術(shù)與理論進(jìn)行陳述,Deng等[11]提出深度人臉識(shí)別的加性角邊緣損失算法,Li等[12]提出多偏航多俯仰高質(zhì)量人臉姿態(tài)分析算法。
如今,人臉識(shí)別相關(guān)應(yīng)用與用戶數(shù)量都在不斷提升,如何精準(zhǔn)提取人臉成為眾多研究者共同努力的方向,然而現(xiàn)實(shí)生活中人臉識(shí)別會(huì)受到各種各樣的因素干擾,諸如多變的天氣、光照的強(qiáng)弱等,導(dǎo)致識(shí)別效果沒有達(dá)到完全理想的狀態(tài),也存在很多急需解決的問題,比如因外界遮擋導(dǎo)致人臉不全,因?yàn)橄袼靥蛯?dǎo)致圖像模糊以及人種與人種之間的差異。為了解決這個(gè)問題,本文結(jié)合現(xiàn)有的理論對(duì)人臉識(shí)別進(jìn)行研究,提出多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)算法在人臉識(shí)別中的改進(jìn)算法。本文主要有以下貢獻(xiàn):(1)改進(jìn)多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)算法(Change Multi-task Convolutional Neural Network);(2)算法加入小波變換去除原始圖像的噪聲,并加入自適應(yīng)閾值調(diào)整來降低失真度;(3)對(duì)候選框的保留進(jìn)行自適應(yīng)調(diào)整,不再直接刪除大于指定閾值的候選框;(4)采用WiderFace數(shù)據(jù)集進(jìn)行模擬來檢測(cè)算法性能。
多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)是一種在圖像識(shí)別和計(jì)算機(jī)視覺領(lǐng)域廣泛應(yīng)用的深度學(xué)習(xí)模型。該模型主要有輸入層、卷積層、池化層、全連接層、輸出層5個(gè)部分構(gòu)成。輸入層是神經(jīng)網(wǎng)絡(luò)的第一層,接受原始數(shù)據(jù)作為輸入,主要功能是將輸入數(shù)據(jù)轉(zhuǎn)換成神經(jīng)網(wǎng)絡(luò)可以處理的格式,通常是一個(gè)向量,對(duì)于圖像數(shù)據(jù),輸入層可能將每個(gè)像素點(diǎn)的數(shù)值作為一個(gè)輸入節(jié)點(diǎn),通過輸入層,神經(jīng)網(wǎng)絡(luò)能夠接收并處理各種類型的數(shù)據(jù)。卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心組件,每個(gè)卷積層包含多個(gè)卷積核,每個(gè)卷積核都會(huì)對(duì)輸入數(shù)據(jù)進(jìn)行卷積操作,并生成一張?zhí)卣鲌D(Feature Map),卷積核可以捕捉輸入數(shù)據(jù)的局部空間關(guān)系,識(shí)別邊緣、紋理等低級(jí)特征,不同的卷積核可以提取不同的特征,在卷積層中,每個(gè)特征圖都是由上一層的輸入數(shù)據(jù)與卷積核進(jìn)行卷積操作得到的。池化層用于減小特征圖的尺寸,并保留重要的特征。最常用的池化操作是平均池化和最大池化。平均池化和最大池化分別在輸入數(shù)據(jù)的局部區(qū)域內(nèi)取平均值和最大值,生成下一層的特征圖,池化操作可以減少數(shù)據(jù)的維度,降低計(jì)算量,并對(duì)輸入數(shù)據(jù)的平移不變性提供一定程度的保證。卷積神經(jīng)網(wǎng)絡(luò)通常在卷積層之后加上全連接層,全連接層將前一層的特征圖展平成一維向量,并連接到輸出層的每個(gè)神經(jīng)元上,全連接層對(duì)在整合卷積層提取的特征,進(jìn)行分類或回歸任務(wù)。輸出層是神經(jīng)網(wǎng)絡(luò)的最后一層,用于產(chǎn)生網(wǎng)絡(luò)的最終輸出結(jié)果,對(duì)于分類問題,輸出層通常使用softmax函數(shù)將神經(jīng)網(wǎng)絡(luò)的輸出轉(zhuǎn)化為類別概率分布,每個(gè)輸出節(jié)點(diǎn)對(duì)應(yīng)一個(gè)類別,并輸出該類別的概率,對(duì)于回歸問題,輸出層可以是一個(gè)或多個(gè)節(jié)點(diǎn),直接輸出預(yù)測(cè)的數(shù)值結(jié)果。輸出層的計(jì)算和輸出結(jié)果與網(wǎng)絡(luò)的目標(biāo)函數(shù)緊密相關(guān),通過優(yōu)化目標(biāo)函數(shù),神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)并提供準(zhǔn)確的輸出結(jié)果。
小波變換是一種在時(shí)域和頻域上進(jìn)行信號(hào)分析的數(shù)學(xué)工具,采用不同尺度不同位置的小波函數(shù)進(jìn)行變換,可以對(duì)信號(hào)進(jìn)行多尺度分解,能夠呈現(xiàn)信號(hào)的局部特征與整體特征,適應(yīng)多種頻段的信號(hào)特征,比傅里葉變換更好捕獲信號(hào)的瞬時(shí)特性。對(duì)信號(hào)進(jìn)行小波變換可以從不同頻域分解原始信號(hào),提供時(shí)域信息和頻率信息,分解出的小波函數(shù)在時(shí)域和頻域上都具有局部性質(zhì),可應(yīng)用于研究非平穩(wěn)信號(hào)的頻譜變化規(guī)律。小波去噪首先逐層分解原始圖像,設(shè)置一個(gè)閾值來過濾分辨率,保留大于閾值的系數(shù),將小于指定閾值的設(shè)置為 0,最后用小波逆變換對(duì)圖片進(jìn)行重組復(fù)原,經(jīng)過重組復(fù)原的圖像已經(jīng)去除了噪聲。去噪過程中小波變換系數(shù)至關(guān)重要,小波變換系數(shù)常用的方法有軟閾值和硬閾值。硬閾值函數(shù)進(jìn)行去噪會(huì)產(chǎn)生間斷點(diǎn),但可以提高信噪比的峰值,而軟閾值函數(shù)去噪能讓結(jié)果更加平滑,但會(huì)導(dǎo)致圖像失真。為了在去噪的同時(shí)降低由信號(hào)差引起的失真,對(duì)閾值函數(shù)進(jìn)行改進(jìn)。本文結(jié)合軟硬閾值的優(yōu)點(diǎn)做出相應(yīng)的閾值改進(jìn),如公式(1)所示。
(1)
根據(jù)誤差傳播規(guī)律可知,恒定閾值θ會(huì)導(dǎo)致圖像更大的失真,檢測(cè)模型不理想??紤]到小波分解層數(shù)越多,原始圖像與剩余小波系數(shù)之間有更高的相關(guān)性,因此,分解層數(shù)增加的過程中閾值應(yīng)該不斷減小,計(jì)算方式如公式(2)所示。根據(jù)公式(1)和公式(2)得出小波去噪的算法1。
(2)
算法 11:輸入:噪音圖像2:c向量←用小波函數(shù)逐層分解3:for i=1 to n in c then4: 提取第i層各高頻系數(shù)5: 根據(jù)公式1,2對(duì)高頻系數(shù)進(jìn)行閾值處理6: 用小波逆變換進(jìn)行對(duì)圖片進(jìn)行重組復(fù)原7:end8:輸出:重構(gòu)圖
多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)的核心主要有P-Net、R-Net、O-Net 3部分組成。P-Net 是一種能夠獲取邊界回歸向量和候選窗的全連接網(wǎng)絡(luò),邊界回歸向量能夠?qū)吙蜻M(jìn)行校正并調(diào)整候選窗口。輸入三通道,12×12 px像素大小的圖像,然后對(duì)輸入圖像進(jìn)行檢測(cè)。掃描圖像中每個(gè)區(qū)域確定人臉大概位置,根據(jù)掃描結(jié)果選出人臉候選框,得到所有區(qū)域的人臉標(biāo)記候選框,對(duì)同一個(gè)區(qū)域的多個(gè)候選框去重。輸入圖像經(jīng)過多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)處理后會(huì)得到3部分的數(shù)據(jù)信息,一是候選框能夠確定框中人臉的概率,概率越大,識(shí)別得越準(zhǔn)確;二是精確記錄輸出窗口所在位置;三是標(biāo)定人臉的基本特征,比如眼睛、鼻子、嘴角等面部特征的位置。P-Net 處理過程如圖1所示。
圖1 P-Net 處理過程
圖片經(jīng)過P-Net處理后傳到R-Net網(wǎng)中,進(jìn)一步訓(xùn)練檢測(cè),用回歸向量對(duì)圖像中的人臉侯選窗進(jìn)行小幅度調(diào)整。將人臉重新設(shè)置為24×24 px,再傳入R-Net中訓(xùn)練檢測(cè),利用NMS和邊框回歸向量去除重復(fù)框。R-Net處理過程如圖2所示。
圖2 R-Net處理過程
O-Net比R-Net多一層卷積層,因?yàn)檫@一層卷積層使得 O-Net對(duì)數(shù)據(jù)的處理更精細(xì)。為避免對(duì)R-Net 的誤判,O-Net首先將R-Net處理后的人臉窗口重新設(shè)置為48×48 px 再傳入 O-Net ,由于O-Net結(jié)構(gòu)比P-Net、R-Net更加復(fù)雜,處理過程更加精細(xì),所以處理結(jié)果也是最好的,O-Net 還會(huì)對(duì)眼睛、鼻子、左右嘴角等人臉特征點(diǎn)進(jìn)行檢測(cè),最終確定人臉特征點(diǎn)并找出最優(yōu)人臉框,O-Net 網(wǎng)如圖3所示。根據(jù)神經(jīng)網(wǎng)絡(luò)算法改進(jìn)的核心算法流程,本文得到算法2。
圖3 O-Net 網(wǎng)
算法 21:輸入:重構(gòu)圖2:調(diào)整圖片的寬和高3:調(diào)整后的圖片傳入 P-net4:用 3×3的卷積核進(jìn)行卷積運(yùn)算5:調(diào)用算法3調(diào)整人臉窗口6:調(diào)整圖片傳入R net7:調(diào)用算法3調(diào)整人臉窗口8:調(diào)整圖片傳入O net9:調(diào)用算法3調(diào)整人臉窗口10:輸出人臉
傳統(tǒng)的NMS算法在未經(jīng)處理的情況下直接刪除大于指定閾值的候選框從而可能引起候選框信息的缺失,進(jìn)而導(dǎo)致因數(shù)據(jù)丟失而造成模型學(xué)習(xí)不充分,學(xué)習(xí)效果不夠理想。為了避免直接刪除候選框引起的數(shù)據(jù)缺失,本文對(duì) NMS 算法進(jìn)行簡(jiǎn)單改進(jìn),首先判斷IoU是否大于指定閾值,如果大于指定閾值則將其置信度降低,降低置信度后重新篩選,提高 R-Net 候選框的精度,具體如公式(3)所示。算法3為候選框篩選算法。
si=
(3)
其中:B為候選框集合;u為閾值;Mscore為置信度打分最高的候選框;si為回歸框;boxi為候選框。
算法 3輸入:預(yù)測(cè)框集合B={box1, box2, box3,…, boxn}1. Mscore←max(boxi) i屬于1-n;2. 將M從B中刪除3. 將M添加到新集合D中4. For j=1 to n-1 then5. loUj=loU(boxj, Mscore)6. 根據(jù)公式3更sj7. If(loUj>u)then8. 刪除boxj9. End if10. End for輸出:boxk
本文采用WiderFace數(shù)據(jù)集進(jìn)行模擬實(shí)驗(yàn),該數(shù)據(jù)集收集32 203 張圖、40 741 個(gè)人臉,這些人臉實(shí)例分布場(chǎng)景廣泛,包括室內(nèi)室外、 不同光照強(qiáng)度、不同天氣條件、不同的人臉姿態(tài)和拍攝角度等。由于使用場(chǎng)景復(fù)雜多樣,給識(shí)別任務(wù)增加了難度,使WiderFace數(shù)據(jù)集的模擬實(shí)驗(yàn)很具挑戰(zhàn)性。該數(shù)據(jù)集也因此被應(yīng)用于人臉識(shí)別、自動(dòng)駕駛、視頻監(jiān)控等領(lǐng)域。
參數(shù)配置:學(xué)習(xí)率初值0.01,權(quán)重衰減系數(shù)0.000 5,批量大小8,迭代次數(shù)100,CPU i7,python 3.7,GPU Tesla V100,內(nèi)存8GB。
本文用4個(gè)指標(biāo)評(píng)估人臉識(shí)別的可靠性,這4個(gè)指標(biāo)分別是準(zhǔn)確率、精確率、召回率、F1值。在介紹這4個(gè)指標(biāo)之前先介紹預(yù)測(cè)值與真實(shí)值之間的關(guān)系,TP表示真實(shí)值為真的情況下預(yù)測(cè)值也為真,TN表示真實(shí)值為假的情況下預(yù)測(cè)值也為假,FN表示真實(shí)值為假的情況下預(yù)測(cè)值為真,FP表示真實(shí)值為真的情況下預(yù)測(cè)值為假。
(1)準(zhǔn)確率衡量的是真實(shí)樣本能夠被正確分類的比例,公式(4)為準(zhǔn)確率的定義。
(4)
(2)精確率衡量的是真實(shí)值被正確分類與預(yù)測(cè)為真的比例,定義為公式(5)。
(5)
(3)召回率為所有真實(shí)值能夠被正確預(yù)測(cè)的概率,定義為公式(6)。
(6)
(4)F1值為理想狀態(tài)下應(yīng)該追求高精確率和高召回率,但是兩者相互影響、相互制約。精確率高可能會(huì)導(dǎo)致召回率低,反之亦然。這時(shí)引入F1值來進(jìn)行綜合考慮,F1值定義為公式(7)。
(7)
為驗(yàn)證CMTCNN算法的有效性,本文用數(shù)據(jù)集WiderFace進(jìn)行檢測(cè),并對(duì)檢測(cè)效率進(jìn)行分析。先進(jìn)行不同閾值u的CMTCNN與MTCNN的對(duì)比實(shí)驗(yàn),然后對(duì)軟硬閾值與混合閾值進(jìn)行對(duì)比實(shí)驗(yàn)。
(1)MTCNN 與 CMTCNN 對(duì)比實(shí)驗(yàn)。
取WiderFace 數(shù)據(jù)集里面的5 000張照片,將檢測(cè)率、響應(yīng)時(shí)間作為指標(biāo)對(duì)MTCNN 與 CMTCNN進(jìn)行對(duì)比實(shí)驗(yàn),u的值分別為0.40、0.45、0.50,對(duì)比實(shí)驗(yàn)的檢測(cè)成功率如表格1—3所示。其中檢測(cè)成功數(shù)的單位為張。
表1 IoU>0.40模型對(duì)比實(shí)驗(yàn)測(cè)試
表2 IoU>0.45模型對(duì)比實(shí)驗(yàn)測(cè)試
表3 IoU>0.50模型對(duì)比實(shí)驗(yàn)測(cè)試
(2)原始閾值函數(shù)與混合閾值函數(shù)實(shí)驗(yàn)對(duì)比分析。
為驗(yàn)證混合閾值函數(shù)對(duì)于人臉檢測(cè)算法的影響,實(shí)驗(yàn)首先用 Symlet 小波基函數(shù)對(duì)信號(hào)進(jìn)行小波分解,再結(jié)合混合閾值函數(shù)進(jìn)行處理,然后利用 wrcoef 函數(shù)對(duì)高頻信號(hào)進(jìn)行重構(gòu),獲得重構(gòu)圖像,傳入CMTCNN 模型進(jìn)行訓(xùn)練檢測(cè),對(duì)比混合函數(shù)、軟閾值函數(shù)、硬閾值函數(shù)重構(gòu)后的圖像對(duì)CMTCNN模型檢測(cè)的提升效果,檢測(cè)效果如表4所示。
表4 不同閾值函數(shù)CMTCNN 檢測(cè)對(duì)比實(shí)驗(yàn)
本文介紹人臉識(shí)別與卷據(jù)神經(jīng)網(wǎng)絡(luò)的相關(guān)原理,及相關(guān)的研究現(xiàn)狀,對(duì)多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)算法進(jìn)行改進(jìn),提出改進(jìn)后的多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)算法,加入小波變換去除原始圖像的噪聲,加入自適應(yīng)閾值調(diào)整降低失真度,采用WiderFace數(shù)據(jù)集進(jìn)行模擬來檢測(cè)算法性能,實(shí)驗(yàn)結(jié)果證明算法良好。
由于硬件條件不允許,本文還未進(jìn)行大規(guī)模數(shù)據(jù)集訓(xùn)練模型的相關(guān)模擬實(shí)驗(yàn),未來計(jì)算機(jī)技術(shù)與人臉識(shí)別將有更大發(fā)展,可以嘗試加大數(shù)據(jù)量,加深網(wǎng)絡(luò)層級(jí)以進(jìn)一步改進(jìn)模型。人臉識(shí)別技術(shù)仍面臨各種各樣的挑戰(zhàn),如光照強(qiáng)度不一、人臉姿態(tài)多變等,使現(xiàn)有模型的檢測(cè)能力還需要提高,對(duì)多樣性人群的有效識(shí)別仍然存在一定難度。