郭 偉,白文碩,曲海成
遼寧工程技術大學 軟件學院,遼寧 葫蘆島 125000
人臉識別的眾多先進算法大多都是基于實驗環(huán)境中,在可控的參數(shù)范圍中進行一系列的研究,并且取得了非常好的效果,但是真實環(huán)境中遮擋的存在大大限制了人臉識別的精度,很多算法對于遮擋人臉并不具有很高的識別率。遮擋主要分為物理遮擋、光照遮擋、姿態(tài)遮擋等,由于人臉識別的大部分算法都是基于特征描述,因此物理遮擋成為了識別精度最大的挑戰(zhàn)。要想使人臉識別技術在自然環(huán)境下也具有很高的效率及準確率,遮擋問題的解決是研究過程中不可避免的任務。
對于遮擋人臉的研究,國內(nèi)外學者從未停止過腳步,最早的Oh和Lee等人[1]利用改進局部特征的方法將未遮擋區(qū)域形成新的投影空間,在此新的投影空間上進行人臉識別,但是這種方法的人臉特征容易隨遮擋特征的舍棄而損失。而后,Wright等人[2]提出的基于稀疏表示的人臉識別方法(sparse representationbased classifier,SRC)是非常具有代表性的子空間回歸方法。將稀疏表示應用于人臉識別,把不同人臉的訓練樣本組合得到訓練樣本字典。而此訓練樣本字典是稀疏的,通過求解稀疏表示,利用重構誤差來判別測試樣本的類別,但是此算法對于特征并不敏感,而是依賴于圖像的維數(shù)。為此Wright等人進而提出魯棒的SRC 模型(robust sparse representation-based classifier,RSRC)[2],但是此類方法對于遮擋外的非人臉因素影響很敏感,容易導致魯棒分類器的混亂,引起局部混疊。SRC 和RSRC 都是建立在最小?1范數(shù)基礎上,因此對于維數(shù)過高時計算會很困難。胡正平等人[3]提出的Gabor特征集結合判別式字典學習的稀疏表示圖像識別將不同方向、不同角度的Gabor,通過降維增廣Gabor特征矩陣,學習該字典構成新的結構化字典,提高了對圖像光照遮擋、表情遮擋的識別率,但是對于圖像含有過多噪聲的情況算法性能不太理想。Dai等人[4]提出了結構化稀疏誤差編碼的遮擋人臉識別算法,這類方法考慮了實際遮擋形狀結構信息,提高了算法對于遮擋的魯棒性,但是不足的是對于樣本要求過高,要求訓練字典中不能存在遮擋,而現(xiàn)實中的大量遮擋人臉樣本無法利用。對于特征提取方面,主成分分析(principal components analysis,PCA)對于人臉特征的表示和提取以及在人臉復原方面有著很大的優(yōu)勢。Wei等人[5]提出的基于魯棒主成分分析(PCA)給出了人臉圖像訓練字典的學習方法,以及Luan等人[6]的研究完成了遮擋人臉的復原,但是此類方法太過于依賴訓練樣本,過少的訓練樣本將不能“稀釋”圖片的遮擋信息[7]。近年來深度學習的發(fā)展[8]使人臉識別算法有了突破性進展,具有代表性的有DeepID[9]、FaceNet[10]等。栗科峰等人[11]的融合深度學習與最大間距準則的人臉識別方法使用深度學習降低線性判別的誤差,最大間距準則獲取更有代表性的高層特征描述,但是這種方法在小范圍特征變化能夠取得很好效果,一旦特征變化范圍變大,算法并不能表現(xiàn)出很好的性能。很多學者致力于將深度學習應用到人臉識別中[12-13],研究發(fā)現(xiàn)[7]即使圖像遮擋部分較多,使用深度學習淺層特征仍然能夠有著非常好的效果,然而在遮擋存在位置不確定的情況下會嚴重影響算法性能,因此遮擋的存在比遮擋特征干擾對于算法有著更嚴重的影響,計算機視覺對遮擋的感知仍然是困難的,因此讓深度學習模型能夠以某種方法確定遮擋位置,勢必會提高遮擋人臉的識別率。相比于傳統(tǒng)算法,本文使用了簡潔高效的PCANet 深度模型,PCANet 模型把卷積核的獲取方式從手工設置改為自主學習,使之卷積之后即使只具有兩層的簡單結構,但是對于特征的表達仍有著非常好的效果。與此同時,本文為深度學習設計了遮擋存在判別,使深度模型提取特征時減少了遮擋特征的干擾,以此中心思想設計的算法能夠有效提高遮擋人臉識別的準確率。
隨著人工神經(jīng)網(wǎng)絡的研究,深度學習的概念被提了出來,而Chan等人[14]于2015年底提出的PCANet最重要的貢獻就是將子空間回歸引入深度學習,為卷積神經(jīng)網(wǎng)絡卷積核的學習提供了新的思路,又將卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)的卷積層引入經(jīng)典的“特征圖(feature map)-模式圖(pattern map)-柱狀圖(histogram)”的特征提取框架。本質(zhì)上,PCANet 是一個基于CNN 的簡化Deep Learning模型,具體結構如下。
(1)第一層(PCANet),如圖1。
Fig.1 PCANet first layer structure圖1 PCANet第一層結構
對于圖像的每個像素都用k1×k2的塊采樣進行采樣,然后級聯(lián)表示第i張圖片:
式(1)中,mn為圖像的高寬數(shù)值,采樣過后就變成了mn個k1×k2大小的Patch,將這些Patch去平均:
式(2)處理完了單張圖片的特征提取,將訓練集N張圖片進行以上操作就得到了矩陣Χ:
式(3)中,每列代表一個Patch,一共有Nmn列。對這個矩陣Χ進行PCA,假設濾波器的數(shù)量為L1個,尋找列的標準正交矩陣來最小化重構誤差。
所對應的濾波器如式(5),輸出圖像如圖2。
Fig.2 PCANet first layer image圖2 PCANet第一層圖像
(2)第二層(PCANet),如圖3。
Fig.3 PCANet second layer structure圖3 PCANet第二層結構
首先計算第一層的PCA映射輸出:
需要注意的是在此需要進行邊緣補零操作,以保證映射結果與原圖像大小相同。下面的操作與第一層相同,都是對輸入矩陣進行采樣、級聯(lián)、去平均,只不過這里的輸入矩陣是第一層的映射輸出,如式(7)。
所對應的第二層濾波器:
第一層具有L1個濾波器,產(chǎn)生L1個特征輸出矩陣,第二層針對第一層的每個特征輸出都會產(chǎn)生L2個特征輸出矩陣,因此兩層的PCANet最終對于每一個樣本,會產(chǎn)生L1×L2的特征輸出矩陣如式(9),輸出圖像如圖4。
Fig.4 PCANet second layer image圖4 PCANet第二層圖像
(3)輸出層
對第二層的每個輸出矩陣進行二值化哈希編碼,編碼位數(shù)與第二層濾波器相同。
這里H()是躍階函數(shù),λ=1,2,…,L2是第二層的濾波器數(shù)目。
將第一層的每個輸出矩陣分為B塊,統(tǒng)計每個塊的直方圖信息,然后級聯(lián)各個圖的直方圖特征如式(11),最終得到塊擴展直方圖特征,圖像如圖5所示,其中圖(a)、(b)為部分直方圖特征可視化圖像,圖(c)為級聯(lián)所有直方圖特征可視化圖像:
由此,就完成了對于一張圖片的特征提取。
本文針對人臉識別中的遮擋問題提出了一種PCANet 下的遮擋定位人臉識別算法,首先訓練一個特征點檢測分類器用于提取訓練集中的特征點,根據(jù)檢測結果截取人臉特征區(qū)塊,對每一類特征區(qū)塊分別進行PCANet特征提取,并根據(jù)現(xiàn)實中的主流遮擋情況進行特征拼接和補零操作,將操作之后的特征矩陣輸入SVM 分類,形成模型。針對不同遮擋情況,選擇不同特征區(qū)塊生成模型,組成模型組,此模型組基本上包括了所有自然環(huán)境中的遮擋情況。訓練一個遮擋檢測分類器,用于判別某一個人臉特征區(qū)塊是否屬于遮擋,進行遮擋定位,根據(jù)判別情況選擇調(diào)用相應的模型進行識別。簡單算法流程如下:
Fig.5 Histogram feature圖5 直方圖特征
(1)對于訓練集F(n)
含有n個樣本:
將訓練集進行特征點檢測,分塊:
其中,F(xiàn)l(n)、Fr(n)、Fn(n)、Fm(n)分別為左眼、右眼、鼻子、嘴的樣本。此時為同一張人臉的不同特征區(qū)塊打上相同的標簽。
進行PCANet特征提取得到區(qū)塊特征fleye、freye、fnose、fmouse。
根據(jù)實際遮擋類型將不同特征點組合拼接進行SVM訓練:
僅舉一例,后文會有更詳細敘述,Model為訓練好的模型,train為訓練過程,不同特征點組合訓練形成模型組,以此模型進行之后的識別工作。
(2)對于測試集G(m)
含有m個樣本:
進行特征點檢測,同上文得到Gl(m)、Gr(m)、Gn(m)、Gm(m)。
將樣本一一輸入遮擋檢測分類器,定位遮擋位置,并對于遮擋的區(qū)塊特征置0,其他特征組合拼接,進行特征提取,得到測試集的fleye、freye、fnose、fmouse。
根據(jù)遮擋的位置,選擇訓練階段不同的訓練模型進行SVM標簽預測。
其中,xLabel為預測到的標簽,也就是樣本最終歸屬類,predict為訓練過程。
算法流程如圖6所示。
本文使用AR數(shù)據(jù)集作為實驗圖片,對實驗圖片進行預處理,包括幾何歸一化,多余背景部分剪切,部分圖片調(diào)整大小,保證最終的訓練圖片干凈無遮擋,無大量多余背景,圖片大小為165×120。
本文基于Viola-Jones 算法[15]訓練了一個級聯(lián)分類器,使用Haar特征對人臉特征進行檢測提取,如圖7所示。由于檢測結果帶有坐標,因此很容易截取到所檢測的圖像,截取時調(diào)整大小,實驗后表明,各個特征點區(qū)塊調(diào)整如表1大小可以在保證紋理特征不變性的情況下方便計算。
截取后的圖像如圖7。
Fig.6 Algorithm process diagram圖6 算法過程簡圖
Fig.7 Intercepting each feature point image圖7 截取各特征點圖像
Table 1 Characteristic block size表1 特征區(qū)塊大小
本文使用PCANet深度學習模型進行特征提取,由于本文針對于人臉識別中的遮擋問題,以及涉及到后面特征對齊問題,對此深度學習模型進行如下的參數(shù)改動:
數(shù)據(jù)集輸入圖片大小調(diào)整為50×50;
直方圖重疊區(qū)域調(diào)整為0;
濾波塊大小長寬都調(diào)整為7。
以此參數(shù)為基礎,將左眼、右眼、鼻子、嘴等四類訓練數(shù)據(jù)集分別輸入四個PCANet深度學習模型,進行特征提取,訓練的每個模型對應一個特征點,每一類特征點數(shù)據(jù)集經(jīng)過PCANet 第一層淺層紋理提取和第二層深層語義提取,最終輸出特征f。
式中,右式分別代表左眼、右眼、鼻子、嘴的PCANet訓練后特征。此特征集合能夠完整地表示出一張人臉的所有特征。部分特征提取輸出如圖8所示。
Fig.8 Feature extraction image of each feature point圖8 各特征點的特征提取圖像
本文使用多分類支持向量機(SVM)訓練了一個遮擋檢測分類器,用于定位遮擋位置,分類器使用RBF 核函數(shù)作為轉(zhuǎn)換函數(shù),使用參數(shù)尋優(yōu)(SVMcg-ForClass)初步確定γ參數(shù)g和懲罰因子C,用十折交叉驗證對比不同的Cg組合尋找到最優(yōu)的參數(shù)C和g,使用所得最優(yōu)參數(shù)訓練SVM分類模型。細節(jié)數(shù)據(jù)在4.2節(jié)中具體敘述。
將圖片分為眼睛類、鼻子類、嘴類和遮擋類。使用此遮擋檢測分類器能夠?qū)⑤斎氲膱D片判斷是屬于特征類(眼睛、鼻子、嘴)還是屬于遮擋類(遮擋、背景)。
分類器訓練依照正負樣本數(shù)量可以分為兩類情況,由于共四類數(shù)據(jù)集,取其中一類作為正樣本,其余類作為負樣本,因此每個分類器聚類數(shù)為2。正負樣本又有如下情況:
(1)正樣本∶負樣本=1∶1
確定正樣本大小,將其余各類數(shù)據(jù)集平均抽取數(shù)據(jù)組合達到與正樣本相同大小,這樣做僅需一個懲罰因子C,并且在不丟失特征的情況下降低計算量,提高運存速度。
(2)正樣本∶負樣本=1∶n
將所有的正樣本類外的數(shù)據(jù)作為負樣本使用,這種情況為提高準確率應該為正負樣本取不同的懲罰因子C。好處是完整地利用了各類樣本集每一個樣本特征,缺點是大大增加了計算時間。
本文使用未被遮擋的各類特征點圖片、帶有遮擋的特征點圖片以及背景圖片作為訓練集,使輸出結果能夠明確區(qū)分某一特征點遮擋與否。例如,一張左眼的圖片輸入分類器,分類結果將其劃入眼睛類,說明此左眼沒有被遮擋,可以進行識別等操作。另一方面,如果某一數(shù)據(jù)分類結果劃入遮擋類,說明此特征點區(qū)塊存在遮擋,則不參與后續(xù)識別任務。具體如圖9所示。
Fig.9 Block detection classifier classification diagram圖9 遮擋檢測分類器分類簡圖
經(jīng)過遮擋檢測分類器的判別,可以明確知道一張完整人臉哪個特征點區(qū)塊被遮擋,哪些未被遮擋,這些信息是后面選擇模型進行識別時的基礎。
本文使用線性支持向量機調(diào)用libsvm[16]庫,為數(shù)據(jù)特征進行SVM模型訓練。對于有遮擋人臉識別任務,由于每張測試數(shù)據(jù)遮擋位置的不同,識別它的模型也應做相應改變,如果每個數(shù)據(jù)都要根據(jù)具體遮擋情況進行模型訓練,單張識別速度會變得極慢,效率也會急劇降低。
針對此情況,以及根據(jù)現(xiàn)實中實際人臉發(fā)生遮擋高頻區(qū)域,將遮擋情況進行分類,分別訓練模型,最后再組合,形成模型組。此模型組基本包括了自然環(huán)境中所有類型遮擋造成的特征差異情況。測試時,單張數(shù)據(jù)集在經(jīng)過遮擋檢測分類器后,確定遮擋位置,調(diào)用不同模型進行識別,大大增加了識別速度以及算法效率。
現(xiàn)實環(huán)境中高頻發(fā)生的遮擋主要有面部上方遮擋,主要是長發(fā)、墨鏡遮擋等;還有面部下半?yún)^(qū)遮擋,主要有圍巾、口罩等。
將每類特征點區(qū)塊提取的特征f集合,記為F,作為模型訓練的輸入。并在此部分對訓練集進行添加標簽處理,一張人臉的不同特征點圖片添加為一類標簽。
式中,F(xiàn)代表各類特征點的特征集合,N為訓練集的數(shù)目。
對于面部上方遮擋類型,視為左眼、右眼被遮擋,意味著此部分不參與識別。將視為遮擋部分的特征置零,并用和該特征表示矩陣相同大小的零矩陣將其補齊,這樣就保證了測試集識別過程中所提取的特征和進行模型訓練的特征維數(shù)相同,將訓練過后的特征進行拼接,如式(14)。
其中,F(xiàn)1表示眼睛遮擋模型訓練的訓練輸入,放入SVM中進行模型訓練,輸出為Model1。Model1為完成針對眼睛遮擋測試數(shù)據(jù)的識別任務。
對于面部下方遮擋,與上文思想相同,針對圍巾、口罩等遮擋進行SVM 模型訓練。訓練兩個模型Model2、Model3,如式(15)、式(16)。
其中,F(xiàn)2表示嘴部遮擋后的模型訓練輸入,其輸出為Model2。能夠完成測試數(shù)據(jù)為嘴部遮擋的識別任務。
其中,F(xiàn)3表示嘴和鼻子遮擋的模型訓練輸入,輸出為Model3,完成相應的遮擋識別任務。
以上模型都是保留兩個以上的特征點,所遮擋的特征點也是自然環(huán)境中最容易發(fā)生遮擋的位置,另外一些極端情況下的識別效果,后文也會有提及。
(1)時間復雜度:由于算法各功能部分采用順序結構,因此分別估算部分重要代碼的時間復雜度,采用加法則得到總時間復雜度。
特征點檢測:T1(n)=O1(1)
特征提?。篢2(n)=O(n4+n3+n2+3n+1)=O2(n4)
SVM訓練:T3(n)=O3(n)
識別過程:T4(n)=O(n4+3n+1)=O4(n4)
總時間復雜度:T(n)=T1(n)+T2(n)+T3(n)+T4(n)=O(2n4+n+1)=O(n4)
(2)空間復雜度:算法耗費存儲空間最大時是在訓練和識別過程前預分配樣本存儲的存儲空間。
空間復雜度:S(n)=O(2n)=O(n)
本文的特征點檢測實驗數(shù)據(jù)取自AR數(shù)據(jù)集,取干凈無遮擋特征點區(qū)塊作為正樣本,其他非特征點或者非特定特征點的圖片作為負樣本。例如,手動截取鼻子特征作為正樣本,而其他如背景、遮擋以及其他特征點(眼睛、嘴)都作為負樣本進行訓練,生成不同的.xml 文件針對不同特征點的檢測。抽取部分檢測結果,如圖10所示。
Fig.10 Part results of feature detection圖10 特征檢測部分結果
本文遮擋檢測實驗的實驗數(shù)據(jù)取自YaleB 人臉數(shù)據(jù)庫,因為此數(shù)據(jù)庫包含數(shù)據(jù)量大,可以更好地完成訓練任務,有效防止欠擬合。使用傳統(tǒng)二分類方法構造多分類器,例如對于眼睛的分類,將眼睛區(qū)塊作為正樣本,其余特征點和遮擋區(qū)塊作為負樣本,尋找最優(yōu)平面來僅僅區(qū)分這兩類,對于鼻子、嘴以及遮擋、背景同樣適用這種方法,訓練四個分類器組合成多分類分類器,測試數(shù)據(jù)分別輸入四個分類器,會有四種結果,取其中值最大者作為分類結果。
SVMcgForClass設置參數(shù)如表2所示。
Table 2 Parameters of SVMcgForClass表2 SVMcgForClass參數(shù)
以眼睛類作為正樣本,其余類作為負樣本。
(1)正樣本∶負樣本=1∶1
經(jīng)過參數(shù)尋優(yōu)得到C=0.5,g=0.032,尋優(yōu)過程如圖11。
得到C和g之后,使用十折交叉驗證得到穩(wěn)定準確率,并在其取值范圍左右與其他Cg取值組合進行對比。
不同g的取值(C=0.5),準確率如表3。
Table 3 Accuracy of different g when C=0.5表3 C=0.5時不同g的準確率
由實驗結果可知,g在0.010~0.039取值范圍中識別率最高。
不同C的取值(g=0.032),準確率如表4。
Table 4 Accuracy of different C when g=0.032表4 g=0.032時不同C的準確率
結果可知,C在0.23以上取得最高準確率。但C不應取太高,容易發(fā)生過擬合。
(2)正樣本∶負樣本=1∶n
本文使用正樣本∶負樣本為1∶3,經(jīng)過參數(shù)尋優(yōu)得到C=1,g=0.032。尋優(yōu)過程如圖12。
由于正負樣本數(shù)據(jù)量不同,根據(jù)正負樣本數(shù)量比例,為正負樣本分別設置不同的懲罰因子,為C1∶C-1=1∶3。
從以上C、g數(shù)值的左右范圍取值進行十折交叉驗證。
Fig.12 1∶3 parameter optimization process圖12 1∶3參數(shù)尋優(yōu)過程
不同g的取值(C1=1,C-1=3),準確率如表5。
Table 5 Accuracy under different g表5 不同g取值下的準確率
由表5可知,g取0.020時準確率達到100%,但是在0.020~0.032之間取值都是可以接受的。
不同C的取值(g=0.029),準確率如表6。
Table 6 Accuracy under different C1C-1表6 不同C1C-1取值下的準確率
由表6可知,C1取值范圍在1.0以上時能夠達到很高的識別率。還是預防過擬合問題,C1、C-1不應取值太高。
根據(jù)得到的最優(yōu)C、g訓練模型,進行模型預測,本文中使用800個樣本作為訓練樣本,200個作為測試樣本,進行多次實驗,得到實驗結果如表7。
綜合以上實驗可知,訓練的遮擋檢測分類器,無論樣本集正負樣本大小是否相同,只要參數(shù)選擇合適,都能夠達到非常好的分類效果??梢愿鶕?jù)不同的實際樣本情況靈活運用,而實驗表明,參數(shù)C和g只在一定的取值范圍中不敏感,除去上文所述范圍,參數(shù)的變化都會影響分類器的性能。由于數(shù)據(jù)量的增大,以及分類器參數(shù)設置和本身性能的原因,無法達到100%的識別率,存在極小的誤檢,這種誤檢可能會對后面模型組的調(diào)用產(chǎn)生影響,但是因為誤檢率很低并且模型組是由兩個以上的特征點特征訓練組成,所以能夠把特征點誤檢造成的錯誤識別降到最低。
Table 7 Experimental results of feature point detection表7 特征點檢測實驗結果
本文的實驗數(shù)據(jù)取自AR 數(shù)據(jù)集,包括100個人臉(50男人、50女人),每個人包括無遮擋干凈人臉、姿態(tài)變化、光照變化、各類遮擋變化等26張圖片。訓練集取每個人臉中沒有遮擋的圖片8張,這些圖片里包括表情變化和光照變化的圖片共4張,保證在特征點清晰干凈的情況下,提高算法對于姿態(tài)、光照的魯棒性。
對測試數(shù)據(jù)進行標簽化處理,結合遮擋判別分類器進行實驗,測試集使用訓練好的PCANet深度學習模型提取特征,通過遮擋判別分類器確定特征點是否被遮擋,從而調(diào)用模型組中不同模型進行預測,由于測試數(shù)據(jù)樣本數(shù)遠遠小于特征維數(shù),因此使用線性核作為分類器核函數(shù),懲罰因子C默認為1。使用基于最小二乘支持向量機的標簽預測進行識別。本文實驗取數(shù)據(jù)集中墨鏡遮擋圖片、圍巾遮擋圖片以及自添加遮擋圖片(對圍巾遮擋圖片手動添加鼻子遮擋),并與傳統(tǒng)PCANet算法、SRC和Gabor-SRC[17]進行對比。實驗結果如表8所示。
圍巾遮擋不同算法識別率如圖13所示。
對算法進行十折交叉驗證。使用crossvalind 函數(shù)為訓練數(shù)據(jù)分包,對不同類型遮擋的數(shù)據(jù)集分為訓練集和驗證集,評價算法的穩(wěn)定性和準確性。初始數(shù)據(jù)為400個樣本,分包之后360個樣本作為訓練集,40個樣本作為驗證集。分別對上文遮擋類型進行十折交叉驗證,并取其平均值,其中,圍巾遮擋1次十折交叉驗證如圖14。
Table 8 Experimental results of facerecognition rate with occlusion表8 有遮擋人臉識別率實驗結果 %
Fig.13 Recognition rate of different algorithms for scarf occlusion圖13 圍巾遮擋不同算法識別率
Fig.14 One time result of 10-fold cross-validation for scarf occlusion圖14 圍巾遮擋1次十折交叉驗證結果
本文為不同遮擋類型分別作了10次十折交叉驗證,取平均值如表9所示。
在交叉驗證期間,出現(xiàn)的準確率最低為87.5%,最高為100.0%,算法在一定范圍內(nèi)準確率變化相對穩(wěn)定,并且準確度比較高。
Table 9 Average accuracy of 10-fold cross-validation表9 十折交叉驗證平均正確率 %
引入誤識率(false acceptance rate,F(xiàn)AR)和拒識率(false rejection rate,F(xiàn)RR)作為算法性能評價指標。對于本文算法,通過調(diào)整懲罰因子C來達到調(diào)節(jié)相似度的目的,事實上,當C=1左右,算法性能基本能達到最優(yōu),以此參數(shù)調(diào)節(jié)的相似度作為閾值與其他算法比較,算法評價如表10所示。
Table 10 Each algorithm result of FAR and FRR表10 各算法FAR、FRR結果 %
正確接受正樣本比率TAR(true acceptance rate)=1-FRR,一般使用FAR=0.001 00作為參考。由結果可知,算法的TAR=98%@FAR=0.001 00,Gabor-SRC 也能夠達到不錯的準確率,而傳統(tǒng)PCANet方法在沒有經(jīng)過特征點檢測分類模型去除遮擋特征的情況下只能達到80%左右。分析:由于傳統(tǒng)算法只著重于深層次的特征來表達圖像,但是這樣對于遮擋特征在處理后很容易和人臉特征相混淆,而遮擋特征又具有一定的相似性,因此容易把遮擋特征當作關鍵特征進行分類,而本文在保留深層特征提取方式的前提下,把遮擋特征檢測出來使之不會對人臉特征造成影響,這是在FAR較低的同時,TAR又能取得較好效果的原因。
上述實驗證明,在具有3個特征點未被遮擋的情況下,算法具有非常高的識別精度,在具有兩個特征點的情況下也具有很好的識別效果,并以十折交叉驗證驗證了算法的準確性。值得一提的是,在自添加遮擋的情況下,只有左眼、右眼作為特征進行識別,但是也取得了很好的效果,能夠說明眼睛的紋理特征對于人臉更具有識別性。
對于某些極端情況,即只保留了一個特征點,在自然環(huán)境中存在,但是出現(xiàn)不多,因此在此節(jié)單獨進行實驗,分別針對單個特征點進行PCANet特征提取以及模型訓練,實驗結果如表11所示。
Table 11 Experimental results of extreme face recognition rate表11 極端人臉識別率實驗結果 %
由于在模型訓練階段,刻意挑選具有表情變化以及光照變化的訓練數(shù)據(jù)進行訓練,本文算法對其具有一定的魯棒性,本文對未使用表情、光照變化的樣本也進行訓練,通過對比得出算法對于具有上述變化的樣本圖片能夠有效提高其識別率。實驗結果如表12所示。
Table 12 Experimental results on recognition rate of images with light and expression changes表12 光照、表情變化圖片識別率實驗結果 %
在將光照、表情圖片加入訓練樣本進行訓練后,得到的分類器對光照、表情變化的人臉識別率有著部分提高,相比于著重提高光照表情變化魯棒性的文獻[11]算法雖然光照變化識別率稍低,但是表情變化圖片的識別率并未相差太多。由于算法依賴于特征點特征,而將表情變化引起的特征變化作為訓練數(shù)據(jù)輸入,能夠有效提高對于表情變化的識別率。而且基于PCANet 神經(jīng)元本身對于光照具有很強的魯棒性,因此總體上即使幅度較小,但是仍具有一定的魯棒性。
本文提出一種PCANet 下的遮擋定位人臉識別算法,用深度學習模型結合遮擋檢測來定位遮擋位置并進行特征提取,運用libSVM進行模型訓練,形成模型組用于解決有遮擋人臉的識別任務。經(jīng)過實驗,本文算法對于自然環(huán)境中常見遮擋具有很高的識別率,對于一些極端遮擋也具有很好的效果,并對光照、表情具有一定的魯棒性。