亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種人臉圖像年齡估算方法、裝置及其終端設(shè)備與流程

文檔序號:11251372閱讀:760來源:國知局
一種人臉圖像年齡估算方法、裝置及其終端設(shè)備與流程

本發(fā)明屬于卷積神經(jīng)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種人臉圖像年齡估算方法、裝置及其終端設(shè)備。



背景技術(shù):

人臉年齡估計在安全監(jiān)控、人機交互、視頻檢索等領(lǐng)域有著巨大的應(yīng)用價值。但是人臉年齡估計受到基因、生活環(huán)境、健康狀況等眾多因素的影響。卷積神經(jīng)網(wǎng)絡(luò)由于對大型圖像處理有出色的表現(xiàn),近年來成為研究的一個熱點。在現(xiàn)有的基于卷積神經(jīng)網(wǎng)絡(luò)的人臉年齡估算方法中,主要有主動外觀模型(aam)、特征子空間模型(ages)、外觀模型(以bif仿生特征為主)、流型模型。

但是主動外觀模型將形狀和紋理特征分開訓練,丟失了形狀和紋理特征共有部分的信息,而且主動外觀模型依賴于各個關(guān)鍵點,一旦關(guān)鍵點檢測不到位將影響最終的性能。特征子空間模型的缺點在于建立特征子空間模型時,需要同一個人多幅不同年齡的圖像來建立子空間,因此該模型將不適用于只有單幅年齡圖像的數(shù)據(jù)。流型模型的缺點在于年齡特征的流形學習方法對數(shù)據(jù)庫的數(shù)量要求較多,只適合于大型的年齡數(shù)據(jù)庫,且要求每個年齡段的數(shù)據(jù)分布比較均勻。外觀模型是用的最多的模型,然而外觀模型提取的特征還只是手工設(shè)計特征,人臉年齡估計的性能很有限?,F(xiàn)有的基于卷積神經(jīng)網(wǎng)絡(luò)模型的人臉年齡估算方法魯棒性較差,缺乏對人臉特征和其它特征的直接建模,網(wǎng)絡(luò)模型的學習能力有限。



技術(shù)實現(xiàn)要素:

鑒于此,本發(fā)明提供一種人臉圖像年齡估算方法、裝置及其終端設(shè)備,提高基于卷積神經(jīng)網(wǎng)絡(luò)的人臉圖像年齡估算方法的魯棒性。

本發(fā)明的第一方面,提供一種人臉圖像年齡估算方法,所述方法包括:

構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型;

初始化所述卷積神經(jīng)網(wǎng)絡(luò)模型;

將預(yù)處理后的圖像輸入初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述預(yù)處理后的圖像基于年齡損失函數(shù)通過反向傳播法訓練所述初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型;

將待檢測人臉圖像輸入訓練后的所述卷積神經(jīng)網(wǎng)絡(luò)模型,輸出所述待檢測人臉圖像中人臉的年齡。

本發(fā)明的第二方面,提供一種人臉圖像年齡估算裝置,所述裝置包括:

模型構(gòu)建模塊,用于構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型;

初始化模塊,用于初始化所述卷積神經(jīng)網(wǎng)絡(luò)模型;

訓練模塊,用于將預(yù)處理后的圖像輸入初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述預(yù)處理后的圖像基于年齡損失函數(shù)通過反向傳播法訓練所述初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型;

年齡估算模塊,用于將待檢測人臉圖像輸入訓練后的所述卷積神經(jīng)網(wǎng)絡(luò)模型,輸出所述待檢測人臉圖像中人臉的年齡。

本發(fā)明的第三方面,提供一種終端設(shè)備,所述終端設(shè)備包括:

存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)上述第一方面提供的所述方法的步驟。

本發(fā)明的第四方面,提供一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)可以是非易失性的,所述計算機存儲介質(zhì)上存儲有計算機程序,所述計算機程序在被一個或多個處理器讀取并執(zhí)行時可實現(xiàn)上述第一方面提供的所述方法的步驟。

本發(fā)明與現(xiàn)有技術(shù)相比存在的有益效果是:本發(fā)明首先構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型,然后初始化所述卷積神經(jīng)網(wǎng)絡(luò)模型,將預(yù)處理后的圖片輸出所述初始化后的卷積神經(jīng)網(wǎng)絡(luò),根據(jù)所述預(yù)處理后的圖片基于年齡損失函數(shù)通過反向傳播法訓練所述初始化后的卷積神經(jīng)網(wǎng)絡(luò),待所述卷積神經(jīng)網(wǎng)絡(luò)訓練好后,就可以將待檢測人臉圖片輸入所述卷積神經(jīng)網(wǎng)絡(luò),最終輸出所述待檢測圖像中人臉的年齡。本發(fā)明中,潛在因子分解層可以將圖像的特征分解為需要獲取的與年齡相關(guān)的分量,和與年齡無關(guān)的相關(guān)分量,所以能夠基于與年齡相關(guān)的分量進行訓練以及檢測,使得所述卷積神經(jīng)網(wǎng)絡(luò)模型具有較好的魯棒性。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明第一實施例提供的人臉圖像年齡估算方法的示意流程圖;

