朱 梅,陳易萍,姚 毅,樊中奎,李 渤
(1.江西理工大學(xué)a.軟件工程學(xué)院,江西 南昌 330013;b.應(yīng)用科學(xué)學(xué)院,江西 贛州 341000;2.南昌市農(nóng)業(yè)科學(xué)院,江西 南昌 330200)
近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在計算機(jī)視覺領(lǐng)域取得了巨大的成功。眾多的視覺任務(wù):圖像分類、物體檢測、人臉驗(yàn)證及識別都受益于CNN模型的分類能力,性能得到了很大的提高。當(dāng)前使用基于CNN的模型的人臉識別在LFW數(shù)據(jù)集上的識別精度達(dá)到99%[1],并在商業(yè)上得到了應(yīng)用。
目前,多個CNN方法被用于人臉驗(yàn)證,Taigman[2]使用CNN模型提取人臉的特征向量,然后將這些特征向量輸入到貝葉斯分類法及高斯分類法進(jìn)行人臉驗(yàn)證,但這種方法在樣本分布不均勻的情況下難以正確的分類。Y.Sun[3]采用人臉對齊及對人臉進(jìn)行多分片的方法進(jìn)行人臉特征的提取,提高了人臉驗(yàn)證的魯棒性,但耗時較長。F.Schroff[4]提出了使用triplet loss來驗(yàn)證兩個樣本是否為同一實(shí)體克服了基于多分類網(wǎng)絡(luò)只用于分類而不能用于驗(yàn)證的瓶頸,但是對于訓(xùn)練集中不存在的新實(shí)體無法進(jìn)行驗(yàn)證并且需要手工確定分類的閾值。Chen.Jun Cheng[5]使用多任務(wù)的深度卷積網(wǎng)絡(luò)模型進(jìn)行識別和驗(yàn)證,多任務(wù)學(xué)習(xí)為提高人臉表示的泛化能力提供了一種有效的方法,然而基于多任務(wù)的神經(jīng)網(wǎng)絡(luò)的收斂性仍然是一個挑戰(zhàn),識別和驗(yàn)證的選擇需要手工確定的,并且效果嚴(yán)重依賴訓(xùn)練集。
以往的方法取得了重要的發(fā)展,但仍有許多不足之處有待改進(jìn)。首先,一些方法在CNN測試前需要進(jìn)行人臉對齊或仿射變換等預(yù)處理,這會消耗大量的計算時間。其次,使用復(fù)雜的CNN模型和多分片進(jìn)行人臉驗(yàn)證,生成了大量的中間數(shù)據(jù),需要較大的存儲空間和計算時間[1,5]。第三,從CNN中提取特征向量,然后在其他平臺上進(jìn)行人臉驗(yàn)證的不能做到從輸入端到輸出端不間斷連續(xù)的過程處理,影響驗(yàn)證效率及操作體驗(yàn)。針對目前研究的不足,本文提出了一種基于深度學(xué)的非對齊人臉驗(yàn)證框架(如圖1所示)。在框架中設(shè)計具有較少層數(shù)和參數(shù)的卷積神經(jīng)網(wǎng)絡(luò),具有良好的人臉驗(yàn)證的準(zhǔn)確度同時減少了計算量提高了處理速度;在驗(yàn)證過程中抽象出SIFT描述符進(jìn)行人臉驗(yàn)證可以有效減小姿態(tài)變化的影響,不需要人臉對齊預(yù)處理情況下進(jìn)行驗(yàn)證,讓人臉驗(yàn)證過程能夠進(jìn)行端到端處理,提高了驗(yàn)證過程的完整性;采用級聯(lián)法提高了人臉識別的精度,減少了人臉識別的運(yùn)行時間。CNN模型在CASIA-Web Face數(shù)據(jù)集上進(jìn)行訓(xùn)練,并在著名的LFW和You Tube(YTF)數(shù)據(jù)集上進(jìn)行評估,取得了優(yōu)異的性能。論文主要貢獻(xiàn)如下:
(1)設(shè)計出一個人臉驗(yàn)證框架??蚣芊譃槿齻€階段:在第一個階段,CNN得到了充分的訓(xùn)練得到模型;第二階段,在CNN中加入triplet loss對第一階段的模型進(jìn)行微調(diào)適應(yīng)人臉驗(yàn)證;第三階段采用級聯(lián)法進(jìn)行人臉驗(yàn)證??蚣懿粌H提高了人臉識別的精度,而且減少了人臉識別的運(yùn)行時間。
(2)在卷積網(wǎng)絡(luò)的池化過程中提取SIFT描述符,用于人臉驗(yàn)證。由于SIFT描述符具有良好的尺度不變性和旋轉(zhuǎn)不變性,可以在非人臉對齊的情況下獲得較好的人臉驗(yàn)證效果。
(3)設(shè)計了兩個CNN被來適應(yīng)不同的設(shè)備。CNN1層數(shù)少、參數(shù)少,能較好地滿足時間成本和驗(yàn)證精度的要求,適用于智能手機(jī)平臺。CNN2層數(shù)多,參數(shù)多,性能優(yōu)良,適合在服務(wù)器上使用。
人臉驗(yàn)證是計算機(jī)視覺領(lǐng)域研究的熱點(diǎn)之一。通過許多研究人員的努力,近年來精度得到了顯著提高。人臉驗(yàn)證研究主要集中在以下方面。
特征提取:識別人臉特征表示的提取是人臉驗(yàn)證的第一步。它大致可分為兩類:手工生成的特性,以及從數(shù)據(jù)中學(xué)習(xí)的特性。在第一類中,Ahonen[6]等人在中提出使用局部二值模式(LBP)來表示人臉。Chen[7]等人在中利用高維多尺度LBP特征提取人臉標(biāo)記周圍的特征,對人臉進(jìn)行了驗(yàn)證,取得了良好的效果。Gabor小波具有良好的方向選擇和尺度選擇特性,Xie[8]和Zhang[9]使用該方法對人臉圖像的多尺度、多方向信息進(jìn)行編碼。在第二類中,Patel[10]和Chen[11-12]采用基于字典的方法,通過從樣本中學(xué)習(xí)對姿態(tài)和光照變化具有魯棒性的代表性特征來進(jìn)行人臉識別和驗(yàn)證。采用Fisher向量[13](FV)編碼生成完備的高維特征表示。Lu等[14]提出了一種字典學(xué)習(xí)框架來生成高維特征向量。上述方法需要高維特征向量,難以在大型數(shù)據(jù)集中進(jìn)行訓(xùn)練和應(yīng)用。然而,隨著深度學(xué)習(xí)的發(fā)展,利用深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)可以從大數(shù)據(jù)集中學(xué)習(xí)分類特征。Taigman等[2]從大規(guī)模人臉數(shù)據(jù)集中學(xué)習(xí)生成人臉特征的深度網(wǎng)絡(luò)模型,取得了比傳統(tǒng)人臉驗(yàn)證方法更好的性能。Sun等[1]在LFW數(shù)據(jù)集上實(shí)現(xiàn)了出色的人臉驗(yàn)證性能。Schroff等[4]將深度結(jié)構(gòu)從對象識別應(yīng)用到人臉驗(yàn)證,并對其進(jìn)行三重?fù)p失訓(xùn)練,取得了較好的效果。這些工作從本質(zhì)上證明了DCNN模型對特征學(xué)習(xí)的有效性。
度量學(xué)習(xí):從數(shù)據(jù)中學(xué)習(xí)相似性度量是提高人臉驗(yàn)證系統(tǒng)性能的另一個關(guān)鍵部分。在過去的十年中,人們提出了許多度量學(xué)習(xí)算法,其中一些已經(jīng)成功地應(yīng)用于人臉驗(yàn)證。這些方法的共同目標(biāo)是學(xué)習(xí)一種良好的距離度量,使正樣本對之間的距離盡可能地減小,負(fù)樣本之間對之間的距離盡可能地增大。例如,Sun等[1]提出了大邊際最近鄰(LMNN)度量,該度量在所有三組標(biāo)記訓(xùn)練數(shù)據(jù)之間強(qiáng)制執(zhí)行大邊際約束。Taigman等[15]使用信息論度量學(xué)習(xí)(ITML)方法學(xué)習(xí)馬氏距離。Chen等[16]中提出了一種用于人臉驗(yàn)證的聯(lián)合貝葉斯方法,該方法對一對人臉圖像的聯(lián)合分布而不是它們之間的差異進(jìn)行建模,用類內(nèi)概率與類間概率之比作為相似性度量。Hu等[17]研究了深度神經(jīng)網(wǎng)絡(luò)框架下的判別度量。Huang等[18]研究了一組保留底層流形結(jié)構(gòu)的標(biāo)記圖像上的投影度量。
我們提出的方法設(shè)計了兩個參數(shù)不同的CNN架構(gòu)。為了使CNN架構(gòu)適合人臉驗(yàn)證,在CNN架構(gòu)使用三元組樣本,用于對CNN訓(xùn)練得到的模型進(jìn)行微調(diào)。在測試階段,從池化層中提取SIFT描述符,進(jìn)行非對齊的級聯(lián)人臉驗(yàn)證,取得良好的效果。圖1給出了方法的流程圖。方法詳細(xì)實(shí)現(xiàn)在下面介紹。
本文針對不同的應(yīng)用平臺提供了兩種CNN架構(gòu)。CNN1的層數(shù)和參數(shù)比CNN2少(如表1所示),因此CNN1比CNN2需要更少的訓(xùn)練和測試時間。CNN1包含5個卷積層和4個池化層,F(xiàn)C5a和Conv5b具有相同輸入層為池化層4;FC5b1為Conv5b的頂層;FC6為FC5與FC5b1的和,網(wǎng)絡(luò)輸入圖像的分辨率是224*224,輸出為一個160維向量,CNN1的數(shù)據(jù)量為22M。CNN2包含10個卷積層和5個池化層,輸出為4096維向量,共有2.239億個參數(shù)。在CNN1和CNN2中卷積核由高斯函數(shù)初始化,使用ReLU作為激活函數(shù),使用Dropout避免過擬合,使用Softmax-loss進(jìn)行多分類。
為了使CNN適合人臉驗(yàn)證,使用triplet loss對CNN模型微調(diào)(如圖1所示),微調(diào)僅改變最后一個全連接層的參數(shù),使正樣本之間的距離變小,正負(fù)之間的距離變大(如圖2所示)。在微調(diào)階段,CNN需要輸入的三元組包含三個樣本,一幅為錨點(diǎn),一幅為正樣本,另一幅為負(fù)樣本利用triplet loss通過訓(xùn)練求出最小的區(qū)間,當(dāng)兩幅圖像之間的距離大于最小區(qū)間則認(rèn)為是不同的人,否則圖像描述的是同一個人。
從表1和表2可以看出:CNN1(如表1所示)網(wǎng)絡(luò)層數(shù)和參數(shù)較少,CNN2(如表2所示)網(wǎng)絡(luò)層數(shù)和參數(shù)較多。與CNN2相比,CNN1在訓(xùn)練和測試中消耗的時間更少,適合在手機(jī)等小型設(shè)備上運(yùn)行。
表1 CNN1架構(gòu)
表2 CNN2架構(gòu)
根據(jù)常識同一個人圖像有更多的相似性,所以同一個人的人臉圖像特征之間的距離應(yīng)被集中到一個很小的范圍之內(nèi)。triplet loss試圖在每對人臉之間建立一個從一個人臉圖片到其它人臉圖片的間距(如圖2所示)。
兩張人臉圖片是否為相同的人需要通過驗(yàn)證的方式來確定的。但是目前的深度學(xué)習(xí)網(wǎng)絡(luò)模型主要應(yīng)用在圖像的分類,不適合人臉圖片的驗(yàn)證,因此我們需要設(shè)計一種適合人臉驗(yàn)證的深度學(xué)習(xí)網(wǎng)絡(luò)。本文在CNN的末端添加triplet loss層使之適合人臉圖片的驗(yàn)證(如圖3所示)。
經(jīng)過使用triplet loss進(jìn)行模型微調(diào)訓(xùn)練,得到了一個低維向量,對人臉識別具有較強(qiáng)的識別力??紤]一個三元組{a,p,n},其中a(anchor)和p(positive)來自同一個實(shí)體,而n(negative)屬于不同的實(shí)體。我們的目標(biāo)是樣本特征向量的W映射應(yīng)滿足(1)約束:
(Wa)T·(Wp)>(Wa)T·(Wn)
(1)
在我們的方法中,在CNN1中{a,p,n}∈R160和CNN2{a,p,n}∈R4096,它們通過W被歸一化為單位長度。因此,Wa、Wp、Wn是a、p、n在投影W下的相似性特征向量。(1)中的約束條件要求在低維空間中,錨點(diǎn)與正樣本的相似性應(yīng)大于錨點(diǎn)與負(fù)樣本的相似性。因此,映射矩陣W應(yīng)能夠?qū)㈠^點(diǎn)與正樣本距離縮小,錨點(diǎn)與負(fù)樣本距離增大,經(jīng)過驗(yàn)證選擇Wa、Wp、Wn的維數(shù)為d=128。
根據(jù)一個三元組標(biāo)記的樣本的特征向量,我們解決以下優(yōu)化問題:
(2)
其中T是三元組集,α是根據(jù)驗(yàn)證集來選擇的邊距參數(shù)。在實(shí)際應(yīng)用中,采用增大區(qū)分度的隨機(jī)梯度下降法(SGD)解決了上述問題,解決(2)的更新迭代步驟為:
Wt+1=Wt-η*Wt*(a(n-p)T+(n-p)aT)
(3)
Wt為第t次迭代的估值,Wt+1為更新值,{a,p,n}是一個三元組樣本,η為學(xué)習(xí)速率。
人臉對齊是人臉驗(yàn)證的難點(diǎn),需要大量的運(yùn)行時間,嚴(yán)重影響人臉驗(yàn)證的性能。SIFT描述符具有旋轉(zhuǎn)不變性、尺度縮放、亮度變化以及查看變化、仿射變換和噪聲的穩(wěn)定性等優(yōu)點(diǎn)。如果我們可以從卷積神經(jīng)網(wǎng)絡(luò)得到信息SIFT描述符,它可以在不需要人臉對齊的情況下幫助人臉驗(yàn)證。下采樣是卷積神經(jīng)網(wǎng)絡(luò)中一個必不可少的過程,在最大池化過程中可以得到圖像特征點(diǎn)的方向和梯度信息,能夠同步的獲取SIFT描述符。
在池化過程中人臉的SIFT描述符由以下過程獲得。由式(4)得到最大值和式(5)得到平均值,其中vi為樣本塊元素,如圖6所示。梯度g為最大值m減去平均值a(如式(6)所示)。梯度方向由式(7)得到
m=max(v0,v1,v2,v3)
(4)
a=avg(v0,v1,v2,v3)
(5)
g=m-a
(6)
θ=90×i+90×((m-v(i+3)%4)/((m-v(i+5)%4)+(m-v(i+3)%4)))
(7)
其中i為最大值m索引值,θ取值范圍為0~360度,分為8個區(qū)域,每個區(qū)域有45度,{0°,45°,90°,135°,180°,225°,270°,315°}代表8個方向(如圖4所示)。
在從2×2圖像區(qū)域獲得梯度和方向之后(如圖4所示),描述單元通過4×4梯度和方向塊中的8個方向的梯度統(tǒng)計獲得(如圖5a所示)。4×4描述單元構(gòu)成一個SIFT描述符,由128維向量表示(如圖5b所示)。由圖5b所示一個SIFT描述符需要從32×32圖像區(qū)域中提取。
利用兩幅人臉圖像的距離D(xi,xj)確定相同和不同的分類。同一人的所有人臉對(i,j)用Psame表示,而不同人的所有人臉對用Pdiff表示。
我們把所有真正接受的集合定義為
TA(d)={(i,j)∈Psame|D(xi,xj)≤d}
(8)
這些是在閾值d時正確分類為相同的人臉對(i,j)。
FA(d)={(i,j)∈Pdiff|D(xi,xj)≤d}
(9)
FA(d)是錯誤分類為相同(錯誤接受)的所有對的集合。然后將給定人臉距離d的驗(yàn)證率VAL(d)定義為
(10)
相應(yīng)地,錯誤接受率FAR(d)是
(11)
從最大池化的結(jié)果(如圖6所示)可以看出,它保留了更好的人臉特征,我們在最大池過程中提取最大值時,可以快速地獲得方向信息,從而方便地獲得SIFT描述符。在CNN1和CNN2中,第一池化層可以得到49個描述符,第二池化層可以得到16個描述符。
為了進(jìn)行快速的人臉驗(yàn)證,我們設(shè)計了基于級聯(lián)的驗(yàn)證方法,該方法包含三個連續(xù)驗(yàn)證步驟(如圖7所示)。利用池化結(jié)果中提取的SIFT描述符進(jìn)行ver1和ver2驗(yàn)證,保證了不需要人臉對齊情況下的驗(yàn)證準(zhǔn)確性。如表1所示,CNN1中pool1和poo2層有20和40個池化層結(jié)果,如表2所示CNN2中pool1和poo2層有32和64個池化結(jié)果,采用所有中間卷積結(jié)果進(jìn)行驗(yàn)證,能夠有效保證驗(yàn)證精度。在驗(yàn)證過程中設(shè)置一個閥值,當(dāng)相似度大于閥值時,表示來自同一個人的兩張照片,當(dāng)相似度小于閥值時,表示來自不同人的兩張照片。在驗(yàn)證過程中,只有當(dāng)前一步驗(yàn)證為同一個人時,才允許它們進(jìn)入下一步驗(yàn)證,具體驗(yàn)證過程如圖7所示。
神經(jīng)網(wǎng)絡(luò)需要使用大數(shù)據(jù)集進(jìn)行訓(xùn)練,選擇合適的訓(xùn)練數(shù)據(jù)集非常重要。CASIA-WebFace有足夠的實(shí)體,并且每個圖像都有標(biāo)簽,所以它們更適合CNN的訓(xùn)練和微調(diào)。CASIA-WebFace包含493,456張人臉圖像,包含10,575個實(shí)體。
本文使用LFW和YTF兩個常用的數(shù)據(jù)集進(jìn)行評估,這兩個數(shù)據(jù)集是在無約束條件下人臉驗(yàn)證的事實(shí)標(biāo)準(zhǔn)集。LFW數(shù)據(jù)集包含13233張來自互聯(lián)網(wǎng)的5749個實(shí)體的人臉圖像。YTF包含了從YouTube上收集的1595人的3425個視頻,是視頻中人臉驗(yàn)證的標(biāo)準(zhǔn)基準(zhǔn)。為了便于比較,算法通常給出LFW和YTF中給定6000對人臉的平均人臉驗(yàn)證精度和ROC曲線。利用CASIA-WebFace數(shù)據(jù)集訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。在訓(xùn)練之前,所有的人臉圖像歸一化為224×224。
CNN訓(xùn)練分為兩個階段(如圖1所示),第一個階段使用大量的樣本對網(wǎng)絡(luò)的分類能力進(jìn)行訓(xùn)練,使網(wǎng)絡(luò)的趨于穩(wěn)定。每二個階段主要進(jìn)行人臉驗(yàn)證能力的訓(xùn)練使網(wǎng)絡(luò)能夠進(jìn)行人臉驗(yàn)證。
第一階段使用softmax loss對CNN進(jìn)行訓(xùn)練,得到CNN模型。訓(xùn)練使用開源的深度學(xué)習(xí)框架pytorch在ImageNet大型數(shù)據(jù)集上進(jìn)行。CNN1和CNN2的訓(xùn)練參數(shù)進(jìn)行相應(yīng)設(shè)置。CNN1中動量設(shè)為0.9,卷積層和全連接層的權(quán)值衰減設(shè)為5e-3,為了避免全連接層的過擬合,將dropout設(shè)為0.5。在CNN2中,動量設(shè)為0.9,卷積層和全連接層的權(quán)值衰減設(shè)為5e-4。fc6全連接層是用于人臉驗(yàn)證任務(wù)的人臉表示。從fc6層到fc7層的參數(shù)都非常大,對于學(xué)習(xí)大的全連通層參數(shù)可能會導(dǎo)致過擬合。為了克服它,我們將dropout設(shè)置為0.5。Xavier用于卷積層參數(shù)初始化,Gaussian用于完全連接層初始化。深度模型在GTX1070上訓(xùn)練了2周。
第二階段是對網(wǎng)絡(luò)的人臉驗(yàn)證能力進(jìn)行訓(xùn)練,主要目標(biāo)是縮小相同實(shí)體之間的距離及增大不同實(shí)體之間的距離。輸入數(shù)據(jù)需要一個圖像組,每個組包含三個圖像(一個錨點(diǎn)樣本,一個正樣本,一個負(fù)樣本)。在此階段,我們只訓(xùn)練triplet loss層,而保持其他層的參數(shù)不變。我們從CASIA-Webface數(shù)據(jù)集中選擇5606個實(shí)體,其中每個實(shí)體包含至少30張用于訓(xùn)練的圖片。
我們在LFW和YTB數(shù)據(jù)集上使用給定的標(biāo)準(zhǔn)的樣本對我們的方法進(jìn)行評估,該數(shù)據(jù)集總共定義了3000組正對和3000組負(fù)對樣本,并將它們進(jìn)一步劃分為10個不相交子集進(jìn)行交叉驗(yàn)證。每個子集包含300組正對樣本和300組負(fù)對。在級聯(lián)人臉驗(yàn)證過程中(如圖7所示),在第一次驗(yàn)證(ver1)中將低閥值設(shè)置為0.4,當(dāng)相似性在0.4以上時,認(rèn)為兩幅人臉圖片來自同一實(shí)體,將進(jìn)行第二次驗(yàn)證(ver2),否則將顯示來自不同實(shí)體的兩幅圖像;ver2中閥值設(shè)為0.7,驗(yàn)證過程與ver1相同(如圖7所示),ver3中使用深度學(xué)習(xí)特征進(jìn)行最終驗(yàn)證。
根據(jù)表3,表4中的結(jié)果,我們得到以下結(jié)果:CNN1和CNN2的模型都在LFW和YouTube數(shù)據(jù)集上實(shí)現(xiàn)了良好的性能。該框架在人臉對齊和無對齊兩種情況下均能獲得較好的性能。在沒有人臉對齊的LFW和YouTube人臉數(shù)據(jù)集中,CNN1的人臉驗(yàn)證準(zhǔn)確率分別為96.53%和93.65%,CNN2在LFW和YouTube人臉數(shù)據(jù)集中的人臉驗(yàn)證準(zhǔn)確率分別為98.37%和94.49%。
表3 在LFW上進(jìn)行人臉驗(yàn)證
表4 在YouTube上進(jìn)行人臉驗(yàn)證
在本節(jié)中,分析了框架的效果。我們在LFW數(shù)據(jù)集上對CNN1和CNN2進(jìn)行測試,表5給出了測試結(jié)果。
表5 LFW的性能評估
我們從以下幾個方面分析測試結(jié)果,網(wǎng)絡(luò)結(jié)構(gòu):通過表5中第1行與第7行、第2行與第8行、第3行與第9行、第4行與第10行的比較可以看到在同等條件下CNN2比CNN1的性能明顯提高。其中原因?yàn)椋篊NN2具有更多的層和參數(shù),可以獲得良好的表示向量;從表5第1行對第2行,第7行對第8行可以看出由于使用了級聯(lián)驗(yàn)證性能明顯提高;從表5第6、12行結(jié)果可以看出方法能夠有效地防止人臉姿態(tài)變化的影響;從表5第1行與第3行可以看出,經(jīng)過級聯(lián)驗(yàn)證,性能提高了4.2%;從表5第2行與第4行對比可以看出使用trilet loss進(jìn)行微調(diào)具有重要的作用,準(zhǔn)確率提高了8.83%。
級聯(lián)驗(yàn)證分析:在本節(jié)中,我們將評估級聯(lián)驗(yàn)證框架的性能。從表6的結(jié)果可以看出,Ver1在沒有對人臉對齊的情況下,具有較高的驗(yàn)證精度。這里有以下原因:首先,池化層的結(jié)果比原始圖像具有更明顯的紋理特征,這使得從池化結(jié)果中提取的SIFT描述符具有更好的分類能力。其次,pooling1的多個池化結(jié)果用于驗(yàn)證,這確保了驗(yàn)證的準(zhǔn)確性。從表6第2行與第5比較可以看出ver2明顯的提高了準(zhǔn)確性,這是由于ver2是基于ver1的第二次驗(yàn)證,它使用了更多的池化結(jié)果來驗(yàn)證;Ver3通過人臉的深度特征驗(yàn)證實(shí)現(xiàn)了更好的驗(yàn)證結(jié)果。驗(yàn)證結(jié)果表明,級聯(lián)的驗(yàn)證在非對齊人臉的驗(yàn)證中能夠有效的提高準(zhǔn)確率。
表6 LFW的級聯(lián)人臉驗(yàn)證測試
運(yùn)行速度分析:從表7中可以看出,我們的方法具有很高的計算速度,原因如下:我們的CNN架構(gòu)有更少的層和參數(shù);無需人臉對齊且SIFT描述符利用池化過程中同步得到的有效節(jié)省了計算時間。
如表7所示,對于一對人臉圖像驗(yàn)證,CNN1的CPU時間為70ms;結(jié)果表明該模型可能適用于智能手機(jī)等小型設(shè)備上。使用CNN2模型對一對人臉圖片驗(yàn)證需要CPU時間為560ms,但使用GPU時只需要到67ms,表明CNN2適用于使用GPU在設(shè)備上運(yùn)行。
表7 一對圖像驗(yàn)證的時間(它在具有GPU GTX1070的單核i7 6700上進(jìn)行測試)
本文采用LFW和YTF兩個著名的人臉識別和驗(yàn)證數(shù)據(jù)集上評估我們的模型。從圖8和圖9 ROC比較來看,CNN2模型在兩個數(shù)據(jù)集上均優(yōu)于當(dāng)前最好的方法;雖然CNN1所包含的層數(shù)和參數(shù)較少,但其性能也非常顯著。兩種方法在人臉圖片非對齊的情況下同樣能取得較好的準(zhǔn)確度。
本文設(shè)計了一個基于深度學(xué)習(xí)的非對齊人臉驗(yàn)框架。在該框架中首先使用softmax loss對深度網(wǎng)絡(luò)進(jìn)行的充分的分類能力訓(xùn)練;然后加入triplet loss層進(jìn)行微調(diào)使之適合于人臉驗(yàn)證。本文提出了在網(wǎng)絡(luò)運(yùn)行過程中間結(jié)果中同步提取SIFT描述符進(jìn)行級聯(lián)驗(yàn)證,減少了人臉姿態(tài)變化對人臉驗(yàn)證的影響,有效提高了人臉驗(yàn)證速度與精確度。為了使框架能夠具有更廣泛的應(yīng)用,設(shè)計了兩個CNN架構(gòu):CNN1具有較少的層和參數(shù)需要較小的計算量,可用于智能手機(jī)等小型計算設(shè)備;CNN2模型具有更多的層數(shù)和參數(shù)需要較大的運(yùn)算量,適用于具有GPU的大型運(yùn)算設(shè)備。經(jīng)過在LFW和YTF數(shù)據(jù)集上測試結(jié)果表明,該框架在人臉非對齊的情況下具有優(yōu)秀的性能。