用于人臉識別的網(wǎng)絡(luò)構(gòu)建方法、識別方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機視覺及深度學習技術(shù)領(lǐng)域,特別涉及一種用于人臉識別的網(wǎng)絡(luò) 構(gòu)建方法、識別方法及系統(tǒng)。
【背景技術(shù)】
[0002] 人臉作為一個對計算機來說識別和分析都非常困難的物體,從20世紀90年代開 始就引起了研究者們的廣泛關(guān)注。而成功有效的人臉分析在智能監(jiān)控,視頻索引以及人口 信息統(tǒng)計等領(lǐng)域又存在著巨大的應(yīng)用前景。人臉分析主要包括人臉的性別識別和人臉的年 齡估計,性別分類的準確率和年齡估計的平均絕對誤差分別是兩者的關(guān)鍵性指標。
[0003] 目前存在的人臉分析領(lǐng)域的相關(guān)研究,都是基于人為"手工"確定特征描述子來 表示人臉,結(jié)合分類器算法或者回歸算法展開。人工選定特征往往耗費大量的前期準備時 間,具有主觀性,且選取出來的特征往往在某一類數(shù)據(jù)上表現(xiàn)良好,而擴展到另外的數(shù)據(jù)時 性能會有顯著下降,泛化能力較弱。而實際應(yīng)用時,傳統(tǒng)方法的弱泛化能力恰好在質(zhì)量較低 的圖片(強光照圖片、存在背景干擾圖片、歪臉側(cè)臉圖片)上性能不佳,滿足不了實際應(yīng)用 的需求。目前人臉分析領(lǐng)域的研究受限于這一瓶頸而發(fā)展緩慢。另一方面,近年來,基于 深度學習思想的方法取得了極大的發(fā)展,為計算機科學向智能化方向發(fā)展提供了算法上的 支持。深度學習的基本思想就是構(gòu)建深層的人工神經(jīng)網(wǎng)絡(luò),模擬人腦的學習機制,采用非 監(jiān)督學習的方式"自動"學習目標物體的特征,學習到的特征具有層次結(jié)構(gòu),從具體細節(jié)到 抽象概念,這樣的特征對數(shù)據(jù)本身有著更本質(zhì)的刻畫。深度學習的方法在許多領(lǐng)域的應(yīng)用 都取得了突破性的成功,美國多家銀行的手寫數(shù)字識別系統(tǒng)、Google的圖像分類語音識別 綜合項目Google Brain、微軟的全自動同聲傳譯系統(tǒng)都是基于深度學習的方法實現(xiàn)的。目 前深度學習的方法主要包括深層稀疏自編碼算法,深度信念網(wǎng)絡(luò)算法以及卷積神經(jīng)網(wǎng)絡(luò)算 法。其中卷積神經(jīng)網(wǎng)絡(luò)算法在圖像處理的多個領(lǐng)域都取得了世界領(lǐng)先的水平,例如人臉檢 測,行人檢測以及人臉識別等;而深度信念網(wǎng)絡(luò)算法主要在語音識別領(lǐng)域的應(yīng)用較多,效果 較好;深層稀疏自編碼算法則更多的被應(yīng)用于數(shù)據(jù)降維類的問題。
[0004] 卷積神經(jīng)網(wǎng)絡(luò)本質(zhì)是一種深層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其算法的基本原理和特點是網(wǎng)絡(luò) 結(jié)構(gòu)由兩種重要的部分組成:卷積處理單元構(gòu)成的卷積層,以及下采樣處理單元構(gòu)成的下 采樣層。卷積層和下采樣層由神經(jīng)元組成二維結(jié)構(gòu),對同樣是二維結(jié)構(gòu)的輸入圖像分別進 行卷積處理和下采樣處理,然后重復卷積和下采樣,直到提取出圖像的"理想"(根據(jù)研究應(yīng) 用需要確定)特征后,再進行分類或者回歸或者檢測。當輸入圖像為NXN大小時,首先連 接卷積層C 1A1中每一個神經(jīng)元只與上一層的一塊局部接收域(又稱作卷積核,filter)相 連。假設(shè)卷積核的大小為mXm,那么C 1層將會用這mXm的卷積核卷積輸入圖片所有可能的 (N-m+1) X (N-m+1)位置的像素點,生成一張(N-m+1) X (N-m+1)的局郃特征圖。輸入圖片每 一塊mXm大小區(qū)域內(nèi)的所有像素點與C1層中一個神經(jīng)元相連,且這mXm個連接采取相同 的權(quán)值(即權(quán)值共享機制)。當使用多個不同權(quán)值的連接方式生成多張局部特征圖時,C 1層 就提取出原圖的不同局部特征。接著C1層的局部特征圖連接至下一層的下采樣層S1。假設(shè) C1層有F1張?zhí)卣鲌D,那么對應(yīng)C1層也有F1張下采樣圖,且與C 1層的特征圖一一對應(yīng)。S1層 每一張圖中的每一個神經(jīng)元連接這上一層的一塊局部域,且沒有重疊,然后計算這塊區(qū)域 內(nèi)所有值的平均值作為采樣層的值。假設(shè)C 1層中每張?zhí)卣鲌D的大小為(N-m+1) X (N-m+1), 局部連接區(qū)域大小為ηΧη,那么51層每一張下采樣圖的大小即為(N-m+l)/nX(N-m+l)/n。 這樣即實現(xiàn)了對上一層特征圖的下采樣,降低空間分辨率。然后S 1層再與一個新的卷積層 C2層連接,C2層與S2層連接,如此交叉反復,根據(jù)實際需要確定卷積層的個數(shù)和下采樣層的 個數(shù)。最后網(wǎng)絡(luò)的輸出稱作輸出層,根據(jù)問題的不同可能是輸出不同的類別,也可能是輸出 回歸估計的概率。
[0005] 然而,卷積神經(jīng)網(wǎng)絡(luò)的卷積+下采樣處理方式雖然能夠提取目標物體的高層、抽 象的特征,用于某些分類問題時取得了很好的效果,但忽略了一些低層卻對分類有效的特 征和信息。且卷積+下采樣處理提取到的特征圖描述的主要是物體的局部特征和局部關(guān)聯(lián) 性,缺少對物體整體特征的表現(xiàn)。解決人臉性別識別和人臉年齡估計問題時,恰恰需要對人 臉進行全方位、多層次的特征提取和描述,才能夠獲得準確、全面的信息。
[0006] 基于上述,在人臉分析領(lǐng)域應(yīng)用傳統(tǒng)的"手工"確定特征描述子的方法,或者直接 應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)(包括現(xiàn)有的其它深度學習的方法),它們性能和最終的效果都不能滿 足實際應(yīng)用的需要。本發(fā)明應(yīng)用全新的基于多特征深度學習的方法進行人臉分析,構(gòu)建訓 練深層的網(wǎng)絡(luò),"自動"地學習、提取到人臉的分層次、全方位的特征,形成一種多特征(高 層、低層,抽象、具體)的結(jié)構(gòu)描述表示人臉。這樣的多特征結(jié)構(gòu)應(yīng)用于最終的性別分類和 年齡估計時取得了非常好的效果。
[0007] 在現(xiàn)有技術(shù)中尚缺乏此類方法或系統(tǒng)。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的在于,為克服現(xiàn)有人臉分析的技術(shù)中的傳統(tǒng)方法的性能滿足不了實 際應(yīng)用需要的缺陷,從而提出一種用于人臉識別的網(wǎng)絡(luò)構(gòu)建方法、及基于該構(gòu)建網(wǎng)絡(luò)的人 臉識別方法及系統(tǒng)。
[0009] 為了實現(xiàn)上述目的,本發(fā)明提供一種用于人臉性別識別或年齡估計的深層網(wǎng)絡(luò)構(gòu) 建方法,所述方法包含:
[0010] 步驟101)將所有的訓練圖片劃分為若干組;
[0011] 步驟102)基于卷積神經(jīng)網(wǎng)絡(luò)提取一組訓練圖片的高層特征,進而得到由高層特 征向量組成的第一矩陣;同時基于人工神經(jīng)網(wǎng)絡(luò)提取同一組訓練圖片的低層和全局特征, 進而得到低層特征向量組成的第二矩陣;
[0012] 基于提取的第一矩陣、第二矩陣和如下判決公式得到一組性別識別或者年齡估計 的結(jié)果:
[0013] 〇 = sigm(W1^hfo+β Xw2*lfo+b)
[0014] 其中,hfo表示第一矩陣;Ifo表示第二矩陣;針對輸入的第一組訓練圖片上述公 式中的第一權(quán)值矩陣W 1、第二權(quán)值矩陣W2、偏置矩陣b和調(diào)節(jié)權(quán)重β的初值采用隨機初 始化方式獲得;針對輸入的其余各組的訓練圖片上述公式中的w 2、b和β的獲取方法 為:利用誤差反向傳播算法計算判決結(jié)果〇與各組訓練圖片的實際標簽矩陣Y的誤差函數(shù) J(W, b ; β ),再通過計算%、w2、b和β對誤差函數(shù)J(W, b ; β )的梯度進而更新參數(shù)%、w2、 b和β的值;
[0015] 步驟103)再輸入一組訓練圖片,并對再次輸入的訓練圖片重復執(zhí)行上述步驟 102),直至所有的分組均被進行了步驟102)的處理,完成一次訓練迭代;
[0016] 步驟104)將所有的訓練圖片重新劃分為若干組,并對重新劃分的各組重復執(zhí)行 上述步驟102)和步驟103),完成再次迭代;
[0017] 經(jīng)過若干重新分組和迭代處理,直至最終輸出的判決O滿足設(shè)定的條件時,得到 最終的參數(shù)Wp w2、b和β的值,完成網(wǎng)絡(luò)構(gòu)建。
[0018] 可選的,進行低層特征提取時進一步包含:
[0019] 步驟102-11)將輸入的一組訓練圖片的每一張訓練圖片由二維的圖結(jié)構(gòu)形式轉(zhuǎn) 化為向量的形式,再對向量進行歸一化,得到每一張訓練圖片的原始特征向量;
[0020] 步驟102-12)將得到的每一張訓練圖片的原始向量輸入人工神經(jīng)網(wǎng)絡(luò),進而得到 一組重建特征向量,即得到所述的第二矩陣;其中,所述人工神經(jīng)網(wǎng)絡(luò)包含L層,且層與層 之間采用全連接方式,每一層的各神經(jīng)元采用sigmoid函數(shù)激活。
[0021] 可選的,針對一張輸入訓練圖片的性別或年齡識別過程具體包含:
[0022] 步驟102-21)當提取的一張訓練圖片的高層特征向量為Hf維的高層特征向量,且 低層特征向量為L f維的特征向量時,構(gòu)造一個包含"Hf+Lf"個神經(jīng)元的聯(lián)合表決層;
[0023] 步驟102-22)當用于性別識別時,將構(gòu)造的聯(lián)合表決層的各個神經(jīng)元分別與輸出 層的兩個輸出神經(jīng)元相連,且每個輸出神經(jīng)元基于所述判決公式進行性別判別,輸出訓練 圖片為男性或女性的概率;當用于年齡估計時,聯(lián)合表決層的各個神經(jīng)元與輸出層的S個 輸出神經(jīng)元相連,其中每個輸出神經(jīng)元對應(yīng)一歲。
[0024] 可選的,采用如下公式的誤差反向傳播算法更新第一權(quán)值矩陣W1的值:
[0025]
[0026] 其中,(Wl)_表示在每一次的誤差反向傳播時更新后的第一權(quán)值矩陣W1的 值,(W 1) ^對應(yīng)更新前的第一權(quán)值矩陣W1的值,Od表示輸出層靈敏度矩陣,該輸出層靈敏 度矩陣采用誤差函數(shù)J(W,b;i3)結(jié)合判決結(jié)果〇求出;α表示網(wǎng)絡(luò)的學習率,其中將(!的 取值初始化為一個較大的值,然后隨訓練迭代次數(shù)的增加而逐漸減?。?br>[0027] 通過如下公式更新第二權(quán)值矩陣W2的值:
[0028]
[0029] 其中,(w2)_表示在每一次的誤差反向傳播時更新后的第二權(quán)值矩陣W2的值,(W 2) Clld