圖2是本發(fā)明第一實施例中構(gòu)建的包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò);

圖3是本發(fā)明第一實施例中對人臉圖像預(yù)處理的過程;

圖4是本發(fā)明第一實施例中人臉圖像的年齡標簽的處理過程;

圖5是本發(fā)明第二實施例提供的人臉圖像年齡估算裝置的示意框圖;

圖6是本發(fā)明第三實施例提供的終端設(shè)備的示意框圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

應(yīng)當理解,當在本說明書和所附權(quán)利要求書中使用時,術(shù)語“包括”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個或多個其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。

還應(yīng)當理解,在此本發(fā)明說明書中所使用的術(shù)語僅僅是出于描述特定實施例的目的而并不意在限制本發(fā)明。如在本發(fā)明說明書和所附權(quán)利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數(shù)形式的“一”、“一個”及“該”意在包括復(fù)數(shù)形式。

還應(yīng)當進一步理解,在本發(fā)明說明書和所附權(quán)利要求書中使用的術(shù)語“和/或”是指相關(guān)聯(lián)列出的項中的一個或多個的任何組合以及所有可能組合,并且包括這些組合。

如在本說明書和所附權(quán)利要求書中所使用的那樣,術(shù)語“如果”可以依據(jù)上下文被解釋為“當...時”或“一旦”或“響應(yīng)于確定”或“響應(yīng)于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據(jù)上下文被解釋為意指“一旦確定”或“響應(yīng)于確定”或“一旦檢測到[所描述條件或事件]”或“響應(yīng)于檢測到[所描述條件或事件]”。

為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進行說明。

實施例一:

參見圖1,圖1是本發(fā)明實施例一提供的人臉圖像年齡估算方法的示意流程圖,如圖所示該方法可以包括以下步驟:

步驟s101,構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型。

在本發(fā)明實施例中,所述包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型是指在常規(guī)的卷積神經(jīng)網(wǎng)絡(luò)模型中增加一個潛在因子分解層,所述潛在因子分解層是利用潛在因子算法為基礎(chǔ)構(gòu)建的,可以將輸入的圖像的特征分為兩部分特征:與年齡相關(guān)的特征和與年齡無關(guān)的特征(身份特征),具體可以通過以下公式表示:

其中,是人臉圖像上提取的面部通用特征,這里使用深度卷積神經(jīng)網(wǎng)絡(luò)提取的特征,是所述面部通用特征的特征均值,代表分解后的身份向量,代表著分解后的年齡向量。u和v是年齡向量和身份向量之間的交叉矩陣。所有其他較不顯著的特征由ε表示。

所述常規(guī)卷積神經(jīng)網(wǎng)絡(luò)模型就是可以從人臉圖像上提取面部通用特征的卷積神經(jīng)網(wǎng)絡(luò)模型,可以包括至少一個卷積層、至少一個池化層、至少一個全連接層,本發(fā)明實施例中采用的常規(guī)卷積神經(jīng)網(wǎng)絡(luò)包括13個卷積層、多個池化層和一個全連接層,構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型時將全連接層替換為潛在因子分解層。以vgg-face為例,通過圖2說明構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型,可以保留vgg-face中第12個卷積層之前的各層,在第13個卷積層中卷積核大小和步長分別設(shè)為4×4和1,然后再連接一個池化層(pool6),池化層后面本來是vgg-face中的兩個全連接層,將兩個全連接層用潛在因子分解層替換,第13個卷積層和后面的池化層(pool6)的目的是特征降維、減少參數(shù),然后將降低維度和減少參數(shù)后的面部通用特征輸入潛在因子分解層,就可以將面部通用特征分解為兩部分:與年齡相關(guān)的特征和與年齡無關(guān)的特征(身份特征)。

如圖2所示,采用部分vgg-face卷積神經(jīng)網(wǎng)絡(luò),在vgg-face的一個卷積層后面增加一個卷積層(conv6),在增加一個池化層(pool6),在池化層后面增加潛在因子分解層,潛在因子分解層會將面部通用特征分解為與年齡相關(guān)的特征和與年齡無關(guān)的特征(身份特征),然后通過年齡損失函數(shù)(包括與年齡段相關(guān)的損失函數(shù)和與年齡值相關(guān)的損失函數(shù))計算標簽?zāi)挲g和預(yù)測年齡差值。

步驟s102,初始化所述卷積神經(jīng)網(wǎng)絡(luò)模型。

