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