方濤,陳志國,傅毅,2
(1. 江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122; 2. 無錫環(huán)境科學(xué)與工程研究中心,江蘇 無錫 214153)
人臉識別一直以來都是計算機視覺方向與模式識別領(lǐng)域的研究熱點,作為生物特征識別技術(shù)一個重要的研究方向,人臉識別技術(shù)因其很高的商業(yè)價值和極為廣闊的應(yīng)用前景而進行了大力的發(fā)展。人臉識別已經(jīng)融入到了生活中的方方面面,諸如視覺監(jiān)控、自動身份驗證、銀行安全、門禁安全等專業(yè)領(lǐng)域。計算機硬件技術(shù)的快速發(fā)展為計算機視覺、機器學(xué)習(xí)等領(lǐng)域的發(fā)展提供了堅實的基礎(chǔ)支撐,也為深度學(xué)習(xí)的進步與流行提供了基礎(chǔ)。深度學(xué)習(xí)是包含多級非線性變換連接的機器學(xué)習(xí)方法,受啟發(fā)于動物視覺皮層組織,模擬生物神經(jīng)元間的連接模式[1]。隨著深度學(xué)習(xí)模型不斷發(fā)展成熟,由于其優(yōu)越的性能,人們開始神經(jīng)網(wǎng)絡(luò)應(yīng)用人臉識別領(lǐng)域,主要是利用神經(jīng)網(wǎng)絡(luò)進行特征提取再利用不同分類器進行識別[2-5],或者直接利用神經(jīng)網(wǎng)絡(luò)進行識別[6-7]。
卷積神經(jīng)網(wǎng)絡(luò)是其中一種經(jīng)典而廣泛應(yīng)用的結(jié)構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)具有局部連接、權(quán)值共享及池化操作等特性,可以有效地降低網(wǎng)絡(luò)的復(fù)雜度,減少訓(xùn)練參數(shù)的數(shù)目,使模型保持一定的不變性,并具有強魯棒性和容錯能力,且也易于訓(xùn)練和優(yōu)化?;谶@些優(yōu)越的特性,它在各種信號和信息處理任務(wù)中的性能優(yōu)于標(biāo)準(zhǔn)的全連接神經(jīng)網(wǎng)絡(luò)[1]。Taigman等提出了DeepFace[8],使用CNN代替了傳統(tǒng)的手工特征提取方式來提取人臉特征,奠定了基于深度學(xué)習(xí)的人臉識別方法的基礎(chǔ)。Google的團隊提出了FaceNet[5],商湯科技的視覺團隊提出了DeepID[9]系列人臉方法,通過卷積神經(jīng)網(wǎng)絡(luò)提取合適的人臉特征。還有一些重要工作是從人臉識別的損失函數(shù)方面突破,添加約束促進不同類特征之間的分離性,目的是獲得判別性較高的人臉特征,提高人臉識別的準(zhǔn)確率。
為了解釋卷積神經(jīng)網(wǎng)絡(luò)提取到的特征,一些研究提取卷積層進行可視化,發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)低層學(xué)習(xí)到的主要是紋理特征,高層學(xué)習(xí)到的主要是語義特征[10],為了充分利用網(wǎng)絡(luò)提取到的低層紋理特征和高層語義特征信息,以及兩者之間的互補性,可以對多層特征進行融合得到更適合用于人臉識別的特征,以提高人臉識別的精度。信息融合一般分為數(shù)據(jù)級整合、特征級融合和決策級融合3個層面,數(shù)據(jù)級融合是最低層次的融合,直接對原始數(shù)據(jù)進行融合;特征級融合是一種中間層次的信息融合,對原始數(shù)據(jù)提取特征后進行分析與融合;決策級融合是一種更高層次的融合,對各個數(shù)據(jù)或特征進行分類或識別后的結(jié)果進行分析與融合。
為了能夠得到更好的人臉特征,提高人臉識別準(zhǔn)確率,本文在已有的經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上進行改進,融合上下層信息并提取作為多層特征,基于特征級融合與決策級融合的融合方式進行信息融合。本文構(gòu)建適合于多層特征提取的網(wǎng)絡(luò)模型,研究加權(quán)融合方式,通過定義中心變量后,計算自適應(yīng)權(quán)重,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方式學(xué)習(xí)中心變量,通過訓(xùn)練學(xué)習(xí)到的中心變量計算加權(quán)融合相似度,進一步提高識別率。
卷積神經(jīng)網(wǎng)絡(luò)的相關(guān)研究最早是在1962年,生物學(xué)家Hubel和Wiesel通過對貓腦視覺皮層的研究,發(fā)現(xiàn)了“感受野”和視覺皮層中的細(xì)胞的層級結(jié)構(gòu)。1980年,F(xiàn)ukushima在此基礎(chǔ)上根據(jù)層級模型提出了結(jié)構(gòu)與之類似的神經(jīng)認(rèn)知機(neocognitron),之后才逐漸發(fā)展成現(xiàn)在的卷積神經(jīng)網(wǎng)絡(luò)。LeCun等基于Fukushima的研究工作使用BP算法設(shè)計并訓(xùn)練了奠定了卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)經(jīng)典模型LeNet-5,后續(xù)有許多工作都是基于此模型進行改進[1],圖1為LetNet-5模型結(jié)構(gòu)圖。
圖 1 LeNet-5結(jié)構(gòu)Fig. 1 Structure of LeNet-5
如圖1所示,卷積神經(jīng)網(wǎng)絡(luò)是一種非全連接的多層神經(jīng)網(wǎng)絡(luò),一般由卷積層、下采樣層和全連接層組成,原始圖像首先通過卷積層與濾波器進行卷積,得到若干特征圖,然后通過下采樣層對特征進行模糊,卷積神經(jīng)網(wǎng)絡(luò)的隱藏層是由卷積層和下采樣層交替組成,最后通過一個全連接層或者全局平均池化輸出一組特征向量,用于分類器分類識別。
神經(jīng)網(wǎng)絡(luò)具有低層紋理特征和高層語義特征的差異,為了更好地提取多層特征,對已有的經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)做出改進。下采樣層能整合特征,保持不變性,是為了特征更好表達,因此在下采樣層的前一層位置進行改進。
不同層次的特征旨在編碼不同層次的信息,進行上下層特征融合后,不同層次的特征相互補充,有時互補,能夠獲取更多的所需的信息,能夠更充分的表達特征,從而有更好的效果。
網(wǎng)絡(luò)結(jié)構(gòu)選擇ResNet來改進,圖2為使用的ResNet網(wǎng)絡(luò)結(jié)構(gòu),圖3為Resblock結(jié)構(gòu),圖4是改進后的網(wǎng)絡(luò)結(jié)構(gòu),在盡量不增大網(wǎng)絡(luò)規(guī)模的前提下,將Resblock之間的卷積層拆成不同大小卷積核,將上層特征送入下層并通過不同大小卷積核后進行融合,融合后的特征再次送入下層,然后將所有拼接后的特征以及最后一層輸出的特征作為要提取的多層特征,進行下一步的操作。
圖 2 ResNet網(wǎng)絡(luò)結(jié)構(gòu)Fig. 2 Structure of ResNet
圖 3 Resblock結(jié)構(gòu)Fig. 3 Structure of Resblock
特征融合是為了將不同類型的特征進行整合,實現(xiàn)去冗余,從而得到有利于分析處理的特征,在神經(jīng)網(wǎng)絡(luò)中直觀的融合方式一般分為add和concatenate兩種,add方式是特征圖相加,使得描述圖像的特征下的信息量增多了,但是描述圖像的維度本身并沒有增加,只是每一維下的信息量在增加,這顯然是對最終的圖像分類是有益的。而concatenate是通道數(shù)的合并,也就是說描述圖像本身的特征增加了,而每一特征下的信息是沒有增加。網(wǎng)絡(luò)中的多層信息的直接拼接并不能更好地利用特征之間的互補性,所以考慮將特征映射到多個子空間進行加權(quán)融合,再拼接起來。
圖 4 基于ResNet改進的網(wǎng)絡(luò)結(jié)構(gòu)Fig. 4 Improved network structure based on ResNet
結(jié)合神經(jīng)網(wǎng)絡(luò)訓(xùn)練方式,與一般的神經(jīng)網(wǎng)絡(luò)方法類似,子空間數(shù)目作為超參數(shù),對于各個子空間,定義各自對應(yīng)的中心變量并隨機初始化,映射矩陣也通過同樣隨機初始化,根據(jù)特征與中心變量之間的距離來計算自適應(yīng)權(quán)重,與神經(jīng)網(wǎng)絡(luò)模型參數(shù)一樣,最終所有的映射矩陣和中心變量都通過BP算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)來得到。
假設(shè)提取了n層特征,每層特征用Fi(i=1,2,···n) 表示,特征維度為 d,定義映射矩陣將特征映射到子空間,在子空間下進行加權(quán)融合,定義中心變量 M=[M1,M2,···,Mk]∈R1×f,其中d=k×f,k 表示設(shè)置的子空間數(shù)量,f 表示映射到子空間后的特征維度。計算自適應(yīng)權(quán)重,然后將各個子空間特征拼接起來,特征融合過程如下:
式中:swi,j表示在第j個子空間中第i個特征對應(yīng)的權(quán)重; S Fj表示在第j個子空間按權(quán)重相加融合后的特征; S F 表示將各個子空間融合特征拼接起來 形成的最后的融合特征。
為進一步提高效果,與特征融合類似,直接對分類結(jié)果進行加權(quán)融合,同樣通過訓(xùn)練獲得中心變量最優(yōu)值,中心變量不僅僅用于決策融合,為了更好地利用中心變量,加強多層特征的聯(lián)系,在1.5小節(jié)介紹了利用訓(xùn)練過程中學(xué)習(xí)到中心變量來計算加權(quán)融合相似度。
將特征 Fi(i=1,2,···,n)(這里包括融合特征)送入Softmax分類器后,特征對應(yīng)輸出結(jié)果為CFi(i=1,2,···,n),類別數(shù)為c,定義中心變量 DM∈R1×df,決策融合方式如下:
式中: d wi為第i個結(jié)果對應(yīng)的權(quán)重;DF 為融合后的 輸出決策結(jié)果。
一般人臉識別、人臉驗證中,提取特征后,通過歐式距離或者余弦距離來判斷兩張人臉的相似度,目前常用的是使用余弦距離。
從1.4節(jié)我們得到了中心變量 DM,從而能夠得到多層特征的決策融合權(quán)重,多層特征對應(yīng)多個相似度,權(quán)重大的特征對應(yīng)的相似度也應(yīng)該占更大權(quán)重,計算方式如下。
首先計算兩張圖片對應(yīng)的兩組特征 {F11,F12,···,F1n} 和 {F21,F22,···,F2n} 對應(yīng)的余弦距離即相似度 {Sim1,Sim2,···,Simn},以及對應(yīng)的兩組權(quán)重{w11,w12,···,w1n}和{w11,w12,···,w1n},計算方式為
最終融合的相似度為
神經(jīng)網(wǎng)絡(luò)訓(xùn)練一般使用BP算法,而損失函數(shù)最直觀的作用就是通過計算其反傳梯度來實現(xiàn)對模型參數(shù)的更新,使用不同的損失函數(shù)往往可以使模型更加側(cè)重于學(xué)習(xí)到數(shù)據(jù)某一方面的特性,并在之后能夠更好地保證提取到的特征的獨有特性,因此損失函數(shù)對于網(wǎng)絡(luò)優(yōu)化有導(dǎo)向性的作用。
神經(jīng)網(wǎng)絡(luò)一般使用交叉熵?fù)p失函數(shù)來訓(xùn)練,形式為
式中:WTjxi+bj代表全連接層輸出;yi表示對應(yīng)輸入樣本的真實類別標(biāo)簽,在損失函數(shù)下降過程中實質(zhì)是提高 WyTixi+byi所占的比重,使得該類的樣本更多地落入到該類的決策邊界之內(nèi)。
但是對于人臉識別來說,交叉熵?fù)p失函數(shù)無法保證提取的特征的類間距離增大,主要考慮樣本是否能正確分類,缺乏類內(nèi)和類間距離的約束。為解決人臉識別中損失函數(shù)的問題一般從兩個方面入手,一方面是結(jié)合度量學(xué)習(xí)的方法[11-14],另一方面在此Softmax交叉熵?fù)p失函數(shù)的基礎(chǔ)上進行了改進。CenterLoss[12]在交叉熵?fù)p失函數(shù)后面添加額外損失函數(shù),加強對類內(nèi)距離的約束,使得同個類直接的樣本的類內(nèi)特征距離變得緊湊。CenterLoss使得類內(nèi)變得緊湊,但是對類間沒有足夠約束。于是直接對交叉熵?fù)p失函數(shù)進行改進[15-18],先對W和x進行歸一化操作,將其轉(zhuǎn)換為余弦距離表示為
然后引入間隔約束,這里使用文獻[17]提出的AM-Softmax方法:
對于所有特征,各自送入Softmax分類器,使
用式(11)損失函數(shù):
在此基礎(chǔ)上,增加融合部分的損失,損失函數(shù)計算流程如下:1)圖片預(yù)處理后輸入神經(jīng)網(wǎng)絡(luò);2)提取多層特征后進行特征融合;3)融合后的特征送入Softmax分類器計算loss(SF);4)每層提取的特征送入Softmax分類器計算loss(F);5) 每層提取的特征送入Softmax分類器后的結(jié)果進行決策融合,計算loss(DF)。
對于特征融合部分,將融合后的特征送入Softmax分類器,使用上述損失函數(shù),用loss(SF)表示;對于決策融合部分,直接應(yīng)用上述損失函數(shù),用loss(DF)表示。將所有的損失函數(shù)相加,作為最終的損失函數(shù),最終的形式為
為驗證本文提出方法的有效性,在LFW、CASIA-FaceV5、CNBC等人臉數(shù)據(jù)集上進行人臉識別實驗。實驗主要分為Close-set和Open-set兩個部分,Close-set指的是所有的測試集類別都在訓(xùn)練集中出現(xiàn)過,所以每次的預(yù)測直接得出測試圖片的ID;Open-set指的是訓(xùn)練集中沒有出現(xiàn)過測試集的類別[15,19]。
實驗環(huán)境使用Tensorflow框架,Tensorflow是一個采用數(shù)據(jù)流圖形式,用于數(shù)值計算的開源軟件庫,支持GPU加速,自動求微分的能力等優(yōu)點,使得研究人員能夠更便捷地研究與應(yīng)用神經(jīng)網(wǎng)絡(luò)。
LFW[20]數(shù)據(jù)集是由13 000多張全世界知名人士在自然場景下不同朝向、表情和光照環(huán)境人臉圖片組成,共有5 000多人。每張人臉圖片都有其唯一的姓名ID和序號加以區(qū)分。實驗使用所有圖片,進行數(shù)據(jù)增強擴充圖片數(shù)量后,隨機劃分訓(xùn)練集與測試集,訓(xùn)練集與測試比例為3∶1,訓(xùn)練前進行歸一化預(yù)處理,取特征融合子空間數(shù)量為k=4。實驗結(jié)果如表1所示,其中,MLFF指的是本文改進方法,ResNet為圖2所示結(jié)構(gòu),Normalization指的是1.6節(jié)介紹的歸一化操作。
之后以同樣的條件在以下數(shù)據(jù)集上進行了實驗,CNBC數(shù)據(jù)集包括200多個不同種族的200多個人的多幅圖像,其中收集了每個人相隔幾周后發(fā)型或胡子變化的圖片,實驗結(jié)果如表2所示。
表 1 在LFW上的實驗結(jié)果Table 1 Experimental results on LFW
表 2 在CNBC上的實驗結(jié)果Table 2 Experimental results on CNBC
CASIA-FaceV5數(shù)據(jù)集包含了來自500個人的2 500張亞洲人臉圖片,實驗結(jié)果如表3所示。
由于一般的Softmax難以訓(xùn)練且效果較差,所以使用Centerloss時進行歸一化操作,從表1~3可知,與ResNet相比,同樣使用AM-Softmax,改進后的正確率有所提升,同時與其他的方法相比,本文方法的效果也有所提升。
子空間數(shù)量對結(jié)果會有一定的影響,表4為不同子空間數(shù)量下的實驗結(jié)果。
表 3 在CASIA-FaceV5上的實驗結(jié)果Table 3 Experimental results on CASIA-FaceV5
表 4 不同子空間下的實驗結(jié)果Table 4 Experimental results in different subspaces
從表4可以看出,隨著子空間數(shù)量的增加,正確率先上升后下降,根據(jù)結(jié)果在實驗過程中選擇k=4作為子空間數(shù)量。
實驗時選擇CASIA-WebFace作為訓(xùn)練集,LFW作為測試集,在LFW標(biāo)準(zhǔn)協(xié)議上的人臉識別算法性能比較。
由于實驗條件限制,在有限的條件下,圖片裁剪人臉部分后,重組大小為56×48,在RGB圖像中,每個像素([0, 255])通過減去127.5然后除以128進行歸一化。使用隨機梯度下降法進行優(yōu)化,權(quán)重衰減設(shè)置為0.000 5,學(xué)習(xí)率最初設(shè)置為0.1,當(dāng)訓(xùn)練迭代次數(shù)達到16 000、28 000、38 000時,分別設(shè)為0.01、0.001、0.000 1,迭代次數(shù)達到40 000已 基本收斂,完成訓(xùn)練。實驗結(jié)果如表5所示。
表 5 CASIA-WebFace作為訓(xùn)練集, 在LFW標(biāo)準(zhǔn)協(xié)議上的實驗結(jié)果Table 5 CASIA-WebFace as a training set, experimental results on the LFW standard protocol
從表5可知,融合后的特征具有更好的識別效果,同樣使用AM-Softmax,在同樣的條件下,融合特征的效果更好。同時利用訓(xùn)練得到的中心變量計算融合相似度,能夠有效利用多層特征之間的互補性,進一步提高識別效果。
本文提出的神經(jīng)網(wǎng)絡(luò)多層特征信息融合的人臉識別方法,在已有的網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上對結(jié)構(gòu)進行適當(dāng)改進,使得其更適合提取多層特征,然后對提取的多層特征在子空間進行加權(quán)特征融合并拼接,對每層特征分類結(jié)果進行加權(quán)決策融合,定義中心變量計算自適應(yīng)權(quán)重,結(jié)合神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中心變量,并利用學(xué)習(xí)到的中心變量來計算加權(quán)融合相似度,進一步提升效果。在LFW等數(shù)據(jù)集上進行的實驗證明了改進后的方法比原來的效果更好,Open-Set情況下,在LFW上提升2.2%。
本文是在特征融合與決策融合層面進行研究與實驗,而3維人臉數(shù)據(jù)能對人臉識別的提高起到作用,可以從這一方面或者是其他多源數(shù)據(jù)考慮數(shù)據(jù)融合;同時在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,多個損失函數(shù)直接相加,不一定能達到最優(yōu)的訓(xùn)練效果,可做進一步改進。下一步可以將融合相似度的方法加入到分類器中,做進一步的研究。