本發(fā)明涉及人工智能領(lǐng)域,尤其是涉及一種復雜環(huán)境下基于t分布的人臉快速識別方法。
背景技術(shù):
人臉識別作為智能識別領(lǐng)域中的應用,根據(jù)人臉特有的生物特征信息,結(jié)合圖形圖像處理技術(shù)和模式識別技術(shù)來對人的身份進行識別鑒定,安全性及可靠性較高因此擁有強烈的市場需求,近幾年來在門禁與考勤、網(wǎng)絡(luò)安全、海關(guān)邊檢、物業(yè)管理、智能身份識別、駕照證檢驗、計算機系統(tǒng)登錄等方面已有相應發(fā)展。
為了實現(xiàn)識別算法的最優(yōu)性能,近年來的研究已經(jīng)清楚地認識到,人臉識別領(lǐng)域仍存在著一些重要挑戰(zhàn),相比較已經(jīng)取得可靠結(jié)果的人臉檢測、特征點定位等,人臉識別屬于較復雜的人臉分析實驗,不應該仍在過于簡單的數(shù)據(jù)集上進行實驗。應該考慮復雜情況并保證多樣性干擾,各復雜因素所占比例均等的情況,同時要能解決簡單數(shù)據(jù)集中也可能存在的問題。鑒于目前的挑戰(zhàn),以及深度學習過程中對數(shù)據(jù)的大量需求,主要困難就是缺乏在未約束環(huán)境下的數(shù)據(jù)集。因此在人臉識別方法的長遠發(fā)展中,應該考慮影響因素混雜的復雜環(huán)境下,尤其是同時在數(shù)據(jù)集有限的條件下,如何提高識別性能才是當前發(fā)展的難點。
縱觀深度學習的發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化而來的算法,目前主要流行的發(fā)展方向是基于四個方面:增加網(wǎng)絡(luò)的深度、寬度;增大數(shù)據(jù)量;隱藏層聯(lián)立;添加其他信號,要利用神經(jīng)網(wǎng)絡(luò)發(fā)揮其作用,應該針對適用背景選擇具體方面進行改進和優(yōu)化。在網(wǎng)絡(luò)結(jié)構(gòu)趨向復雜的同時,必然對計算復雜度和時間復雜度產(chǎn)生影響,因此還存在著效率和性能難以兩全的難題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述問題提供一種復雜環(huán)境下基于t分布的人臉快速識別方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
一種復雜環(huán)境下基于t分布的人臉快速識別方法,所述方法包括樣本訓練步驟和人臉識別步驟,所述樣本訓練步驟具體為:
a1)通過卷積神經(jīng)網(wǎng)絡(luò),對訓練樣本進行特征提取,得到特征樣本(x1,x2,…,xn);
a2)通過t分布非線性投影,將特征樣本投影至低維空間,得到低維空間的訓練樣本(y1,y2,…,yn)和降維路徑參數(shù);
所述人臉識別步驟具體為:
b1)通過卷積神經(jīng)網(wǎng)絡(luò),對待識別圖片進行特征提取,得到待識別圖片的特征樣本r;
b2)根據(jù)步驟a2)的降維路徑參數(shù),將步驟b1)提取的待識別圖片的特征樣本r投影至低維空間,得到低維空間的測試樣本s;
b3)通過分類器將步驟a2)得到的低維空間的訓練樣本(y1,y2,…,yn)和步驟b2)得到的測試樣本s進行分類識別,得到識別結(jié)果。
所述步驟a1)具體為:
a11)對訓練樣本進行預處理,得到預設(shè)大小的輸入圖像;
a12)將步驟a11)得到的輸入圖像通過卷積層,得到具備局部信息表達的特征樣本;
a13)對步驟a12)得到的具備局部信息表達的特征樣本通過聯(lián)立層,得到特征樣本(x1,x2,…,xn)。
所述步驟a13)具體為:
a131)對步驟a12)得到的具備局部信息表達的特征樣本進行聯(lián)立卷積,得到基于全局的特征樣本;
a132)對步驟a131)得到的基于全局的特征樣本通過relu進行線性修正,得到修正后的特征樣本;
a133)對步驟a132)得到的修正后的特征樣本通過dropout進行輸出的稀疏化處理,得到特征樣本(x1,x2,…,xn)。
所述步驟a1)還包括:對得到的特征樣本進行pca降維,得到初始維度下的特征樣本。
所述步驟a2)具體為:
a21)記錄初始循環(huán)次數(shù)為0,隨機初始化低維空間中的對應點集(y1,y2,…,yn),根據(jù)高斯分布計算特征樣本中的點xi間的相似度矩陣p;
a22)根據(jù)步驟a21)得到的相似度矩陣p,結(jié)合t分布計算得到權(quán)重gains(iter)和相似度總值nums,并計算增量incs,根據(jù)增量更新低維空間中對應點yi的值,并對循環(huán)次數(shù)加1;
a23)判斷循環(huán)次數(shù)是否達到預設(shè)次數(shù),若是則結(jié)束循環(huán),得到低維空間的訓練樣本(y1,y2,…,yn)、權(quán)重gains(iter)和相似度總值nums,若否則返回步驟a22)。
所述步驟a22)具體為:根據(jù)t分布計算低維空間中的對應點yi間的相似度矩陣q,根據(jù)定義的代價函數(shù)在相似度矩陣p、q間的kl距離建立懲罰機制,求yi求偏導得到對應的梯度,根據(jù)梯度的最優(yōu)解在點yn更新權(quán)重gains(iter),根據(jù)相似度矩陣q中所有相似度之和更新相似度總值nums,計算增量incs,根據(jù)增量incs更新低維空間中對應點yi的值,并對循環(huán)次數(shù)加1。
所述定義的代價函數(shù)具體為:
其中,pij為點xi和點xj之間的相似度,qij為點yi和點yj之間的相似度,p為高維空間原點間的相似度矩陣,q為低維空間映射點間的相似度矩陣。
所述根據(jù)增量incs更新低維空間中的對應點yi的值具體為:
yi=y(tǒng)i+incs。
所述步驟b2)具體為:
b21)記錄初始循環(huán)次數(shù)為0,隨機初始化低維空間中的對應點s,根據(jù)高斯分布計算待測特征樣本r與訓練樣本原點xi間的相似度矩陣r;
b22)根據(jù)t分布計算待測特征樣本s與訓練樣本映射點yi間的相似度矩陣s,根據(jù)步驟a22)中記錄的權(quán)重gains(iter)和相似度總值nums,更新增量incs',根據(jù)增量incs'更新低維空間中的對應點si的值,并對循環(huán)次數(shù)加1;
b23)判斷循環(huán)次數(shù)是否達到預設(shè)次數(shù),若是則結(jié)束循環(huán),得到低維空間的測試樣本(s1,s2,…,sn),若否則返回步驟b22)。
所述t分布計算的自由度為9。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
(1)通過將非線性降維方法融入到卷積神經(jīng)網(wǎng)絡(luò)中,對高維深度特征進行降維,從而實現(xiàn)降維后的特征樣本的簡化,降低計算量的同時也可以加速后續(xù)分類識別的效率。
(2)t分布具有聚類特性,可以與卷積神經(jīng)網(wǎng)絡(luò)的聯(lián)立層連接,學習深度特征子空間中仍存在的線性不可分結(jié)構(gòu),并將局部線性不可分結(jié)構(gòu)通過流行學習的方法映射至線性可分的低維子空間中,實現(xiàn)更優(yōu)于高維空間的聚類效果,在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上優(yōu)化了人臉識別的性能,提高識別精度,從而提供更具可識別特性的人臉特征信息。
(3)人臉識別步驟中按照樣本訓練步驟中得到的路徑進行降維,與訓練樣本的降維過程一致,實現(xiàn)了僅針對待測樣本的局部映射迭代,降低了時間復雜度,從而提高了整個待測圖片的識別過程中的靈活性和快速性。
(4)在利用t分布對訓練樣本和待識別圖片進行降維之前,首先通過pca降維至訓練特征樣本數(shù),在對數(shù)據(jù)規(guī)范化的基礎(chǔ)上降低了后續(xù)降維的計算復雜程度,保證了后續(xù)迭代過程的速度。
(5)利用t分布非線性投影將高維空間的特征映射至低維空間上,同時不斷進行迭代更新映射結(jié)果,增強了映射的準確程度,從而增強了識別精度。
(6)根據(jù)實驗表明,采取自由度為9的t分布計算實現(xiàn)降維,實現(xiàn)的降維效果最優(yōu),繼而對應的識別效果也為最優(yōu)。
附圖說明
圖1為本發(fā)明的方法流程圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細說明。本實施例以本發(fā)明技術(shù)方案為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
復雜環(huán)境下基于t分布的人臉快速識別方法的流程圖如圖1所示。該方法包括樣本訓練步驟和人臉識別步驟,樣本訓練步驟具體為:
a1)通過卷積神經(jīng)網(wǎng)絡(luò),對訓練樣本進行特征提取,得到特征樣本(x1,x2,…,xn):
a11)對訓練樣本進行預處理,得到預設(shè)大小的輸入圖像;
a12)將步驟a11)得到的輸入圖像通過卷積層,得到具備局部信息表達的特征樣本;
a13)對步驟a12)得到的具備局部信息表達的特征樣本通過聯(lián)立層,得到特征樣本(x1,x2,…,xn):
a131)對步驟a12)得到的具備局部信息表達的特征樣本進行聯(lián)立卷積,得到基于全局的特征樣本;
a132)對步驟a131)得到的基于全局的特征樣本通過relu進行線性修正,得到修正后的特征樣本;
a133)對步驟a132)得到的修正后的特征樣本通過dropout進行輸出的稀疏化處理,得到特征樣本(x1,x2,…,xn);
上述步驟完成后,還可以對得到的特征樣本進行pca降維,得到初始維度下的特征樣本;
a2)通過t分布非線性投影,將特征樣本投影至低維空間,得到低維空間的訓練樣本(y1,y2,…,yn)和降維路徑:
a21)記錄初始循環(huán)次數(shù)為0,隨機初始化低維空間中的對應點集yi,根據(jù)高斯分布計算原點xi間的相似度矩陣p;
a22)根據(jù)自由度為9的t分布計算低維空間中映射點yi間的相似度q,根據(jù)定義的代價函數(shù)更新權(quán)重gains(iter)和樣本總值nums,計算增量incs,根據(jù)增量incs更新低維空間中的對應點yi的值,并對循環(huán)次數(shù)加1;
a23)判斷循環(huán)次數(shù)是否達到預設(shè)次數(shù),若是則結(jié)束循環(huán),得到低維空間的訓練樣本(x1,x2,…,xn)、權(quán)重gains(iter)和樣本總值nums,若否則返回步驟a22);
其中,定義的代價函數(shù)具體為:
其中,pij為點xi和點xj之間的相似度,qij為點yi和點yj之間的相似度,p高維空間原點間的相似度矩陣,q為低維空間映射點間的相似度矩陣;
根據(jù)增量incs更新低維空間中的對應點yi的值具體為:
yi=y(tǒng)i+incs
人臉識別步驟具體為:
b1)通過卷積神經(jīng)網(wǎng)絡(luò),對待識別圖片進行特征提取,得到待識別圖片的特征樣本r;步驟b1)還包括:對提取的待識別圖片的特征進行pca降維,得到初始維度下的待識別圖片的特征;
b2)根據(jù)步驟a2)的降維路徑,將步驟b1)提取的待識別圖片的特征樣本r投影至低維空間,得到低維空間的測試樣本s:
b21)記錄初始循環(huán)次數(shù)為0,隨機初始化低維空間的映射點s,根據(jù)高斯分布計算待測特征樣本r與訓練樣本原點xi間的相似度矩陣r;
b22)根據(jù)自由度為9的t分布計算待測特征樣本s與訓練樣本映射點yi間的相似度矩陣s,根據(jù)步驟a22)中記錄的權(quán)重gains(iter)和樣本總值nums,更新增量incs',根據(jù)增量incs'更新低維空間中的對應點s的值,并對循環(huán)次數(shù)加1;
b23)判斷循環(huán)次數(shù)是否達到預設(shè)次數(shù),若是則結(jié)束循環(huán),得到低維空間的測試樣本s,若否則返回步驟b22);
b3)通過分類器將步驟a2)得到的訓練樣本和步驟b2)得到的測試樣本通過softmax進行分類識別,得到識別結(jié)果。
上述步驟中,一般僅需要經(jīng)歷一次樣本訓練步驟,之后即可根據(jù)訓練的結(jié)果來進行多次的人臉識別步驟。
根據(jù)上述步驟進行具體的人臉識別,過程如下:
s1)輸入n張人臉圖像,已處理為256×256的彩色圖像規(guī)格,若為訓練集則按類別屬性整理至不同子文件內(nèi),若為測試集則無需整理,然后執(zhí)行步驟s2)。
s2)人臉圖像經(jīng)過5個卷積層的處理,包括了前兩個(s1,relu,s2,relu,c)順序的卷積層,以及后三個(s1,relu,s2,relu,s3,relu,c)順序的卷積層。其中在卷積s層:f(x)=fl((…f2(f1(i;w1);w2)…);wl)過程中,通過濾波器fi將輸入ii與權(quán)重向量wi結(jié)合,得到在隱藏層中學習到的圖像特征信息ii+1并作為下一層的輸入。同時利用relu激勵函數(shù)max(0,x),隨機將部分隱藏層置于非激活狀態(tài),減少權(quán)值參數(shù)間相互作用緩解過擬合情況的發(fā)生。而池化c層則選擇最大池化方式max{f(x'):i≤i'<i+p,j≤j'<j+p},以步長為p將池化區(qū)域內(nèi)的最大值作為輸出,提高特征信息的泛化能力。
s3)將所提取的特征進行聯(lián)立卷積,得到基于全局的特征信息,結(jié)合relu激勵函數(shù)處理后,利用dropout技術(shù)的稀疏特性進行再處理,得到高維空間的特征樣本
s4),將高維空間的特征樣本用pca降維至初始維度e=30:
s5)針對不同數(shù)據(jù)集選擇模式,若選擇路徑記錄模式,執(zhí)行步驟s6);若選擇路徑跟蹤模式,執(zhí)行步驟s7);
在步驟s6)中,選擇路徑記錄模式,根據(jù)歐式距離及復雜度為e的高斯分布構(gòu)建pi間相似矩陣p,初始化xi的映射點yi并進入iter=1000的迭代過程,根據(jù)自由度為9的t分布構(gòu)建相似矩陣q,利用相似矩陣p、q之間的kl距離定義代價函數(shù):
s7)選擇路徑跟蹤模式,將測試樣本r與訓練樣本(x1,x2,…,xn)聯(lián)立,并根據(jù)歐式距離及復雜度為e的高斯分布構(gòu)建相似向量r,初始化r的映射點s并進入iter=1000的局部迭代過程,根據(jù)自由度v=9的t分布構(gòu)建s與
s8)將訓練樣本和測試樣本