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