1. 程式人生 > >論文理解:基於卷積神經網路的人臉識別方法

論文理解:基於卷積神經網路的人臉識別方法

本文是對陳耀丹、王連明的基於卷積神經網路的人臉識別方法的理解。
摘要:實現了一種基於卷積神經網路的人臉識別方法,該網路由兩個卷積層,兩個池化層、一個全連線層和一個softmax迴歸層組成,它能自動提取人臉特徵並進行分類,網路通過批量梯度下降法訓練特徵提取器和分類器,各隱層應用“dropout”方法解決了過擬合問題,應用於ORL和AR人臉資料庫的人臉識別率分別達到99.50%和99.62%,識別單張人臉的時間均小於0.05s,並且對光照差異、面部表情變化、有無遮擋物等干擾具有魯棒性

目前人臉識別演算法大致可分為兩類:
(1)基於表象的方法。基本的思想是將二維的人臉輸入轉換到另一個空間,然後用統計方法分析人臉模式,例如eigenface、fisherface和SVM等方法。
(2)基於特徵(feature-based)的方法,一般是提取區域性或者全域性特徵,然後送入一個分類器進行人臉識別,例如基於集合特徵的識別和HMM等方法。

卷積神經網路是一個受生物視覺啟發、以最簡化預處理操作為目的的多層感知器的變形,本質是一個前向反饋神經網路,卷積神經網路與多層感知器的最大區別是網路前幾層由卷積層和池化層交替級聯組成,模擬視覺皮層中用於高層次特徵提取的簡單細胞和複雜細胞交替級聯結構。

卷積層的神經元對前一層輸入的一部分割槽域(稱為區域性感受野,區域之間有重疊)有響應,提取輸入的更高層次特徵;池化層的神經元對前一層輸入的一部分割槽域(區域之間無重疊)求平均值或最大值,抵抗輸入的輕微形變或者位移。卷積神經網路的後幾層一般是若干個全連線層和一個分類器構成的輸出層。

卷積神經網路用於人臉識別是一種基於特徵的方法,區別於傳統的人工特徵提取和針對特徵的高效能分類器設計,它的優點是通過逐層卷積降維進行特徵提取,然後經過多層非線性對映,使網路可以從未經特殊處理的訓練樣本中,自動學習形成適應該識別任務的特徵提取器和分類器,該方法降低了對訓練樣本的要求,而且網路的層數越多,學習到的特徵更具有全域性性。

LeNet-5是LeCun提出的一個具有高識別率的用於手寫數字的卷積神經網路,本文借鑑LeNet-5的模型結構,提出6層卷積神經網路用於ORL人臉庫和AR人臉庫的人臉識別,網路前4層由卷積層和池化層交替級聯用於特徵提取隨後接入一個全連線層,最後一層採用非線性分類能力強的Softmax分類器,該6層卷積神經網路採用sigmoid啟用函式和固定的學習速率。

這裡寫圖片描述
本文提出的6層卷積神經網路由2個卷積層、2個池化層、1個全連線層和1個Softmax迴歸層組成。卷積層和池化層由多個特徵圖(即二維平面)組成,每個特徵圖由多個神經元組成,每一層的特徵圖作為下一層的輸入,卷積層的特徵圖可能與前一層的若干特徵圖建立關係。

關於卷積層:
卷積層通過區域性連線和權值共享的方法,模擬具有區域性感受野的簡單細胞,提取一些初級視覺特徵的過程。區域性連線指卷積層上的每一個神經元與前一層特徵圖中固定區域的神經元建立連線;權值共享指同一特徵圖中的神經元用一組相同的連線強度與前一層區域性連線,可以減少網路訓練引數,上述一組相同的連線強度即為一個特徵提取器,在運算的過程中變現為一個卷積核,卷積核數值先隨機初始化,最後由網路訓練確定。

人臉比數字識別更加複雜,卷積層為了更充分提取人臉特徵進行了以下改進:(1)增加2個卷積層的特徵提取器——卷積核的數量;(2)卷積層2的特徵圖與池化層1的全部特徵圖均建立關係。

卷積層每個神經元的輸入來自於前一層特徵圖中固定區域的神經元,區域的大小由卷積核大小決定,卷幾層1的m張特徵圖由1張輸入圖片跟m個可學習的卷積核卷積,加上偏置後,通過啟用函式作用得到卷積層2的n張特徵圖,由池化層1的m張特徵圖分別跟n*m個卷積核卷積,每m個卷積結果結合,再加上偏置,通過啟用函式作用得到。

關於池化層
池化層模擬複雜細胞是將初級的視覺特徵篩選並結合成更高階、抽象的視覺特徵的過程,在網路中通過取樣實現,經過池化層的取樣後,輸出特徵圖的數量不變,但是特徵圖的尺寸會變小,有減小計算複雜度、抵抗微小位移變化的作用。
本文提出的池化層採用做大值取樣,取樣大小為2*2,即把輸入的特徵圖分割成不重疊的2*2大小的矩形,對每個矩形取最大值,所以輸出特徵圖的長和寬均是輸入特徵圖的一半,本文定義池化層中的神經元不具備學習功能。

關於全連線層
為了增強網路的非線效能力,同時限制網路規模的大小,網路在4個特徵提取層提取特徵後,接入一個全連線層,該層的每一個神經元與前一層的所有神經元互相連線,同層神經元之間不連線。

