張卓群 曹鐘淼 王慧 劉洪普
摘 ?要: 目前人臉識(shí)別技術(shù)已經(jīng)得到了較多的應(yīng)用,包括在安檢工作、金融工作以及交通等領(lǐng)域中,其穩(wěn)定性強(qiáng)、識(shí)別精度高,市場(chǎng)應(yīng)用前景廣闊,能夠?yàn)橛脩?hù)信息的識(shí)別提供更便捷的服務(wù)。隨著對(duì)人臉識(shí)別研究的深入,出現(xiàn)了更多的算法,最初大多都是提取淺層特征來(lái)進(jìn)行分析,并采用特征融合的方式識(shí)別,在最后的識(shí)別過(guò)程中主要利用了聯(lián)合貝葉斯分布等機(jī)器學(xué)習(xí)分類(lèi)器進(jìn)行處理。這種方法雖然能夠達(dá)到一定的識(shí)別效果,但是精度不高,容易受到多種外部因素(光照、遮蓋等)的影響,降低了識(shí)別結(jié)果的準(zhǔn)確性。本文主要對(duì)人臉識(shí)別的框架進(jìn)行了研究與分析,首先設(shè)計(jì)了人臉識(shí)別框架,然后對(duì)深度學(xué)習(xí)人臉識(shí)別算法的幾個(gè)重要組成部分進(jìn)行了分析與研究,主要包括人臉對(duì)齊模塊、人臉特征提取、人臉識(shí)別驗(yàn)證模塊等。
關(guān)鍵詞:?:人臉識(shí)別;人臉對(duì)齊; 人臉特征提取;深度學(xué)習(xí)
中圖分類(lèi)號(hào):?TB302.6????文獻(xiàn)標(biāo)識(shí)碼:?A????DOI:10.3969/j.issn.1003-6970.2019.09.046
本文著錄格式:張卓群,曹鐘淼,王慧,等. 深度學(xué)習(xí)與人臉識(shí)別算法研究[J]. 軟件,2019,40(9):199-204+208
Research on Deep Learning and Face Recognition Algorithms
ZHANG Zhuo-qun, CAO Zhong-miao, WANG Hui, LIU Hong-pu*
(Hebei University of Technology, Tianjin 300000)
【Abstract】: At present, face recognition technology has been applied widely, including security, financial and transportation fields, which can provide convenient services for user information recognition for its strong stability, high recognition accuracy and broad market application prospects. With deepening research on face recognition, more and more algorithms have emerged. At first, most of them extract shallow features for analysis, and recognize based on feature fusion. During final recognition process, carry on process with machine learning classifiers such as Joint Bayesian Distribution. Although the method can achieve some certain recognition effect, it has less accuracy for being influenced by variety of external factors (illumination, occlusion, etc.). The paper studies and analyzes framework of face recognition. Firstly, it designs framework of face recognition. Secondly, its analyzes and studies several important parts of deep learning face recognition algorithm, including face alignment module, face feature extraction, face recognition verification module and etc.
【Key words】: Face recognition; Face alignment; Face feature extraction; Deep learning
目前人臉識(shí)別技術(shù)已經(jīng)得到了較多的應(yīng)用,包括在安檢工作、金融工作以及交通等領(lǐng)域中,其穩(wěn)定性強(qiáng)、識(shí)別精度高,市場(chǎng)應(yīng)用前景廣闊,能夠?yàn)橛脩?hù)信息的識(shí)別提供更便捷的服務(wù)。
隨著對(duì)人臉識(shí)別研究的深入,出現(xiàn)了更多的算法,最初大多都是提取淺層特征來(lái)進(jìn)行分析,并采用特征融合的方式識(shí)別,在最后的識(shí)別過(guò)程中主要利用了聯(lián)合貝葉斯分布等機(jī)器學(xué)習(xí)分類(lèi)器進(jìn)行處理。這種方法雖然能夠達(dá)到一定的識(shí)別效果,但是精度不高,容易受到多種外部因素(光照、遮蓋等)的影響,降低了識(shí)別結(jié)果的準(zhǔn)確性。
深度學(xué)習(xí)(Deep Learning,DL)最早來(lái)源于神經(jīng)網(wǎng)絡(luò)的研究,但是目前仍沒(méi)有形成明確的定義。深度學(xué)習(xí)可以建立與人腦相似的神經(jīng)網(wǎng)絡(luò),便于按
照人腦的方式對(duì)不同類(lèi)型的數(shù)據(jù)進(jìn)行處理。深度學(xué)習(xí)采用簡(jiǎn)單的表達(dá)形式來(lái)描述復(fù)雜問(wèn)題,使得復(fù)雜的問(wèn)題簡(jiǎn)單化。隨著學(xué)者在機(jī)器學(xué)習(xí)算法研究方面的投入,深度學(xué)習(xí)算法得到了較大的發(fā)展,基于人腦工作方式進(jìn)行分析,能夠?qū)崿F(xiàn)對(duì)圖像、文本等數(shù)據(jù)類(lèi)型的處理。深度學(xué)習(xí)需要逐步使用模型輸出逼近預(yù)期的結(jié)果。從這個(gè)角度來(lái)說(shuō)可以對(duì)實(shí)際輸出結(jié)果與預(yù)期目標(biāo)結(jié)果的偏差進(jìn)行分析,并將其應(yīng)用到對(duì)權(quán)重矩陣的更新中。除了在數(shù)據(jù)處理方面的應(yīng)用,深度學(xué)習(xí)算法還在生物學(xué)、地理學(xué)以及油氣勘探等領(lǐng)域到獲得了較多的應(yīng)用。尤其是隨著云計(jì)算技術(shù)以及深度學(xué)習(xí)理論的進(jìn)一步發(fā)展,未來(lái)深度學(xué)習(xí)將會(huì)有更廣闊的應(yīng)用前景,能夠?yàn)槿藗儙?lái)更多高質(zhì)量的計(jì)算服務(wù)[1]。深度學(xué)習(xí)算法逐步應(yīng)用到了更多的領(lǐng)域中,特別是在圖像處理以及人臉識(shí)別方面,很多研究人員設(shè)計(jì)了不同的人臉識(shí)別算法,并利用LFW等數(shù)據(jù)集驗(yàn)證了算法能夠達(dá)到的效果。深度學(xué)習(xí)算法的優(yōu)勢(shì)在于能夠提升人臉識(shí)別過(guò)程中的抗干擾能力,其主要是提取圖像的高層次特征,從圖像全局來(lái)獲取最本質(zhì)的特征信息,降低了人臉表情變化以及光線(xiàn)等因素的影響,提升了識(shí)別結(jié)果的準(zhǔn)確性。從這個(gè)角度來(lái)說(shuō),人臉識(shí)別其實(shí)是一種特征提取問(wèn)題,基于深度學(xué)習(xí)的人臉識(shí)別技術(shù)具有廣闊的應(yīng)用前景。
1.1神經(jīng)網(wǎng)絡(luò)概述
神經(jīng)元的具體結(jié)構(gòu)即為圖1中所示,其是神經(jīng)網(wǎng)絡(luò)內(nèi)的最小單元,一個(gè)神經(jīng)元內(nèi)包括多個(gè)組成要素,例如有閾值、激活函數(shù)、權(quán)值以及輸入輸出等,利用突觸連接權(quán)值可以對(duì)各個(gè)神經(jīng)元之間的連接強(qiáng)度進(jìn)行表示,其值有正有負(fù),如果是正值[2-5],則說(shuō)明神經(jīng)元的狀態(tài)是激活的,相反的說(shuō)明神經(jīng)元處于未激活狀態(tài)。利用加法器可以對(duì)各個(gè)輸入的總效果進(jìn)行分析,由于不同的神經(jīng)元在作用強(qiáng)度方面具有一定的差異性,可以將其對(duì)后一個(gè)神經(jīng)元的總作用效果表示為神經(jīng)元的線(xiàn)性加權(quán)之和。采用激活函數(shù)能夠有效地對(duì)神經(jīng)元的輸出進(jìn)行控制,使其保持在正常的范圍內(nèi),這個(gè)范圍一般是[-1,1]或者是[0,1]。具體結(jié)構(gòu)如下。
圖中表示神經(jīng)元的輸入,
表示兩個(gè)神經(jīng)元
的連接權(quán)值,,
分別代表的是閾值與輸出,
代表激活函數(shù)。假定
表示輸入信號(hào)的加權(quán)之和,可以將神經(jīng)元結(jié)構(gòu)表示為如下:
(1)
(2)
代入之后可以得到
? ?(3)
假定,代入上述公式得到
(4)
將,
代入可以得到公式
? (5)
所以有
? (6)
1.2 ?RBF神經(jīng)網(wǎng)絡(luò)
RBF代表的是徑向基函數(shù)方法,這種方法最初主要用于對(duì)多變量的插值問(wèn)題進(jìn)行處理,即在輸入變量與輸出變量之間獲取一個(gè)滿(mǎn)足特定條件的非線(xiàn)性函數(shù),輸入變量與輸出變量分別表示為
?
與
,
的形式如下所示:
? (7)
上述公式代表的是一個(gè)插值曲面,Lowe 等人利用徑向基函數(shù)方法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行了設(shè)計(jì),并得到了RBF神經(jīng)網(wǎng)絡(luò),輸入與輸出之間的映射關(guān)系即為公式(7)中所描述。
已知空間點(diǎn)集合,點(diǎn)數(shù)目為N,
表示n維向量,對(duì)應(yīng)的實(shí)數(shù)集可以表示為
,二者的映射關(guān)系可以表示為如下公式:
,
? ?(8)
在選取N個(gè)基函數(shù)之后,可以計(jì)算其線(xiàn)性加權(quán)之和,即得到
??? (9)
公式中的代表基函數(shù),
即為基函數(shù)j的中心,
表示X與
之間的距離。公式代入之后可以得到如下方程組:
(10)
根據(jù),可以將上述公式表示成
(11)
對(duì)上述矩陣進(jìn)行簡(jiǎn)化之后得到
(12)
其中表示一個(gè)插值矩陣,其大小為
,
與
分別表示權(quán)值矩陣與輸出矩陣。如果
是可逆的,可以得到
(13)
根據(jù)Micchelli定理可知,當(dāng)完全不同時(shí),
滿(mǎn)足可逆條件。
1.3?BP神經(jīng)網(wǎng)絡(luò)
反向傳播的詳細(xì)過(guò)程如下所示:第一步是對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行構(gòu)建,并任意設(shè)置各個(gè)神經(jīng)元的權(quán)重;接著需要對(duì)輸入模式進(jìn)行設(shè)置,并得到網(wǎng)絡(luò)的輸出值,然后將其與預(yù)期輸出值進(jìn)行對(duì)比,分析其差值是否達(dá)到了預(yù)期的標(biāo)準(zhǔn)。根據(jù)其差值對(duì)權(quán)重進(jìn)行調(diào)節(jié),直到二者的差值足夠小,也就是實(shí)際輸出接近于預(yù)期輸出。按照這種方式開(kāi)始從輸出層向輸入層逐層逆推,逆推到首個(gè)隱含層時(shí)結(jié)束。詳細(xì)的計(jì)算過(guò)程如下所示[6]。
首先設(shè)置輸入樣本數(shù)目為p,分別表示為,所有樣本輸入完成之后,可以得到輸出
,此時(shí)的樣本誤差可以表示為
(14)
其中代表的是期望輸出。根據(jù)這種方式可以得到網(wǎng)絡(luò)的全局誤差,其公式如下所示
(15)
權(quán)值變化的計(jì)算公式如下所示
(16)
信號(hào)誤差的計(jì)算公式如下所示
(17)
將公式14代入上述公式可以得到
?(18)
?? (19)
在公式17中代入18,19可以得到如下
?? ?(20)
?? (21)
輸出層神經(jīng)元的權(quán)值調(diào)整公式如下所示
? (22)
隱含層權(quán)值變化如下所示
?? (23)
誤差信號(hào)公式如下
?? ?(24)
? (25)
其中
??? ?(26)
第二項(xiàng)是
?? (27)
因此可以得到
??? ?(28)
? (29)
此時(shí)隱含層的權(quán)值調(diào)整公式如下
(30)
人臉識(shí)別算法框架主要用于對(duì)人臉特征的提取,人臉識(shí)別算法框架模塊即為圖2中所示,其中含有多個(gè)模塊,例如有人臉對(duì)齊、特征提取以及特征運(yùn)用等模塊。按照各個(gè)模塊的作用順序,首先是人臉對(duì)齊模塊,主要用于原始圖像的預(yù)處理工作,確定其中的人臉關(guān)鍵點(diǎn),根據(jù)預(yù)期尺寸獲取對(duì)應(yīng)大小的人臉圖像。其次是人臉特征提取模塊,此模塊主要用于特征提取的具體過(guò)程,包括模型的構(gòu)建與訓(xùn)練等過(guò)程。最后是人臉特征運(yùn)用模塊,此模塊要考慮到具體的應(yīng)用場(chǎng)景來(lái)設(shè)計(jì)具體的算法,例如有人臉身份識(shí)別以及驗(yàn)證等。
在本文中主要研究基于深度學(xué)習(xí)的人臉識(shí)別算法,相對(duì)于其他的算法,主要是在特征提取方面存在一定的差異性,其能夠有效地提取人臉更本質(zhì)的特征,通過(guò)此類(lèi)特征的提取能夠降低表情以及遮蓋等因素的影響,而這也屬于其明顯的優(yōu)勢(shì)之處。因此很多學(xué)者已經(jīng)開(kāi)始在基于深度學(xué)習(xí)的人臉識(shí)別算法方面進(jìn)行了研究和改進(jìn),使得算法效果進(jìn)一步優(yōu)化[7]。
3.1 人臉對(duì)齊模塊的算法設(shè)計(jì)
首先對(duì)人臉對(duì)齊模塊算法進(jìn)行設(shè)計(jì),經(jīng)過(guò)分析后本次研究中主要采用了Zhang設(shè)計(jì)的MTCNN人臉對(duì)齊算法,這種算法主要基于人臉檢測(cè)與人臉對(duì)齊過(guò)程中的關(guān)聯(lián)性,并設(shè)計(jì)了對(duì)應(yīng)的卷積神經(jīng)網(wǎng)絡(luò),然后通過(guò)FDDB測(cè)試集以及WIDERFACE測(cè)試集進(jìn)行了算法測(cè)試,最終得到了令人滿(mǎn)意的效果。
3.2 人臉特征提取模塊的算法設(shè)計(jì)
在人臉識(shí)別算法中的核心部分是特征提取模塊,也是影響最終識(shí)別效果的關(guān)鍵因素。在特征提取模塊中,核心部分是網(wǎng)絡(luò)模型與損失函數(shù),通過(guò)對(duì)二者的合理設(shè)計(jì)能夠提升人臉特征的提取效果,并獲得更多高層本質(zhì)特征,以降低外部干擾產(chǎn)生的影響。模型的訓(xùn)練過(guò)程依賴(lài)于損失函數(shù),因此必須對(duì)損失函數(shù)進(jìn)行合理地設(shè)計(jì),這是影響人臉特征提取效果的關(guān)鍵因素。在設(shè)計(jì)損失函數(shù)時(shí)應(yīng)該考慮到人臉基本的特征向量特性,一個(gè)是相同類(lèi)內(nèi)的特征差異性小,相似度高;另一個(gè)是不同類(lèi)的特征相似度小,差異性大[8]。
3.3 深度網(wǎng)絡(luò)模型的設(shè)計(jì)
首先需要設(shè)計(jì)合理的深度網(wǎng)絡(luò)模型,模型質(zhì)量高低將會(huì)顯著影響到人臉識(shí)別的性能。為了能夠提取到高層的、本質(zhì)的認(rèn)證,則要保證特征提取模塊達(dá)到更高的要求,具體是在網(wǎng)絡(luò)模型設(shè)計(jì)與損失函數(shù)設(shè)計(jì)中保持較高的水準(zhǔn),由此才能降低光線(xiàn)、表情等因素對(duì)特征提取的影響。
經(jīng)過(guò)分析,在本次研究中最終采用了選擇Inception-?ResNet模型,其應(yīng)用的具體過(guò)程如下所示:首先對(duì)FaceID層的人臉特征維度進(jìn)行設(shè)置,并得到Softmax層的神經(jīng)元數(shù)目。在模型中主要含有15層,分布是卷積層、池化層、FaceID層、Softmax多分類(lèi)層,其中其中卷積層、池化層主要為前13層,并交替出現(xiàn),而最后兩層分別是FaceID層、Softmax多分類(lèi)層。在本次研究中的前13層采用了Inception-?ResNet取代。
3.4模型損失函數(shù)的設(shè)計(jì)
損失函數(shù)是影響特征提取效果的重要因素,在模型訓(xùn)練過(guò)程中,力求得到損失函數(shù)最大或者最小時(shí)的參數(shù),以此作為最佳的參數(shù)。在網(wǎng)絡(luò)訓(xùn)練前首先要選擇合適的損失函數(shù),并將其應(yīng)用到對(duì)類(lèi)間、類(lèi)內(nèi)差異性的控制中。
為了描述特征的差異性,則一般采用距離度量的方式,即根據(jù)特征之間的距離來(lái)分析其相似度,最終在相同的類(lèi)中都是相似度較高的特征,而不同類(lèi)的特征相似度較小。常用的度量距離包括L2/L1范式距離、歐氏距離、馬氏距離、余弦距離等,其中L2范式距離已經(jīng)較多的應(yīng)用到了人臉識(shí)別以及聚類(lèi)等領(lǐng)域中,因此在本次研究中直接采用了L2范式距離來(lái)提取人臉識(shí)別的特征。
對(duì)于類(lèi)間差異最大化來(lái)說(shuō),能夠達(dá)到較高的人臉區(qū)分性,從而識(shí)別不同的人臉特征;類(lèi)內(nèi)差異最小化則指的是在相同環(huán)境中的特征相似度描述更準(zhǔn)確,綜合兩種方法提升了人臉識(shí)別的精度。另外考慮到人臉特征匹配的效率問(wèn)題,還應(yīng)該具備緊湊性、稀疏性特征,所以必須保證損失函數(shù)的合理性,使其在特征提取中達(dá)到更佳的效果。目前常用的損失函數(shù)包括Softmax函數(shù)、Triplets Loss等。
對(duì)于Softmax多分類(lèi)損失函數(shù)來(lái)說(shuō),將其應(yīng)用到人臉特征提取時(shí),能夠保證各個(gè)人臉圖像特征的差異性最大化,以此提高對(duì)不同人臉識(shí)別的準(zhǔn)確性。在對(duì)人臉圖像進(jìn)行判定時(shí),可以通過(guò)人臉驗(yàn)證方法分析各個(gè)人臉圖像是否屬于相同的人,在這個(gè)過(guò)程中需要通過(guò)人臉驗(yàn)證監(jiān)督信號(hào)來(lái)對(duì)網(wǎng)絡(luò)參數(shù)學(xué)習(xí)過(guò)程進(jìn)行調(diào)節(jié),添加驗(yàn)證監(jiān)督信號(hào)后有助于降低特征的類(lèi)內(nèi)差異性[9]。
3.4.1 ?Softmax損失
在本次研究中主要采用了SoftmaxLoss函數(shù),即在網(wǎng)絡(luò)中添加一個(gè)新的Softmax分類(lèi)器層,以此提升模型參數(shù)的訓(xùn)練效果,有助于實(shí)現(xiàn)類(lèi)間差異的最大化。
目前在多分類(lèi)問(wèn)題中已經(jīng)普遍采用了Softmax Loss函數(shù),多分類(lèi)問(wèn)題的類(lèi)標(biāo)簽y取值類(lèi)型較多。已知訓(xùn)練集的樣本數(shù)目為m,具體是,輸入特征
,特征向量x維度大小是n+1,其中x0=1時(shí)即為截距項(xiàng),
。
如果已知輸入x,函數(shù)對(duì)于不同類(lèi)別j的概率值表示為
,因此可以假定函數(shù)輸出屬于k維向量代表k個(gè)估計(jì)的概率值,對(duì)應(yīng)的元素總和等于1。
具體如下所示:
(31)
公式中均為模型參數(shù)??紤]到計(jì)算的方便性,可以直接采用矩陣形式表示θ,其大小是K×(n+1),矩陣具體的形式如下所示:
(32)
根據(jù)函數(shù),得到基于對(duì)數(shù)似然的損失函
,其形式如下所示:
(33)
在公式中,。
為了求解的最小化問(wèn)題,選擇使用迭代方法求解,由此將其梯度公式表示為:
(34)
迭代的方式如下所示:
(35)
一般要將權(quán)重衰退添加到代價(jià)函數(shù)中,以此更好的解決冗余參數(shù)集的問(wèn)題,此時(shí)的代價(jià)函數(shù)如下所示:
(36)
添加權(quán)重衰退之后,能夠保證代價(jià)函數(shù)的解是唯一的。此時(shí)的梯度函數(shù)形式如下所示:
(37)
3.4.2 ?驗(yàn)證損失
在特征提取的過(guò)程中要利用到驗(yàn)證信號(hào),其主要用于對(duì)特征距離進(jìn)行監(jiān)督,具體是監(jiān)督多個(gè)個(gè)體圖像特征間的最大距離,相同個(gè)體圖像特征間的最小距離,當(dāng)前在度量特征間距離的方法有多種,例如有歐式距離、L2范式距離等,在本次研究中最終采用了L2范式距離。
這里主要使用了描述特征提取的過(guò)程,
代表的是特征提取函數(shù),原始輸入圖像即為x,
表示網(wǎng)絡(luò)參數(shù),
表示人臉特征層輸出。
所以可以將驗(yàn)證信號(hào)表示為:
(38)
公式中、-1時(shí)分別代表
屬于相同個(gè)體與不同個(gè)體兩種情況。
表示學(xué)習(xí)參數(shù),在設(shè)置時(shí)需要保證樣本達(dá)到最小的驗(yàn)證誤差,只要個(gè)體間的特征向量距離不等于閾值m,
則不會(huì)形成損失值;而相同個(gè)體的特征向量距離都是損失值。
另外基于余弦距離的人臉驗(yàn)證監(jiān)督信號(hào)如下所示:
(39)
公式中,
表示學(xué)習(xí)參數(shù),σ表示sigmoid激活函數(shù)。
在提取特征之后需要繼續(xù)進(jìn)行人臉驗(yàn)證的過(guò)程,此過(guò)程依賴(lài)于合理的驗(yàn)證算法,可以確定人臉圖像是否來(lái)自于相同的個(gè)體。但是在實(shí)際應(yīng)用中,驗(yàn)證算法并不是固定的,而是應(yīng)該考慮到不同的人臉特征屬性進(jìn)行設(shè)計(jì),并形成適用性不同的驗(yàn)證算法。在距離度量方面可以采用范式距離或者是其他距離,以此評(píng)價(jià)特征向量的差異性,此時(shí)可以直接設(shè)置對(duì)應(yīng)距離的閾值,并完成人臉驗(yàn)證的過(guò)程。目前常用的度量距離主要包括Ll范式距離、L2范式距離、余弦距離等類(lèi)型,而在實(shí)際應(yīng)用中應(yīng)該綜合考慮到損失函數(shù)的形式等因素,據(jù)此選擇最合適的距離度量策略。在實(shí)際應(yīng)用中通過(guò)需要先通過(guò)PCA實(shí)現(xiàn)降維,接著利用SVM或者是加權(quán)卡方距離等完成分類(lèi)的過(guò)程[10]。
經(jīng)過(guò)上述處理過(guò)程后,可以將人臉特征x劃分為兩部分,具體公式表示為:
(40)
其中μ表示內(nèi)部本質(zhì)變量,并且有,ε代表外部的差異性變量,并且有
。所以聯(lián)合貝葉斯的聯(lián)合概率分別表示為
、
,其高斯分布方差矩陣如下所示:
和
(41)
根據(jù)公式(41)可以計(jì)算出人臉驗(yàn)證的概率值。
(42)
加權(quán)卡方距離x2的公式如下所示
(43)
公式中的代表權(quán)重值,一般利用線(xiàn)性SVM方法計(jì)算。
另外還可以采用加權(quán)L1距離、余弦距離兩種計(jì)算策略,
在本文的人臉驗(yàn)證中,主要采用了L2距離閾值的方法實(shí)現(xiàn),其公式如下所示。
(44)
目前人臉識(shí)別技術(shù)已經(jīng)得到了較多的應(yīng)用,包括在安檢工作、金融工作以及交通等領(lǐng)域中,其穩(wěn)定性強(qiáng)、識(shí)別精度高,市場(chǎng)應(yīng)用前景廣闊,能夠?yàn)橛脩?hù)信息的識(shí)別提供更便捷的服務(wù)。
參考文獻(xiàn)