在本發(fā)明實施例中,所述卷積神經(jīng)網(wǎng)絡(luò)模型在建立之后,各層節(jié)點的權(quán)值需要初始化,可以采用人臉身份識別任務(wù)預(yù)訓練獲得所述卷積神經(jīng)網(wǎng)絡(luò)模型中除所述潛在因子分解層之外的各層的初始化參數(shù);采用預(yù)定的濾波器初始化所述潛因子分解層的參數(shù)所述參數(shù)u和v用預(yù)定的濾波器初始化,所述σ2初始化為0.1,所述初始化為0,其中σ2是ε的分布上的方差,ε服從高斯分布n(0,σ2)。

所述卷積神經(jīng)網(wǎng)絡(luò)模型中除所述潛在因子分解層之外的各層參數(shù)通過人臉身份識別任務(wù)預(yù)訓練初始化,這是因為人臉身份識別的訓練集中的訓練樣本數(shù)量大類別多,通過人臉身份識別任務(wù)預(yù)訓練后的參數(shù)作為卷積神經(jīng)網(wǎng)絡(luò)模型的初始化參數(shù),有利于在正式訓練時提高訓練的速度,提升卷積神經(jīng)網(wǎng)絡(luò)的性能。所述潛因子分解層的參數(shù)由預(yù)定的xavier過濾器初始化,激活函數(shù)使用relu。學習速率初始化為1e-3,并且當誤差穩(wěn)定時學習速率再分別變?yōu)?e-4,1e-5。

所述潛因子分解層的參數(shù)由預(yù)定的xavier過濾器初始化具體為:所述參數(shù)u和v用預(yù)定的xavier濾波器初始化,所述σ2初始化為0.1,所述初始化為0。

步驟s103,將預(yù)處理后的圖像輸入初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述預(yù)處理后的圖像基于年齡損失函數(shù)通過反向傳播法訓練所述初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型。

在本發(fā)明實施例中,在正式訓練所述卷積神經(jīng)網(wǎng)絡(luò)模型時,需要先將訓練集中的人臉圖像進行預(yù)處理再輸入所述卷積神經(jīng)網(wǎng)絡(luò)模型,所述預(yù)處理過程包括人臉檢測和校準,如圖3所示,將訓練集中的人臉圖像(圖3中第1個人臉圖像)輸入級聯(lián)的卷積神經(jīng)網(wǎng)絡(luò)獲得包括人臉檢測候選框的圖像(圖3中的第2個人臉圖像),所述人臉檢測候選框內(nèi)的圖像就是檢測到的人臉圖像。使用該方法不僅能夠得到人臉圖像上的候選框,而且還得到了人臉圖像上的各個關(guān)鍵點(例如眼睛、鼻子和嘴角五個關(guān)鍵點的坐標),對獲得的包含人臉關(guān)鍵點的圖像進行仿射變換后固定住人臉各關(guān)鍵點的坐標就是人臉校準的過程,經(jīng)過人臉檢測和校準處理就得到了預(yù)處理后的圖像(圖3中第3個人臉圖像)。需要說明的是,人臉各關(guān)鍵點可以選取眼睛、鼻子和/或嘴角,并不限制一定選取5個關(guān)鍵點。

將預(yù)處理后的圖像輸入初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型就可以根據(jù)輸入的預(yù)處理后的圖像基于年齡損失函數(shù)采用反向傳播法訓練所述卷積神經(jīng)網(wǎng)絡(luò)模型。

所述反向傳播法與常用的卷積神經(jīng)網(wǎng)絡(luò)模型一樣都有正向傳播和反向傳播的過程。通過正向傳播提取輸入的人臉圖像上的特征,根據(jù)提取的人臉圖像上的特征預(yù)測輸入的人臉圖像的年齡,然后根據(jù)預(yù)測的人臉圖像的年齡與所述輸入的人臉圖像的年齡標簽(真實年齡)計算差值,可以通過年齡損失函數(shù)來表征預(yù)測年齡和真實年齡之間的不一致性。通過對年齡損失函數(shù)反向求導更新所述卷積神經(jīng)網(wǎng)絡(luò)中各層節(jié)點的參數(shù)就是反向傳播的過程。當年齡損失函數(shù)收斂,就表示訓練結(jié)束。

本發(fā)明實施例中,與常用的卷積神經(jīng)網(wǎng)絡(luò)訓練過程不同的地方是,構(gòu)建了基于年齡段和年齡值的年齡損失函數(shù),所述年齡損失函數(shù)具體為:

其中,在k∈[1,kgroup]中,pk指預(yù)測年齡大于第k個年齡段的概率,在k∈[1,kage]中,pk指預(yù)測年齡大于第k個年齡的概率,kgroup年齡段,kage是年齡標簽的最大值。l年齡段可以看成kgroup個二分類輸出,每個二分類softmax分類器用于判斷當前年齡是否大于某個年齡段的值,l年齡值可以看成kage個二分類輸出,每個二分類softmax分類器用于判斷當前年齡是否大于某個年齡的值。