關於Softmax迴歸層
LeNet-5最後一層是RBF分類器,採用由ASCII碼錶中的數字作為模板算出的糾錯碼或者以等概率的方式任選-1和1作為RBF的權值,每個RBF輸入單元計算輸入特徵和引數向量之間的歐式距離,但是人臉特徵比數字特徵更復雜,而且人臉類別多又沒有統一的模板,所以網路的最後一層採用非線性分類能力強的Softmax迴歸作為分類器。
這裡寫圖片描述

網路訓練
1.資料預處理
ORL人臉庫由40人的400張圖片組成,即每人10張圖片,人臉有表情、微小姿態等變化.取AR人臉庫的一個子集,由男、女各50人組成的2600張圖片,即每人的圖片為26張,人臉有表情、遮擋、光照等變化。
對兩個資料庫同做以下處理,隨機抽取庫中90%的人臉作為訓練集,剩下的10%的人臉作為測試集,然後標準化2個集合中的人臉。
這裡寫圖片描述
“min-max”標準化灰度值,即對圖片中每個畫素點的灰度值標準化為[0,1]。用x和x’分別表示當前和標準化後的灰度值,min和max分別表示圖片的最小和最大的灰度值,標準化公式為:
x’=(x-min)/(max-min)

網路訓練演算法
由於2個人臉庫訓練樣本較多,本文采用的是在實踐中收斂速度較快的批量隨機梯度下降法.對於
ORL人臉庫的卷積神經網路的訓練,批處理塊大小為40,動量為0.9,學習速率恆為0.12;對於AR人臉庫的卷積神經網路的訓練,批處理塊大小為65,動量為0.9,學習速率恆為0.15.每次迭代會遍歷訓練
集的所有批處理塊,遍歷完一個批處理塊更新一次網路引數.更新公式為
這裡寫圖片描述
本文用於ORL人臉庫的某個卷積神經網路包含104.210*10^4個待訓練引數;用於AR人臉庫的某個卷積神經網路包含150.266*10^4個待訓練引數。針對引數遠大於訓練樣本數量可能導致的過擬合問題,Hinton提出了“dropout”,即在網路訓練時以一定的概率p(0<=p<=1)將輸入層或者隱層的神經元輸出置為0,被置為0的神經元不再參與網路的前向傳播和誤差反向傳播,而在測試時,將該輸入層或者隱層的神經元輸出乘以p作為該層的輸出。由於每輸入一張圖片網路中神經元被隨機置為0,所以就要求隱層神經元必須提取圖片中最本質的特徵,因此可以用“dropout”類解決過擬合問題。

實驗結果
本文采用Windows XP下的matlab 2010a作為實驗環境,計算機CPU為3.3GHz的Intel i3-3220,記憶體為4GB,2個卷積層中卷積核的大小為5*5,2個取樣層採用最大池化,取樣大小為2*2,啟用函式採用sigmoid函式。
網路權值採用高斯初始化,網路閾值初始化為0,網路的代價函式為J(θ)。
卷積層、全連線層和Softmax迴歸層均採用“dropout”方法,概率p分別為0.5,0.2和0.5 。
6層卷積神經網路模型可以簡單描述為“a-b-c”,a表示卷積層1有a個卷積核,經過該層得到a張特徵圖,再經過池化層1取樣得到縮小的a張特徵圖;b表示卷積層2有b*a個卷積核,經過該層得到b張特徵圖,再經過池化層2取樣得到縮小的b張特徵圖;c表示全連線層的神經元個數,輸出層神經元個數是人臉庫的模式類個數。本文采用分別改變全連線層神經元個數c和2個卷積層的特徵圖數量a和b,找到最適合2人臉庫的網路模型。

改變全連線層神經元個數對網路的影響
ORL人臉庫的6層神經網路用20-40-300,20-40-500,20-40-800,20-40-1100,20-40-1500模型測試,AR人臉庫的6層卷積神經網路用20-40-800,20-40-1000,20-40-1500,20-40-2000模型測試。

結果
對於ORL人臉庫,最佳的卷積神經網路模型為20-40-1500;對於AR人臉庫,最佳的卷積神經網路模型為20-40-2000.增加全連線層神經元個數可以加快網路的訓練速度,在一定程度內能提高正確識別率。

改變2個卷積層特徵圖數量對網路的影響
ORL人臉庫的6層卷積神經網路用10-15-1500,15-15-1500,15-25-1500,20-30-1500,20-40-1500模型測試。AR人臉資料庫的6層神經網路用15-25-2000,15-30-2000,20-30-2000,20-40-2000模型測試。

結果:對於ORL人臉庫,最佳的卷積神經網路模型為20-40-1500;對於AR人臉庫,最佳的卷積神經網路模型為20-40-2000,適當增加捲積層特徵圖數量可以提高正確識別率。

比較:
20-40-1500的卷積神經網路模型對ORL人臉庫群補樣本的識別率是99.50%,20-40-2000的卷積神經網路模型對AR人臉庫全部樣本的識別率為99.62%。本文提出的網路在2個人臉庫上的識別率較好,並且網路抵抗光照差異、面部表情變化、有無遮擋物等的干擾的能力較強。
本次實驗採用Matlab2010a作為實驗環境,在CPU為3.3GHz的Intel i3-3220,記憶體為4GB的計算機上,ORL個AR人臉庫的單張人臉識別時間均小於0.05s,識別實時性好,為人臉識別提供一種新思路。