本發(fā)明涉及圖像處理領域,具體涉及一種人臉圖像預測方法及系統(tǒng)。
背景技術(shù):
隨著現(xiàn)代生活水平的不斷提高和科技的不斷進步,人們對于娛樂化、信息化的需求也越來越多樣化。為了適應人們?nèi)找嬖鲩L的物質(zhì)文化需求和高科技輔助社會管理的需要,通過圖像處理技術(shù)預測一個人以前或以后的長相等需求越發(fā)強烈,尤其是輸入一張用戶照片預測用戶在相應時間的長相在娛樂方面有廣泛應用,所述相應時間如20歲或30歲或20年后等,具體應用如電影的攝制中可以用于預測某明星的幼年或老年時的長相,搜索相應替身演員;又如在手機的應用中預測用戶自己相應時間的照片,增加手機應用的娛樂性;當然在其它領域也有相應需求,如公共安全領域,對犯罪嫌疑人在多年后的長相進行預測,幫助警方進行破案等。
現(xiàn)有的人臉圖像預測方法一般是基于人臉合成技術(shù),預測人臉圖像時,使用三維重建方法合成相應年齡段的人臉圖像,所述三維重建指對人臉進行關(guān)鍵點檢測后,對輸入圖像進行三維建模,將圖像中人臉紋理貼到三維模型上,對檢測到的關(guān)鍵點進行三維形變,對三維貼圖進行插值處理;最后將預先生成的相應年齡段的皺紋添加到處理后的三維模型上,并進行平滑處理,從而得到重建的相應年齡段的人臉圖像,所述皺紋需要預先收集大量數(shù)據(jù)進行模型訓練,利用訓練得到的模型模擬出來的。然而,由于每個人的人臉紋理變化存在較大差異,現(xiàn)有方法在合成相應年齡段的人臉圖像時,使用預先生成好的相應年齡段的皺紋添加到所述三維模型上,而預先生成的皺紋與當前用戶輸入的人臉圖像并不相關(guān),添加皺紋后的人臉圖像與用戶提供的人臉圖像往往差異性較大,尤其是添加皺紋的邊緣差異更明顯,從而使合成后的人臉圖像看起來較奇怪,真實感較差,用戶體驗度較低。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種人臉圖像預測方法及系統(tǒng),以提高預測得到的人臉圖像的真實感,提升用戶體驗度。
為此,本發(fā)明提供如下技術(shù)方案:
一種人臉圖像預測方法,包括:
獲取待預測的人臉圖像及預測人臉圖像的時間點;
從所述人臉圖像中提取人臉屬性特征;
利用所述人臉屬性特征確定對應的人臉圖像預測模型;
將所述人臉圖像的像素點輸入所述人臉預測模型,得到預測的人臉圖像。
優(yōu)選地,所述人臉圖像預測模型包括時光順流模型和/或時光逆流模型,所述時光順流模型用于預測人臉未來的長相情況,所述時光逆流模型用于預測人臉過去的長相;
所述方法還包括按以下方式構(gòu)建人臉圖像預測模型:
收集大量人臉圖像,構(gòu)建時光變換數(shù)據(jù)庫;
從所述時光變換數(shù)據(jù)庫中的人臉圖像中提取人臉屬性特征;
對所述時光變換數(shù)據(jù)庫中的人臉圖像進行規(guī)整,得到規(guī)整后的人臉圖像;
根據(jù)提取的人臉屬性特征對所述規(guī)整后的人臉圖像進行聚類,得到聚類后的人臉圖像;
根據(jù)聚類后的人臉圖像,構(gòu)建人臉預測模型。
優(yōu)選地,所述人臉屬性特征包括以下任意一種或多種:性別、表情、是否戴眼鏡、地域、職業(yè);
所述從所述時光變換數(shù)據(jù)庫中的人臉圖像中提取人臉屬性特征包括:
對人臉圖像進行人臉檢測及人臉特征點定位,得到圖像中人臉的局部特征點的位置;
根據(jù)各局部特征點的位置及預先訓練的分類模型提取各人臉圖像的人臉屬性特征。
優(yōu)選地,所述對所述時光變換數(shù)據(jù)庫中的人臉圖像進行規(guī)整包括:
對所述時光變換數(shù)據(jù)庫中的人臉圖像中人臉的坐標及尺度進行規(guī)整。
優(yōu)選地,所述根據(jù)提取的人臉屬性特征對所述規(guī)整后的人臉圖像進行聚類包括:
(1)選擇一種人臉屬性特征作為決策樹的根節(jié)點,根據(jù)所選擇的人臉屬性特征的取值確定所述根節(jié)點的各條邊,并將人臉圖像劃分為多類;
(2)利用提取的人臉屬性特征,計算每類人臉圖像中剩余的各人臉屬性特征取值的最小方差;
(3)判斷所述最小方差是否大于設定值;如果是,執(zhí)行步驟(4);否則執(zhí)行步驟(5);
(4)將所述最小方差對應的類所屬的節(jié)點作為葉子節(jié)點,不再繼續(xù)劃分;然后執(zhí)行步驟(6);
(5)將每類中所述最小方差對應的屬性特征作為每類人臉圖像的上層節(jié)點,并根據(jù)所述上層節(jié)點的取值得到所述上層節(jié)點的邊,將每類人臉圖像繼續(xù)劃分為多類;
(6)判斷是否還有屬性特征未添加到?jīng)Q策樹中;如果有,執(zhí)行步驟(2);否則,執(zhí)行步驟(7);
(7)統(tǒng)計每個葉子節(jié)點下的人臉圖像數(shù)量,如果葉子節(jié)點中的人臉圖像數(shù)量小于設定的數(shù)量閾值,則刪除該葉子節(jié)點及其兄弟節(jié)點,并將該葉子節(jié)點及其兄弟節(jié)點中的人臉圖像添加到該葉子節(jié)點的父節(jié)點,決策樹構(gòu)建完成。
優(yōu)選地,所述根據(jù)聚類后的人臉圖像,構(gòu)建人臉預測模型包括:
針對所述決策樹中的每個葉子節(jié)點,構(gòu)建對應該葉子節(jié)點的人臉預測模型,具體包括:
對時光變換數(shù)據(jù)庫中人臉圖像進行排序,同一人的人臉圖像按照年齡先后進行排序;
利用排序后的數(shù)據(jù)對人臉預測模型進行初始化,得到初始化的人臉預測模型;
對所述初始化的人臉預測模型進行增量訓練,得到最終的人臉預測模型。
優(yōu)選地,所述利用所述人臉屬性特征確定對應的人臉圖像預測模型包括:
根據(jù)所述人臉屬性特征,遍歷所述決策樹,找到對應的葉子節(jié)點;
獲取所述葉子節(jié)點對應的人臉預測模型。
優(yōu)選地,所述方法還包括:
根據(jù)所述人臉屬性特征,對所述預測的人臉圖像進行還原,得到還原后的人臉圖像。
優(yōu)選地,所述方法還包括:
將所述預測的人臉圖像或所述還原后的人臉圖像與所述待預測的人臉圖像的背景進行合成,得到合成后的人臉圖像。
優(yōu)選地,所述方法還包括:
將所述預測的人臉圖像、或還原后的人臉圖像、或合成后的人臉圖像反饋給用戶。
一種人臉圖像預測系統(tǒng),包括:
接收模塊,用于獲取待預測的人臉圖像及預測人臉圖像的時間點;
特征提取模塊,用于從所述人臉圖像中提取人臉屬性特征;
模型選擇模塊,用于利用所述人臉屬性特征確定對應的人臉圖像預測模型;
預測模塊,將所述人臉圖像的像素點輸入所述人臉預測模型,得到預測的人臉圖像。
優(yōu)選地,所述人臉圖像預測模型包括時光順流模型和/或時光逆流模型,所述時光順流模型用于預測人臉未來的長相情況,所述時光逆流模型用于預測人臉過去的長相;
所述系統(tǒng)還包括,預測模型構(gòu)建模塊,所述預測模型構(gòu)建模塊包括:
圖像收集單元,用于收集大量人臉圖像,構(gòu)建時光變換數(shù)據(jù)庫;
特征提取單元,用于從所述時光變換數(shù)據(jù)庫中的人臉圖像中提取人臉屬性特征;
規(guī)整單元,用于對所述時光變換數(shù)據(jù)庫中的人臉圖像進行規(guī)整,得到規(guī)整后的人臉圖像;
聚類單元,用于根據(jù)提取的人臉屬性特征對所述規(guī)整后的人臉圖像進行聚類,得到聚類后的人臉圖像;
模型構(gòu)建單元,用于根據(jù)聚類后的人臉圖像,構(gòu)建人臉預測模型。
優(yōu)選地,所述人臉屬性特征包括以下任意一種或多種:性別、表情、是否戴眼鏡、地域、職業(yè);
所述特征提取單元包括:
定位子單元,用于對人臉圖像進行人臉檢測及人臉特征點定位,得到圖像中人臉的局部特征點的位置;
提取子單元,用于根據(jù)各局部特征點的位置及預先訓練的分類模型提取各人臉圖像的人臉屬性特征。
優(yōu)選地,所述規(guī)整單元,具體用于對所述時光變換數(shù)據(jù)庫中的人臉圖像中人臉的坐標及尺度進行規(guī)整。
優(yōu)選地,所述聚類單元具體用于按以下方式對所述規(guī)整后的人臉圖像進行聚類:
(1)選擇一種人臉屬性特征作為決策樹的根節(jié)點,根據(jù)所選擇的人臉屬性特征的取值確定所述根節(jié)點的各條邊,并將人臉圖像劃分為多類;
(2)利用提取的人臉屬性特征,計算每類人臉圖像中剩余的各人臉屬性特征取值的最小方差;
(3)判斷所述最小方差是否大于設定值;如果是,執(zhí)行步驟(4);否則執(zhí)行步驟(5);
(4)將所述最小方差對應的類所屬的節(jié)點作為葉子節(jié)點,不再繼續(xù)劃分;然后執(zhí)行步驟(6);
(5)將每類中所述最小方差對應的屬性特征作為每類人臉圖像的上層節(jié)點,并根據(jù)所述上層節(jié)點的取值得到所述上層節(jié)點的邊,將每類人臉圖像繼續(xù)劃分為多類;
(6)判斷是否還有屬性特征未添加到?jīng)Q策樹中;如果有,執(zhí)行步驟(2);否則,執(zhí)行步驟(7);
(7)統(tǒng)計每個葉子節(jié)點下的人臉圖像數(shù)量,如果葉子節(jié)點中的人臉圖像數(shù)量小于設定的數(shù)量閾值,則刪除該葉子節(jié)點及其兄弟節(jié)點,并將該葉子節(jié)點及其兄弟節(jié)點中的人臉圖像添加到該葉子節(jié)點的父節(jié)點,決策樹構(gòu)建完成。
優(yōu)選地,所述模型構(gòu)建單元,具體用于針對所述決策樹中的每個葉子節(jié)點,構(gòu)建對應該葉子節(jié)點的人臉預測模型;所述模型構(gòu)建單元具體包括:
排序子單元,用于對時光變換數(shù)據(jù)庫中人臉圖像進行排序,同一人的人臉圖像按照年齡先后進行排序;
初始化子單元,用于利用排序后的數(shù)據(jù)對人臉預測模型進行初始化,得到初始化的人臉預測模型;
增量訓練子單元,用于對所述初始化的人臉預測模型進行增量訓練,得到最終的人臉預測模型。
優(yōu)選地,所述模型選擇模塊包括:
遍歷單元,用于根據(jù)所述人臉屬性特征,遍歷所述決策樹,找到對應的葉子節(jié)點;
模型獲取單元,用于獲取所述葉子節(jié)點對應的人臉預測模型。
優(yōu)選地,所述系統(tǒng)還包括:
還原模塊,用于根據(jù)所述人臉屬性特征,對所述預測的人臉圖像進行還原,得到還原后的人臉圖像。
優(yōu)選地,所述系統(tǒng)還包括:
合成模塊,用于將所述預測的人臉圖像或所述還原后的人臉圖像與所述待預測的人臉圖像的背景進行合成,得到合成后的人臉圖像。
優(yōu)選地,所述系統(tǒng)還包括:
反饋模塊,用于將所述預測的人臉圖像、或還原后的人臉圖像、或合成后的人臉圖像反饋給用戶。
本發(fā)明實施例提供的人臉圖像預測方法及系統(tǒng),預先構(gòu)建人臉圖像預測模型,所述人臉圖像預測模型可以包括:時光順流模型和/或時光逆流模型,其中,所述時光順流模型用于預測人臉未來的長相情況,所述時光逆流模型用于預測人臉過去的長相。對待預測的人臉圖像,提取與人臉長相或人臉變化相關(guān)的人臉屬性特征,然后利用提取的人臉屬性特征確定對應的人臉預測模型,然后將所述人臉圖像的像素點輸入所述人臉預測模型,得到所述時間點的人臉圖像,從而使預測得到的人臉圖像與待預測的人臉圖像的相關(guān)性較大,真實感較強,給用戶一種代入感,大大提高了用戶體驗。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例中構(gòu)建人臉圖像預測模型的流程圖;
圖2是本發(fā)明實施例中利用決策樹對人臉圖像進行聚類的流程圖;
圖3是本發(fā)明實施例中每個葉子節(jié)點對應的人臉預測模型構(gòu)建流程圖;
圖4是本發(fā)明實施例提供的人臉圖像預測方法的流程圖;
圖5是本發(fā)明實施例人臉圖像預測系統(tǒng)的一種結(jié)構(gòu)示意圖;
圖6是本發(fā)明實施例中預測模型構(gòu)建模塊的結(jié)構(gòu)示意圖;
圖7是本發(fā)明實施例人臉圖像預測系統(tǒng)的另一種結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領域的人員更好地理解本發(fā)明實施例的方案,下面結(jié)合附圖和實施方式對本發(fā)明實施例作進一步的詳細說明。
本發(fā)明實施例提供的人臉圖像預測方法及系統(tǒng),預先構(gòu)建人臉圖像預測模型,具體構(gòu)建時,利用決策樹對大量圖像提取的人臉屬性特征進行聚類,根據(jù)聚類后落到?jīng)Q策樹中每個葉子節(jié)點的人臉圖像屬性特征構(gòu)建人臉圖像預測模型。所述人臉圖像預測模型可以包括:時光順流模型和/或時光逆流模型,其中,所述時光順流模型用于預測人臉未來的長相情況,所述時光逆流模型用于預測人臉過去的長相。對待預測的人臉圖像,提取人臉屬性特征,然后利用提取的人臉屬性特征獲取相應的人臉預測模型,利用該人臉預測模型預測指定時間點的人臉圖像。
下面首先對本發(fā)明實施例中人臉圖像預測模型的構(gòu)建過程進行詳細說明。
如圖1所示,是本發(fā)明實施例中構(gòu)建人臉圖像預測模型的流程圖,包括以下步驟:
步驟101,收集大量人臉圖像,構(gòu)建時光變換數(shù)據(jù)庫。
具體地,收集同一人臉圖像在不同年齡的多張人臉圖像,不同人臉的多張不同年齡的人臉圖像構(gòu)成時光變換數(shù)據(jù)庫。需要說明的是,在構(gòu)建時光變換數(shù)據(jù)庫時,可以通過人臉檢測技術(shù)將收集的人臉圖像中大面積缺失的人臉圖像丟棄,以免影響人臉圖像預測模型參數(shù)的準確性。
步驟102,從所述時光變換數(shù)據(jù)庫中的人臉圖像中提取人臉屬性特征。
首先,對人臉圖像進行人臉檢測及人臉特征點定位,以得到圖像中人臉的局部特征點的位置;然后,根據(jù)各局部特征點的位置及預先訓練的分類模型提取各人臉圖像的人臉屬性特征。
其中,所述人臉檢測主要是為了找到圖像中人臉所在位置,具體做法與現(xiàn)有技術(shù)相同,如通過預先收集大量包含人臉的圖像,提取SIFT(Scale-invariant feature transform,尺度不變特征變換)特征,訓練人臉與非人臉的分類模型,利用所述分類模型對數(shù)據(jù)庫中人臉圖像進行人臉檢測。所述人臉特征點定位主要是為了在人臉檢測的基礎上,進一步確定臉部的局部位置,如眼睛、眉毛、鼻子、嘴巴、臉部外輪廓等,具體定位時,主要通過人臉的紋理特征和各特征點之間的位置約束結(jié)合,如可以采用ASM(Active Shape Model,主動形狀模型)或AAM(Active Appreance Model,主動外觀模型)算法進行人臉特征點定位,得到圖像中人臉的局部特征點位置。
在本發(fā)明實施例中,所述人臉屬性特征主要指與人臉長相或人臉變化相關(guān)的屬性特征,提取的人臉屬性特征可以包括以下任意一種或多種:年齡、性別、人臉表情、是否戴眼鏡、地域、職業(yè)等。各屬性特征的取值如下:
年齡:以固定年份為跨度,將年齡劃分為多個區(qū)間,如以5年為跨度,0到99歲的年齡可以劃分為20個區(qū)間,提取年齡特征時,直接給出人臉圖像所屬的年齡區(qū)間;
性別:男性、女性;
表情:可以將人臉表情大致劃分為喜、怒、哀、樂;
是否戴眼鏡:是、否;
地域:可以將地域按照省份劃分,預測得到圖像中人臉所屬的省份;
職業(yè):可以劃分幾種不同的職業(yè),如一種劃分為嬰幼兒、學生、農(nóng)民、辦公人員等。
具體提取時,可以預先為每種特征訓練一個分類模型,利用所述分類模型對每種特征的屬性取值進行預測。所述分類模型可以采用深度神經(jīng)網(wǎng)絡描述,具體提取方法與現(xiàn)有技術(shù)相同,在此不再詳述。
步驟103,對所述時光變換數(shù)據(jù)庫中的人臉圖像進行規(guī)整,得到規(guī)整后的人臉圖像。
所述規(guī)整主要包括對人臉圖像中人臉的坐標及尺度的規(guī)整,如按照鼻尖點為中心點,雙眼連線為x軸,以經(jīng)過鼻尖點與x軸垂直的直線為y軸,對人臉坐標及尺度進行規(guī)整;同時對于存在遮擋或戴眼鏡的人臉圖像,使用圖像平滑技術(shù)預測出無遮擋、無眼鏡的圖像,將預測后的圖像代替數(shù)據(jù)庫中原來的圖像,所述平滑技術(shù)如基于深度神經(jīng)網(wǎng)絡的圖像重構(gòu),或基于稀疏表達的求解方法。
步驟104,根據(jù)提取的人臉屬性特征對所述規(guī)整后的人臉圖像進行聚類,得到聚類后的人臉圖像。
在本發(fā)明實施例中,可以利用決策樹對所述規(guī)整后的人臉圖像進行聚類,決策樹的節(jié)點表示每種人臉屬性特征,每條邊表示人臉屬性特征的具體取值,具體聚類過程將在后面詳細描述。當然,也可以利用現(xiàn)有技術(shù)中的一些其它聚類方法對所述規(guī)整后的人臉圖像進行聚類,對此本發(fā)明實施例不做限定。
步驟105,根據(jù)聚類后的人臉圖像,構(gòu)建人臉預測模型。
人臉圖像聚類完成后,得到完整的決策樹,每張人臉圖像根據(jù)其人臉屬性特征的取值情況,落到?jīng)Q策樹的葉子節(jié)點中,落到同一葉子節(jié)點的人臉圖像共享同一模型,不同葉子節(jié)點的人臉圖像分別訓練不同的人臉預測模型。所述人臉預測模型具體可以采用深度神經(jīng)網(wǎng)絡的結(jié)構(gòu)進行模型訓練,模型訓練時采用增量式訓練的方法,具體構(gòu)建過程將在后面詳細描述。
如圖2所示,是本發(fā)明實施例中利用決策樹對人臉圖像進行聚類的流程圖,包括以下步驟:
步驟201,選擇一種人臉屬性特征作為決策樹的根節(jié)點,根據(jù)所選擇的人臉屬性特征的取值確定所述根節(jié)點的各條邊,并將人臉圖像劃分為多類。
決策樹的節(jié)點表示每種屬性特征,每條邊表示屬性特征的具體取值。具體地,可以將區(qū)分性較強的人臉屬性特征作為決策樹的根節(jié)點,根據(jù)該人臉屬性特征的取值得到根節(jié)點的各條邊,從而將人臉圖像劃分為多個類。比如,根據(jù)性別屬性特征的取值即男或女,將人臉圖像劃分成兩類,即分別為男人臉圖像和女人臉圖像。
步驟202,利用提取的人臉屬性特征,計算每類人臉圖像中剩余的各人臉屬性特征取值的最小方差。
具體地,針對每類人臉圖像,先針對每個人計算其各人臉圖像的剩余人臉屬性特征取值的方差;然后針對每類中的所有人計算每個剩余人臉屬性特征取值的方差和(每個屬性對應一個方差和);最后再選這些屬性取值的方差和中的一個最小方差和作為該類中的屬性取值最小方差。
例如,將性別屬性特征作為根節(jié)點,則剩余的人臉屬性特征分別為年齡、表情、是否戴眼鏡、地域、及職業(yè)。針對每個人的多個不同人臉圖像,分別計算各圖像的剩余各人臉屬性特征取值的方差,即得到每個人的不同人臉圖像的剩余人臉屬性特征取值的方差。例如,對應張三,有4個圖像,則分別計算這4個圖像在年齡、表情、是否戴眼鏡、地域、及職業(yè)這5個屬性特征上取值的方差(為了描述方便,將其稱為屬性方差);同樣,對應李四,有3個圖像,則分別計算這3個圖像在年齡、表情、是否戴眼鏡、地域、及職業(yè)這5個屬性特征上取值的方差。然后,針對每類中,所有人的每種人臉屬性特征,將得到的所有人的人臉圖像的相應屬性特征取值的方差求和,即得到每類中所有人的剩余各人臉屬性特征取值的方差和。
需要說明的是,考慮到方差較大,則對應的人臉屬性特征的取值偏差較大,即特征提取時,預測的偏差較大。因此,如果計算得到某人的屬性方差大于設定閾值,則在計算該人所屬類的最小方差時,可以不考慮該人相應人臉屬性特征的取值。
步驟203,判斷所述最小方差是否大于設定值。如果是,則執(zhí)行步驟204;否則,執(zhí)行步驟205。
步驟204,將所述最小方差對應的類所屬的節(jié)點作為葉子節(jié)點,不再繼續(xù)劃分;然后執(zhí)行步驟206。
步驟205,將每類中所述最小方差對應的屬性特征作為每類人臉圖像的上層節(jié)點,根據(jù)每類上層節(jié)點的取值得到每類上層節(jié)點相應的邊,將每類人臉圖像繼續(xù)劃分為多類。
步驟206,判斷是否還有屬性特征未添加到?jīng)Q策樹中;如果是,執(zhí)行步驟202;否則,執(zhí)行步驟207。
步驟207,統(tǒng)計每個葉子節(jié)點下的人臉圖像數(shù)量,如果葉子節(jié)點中的人臉圖像數(shù)量小于設定的數(shù)量閾值,則刪除該葉子節(jié)點及其兄弟節(jié)點,并將該葉子節(jié)點及其兄弟節(jié)點中的的人臉圖像添加到該葉子節(jié)點的父節(jié)點中,決策樹構(gòu)建完成,同時人臉圖像聚類結(jié)束。
如圖3所示,是本發(fā)明實施例中每個葉子節(jié)點對應的人臉預測模型構(gòu)建過程,包括以下步驟:
步驟301,對時光變換數(shù)據(jù)庫中人臉圖像進行排序,同一人的人臉圖像按照年齡先后進行排序。
步驟302,利用排序后的數(shù)據(jù)對人臉預測模型進行初始化,得到初始化的人臉預測模型。
對于時光順流模型的訓練,將最低年齡區(qū)間人臉圖像作為輸入,如以5年作為一個年齡區(qū)間,將下一年齡區(qū)間內(nèi)的人臉圖像作為輸出,進行模型的訓練,得到具有短時預測重構(gòu)功能的時光順流模型;
對于時光逆流模型的訓練,將最低年齡區(qū)間人臉圖像作為模型的輸出,將下一年齡區(qū)間內(nèi)的人臉圖像作為輸入,進行模型的訓練,得到具有短時回推重構(gòu)功能的時光逆流模型。
步驟303,對所述初始化的人臉預測模型進行增量訓練,得到最終的人臉預測模型。
依次增加年齡區(qū)間的人臉圖像,對步驟302中時光順流模型和時光逆流模型進行增量訓練,具體地如下所述:
對于時光順流模型,首先將最低年齡區(qū)間的人臉圖像作為輸入,預測得到下一年齡區(qū)間的人臉圖像,再將預測得到的下一年齡區(qū)間的人臉圖像作為輸入,預測得到第三年齡區(qū)間的人臉圖像,最小化預測得到的第三年齡區(qū)間的人臉圖像與真實第三年齡區(qū)間的人臉圖像的誤差,對時光順流模型參數(shù)進行更新訓練,所述真實第三年齡區(qū)間的人臉圖像為時光轉(zhuǎn)換數(shù)據(jù)庫中人臉圖像;依次增加人臉圖像的年齡區(qū)間,每次增加一個或多個年齡區(qū)間,對時光順流模型進行訓練,每增加一次年齡區(qū)間,對時光順流模型進行一次更新,直到所有年齡區(qū)間增加結(jié)束,得到最終的時光順流模型;
對于時光逆流模型,首先將增加年齡區(qū)間后的人臉圖像作為輸入,如將第三年齡區(qū)間的人臉圖像作為輸入,利用時光逆流模型回推重構(gòu)得到的前一年齡區(qū)間的人臉圖像,再將回推重構(gòu)的前一年齡區(qū)間作為時光逆流模型的輸入,回推重構(gòu)最低年齡區(qū)間的人臉圖像,最小化回推重構(gòu)的最低年齡區(qū)間的人臉圖像與真實最低年齡區(qū)間的人臉圖像之間的誤差,對時光逆流模型參數(shù)進行更新訓練,所述真實最低年齡區(qū)間的人臉圖像為時光轉(zhuǎn)換數(shù)據(jù)庫中人臉圖像,依次人臉圖像的增加年齡區(qū)間,每次增加一個或多個年齡區(qū)間,對時光逆流模型進行訓練,每增加一次年齡區(qū)間,對時光逆流模型進行一次更新,直到所有年齡區(qū)間增加結(jié)束,得到最終的時光逆流模型。
利用上述人臉預測模型,本發(fā)明實施例提供的人臉圖像預測方法的流程圖如圖4所示,包括以下步驟:
步驟401,獲取待預測的人臉圖像及預測人臉圖像的時間點。
所述圖像可以為用戶直接上傳的圖像,也可以是直接通過攝像頭拍攝得到的圖像。
所述預測人臉圖像的時間點指用戶想預測得到的人臉圖像的時間點,具體可以使用年齡表示,如當前人臉圖像預測得到的年齡為20歲,用戶想得到30歲時的人臉圖像。所述時間點可以由用戶輸入或選擇。
步驟402,從所述人臉圖像中提取人臉屬性特征。
所述人臉屬性特征可以包括以下任意一種或多種:性別、表情、是否戴眼鏡、地域、職業(yè)。人臉屬性特征的提取方法可以參考前面人臉圖像模型構(gòu)建時,對大量人臉圖像提取人臉屬性特征的方法,即,首先,對人臉圖像進行人臉檢測及人臉特征點定位,以得到圖像中人臉的局部特征點的位置;然后,根據(jù)各局部特征點的位置及預先訓練的分類模型提取各人臉圖像的人臉屬性特征。當然,如果用戶提供的圖像上不僅有人臉,還帶有背景以及與人臉無關(guān)的附加信息(比如耳環(huán)、眼鏡等),則需要先去除背景及這些無關(guān)信息。
步驟403,利用所述人臉屬性特征確定對應的人臉圖像預測模型。
具體地,可以根據(jù)所述人臉屬性特征,遍歷決策樹,找到這些人臉屬性特征對應的葉子節(jié)點位置,然后獲取所述葉子節(jié)點對應的人臉預測模型。
步驟404,將所述人臉圖像的像素點輸入所述人臉預測模型,得到預測的人臉圖像。
如果所述時間點在當前接收人臉圖像的時間點之后,則使用時光順流模型進行預測,如果所述時間點在當前圖像的時間點之前,則使用時光逆流模型對圖像進行回推重構(gòu)。如用戶輸入20年后,則在當前人臉圖像對應的時間點之后,如果用戶輸入20年前,則在當前人臉圖像對應的時間點之前,或者用戶直接輸入當前年齡和預測后的年齡。比如當前人臉圖像的年齡為30歲,用戶想得到30到99歲時的任意時間點對應的人臉圖像,則使用時光順流模型對當前圖像進行預測,用戶想得到0到29歲時的任意時間點對應的人臉圖像,則使用時光逆流模型對當前圖像進行回推重構(gòu)。
具體預測時,可以根據(jù)預劃分的年齡區(qū)間,確定當前人臉圖像所屬年齡區(qū)間與用戶想得到人臉圖像的年齡區(qū)間;然后將當前人臉圖像作為人臉預測模型的輸入,每次預測或重構(gòu)一個年齡區(qū)間的人臉圖像,隨后將預測或重構(gòu)的人臉圖像作為輸入繼續(xù)預測或重構(gòu)下一年齡區(qū)間的人臉圖像,直到用戶想得到的人臉圖像所在年齡區(qū)間;最后將預測或重構(gòu)的人臉圖像作為最終生成人臉圖像。
在得到預測的人臉圖像后,可以將該人臉圖像直接反饋給用戶。
前面提到,用戶提供的待預測的人臉圖像中除了包含人臉信息外,還可能會包含與人臉無關(guān)的附加信息,因此,針對這類人臉圖像,還需要根據(jù)提取的人臉屬性特征,對預測的人臉圖像進行相應屬性特征的還原,比如,表情、是否配戴眼鏡等。具體地,可以利用邊緣信息檢測出接收圖像中眼鏡等附屬物,并將該眼睛區(qū)域像素直接替換到生成的人臉圖像對應位置上;對于表情特征,可以利用人臉關(guān)鍵點控制生成的人臉圖像面部區(qū)域的形變,擬合接收圖像對應的人臉表情,具體方法與現(xiàn)有技術(shù)相同,在此不再詳述。通過還原處理,可以使還原后的人臉圖像更具真實感,將還原后的人臉圖像反饋給用戶,可以進一步提高用戶體驗。
另外,如果用戶提供的待預測的人臉圖像中還包括背景,則還需要將預測的人臉圖像與所述待預測的人臉圖像的背景進行合成,生成與待預測的人臉圖像相同背景的圖像。具體地,首先對預測的人臉圖像進行尺度規(guī)整,即根據(jù)待預測人臉圖像的面部朝向信息對后所述預測的人臉圖像進行縮放,得到縮放后的人臉圖像;然后將縮放后的人臉圖像與待預測的人臉圖像的背景進行插值,得到合成后的人臉圖像,具體方法與現(xiàn)有技術(shù)相同,在此不再詳述。通過合成處理,可以使合成后的人臉圖像畫面更豐富,將合成后的人臉圖像反饋給用戶,可以進一步提高用戶體驗。
本發(fā)明實施例提供的人臉圖像預測方法,預先構(gòu)建人臉圖像預測模型,所述人臉圖像預測模型可以包括:時光順流模型和/或時光逆流模型,其中,所述時光順流模型用于預測人臉未來的長相情況,所述時光逆流模型用于預測人臉過去的長相。對待預測的人臉圖像,提取與人臉長相或人臉變化相關(guān)的人臉屬性特征,然后利用提取的人臉屬性特征確定對應的人臉預測模型,然后將所述人臉圖像的像素點輸入所述人臉預測模型,得到所述時間點的人臉圖像,從而使預測得到的人臉圖像與待預測的人臉圖像的相關(guān)性較大,真實感較強,給用戶一種代入感,大大提高了用戶體驗。
相應地,本發(fā)明實施例還提供一種人臉圖像預測系統(tǒng),如圖5所示,是本發(fā)明實施例人臉圖像預測系統(tǒng)的一種結(jié)構(gòu)示意圖,包括以下各模塊:
接收模塊501,用于獲取待預測的人臉圖像及預測人臉圖像的時間點;
特征提取模塊502,用于從所述人臉圖像中提取人臉屬性特征;
模型選擇模塊503,用于利用所述人臉屬性特征確定對應的人臉圖像預測模型;
預測模塊504,將所述人臉圖像的像素點輸入所述人臉預測模型,得到預測的人臉圖像。
上述待預測的人臉圖像及預測人臉圖像的時間點可以是用戶直接輸入的,所述人臉屬性特征可以包括以下任意一種或多種:性別、表情、是否戴眼鏡、地域、職業(yè)。相應地,特征提取模塊502可以先對人臉圖像進行人臉檢測及人臉特征點定位,以得到圖像中人臉的局部特征點的位置;然后,根據(jù)各局部特征點的位置及預先訓練的分類模型提取各人臉圖像的人臉屬性特征。
所述模型選擇模塊503可以根據(jù)人臉圖像預測模型訓練時構(gòu)建的決策樹來獲取相應的人臉圖像預測模型,該模塊具體可以包括以下兩個單元:
遍歷單元,用于根據(jù)所述人臉屬性特征,遍歷所述決策樹,找到對應的葉子節(jié)點;
模型獲取單元,用于獲取所述葉子節(jié)點對應的人臉預測模型。
本發(fā)明實施例的人臉圖像預測系統(tǒng)利用預先構(gòu)建的人臉圖像預測模型進行人臉圖像預測,所述人臉圖像預測模型可以包括:時光順流模型和/或時光逆流模型,其中,所述時光順流模型用于預測人臉未來的長相情況,所述時光逆流模型用于預測人臉過去的長相。所述人臉圖像預測模型可以由相應的預測模型構(gòu)建模塊來構(gòu)建,對應于不同的人臉屬性特征,需要構(gòu)建相應的人臉圖像預測模型。在實際應用中,所述預測模型構(gòu)建模塊可以通過聚類的方法來構(gòu)建針對各種不同人臉屬性特征的人臉預測模型。而且,所述預測模型構(gòu)建模塊可以作為本發(fā)明系統(tǒng)的一部分,也可以獨立于本發(fā)明系統(tǒng),即作為一個獨立的實體,對此本發(fā)明實施例不做限定。
如圖6所示,是本發(fā)明實施例中預測模型構(gòu)建模塊的結(jié)構(gòu)示意圖,包括以下各單元:
圖像收集單元61,用于收集大量人臉圖像,構(gòu)建時光變換數(shù)據(jù)庫,具體地,可以收集同一人臉圖像在不同年齡的多張人臉圖像,不同人臉的多張不同年齡的人臉圖像構(gòu)成時光變換數(shù)據(jù)庫;
特征提取單元62,用于從所述時光變換數(shù)據(jù)庫中的人臉圖像中提取人臉屬性特征;
規(guī)整單元63,用于對所述時光變換數(shù)據(jù)庫中的人臉圖像進行規(guī)整,得到規(guī)整后的人臉圖像,具體可以對所述時光變換數(shù)據(jù)庫中的人臉圖像中人臉的坐標及尺度進行規(guī)整;
聚類單元64,用于根據(jù)提取的人臉屬性特征對所述規(guī)整后的人臉圖像進行聚類,得到聚類后的人臉圖像;
模型構(gòu)建單元65,用于根據(jù)聚類后的人臉圖像,構(gòu)建人臉預測模型。
上述特征提取單元62可以包括:定位子單元和提取子單元,其中,定位子單元用于對人臉圖像進行人臉檢測及人臉特征點定位,得到圖像中人臉的局部特征點的位置;提取子單元用于根據(jù)各局部特征點的位置及預先訓練的分類模型提取各人臉圖像的人臉屬性特征。
上述聚類單元64具體可以按照圖2所示方式對規(guī)整后的人臉圖像進行聚類。
上述模型構(gòu)建單元65需要針對所述決策樹中的每個葉子節(jié)點,構(gòu)建對應該葉子節(jié)點的人臉預測模型;所述模型構(gòu)建單元65的一種具體結(jié)構(gòu)可以包括以下各子單元:
排序子單元,用于對時光變換數(shù)據(jù)庫中人臉圖像進行排序,同一人的人臉圖像按照年齡先后進行排序;
初始化子單元,用于利用排序后的數(shù)據(jù)對人臉預測模型進行初始化,得到初始化的人臉預測模型;
增量訓練子單元,用于對所述初始化的人臉預測模型進行增量訓練,得到最終的人臉預測模型。
如圖7所示,在本發(fā)明人臉圖像預測系統(tǒng)的另一實施例中,所述系統(tǒng)還可包括:
還原模塊701,用于根據(jù)所述人臉屬性特征,對所述預測的人臉圖像進行還原,得到還原后的人臉圖像。
進一步地,所述系統(tǒng)還可包括:
合成模塊702,用于將所述預測的人臉圖像或所述還原后的人臉圖像與所述待預測的人臉圖像的背景進行合成,得到合成后的人臉圖像。
進一步地,所述系統(tǒng)還可包括:
反饋模塊703,用于將所述預測的人臉圖像、或還原后的人臉圖像、或合成后的人臉圖像反饋給用戶。
需要說明的是,在實際應用中,根據(jù)用戶提供的待預測圖像中是否帶有背景、以及圖像中是否還包含與人臉無關(guān)的一些附加信息等,上述還原模塊701和合成模塊702可以根據(jù)需要來選擇。而且,反饋模塊703也可以通過多種方式將最終得到的人臉圖像反饋給用戶,比如,在屏幕上直接展現(xiàn)、或者將圖像保存在相應的文件中等,對此本發(fā)明實施例不做限定。
本發(fā)明實施例提供的人臉圖像預測系統(tǒng),預先構(gòu)建人臉圖像預測模型,所述人臉圖像預測模型可以包括:時光順流模型和/或時光逆流模型,其中,所述時光順流模型用于預測人臉未來的長相情況,所述時光逆流模型用于預測人臉過去的長相。對待預測的人臉圖像,提取與人臉長相或人臉變化相關(guān)的人臉屬性特征,然后利用提取的人臉屬性特征確定對應的人臉預測模型,然后將所述人臉圖像的像素點輸入所述人臉預測模型,得到所述時間點的人臉圖像,從而使預測得到的人臉圖像與待預測的人臉圖像的相關(guān)性較大,真實感較強,給用戶一種代入感,大大提高了用戶體驗。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上對本發(fā)明實施例進行了詳細介紹,本文中應用了具體實施方式對本發(fā)明進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及系統(tǒng);同時,對于本領域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。