也可以將這種基于年齡段和年齡值的年齡損失函數(shù)成為多任務(wù)損失函數(shù)。

通過圖4說明輸入圖像的年齡標簽的處理過程。如圖4所示,年齡標簽處理為多個0或1的輸出,假設(shè),訓練集中人臉圖片的年齡標簽的范圍是0-77,kage就對應(yīng)78個0或1的輸出,可以將訓練集中人臉圖片的年齡分為多個年齡段,例如,可以將0-77的年齡分為8個年齡段,也就是kgroup對應(yīng)8個0或1的輸出,kgroup這8個年齡段并未均等分配。年齡標簽會對應(yīng)處理為一個年齡段的輸出和一個年齡值的輸出,年齡段的輸出也就是對應(yīng)kgroup的輸出,會是8個0或1的輸出;年齡值的輸出也就是對應(yīng)kage的輸出,會對應(yīng)78個0或1的輸出。假如輸入的人臉圖像的標簽?zāi)挲g為18,在對應(yīng)kgroup輸出時,首先看18是否大于第一個年齡段的最大值(第一個年齡段為0-19),不大于19,則8個0或1輸出的第一位輸出為0,后面的輸出也為0,若大于第一個年齡段的最大值,則輸出為1;繼續(xù)按照上述方式判斷是否大于其它年齡段,若年齡標簽大于年齡段中的最大值,則對應(yīng)這個年齡段的輸出為1,否則就為0。按照這種方式可以得出年齡標簽18的kgroup對應(yīng)的輸出為00000000,8個0,因為18不大于任何一個年齡段的最大值。年齡標簽18對應(yīng)的年齡值的輸出為,前18個為1,后續(xù)的都為0,總共78個輸出,判斷方法也一樣,kage對應(yīng)78個輸出,對應(yīng)的分段是0-77分為78個。年齡標簽大于哪個值,則對應(yīng)的輸出就為1,小于哪個值則對應(yīng)的輸出就為0。以年齡標簽40為例說明,40大于前6個kgroup的分級中的最大值,則kgroup前6個輸出為1,后面兩個輸出為0;40大于前40個kage的分級中的值,則kage前40個輸出為1,后38個輸出為0。需要說明的是,可以根據(jù)實際情況調(diào)節(jié)kgroup的分級,也可以調(diào)節(jié)kage的分級。

本發(fā)明實施例中,與常用的卷積神經(jīng)網(wǎng)絡(luò)訓練過程另一個不同的地方是所述通過反向傳播法訓練所述初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型包括:

正向傳播過程:將面部通用特征轉(zhuǎn)換為與年齡相關(guān)的向量其中,所述是與年齡相關(guān)的向量,是人臉圖像上提取的面部通用特征,是所述面部通用特征的特征均值,ω=σ2i+uut+vvt,i是單位矩陣,u和v是年齡向量和身份向量之間的交叉矩陣;

反向傳播過程:通過梯度下降法反向求導所述年齡損失函數(shù)更新所述卷積神經(jīng)網(wǎng)絡(luò)模型中除所述潛因子分解層之外的各層的參數(shù),通過以下公式更新所述潛在因子分解層的參數(shù)

u=(c-db-1e)(a-fb-1e)-1

v=(d-ca-1f)(b-ea-1f)-1,

用連接在所述潛在因子分解層之前的最后一個池化層的特征均值來更新,

其中,ω=σ2i+uut+vvt,mc表示第c個年齡段中的樣本數(shù),nn表示第n個人的樣本數(shù),代表分解后的身份向量,代表著分解后的年齡向量,i是單位矩陣,表示在給定的條件下年齡向量的預(yù)測分布,表示在給定的條件下身份向量的預(yù)測分布。

在本發(fā)明實施例中,所述正向傳播過程,在潛在因子分解層將面部通用特征轉(zhuǎn)換為與年齡相關(guān)的向量在給定的條件下年齡向量的預(yù)測分布i是單位矩陣,ω=σ2i+uut+vvt。潛在因子分解層的輸出為需要說明,在給定的條件下年齡向量的預(yù)測分布表示為潛在因子分解層代替常用的全連接層后,就可以將提取的面部通用特征分解為與年齡相關(guān)的分量和與年齡無關(guān)的分量,分解之后僅保留與年齡相關(guān)的分量用來做年齡估計,與年齡不相關(guān)的信號在送到分類器前過濾掉。

