王菽裕 吳思 靳瑋琨 關琛夕 王蒙 畢冰潔



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