王菽裕 吳思 靳瑋琨 關(guān)琛夕 王蒙 畢冰潔
摘?要:人臉識(shí)別在現(xiàn)實(shí)生活中具有廣闊的發(fā)展前景,本文設(shè)計(jì)了一種新的位姿不變的人臉識(shí)別深度神經(jīng)網(wǎng)絡(luò)算法,以極低的錯(cuò)誤率識(shí)別中國(guó)公眾名人。該算法首先是構(gòu)建了一個(gè)新的數(shù)據(jù)集,數(shù)據(jù)集的每一張圖片是帶有標(biāo)簽的面孔。其次是對(duì)構(gòu)建的新數(shù)據(jù)集上的深卷積神經(jīng)網(wǎng)絡(luò)(CNN)VGG-16架構(gòu)進(jìn)行了微調(diào)。文中算法和Fisherface相比,在識(shí)別精度和耗時(shí)上面均表現(xiàn)更好。
關(guān)鍵詞:人臉識(shí)別;深度神經(jīng)網(wǎng)絡(luò);CNN;VGG-16
中圖分類號(hào):TP391
人臉在我們的社會(huì)交往中扮演著重要的角色,承載著人們的身份信息。人臉識(shí)別系統(tǒng)有著非凡的突破。這種突破在很大程度上可以歸因于基于深度學(xué)習(xí)技術(shù)[1]的成功,這些技術(shù)假設(shè)通過收集大量的訓(xùn)練集,深層網(wǎng)絡(luò)將有足夠的樣本來說明主體之間和主體內(nèi)部的外觀變化。從這些變化中,人工神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)產(chǎn)生辨別特征,放大主體差異,抑制其他混淆的外觀變化。因此,為了訓(xùn)練基于深度學(xué)習(xí)的人臉識(shí)別系統(tǒng),需要非常大的訓(xùn)練集和數(shù)百萬張帶標(biāo)簽的圖像。然而,大型訓(xùn)練數(shù)據(jù)集并不是公開的,而且很難收集。此外,通過從搜索引擎下載圖像來構(gòu)建大型數(shù)據(jù)集是非常困難的,也是最具經(jīng)濟(jì)挑戰(zhàn)性的。解決缺少大型人臉數(shù)據(jù)集的一個(gè)方法是通過合成包含人臉圖像的新視圖來擴(kuò)充人臉數(shù)據(jù)集。因此,通過引入補(bǔ)充的受試者內(nèi)部外觀變化(如姿態(tài)變化),可以將現(xiàn)有的人臉集擴(kuò)展到其大小的許多倍。
1 相關(guān)知識(shí)
1.1 Dropout(隨機(jī)失活)
Dropout的工作原理是,在訓(xùn)練過程中,從指定的層中刪除一個(gè)神經(jīng)元,或者刪除某些連接。
1.2 Batch normalization(批量歸一化)
Batch normalization方法,允許我們訓(xùn)練歸一化權(quán)值和歸一化層。批處理規(guī)范化可以應(yīng)用于網(wǎng)絡(luò)中的任何層,因此非常有效。
1.3 Data augmentation(數(shù)據(jù)增強(qiáng))
使用當(dāng)前擁有的數(shù)據(jù),并對(duì)其進(jìn)行操作,以生成同一圖像的更多版本,從而增加在訓(xùn)練期間看到的數(shù)據(jù)的多樣性。
2 實(shí)驗(yàn)及分析
2.1 實(shí)驗(yàn)過程
文章提出了一種新的半自動(dòng)方法來構(gòu)建非常大的合成圖像訓(xùn)練數(shù)據(jù)集,在最小的人為干預(yù)下,通過在一個(gè)小的數(shù)據(jù)集中合成真實(shí)的人臉圖像。
2.2 實(shí)驗(yàn)分析
建立人臉數(shù)據(jù)集的第一步:獲取公眾人物和名人的初始列表,即在搜索引擎上具有高代表性的人。
第二步:過濾過程的應(yīng)用,通過刪除出現(xiàn)在LFW人臉數(shù)據(jù)集中的任何明星名字,消除與標(biāo)準(zhǔn)LFW基準(zhǔn)的任何重疊,從而使在新的數(shù)據(jù)集上進(jìn)行訓(xùn)練,同時(shí)仍然可以在LFW基準(zhǔn)上進(jìn)行公平的評(píng)估,產(chǎn)生4000個(gè)身份的列表。
第三步:為候選名單中的每個(gè)名人收集一組代表性的圖片。
第四步:對(duì)前一階段采集的所有圖像運(yùn)行Viola-Jones人臉檢測(cè)器,獲取每個(gè)給定圖像中人臉的位置,然后裁剪并重新縮放到一個(gè)標(biāo)準(zhǔn)坐標(biāo)系。為了使人臉對(duì)齊,我們使用了人臉對(duì)齊方法將它們相應(yīng)地旋轉(zhuǎn)到一個(gè)正面位置。
第五步:刪除在兩個(gè)不同網(wǎng)絡(luò)中的位置發(fā)現(xiàn)的相同圖像的重復(fù)圖像。
最后,為了增加數(shù)據(jù)集的大小。我們考慮對(duì)上述方法進(jìn)行擴(kuò)展,來生成正面視圖,從而最小化變異性,以獲得更好的對(duì)齊(測(cè)試階段),而我們做的增加了變異性,更好地捕獲了內(nèi)外觀變化(訓(xùn)練階段)。因此,為了生成每個(gè)人臉圖像的多個(gè)視圖,我們首先應(yīng)用人臉和標(biāo)記檢測(cè)器。根據(jù)這些檢測(cè)到的策略關(guān)鍵點(diǎn),我們使用3D通用人臉模型上標(biāo)記的人臉關(guān)鍵點(diǎn)2和關(guān)鍵點(diǎn)3之間的對(duì)應(yīng)關(guān)系來估計(jì)給定圖像中人臉的6自由度。同時(shí),我們還通過采樣不同角度的人臉,得到了新的合適的旋轉(zhuǎn)矩陣R或新的多視圖:
2.3 訓(xùn)練網(wǎng)絡(luò)架構(gòu)
為了進(jìn)行人臉識(shí)別,我們?cè)谘芯恐刑岢隽嘶贗mageNet訓(xùn)練的VGG16,用于圖像分類和人臉識(shí)別。為了提高CNN的表示能力,使用我們的新數(shù)據(jù)集對(duì)這個(gè)預(yù)訓(xùn)練模型進(jìn)行調(diào)優(yōu)是必要的一步。
2.4 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)中所有圖像的大小都為96963像素。整個(gè)數(shù)據(jù)集分為60%用于訓(xùn)練、20%用于驗(yàn)證和20%用于測(cè)試。
整個(gè)CNN模型在python中使用深度學(xué)習(xí)框架TensorFlow實(shí)現(xiàn)。采用分類前的預(yù)處理和比對(duì)程序,識(shí)別率由90%提高到96%。文中算法和Fisherface相比較,識(shí)別率更好,時(shí)間復(fù)雜度更低。實(shí)驗(yàn)如下表所示。
2.5 實(shí)驗(yàn)總結(jié)
綜上所述,與傳統(tǒng)的OpenCV分類器fisher-face相比,我們的基于深度學(xué)習(xí)的方法在有限的硬件資源上取得了令人滿意的結(jié)果,無論是速度還是準(zhǔn)確率都達(dá)到了最好的性能。我們的算法能夠以96%的準(zhǔn)確率實(shí)時(shí)識(shí)別人臉。
參考文獻(xiàn):
[1]楊巨成,劉娜,房珊珊,等.基于深度學(xué)習(xí)的人臉識(shí)別方法研究綜述[J].天津科技大學(xué)學(xué)報(bào),2016(6).
基金:西藏自然科學(xué)基金(XZ2017ZRG-53(Z));校內(nèi)重大培育(19MDZ03);陜西省教育廳專項(xiàng)(19JK0887);大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目(S201910695060);校內(nèi)教改項(xiàng)目(3110319061)