所述反向傳播過程是從分類器到卷積神經(jīng)網(wǎng)絡(luò)的導數(shù)如何穿過潛在因子分解層,以及如何更新潛在因子分解層的過程。潛在因子分解層之外的部分用年齡損失函數(shù)反向求導更新各層參數(shù),潛在因子分解層中用連接在所述潛在因子分解層之前的最后一個池化層的特征均值來更新,以前面舉例,就是pool6層的特征均值來更新,而非使用所有訓練樣本計算特征的均值。這是因為梯度下降法訓練時一次僅選擇一個批次來計算梯度,因此如果我們使用所有訓練樣本更新則計算成本將變得非常高。本發(fā)明實施例中通過年齡損失函數(shù)聯(lián)合微調(diào)卷積神經(jīng)網(wǎng)絡(luò)和潛在因子分解層的參數(shù),使用人臉身份識別任務(wù)預(yù)訓練通用卷積神經(jīng)網(wǎng)絡(luò),優(yōu)化了初始化的參數(shù)。潛在因子分解層的訓練輸入來自通用卷積神經(jīng)網(wǎng)絡(luò)最后的輸出確定,通用卷積神經(jīng)網(wǎng)絡(luò)的反向傳播信號又來自潛在因子分解層的影響。因此能夠同時優(yōu)化通用卷積神經(jīng)網(wǎng)絡(luò)部分和潛在因子分解層部分。

步驟s104,將待檢測人臉圖像輸入訓練后的所述卷積神經(jīng)網(wǎng)絡(luò)模型,輸出所述待檢測人臉圖像中人臉的年齡。

在本發(fā)明實施例中,所述卷積神經(jīng)網(wǎng)絡(luò)訓練好后,就可以對待檢測人臉圖像進行年齡估算。具體的包括:

將所述卷積神經(jīng)網(wǎng)絡(luò)模型中的潛在因子分解層轉(zhuǎn)換為全連接層;

將預(yù)處理后的待檢測人臉圖像輸入所述卷積神經(jīng)網(wǎng)絡(luò)模型,在所述全連接層之前獲得人臉圖像的面部通用特征;

將所述面部通用特征輸入所述全連接層得到與年齡相關(guān)的特征和與年齡無關(guān)的特征;

將與年齡相關(guān)的特征輸入所述卷積神經(jīng)網(wǎng)絡(luò)模型中最后的分類器根據(jù)公式獲得待檢測人臉圖像中人臉的年齡,其中fk(xi')表示對待檢測圖像xi'多個二分類器的輸出,age(xi')是待檢測圖像的估計年齡,testsamples表示待檢測圖像,xi'屬于待檢測圖像中的一個。

如前所述,潛在因子分解層的輸出從公式可以看出面部通用特征通過潛在因子分解層后的輸出是一種線性映射關(guān)系,和全連接層時等效的。所以在測試過程中,潛在因子分解層可以轉(zhuǎn)換為全連接層,參數(shù)w=vtω-1對應(yīng)的輸出就等于參數(shù)w乘以輸入值以后再加上參數(shù)b。待檢測圖片輸入訓練后的卷積神經(jīng)網(wǎng)絡(luò),在經(jīng)過由潛因子分解層轉(zhuǎn)換的全連接層之前獲得面部通用特征,經(jīng)過潛因子分解層轉(zhuǎn)換的全連接層后可以將面部通用特征分解為與年齡相關(guān)的特征和與年齡無關(guān)的特征,與年齡無關(guān)的特征過濾掉,與年齡相關(guān)的特征輸入分類器獲得人臉圖像的估算年齡。

在本發(fā)明實施例中,首先構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型,然后初始化所述卷積神經(jīng)網(wǎng)絡(luò)模型,將預(yù)處理后的圖片輸出所述初始化后的卷積神經(jīng)網(wǎng)絡(luò),根據(jù)所述預(yù)處理后的圖片基于年齡損失函數(shù)通過反向傳播法訓練所述初始化后的卷積神經(jīng)網(wǎng)絡(luò),待所述卷積神經(jīng)網(wǎng)絡(luò)訓練好后,就可以將待檢測人臉圖片輸入所述卷積神經(jīng)網(wǎng)絡(luò),最終輸出所述待檢測圖像中人臉的年齡。本發(fā)明中,潛在因子分解層可以將圖像的特征分解為需要獲取的與年齡相關(guān)的分量,和與年齡無關(guān)的相關(guān)分量,所以能夠基于與年齡相關(guān)的分量進行訓練以及檢測,并且有利提升面部通用特征與年齡的相關(guān)性,提高最終的年齡估算的結(jié)果;另外年齡損失函數(shù)將年齡標簽分為了與年齡段相關(guān)的損失函數(shù)和與年齡值相關(guān)的損失函數(shù)?;谀挲g段的有序回歸損失函數(shù)和基于年齡值的有序回歸損失函數(shù)一起優(yōu)化,通過基于年齡段的有序回歸損失函數(shù)判斷年齡是否大于某個年齡段,通過年齡值的有序回歸函數(shù)判斷年齡是否大于某個年齡值,基于年齡段的損失函數(shù)對基于年齡值的損失函數(shù)分類有幫助。從而使得所述包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型具有較好的魯棒性。

基于上述方法,我們在年齡公開的數(shù)據(jù)集morphalbumi、morphalbumii和fg-net上做了三組對比實驗。

數(shù)據(jù)庫介紹:morph人臉數(shù)據(jù)庫分兩個子集,morphalbumi和morphalbumii,前者是包含1679張灰度圖像的早期采集的數(shù)據(jù)集。后者是包含了一共78207張既有灰度又有彩色圖的大型數(shù)據(jù)庫。morphalbumii是一個用于研究非常著名的年齡識別數(shù)據(jù)庫。包含了多個人群在不同年齡段(包括16歲到77歲)的人臉圖片,每個人擁有若干張人臉圖片,大小為400x480。fg-net數(shù)據(jù)集包含年齡在0至69歲之間的82個多人種族的1002張面部圖像。數(shù)據(jù)集年齡分布不平衡,因為50%的圖像是從童年時期拍攝的。

第一個實驗是把本發(fā)明實施例中的年齡損失函數(shù)和以下兩種方法對比:(1)softmax損失函數(shù),其中年齡估計被認為是k個分類問題,其中k是年齡數(shù);(2)單任務(wù)損失函數(shù),其中僅使用年齡標簽等級損失函數(shù)。得到的mae得分(即平均年齡誤差),由公式:

其中,是預(yù)測的年齡,而yn是實際年齡,n是測試樣本總數(shù)。mae的對比結(jié)果示于表1中,基于這些結(jié)果,我們得出結(jié)論:1.對于年齡估計,序數(shù)損失函數(shù)(單任務(wù)損失函數(shù)和多任務(wù)損失函數(shù))優(yōu)于softmax。2.多任務(wù)損失函數(shù)遠遠優(yōu)于相應(yīng)的單任務(wù)損失函數(shù)。

表1本發(fā)明實施例中的多任務(wù)損失函數(shù)和softmax、單任務(wù)損失函數(shù)對比結(jié)果

在第二個實驗中,我們把lfd-cnn(包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò))與去除了潛在銀子分解層的通用卷積神經(jīng)網(wǎng)絡(luò)(generic-cnn)來評估lfd-cnn框架的有效性。除潛在因子分解層之外,通用卷積神經(jīng)網(wǎng)絡(luò)具有與lfd-cnn相同的參數(shù)設(shè)置,除了潛在因子分解層不一樣。兩種方法都使用多任務(wù)損失函數(shù)。這兩個結(jié)果mae得分顯示在下表2中。

表2lfd-cnn和generic-cnn在不同數(shù)據(jù)庫上的性能對比

在第三個實驗中,我們將我們的方法與文獻中的其他方法進行比較。我們采用隨機選取80%的圖片做訓練,其余20%做測試。在該實驗中,使用mae和cs度量。cs度量方法指的是cumulativescore,是描述誤差在區(qū)間內(nèi)的錯誤率。計算公式如下:

本文中k={0,2,4,6,8,10}。mae比較的結(jié)果如下表3所示。結(jié)果表明,在不同數(shù)據(jù)庫上我們的方法都優(yōu)于其他方法,這證實了我們方法的有效性。

表3本發(fā)明lfd-cnn方法與其他方法結(jié)果對比

本發(fā)明實施例通過構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò),所述潛在因子分解層可以將圖像的特征分解為需要獲取的與年齡相關(guān)的分量和與年齡無關(guān)的相關(guān)分量,所以能夠基于與年齡相關(guān)的分量進行訓練以及檢測,使得所述卷積神經(jīng)網(wǎng)絡(luò)模型具有較好的魯棒性;另外通過構(gòu)建的與年齡段相關(guān)的損失函數(shù)和與年齡值相關(guān)的年齡損失函數(shù)的多任務(wù)損失函數(shù)使得估算的年齡的更準確,魯棒性更好。

應(yīng)理解,在上述實施例一中,各步驟的序號的大小并不意味著執(zhí)行順序的先后,各步驟的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。

實施例二:

參見圖5,圖5是本發(fā)明實施例二提供的一種人臉圖像年齡估算裝置的示意框圖,為了便于說明,僅示出與本發(fā)明實施例相關(guān)的部分。

該人臉圖像年齡估算裝置可以是內(nèi)置于終端設(shè)備(例如手機、平板電腦、筆記本、計算機等)內(nèi)的軟件單元、硬件單元或者軟硬結(jié)合的單元,也可以作為獨立的掛件集成到所述終端設(shè)備中。

所述一種人臉圖像年齡估算裝置包括:

模型構(gòu)建模塊21,用于構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型;

初始化模塊22,用于初始化所述卷積神經(jīng)網(wǎng)絡(luò)模型;

訓練模塊23,用于將預(yù)處理后的圖像輸入初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述預(yù)處理后的圖像基于年齡損失函數(shù)通過反向傳播法訓練所述初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型;

年齡估算模塊24,用于將待檢測人臉圖像輸入訓練后的所述卷積神經(jīng)網(wǎng)絡(luò)模型,輸出所述待檢測人臉圖像中人臉的年齡。

可選的,所述初始化模塊22包括:

通用網(wǎng)絡(luò)初始化單元221,用于采用人臉身份識別任務(wù)預(yù)訓練獲得所述卷積神經(jīng)網(wǎng)絡(luò)模型中除所述潛在因子分解層之外的各層的初始化參數(shù);

潛在因子分解層初始化單元222,用于采用預(yù)定的濾波器初始化所述潛因子分解層的參數(shù)

所述參數(shù)u和v用預(yù)定的濾波器初始化,所述σ2初始化為0.1,所述初始化為0。

可選的,所述年齡損失函數(shù)為:

其中,在k∈[1,kgroup]中,pk指預(yù)測年齡大于第k個年齡段的概率,在k∈[1,kage]中,pk指預(yù)測年齡大于第k個年齡的概率,kgroup是年齡段,kage是年齡標簽的最大值。

可選的,所述訓練模塊23包括:

正向傳播單元231,用于將面部通用特征轉(zhuǎn)換為與年齡相關(guān)的向量其中,所述是與年齡相關(guān)的向量,是人臉圖像上提取的面部通用特征,是所述面部通用特征的特征均值,ω=σ2i+uut+vvt,i是單位矩陣,u和v是年齡向量和身份向量之間的交叉矩陣;

反向傳播單元232,用于通過梯度下降法反向求導所述年齡損失函數(shù)更新所述卷積神經(jīng)網(wǎng)絡(luò)模型中除所述潛因子分解層之外的各層的參數(shù),通過以下公式更新所述潛在因子分解層的參數(shù)

u=(c-db-1e)(a-fb-1e)-1,

v=(d-ca-1f)(b-ea-1f)-1,

用連接在所述潛在因子分解層之前的最后一個池化層的特征均值來更新,

其中,ω=σ2i+uut+vvt,mc表示第c個年齡段中的樣本數(shù),nn表示第n個人的樣本數(shù),代表分解后的身份向量,代表著分解后的年齡向量,i是單位矩陣,表示在給定的條件下年齡向量的預(yù)測分布,表示在給定的條件下身份向量的預(yù)測分布。

可選的,所述年齡估算模塊24包括:

轉(zhuǎn)換單元,用于將所述卷積神經(jīng)網(wǎng)絡(luò)模型中的潛在因子分解層轉(zhuǎn)換為全連接層;

面部通用特征獲取單元,用于將預(yù)處理后的待檢測人臉圖像輸入所述卷積神經(jīng)網(wǎng)絡(luò)模型,在所述全連接層之前獲得人臉圖像的面部通用特征;

分解單元,用于將所述面部通用特征輸入所述全連接層得到與年齡相關(guān)的特征和與年齡無關(guān)的特征;

年齡估算單元,用于將與年齡相關(guān)的特征輸入所述卷積神經(jīng)網(wǎng)絡(luò)模型中最后的分類器根據(jù)公式獲得待檢測人臉圖像中人臉的年齡,其中fk(xi')表示對待檢測圖像xi'多個二分類器的輸出,age(xi')是待檢測圖像的估計年齡。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即所述裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能單元或模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元或模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護范圍。上述裝置中單元、模塊的具體工作過程,可以參考前述方法實施例的對應(yīng)過程,在此不再贅述。

實施例三:

參見圖6,圖6是本發(fā)明實施例三提供的終端設(shè)備的示意框圖。如圖所示的該終端設(shè)備可以包括:一個或多個處理器601(圖6中僅示出一個);一個或多個輸入設(shè)備602(圖6中僅示出一個),一個或多個輸出設(shè)備603(圖6中僅示出一個)和存儲器604。上述處理器601、輸入設(shè)備602、輸出設(shè)備603和存儲器604通過總線605連接。存儲器604用于存儲指令,處理器601用于執(zhí)行存儲器604存儲的指令。其中:

所述處理器601,用于構(gòu)建包括潛在因子分解層的卷積神經(jīng)網(wǎng)絡(luò)模型;所述處理器601用于初始化所述卷積神經(jīng)網(wǎng)絡(luò)模型;所述處理器601用于通過輸入設(shè)備602將預(yù)處理后的圖像輸入初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述預(yù)處理后的圖像基于年齡損失函數(shù)通過反向傳播法訓練所述初始化后的卷積神經(jīng)網(wǎng)絡(luò)模型;所述處理器601用于通過輸入設(shè)備602將待檢測人臉圖像輸入訓練后的所述卷積神經(jīng)網(wǎng)絡(luò)模型,通過輸出設(shè)備603輸出所述待檢測人臉圖像中人臉的年齡。

可選的,所述處理器601還用于采用人臉身份識別任務(wù)預(yù)訓練獲得所述卷積神經(jīng)網(wǎng)絡(luò)模型中除所述潛在因子分解層之外的各層的初始化參數(shù);所述處理器601還用于采用預(yù)定的濾波器初始化所述潛因子分解層的參數(shù)所述參數(shù)u和v用預(yù)定的濾波器初始化,所述σ2初始化為0.1,所述初始化為0。

可選的,所述年齡損失函數(shù)為:

其中,在k∈[1,kgroup]中,pk指預(yù)測年齡大于第k個年齡段的概率,在k∈[1,kage]中,pk指預(yù)測年齡大于第k個年齡的概率,kgroup是年齡段,kage是年齡標簽的最大值。

可選的,所述處理器601還用于將面部通用特征轉(zhuǎn)換為與年齡相關(guān)的向量其中,所述是與年齡相關(guān)的向量,是人臉圖像上提取的面部通用特征,是所述面部通用特征的特征均值,ω=σ2i+uut+vvt,i是單位矩陣,u和v是年齡向量和身份向量之間的交叉矩陣;所述處理器601還用于通過梯度下降法反向求導所述年齡損失函數(shù)更新所述卷積神經(jīng)網(wǎng)絡(luò)模型中除所述潛因子分解層之外的各層的參數(shù),所述處理器601還用于通過以下公式更新所述潛在因子分解層的參數(shù)

u=(c-db-1e)(a-fb-1e)-1

v=(d-ca-1f)(b-ea-1f)-1,

用連接在所述潛在因子分解層之前的最后一個池化層的特征均值來更新,

其中,ω=σ2i+uut+vvt,mc表示第c個年齡段中的樣本數(shù),nn表示第n個人的樣本數(shù),代表分解后的身份向量,代表著分解后的年齡向量,i是單位矩陣,表示在給定的條件下年齡向量的預(yù)測分布,表示在給定的條件下身份向量的預(yù)測分布。

可選,所述處理器601還用于將所述卷積神經(jīng)網(wǎng)絡(luò)模型中的潛在因子分解層轉(zhuǎn)換為全連接層;所述處理器601還用于將預(yù)處理后的待檢測人臉圖像輸入所述卷積神經(jīng)網(wǎng)絡(luò)模型,在所述全連接層之前通過輸出設(shè)備603獲得人臉圖像的面部通用特征;所述處理器601還用于將所述面部通用特征通過輸入設(shè)備602輸入所述全連接層通過輸出設(shè)備603得到與年齡相關(guān)的特征和與年齡無關(guān)的特征;所述處理器601還用于將與年齡相關(guān)的特征通過輸入設(shè)備602輸入所述卷積神經(jīng)網(wǎng)絡(luò)模型中最后的分類器根據(jù)公式通過輸出設(shè)備603獲得待檢測人臉圖像中人臉的年齡,其中fk(xi')表示對待檢測圖像xi'多個二分類器的輸出,age(xi')是待檢測圖像的估計年齡。

所述存儲器604,用于存儲軟件程序、模塊、單元以及終端設(shè)備中需要的數(shù)據(jù)信息,所述處理器601通過運行存儲在所述存儲器604的軟件程序、模塊以及單元,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,提高基于卷積神經(jīng)網(wǎng)絡(luò)的人臉圖像年齡估算方法的魯棒性。

應(yīng)當理解,在本發(fā)明實施例中,所稱處理器601可以是中央處理單元(centralprocessingunit,cpu),該處理器還可以是其他通用處理器、數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。

輸入設(shè)備602可以包括觸控板、指紋采集傳感器(用于采集用戶的指紋信息和指紋的方向信息)、麥克風、數(shù)據(jù)采集裝置、數(shù)據(jù)接收裝置等,輸出設(shè)備603可以包括顯示器(lcd等)、揚聲器、數(shù)據(jù)發(fā)送裝置等。

該存儲器604可以包括只讀存儲器和隨機存取存儲器,并向處理器601提供指令和數(shù)據(jù)。存儲器604的一部分還可以包括非易失性隨機存取存儲器。例如,存儲器604還可以存儲設(shè)備類型的信息。

具體實現(xiàn)中,本發(fā)明實施例中所描述的處理器601、輸入設(shè)備602、輸出設(shè)備603和存儲器604可執(zhí)行本發(fā)明實施例提供的一種人臉圖像年齡估算方法的實施例中所描述的實現(xiàn)方式,也可執(zhí)行一種人臉圖像年齡估算裝置的實施例二中所描述的實現(xiàn)方式,在此不再贅述。

本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的模塊及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。

在本發(fā)明所提供的實施例中,應(yīng)該理解到,所揭露的終端設(shè)備、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明實施例各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實施例各實施例技術(shù)方案的精神和范圍。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1