本發(fā)明涉及一種基于聯(lián)合字典的三維人臉表情去除方法,尤其涉及一種以三維人臉非剛性對齊、稀疏編碼、聯(lián)合字典和泊松變形的三維人臉表情去除的方法。
背景技術(shù):
三維表情去除與三維人臉表情合成都是多學(xué)科交叉的研究課題,同屬人臉合成領(lǐng)域。表情是人們傳遞情感的重要渠道之一,在日常的工作、生活之中占有重要的地位,然而在某些應(yīng)用的場景下,表情的存在反倒成為了影響和負擔(dān),例如表情的存在會影響人臉識別的準確性,尤其是人臉帶有夸張表情時往往會識別出錯誤的身份。因此,讓使用者擺出中性表情人臉,又有違人臉識別非配合性的初衷。一個思路是在設(shè)計、實現(xiàn)表情不敏感的三維人臉識別算法,減弱表情的影響;而通過計算機合成的方法,從帶表情人臉生成相應(yīng)的中性人臉,隨后再進行識別,是解決這一困境的另一條思路。公開號為CN101976454A的中國專利申請公開了一種三維人臉表情的去除方法,步驟如下:(1)三維人臉模型的非剛性對齊;(2)建立表情空間;(3)表情殘差空間的計算;(4)建立表情空間和表情殘差空間的映射關(guān)系;(5)表情殘差推導(dǎo)和表情去除。這個方法使用徑向基函數(shù)回歸,在法向特征空間與表情殘差空間中建立映射,從輸入人臉的法向特征數(shù)據(jù)求解相應(yīng)的表情殘差,隨后使用輸入的帶表情人臉減去表情殘差即可獲得中性人臉。但是這個方法在對嘴巴張得比較大的人臉模型,處理的效果并不好。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種基于非剛性對齊、稀疏編碼、聯(lián)合字典和泊松變形的三維人臉表情去除方法,主要解決的是將輸入的帶表情人臉自動變成對應(yīng)的中性人臉的技術(shù)問題。一種基于聯(lián)合字典的人臉表情去除方法,其步驟如下:(1)、三維人臉非剛性對齊:用于將所有三維人臉數(shù)據(jù)規(guī)則化,便于后續(xù)的處理;(2)、聯(lián)合字典學(xué)習(xí):通過聯(lián)合字典學(xué)習(xí)完成對訓(xùn)練數(shù)據(jù)庫中的人臉與其對應(yīng)的表情殘差間的映射建立,其中表情殘差通過表情人臉“減去”對應(yīng)的中性人臉得到;(3)、基于殘差的表情去除人臉區(qū)域提?。簩斎胍粡垳y試的帶表情人臉,根據(jù)步驟(2)得到的字典映射,得到與表情殘差,通過“減去”殘差獲得中性人臉;(4)、模板引導(dǎo)的泊松變形:基于向?qū)У淖冃魏蛣傂詤^(qū)域約束對步驟(3)得到中性人臉進行處理,使得最后輸出的中性人臉噪聲更少并更接近真實人臉。步驟(1)中的三維人臉非剛性對齊,是指將一個通用人臉模板向所有人實驗用到的人臉模板變形,拿變形的結(jié)果替代人臉成為新的實驗數(shù)據(jù),它分為三個階段:1)特征點原則的人臉變形,使用少數(shù)特征點位作為引導(dǎo),設(shè)定變形影響范圍,使得這些特征點的移動能夠帶動其周圍較大范圍內(nèi)鄰域點的移動,達到預(yù)先變形通用模板,減少網(wǎng)格折疊的目標;2)基于最近點原則的人臉曲面變形;3)基于混合原則的人臉曲面變形,即結(jié)合最近點原則和法線射線原則,在變形的過程中,不斷調(diào)整這兩個原則對變形結(jié)果影響的比重,具體調(diào)整原則請參考后面具體實施方案。在聯(lián)合字典的學(xué)習(xí)過程中,在表情人臉和表情殘差人臉間建立了一組非顯性的映射W,使得帶表情人臉與對應(yīng)的表情殘差在各自字典上的稀疏表征編碼保持相同,即共享編碼。帶表情人臉fexp“減去”對應(yīng)中性人臉fneu得到表情殘差fres基于以下公式:Φ(fres)=Φ(fexp)-Φ(fneu)(3)其中Φ(·)表示從三維人臉曲面上提取的曲面信號向量。假設(shè)本發(fā)明中提到的非剛性對齊步驟已經(jīng)完成,則Φ(·)可以寫成:Φ(f)=(x1,y1,z1,x2,y2,z3,…,xn,yn,zn)T(4)其中xi,yi,zi,1≤i≤n是三維人臉上的第i個點的三維坐標。基于向?qū)У淖冃蔚姆椒ㄊ菍⑤斎氲娜四樤谧陨硗負浣Y(jié)構(gòu)的約束下向目標人臉(“向?qū)А?變形。剛性區(qū)域約束指的是通過邊界條件的方式對泊松方程加以約束,固定人臉上的剛性區(qū)域保持不變。三維人臉表情去除可以定義如下:通過輸入的帶表情的三維人臉fexp,生成相應(yīng)的不含表情的人臉模型,即中性人臉模型f′neu,它應(yīng)該與真實的中性人臉fneu盡量的像,φ(f′neu,fneu)≤ξ(5)ξ是一個盡量小的閾值。三維人臉表情去除可歸結(jié)為“經(jīng)由某種特征提取方式提取三維人臉數(shù)據(jù)的特征向量y后,尋找一個從帶表情人臉數(shù)據(jù)到表情殘差數(shù)據(jù)間的映射關(guān)系W,yot=W·yin(6)其中yot和yin分別表示帶表情人臉數(shù)據(jù)和對應(yīng)殘差數(shù)據(jù),W即表情人臉與表情殘差人臉間的映射。本發(fā)明使用稀疏表征以及字典聯(lián)合學(xué)習(xí)為三維人臉表情映射處理模型建立隱式的映射關(guān)系。三維人臉y可以用字典D∈R3n*m表示,即y=Dx,帶表情人臉數(shù)據(jù)yin、表情殘差數(shù)據(jù)yot以及目標函數(shù)可表示為Dotxot=y(tǒng)ot=W·yin=W·Dinxin(7)其中Dot和Din分別是帶表情人臉、表情殘差人臉數(shù)據(jù)集的字典,xin和xot是帶表情人臉、表情殘差人臉在各自字典上的相應(yīng)的編碼。字典Din和Dot可在帶表情人臉及對應(yīng)殘差人臉各自的訓(xùn)練集上各自訓(xùn)練獲得,表情殘差人臉yot可以被認為是編碼xot經(jīng)由某種映射,從帶表情人臉yin相應(yīng)的編碼xin映射獲得。然而這種想法僅僅是由yin和yot間的映射轉(zhuǎn)化為xin和xot間的映射而已。加入我們在字典訓(xùn)練時找到兩組相應(yīng)的字典Din和Dot,它們在帶表情人臉和表情殘差人臉間建立了一組非顯性的映射W使得同一張人臉的帶表情人臉對應(yīng)的表情殘差人臉數(shù)據(jù)間在各自字典上的稀疏表征編碼保持相同,即共享編碼:Dotx=y(tǒng)ot=W·yin=W·Dinx(8)那么給定帶表情人臉數(shù)據(jù)后,在帶表情人臉的字典Din上求解稀疏表征編碼x后,即可直接使用字典重構(gòu)Dot重構(gòu)輸出人臉數(shù)據(jù)yot=Dotx。不少取得不錯效果的三維人臉表情去除算法使用表情殘差作為中間變量,通過在帶表情人臉與表情殘差間建立映射關(guān)系,獲得表情殘差后,將其從帶表情人臉上“減去”以獲得中性表情。該方法通常情況下是基于假設(shè)“非中性人臉與表情殘差間的聯(lián)系比與它與中性人臉間的關(guān)系更緊密”。從數(shù)據(jù)的角度而言,該假設(shè)具有一定的道理,基于“直接映射”的方法等價于使用中性人臉生成目標人臉,相當(dāng)于“從無到有”的生成;而基于“間接映射”的方法則等價使用表情殘差對輸入的帶表情人臉進行“修正”。直觀而言,在原有人臉上“修正”可能要比使用其他人臉“生成”包含更多的個人獨有的特征。因此本發(fā)明使用帶表情人臉和表情殘差建立映射的方法對三維人臉進行表情去除。本發(fā)明有益的效果是自動地將輸入的一個帶表情的三維人臉數(shù)據(jù)變成其對應(yīng)的中性人臉數(shù)據(jù)。附圖說明圖1為采用各種方法以及本發(fā)明方法進行處理后視覺上的人臉表情去除結(jié)果。具體實施方式:一、三維人臉非剛性對齊三維人臉非剛性對齊,是指將一個通用人臉模板向所有人實驗用到的人臉模板變形,拿變形的結(jié)果替代人臉成為新的實驗數(shù)據(jù),這個變形分為三個階段:1)特征點原則的人臉變形,使用少數(shù)特征點位作為引導(dǎo),設(shè)定變形影響范圍,使得這些特征點的移動能夠帶動其周圍較大范圍內(nèi)鄰域點的移動,達到預(yù)先變形通用模板,減少網(wǎng)格折疊的目標,我們也采用誤差項來求解變形目標,定義為:λ1,λ2,λ3是經(jīng)驗給定的參數(shù),一般通過對訓(xùn)練數(shù)據(jù)進行交叉驗證的方法得到,其中El為標定點誤差,定義為:其中ui,i=1,2,3,…,l是通用人臉模板上的特征點,υc(i)是目標人臉上的特征點,ui和υc(i)是一一對應(yīng)的,oi表示變形中υi的偏移量,oi+υi便是變形后頂點υi的新位置,本發(fā)明后面的公式使用相同符號定義,不再贅述。光滑誤差項Es定義如下:其中Ni是υi在曲面網(wǎng)格上的1環(huán)領(lǐng)域內(nèi)的相鄰頂點。初始化誤差Er定義如下:其中sυi是頂點υi在每次變形過程中的偏移量,它由所有特征點的位置以及頂點υi與之距離的遠近所決定,sυi定義如下:l是特征點個數(shù),rj是第j個特征點的影響半徑,σ是控制影響效果的因子。我們設(shè)定初始對齊誤差估計以及迭代停止閾值ξ,迭代求解最小化能量函數(shù)Edef,直到誤差估計er<ξ或為止,停止該階段的變形。2)基于最近點原則的人臉曲面變形,通過最小化能量定義為:λ1,λ2,λ3是經(jīng)驗給定的參數(shù),一般通過對訓(xùn)練數(shù)據(jù)進行交叉驗證的方法得到,其中最近點誤差En定義為:其中pυi是通過最近點原則找到的υi的最近點(下同),使用最近點原則型迭代30步后,我們結(jié)束階段2),進入階段3)。3)基于混合原則的人臉曲面變形,即結(jié)合最近點原則和法線射線原則,在變形的過程中,不斷調(diào)整這兩個原則對變形結(jié)果影響的比重,通過最小化實現(xiàn),定義為:其中誤差項Eh定義為:gυi表示利用法線射線原則找到的υi的對應(yīng)點。在這一階段的變形過程中,η1的取值由1逐步變?yōu)?,而η2的取值則由0逐步變?yōu)?。這兩個值的變化都采用線性的變化,因此能夠始終維持η1+η2=1。針對法向射線尋找對應(yīng)點時可能尋找到距離較遠的錯誤的點甚至找不到點的問題,我們設(shè)定一個參數(shù)ψ,如果法向射線對應(yīng)點對的距離(找不到對應(yīng)點時距離為無窮大)大于ψ倍的最近點原則下的對應(yīng)點對的距離,我們認為此時法向射線原則下找到的對應(yīng)點是錯誤的對應(yīng)點,我們用pυi來代替gυi,最終找到的點gi可以表示為:二、聯(lián)合字典學(xué)習(xí)1.表情殘差提取對訓(xùn)練數(shù)據(jù)中的所有表情人臉fexp“減去”其對應(yīng)的中性人臉fneu得到殘差人臉fres,Φ(fres)=Φ(fexp)-Φ(fneu)(19)Φ(·)如前面所定義。2.PCA降維在本發(fā)明中,經(jīng)非剛性對齊后的三維人臉數(shù)據(jù)具有相同的拓撲結(jié)構(gòu),且頂點呈有序排列,因此后續(xù)實驗可直接使用其空間坐標作為其特征向量,即:y=(x1,y1,z1,x2,y2,z2,…,x2,yn,zn)T(20)其中xi,yi,zi是第i個頂點的三維坐標。本發(fā)明在字典聯(lián)合訓(xùn)練之前,首先使用主成分分析分別為高低分辨率數(shù)據(jù)訓(xùn)練各自的特征向量,降低樣本維度,其中Y是訓(xùn)練樣本,Y是樣本均值,U是特征向量矩陣,Q是特征值向量。3.字典學(xué)習(xí)字典的學(xué)習(xí)這一目標可以通過最小化求解下述函數(shù)獲得:其中Yexp是帶表情人臉訓(xùn)練數(shù)據(jù),Yres是對應(yīng)的殘差人臉訓(xùn)練數(shù)據(jù),Dexp和Dres是對應(yīng)的待求解的字典,η是參數(shù),該問題的求解可以通過K-SVD算法交替優(yōu)化D與X求解得到。三、測試人臉帶表情去除1.非剛性對齊按照上述方法對輸入的測試帶表情人臉進行非剛性對齊,即用一個通用模板變形到輸入的測試人臉,用變形結(jié)果來替代輸入的人臉進行后續(xù)計算。2.解碼對于輸入的樣本數(shù)據(jù)yin,使用特征矩陣Uin以及均值Yin對其進行降維,獲得特征值向量qin;將這個結(jié)果在已經(jīng)得到的聯(lián)合字典的Dexp部分求解得到稀疏編碼x;表情殘差通過fres=Dresx得到;粗略的中性人臉通過以下公式求得:Φ(f′neu)=Φ(fexp)-Φ(fres)(23)3.泊松變形本發(fā)明中的泊松變形與YuemingWang,GangPan,ZhaohuiWu.3dfacerecognitioninthepresenceofexpression:Aguidance‐basedconstraintdeformationapproach.In2007.IEEEConferenceonComputerVisionandPatternRecognition.IEEE,2007,1–7中提出的方法類似,不同之處在于通過人臉變形模型,我們能夠使得所有的人臉曲面具有相同的頂點個數(shù)、相同的拓撲結(jié)構(gòu)以及人體測量學(xué)上的一致性對應(yīng)關(guān)系,統(tǒng)計人臉頂點在表情變化時的偏移量Δυ小于閾值ε,認為是位于剛性區(qū)域內(nèi)的頂點,而偏移量Δυ大于該閾值則被認為是非剛性區(qū)域內(nèi)的頂點,頂點偏移量的定義如下:表示中性人臉上的第i個點,表示帶表情人臉上的第i個點,Δυi表示對應(yīng)偏差。YuemingWang,GangPan,ZhaohuiWu.3dfacerecognitioninthepresenceofexpression:Aguidance‐basedconstraintdeformationapproach.In2007.IEEEConferenceonComputerVisionandPatternRecognition.IEEE,2007,1–7中提出的方法中要解決的是帶表情的三維人臉識別,剛性模板是同一人多表情下的類內(nèi)平均差異,只需一個剛性模板。人類在表達不同的表情是,參與的肌肉群不同,因此六種表情具有六個不甚相同的剛性模板。本發(fā)明的方法以變形前的帶表情人臉作為輸入,通過表情殘差生成的中性人臉是變形目標,使用模板引導(dǎo)的泊松變形輔以剛性約束模板。本發(fā)明使用BU-3DFE數(shù)據(jù)庫作為測試三維人臉表情去除以及合成的數(shù)據(jù)集。由于BU-3DFE數(shù)據(jù)庫對于單個表情,只有100個人的400張測試數(shù)據(jù),數(shù)據(jù)相對較少,因此在本章節(jié)實驗中使用留一法,即使用99個人,共396張同表情數(shù)據(jù)進行訓(xùn)練,剩余1個人的4張同表情數(shù)據(jù)作為測試,重復(fù)測試,直至每個人都作為測試樣本測試過一次后求平均。采用均方根誤差評價作為量化的評價標準用以評估生成的人臉與真實的人臉曲面間的差異,誤差越小表明實驗結(jié)果越接近真實人臉。將兩張非剛性對齊后的三維人臉數(shù)據(jù)X和Y對齊后,均方根誤差RMSE通過如下公式計算:其中m表示人臉數(shù)據(jù)X上的頂點個數(shù),n表示Y的頂點個數(shù);xi是X的第i個頂點,yxi是三維人臉Y上與X中頂點xi距離最近的點;yi是Y上第i個頂點,xyi是距離Y中頂點yi。使用兩張人臉相互間的RMSE取平均值以便避免單張人臉上由于多數(shù)點聚集于一處而產(chǎn)生的誤差。表1在六種表情上的均方根誤差結(jié)果:圖1為視覺上的人臉表情去除結(jié)果,圖中每一列從左到右分別是:輸入的帶表情人臉、使用線性回歸方法得到的中性人臉、使用本征轉(zhuǎn)移方法得到的結(jié)果、使用徑向基函數(shù)回歸方法得到的結(jié)果、使用本發(fā)明方法中,基于直接映射獲得的結(jié)果以及基于間接映射獲得的結(jié)果,最后一列是真實的人臉。每一行從上到下分別是六種表情:生氣、厭惡、恐懼、高興、哀傷和驚訝。從中可以發(fā)現(xiàn),通過線性回歸以及本征轉(zhuǎn)移的方法獲得的結(jié)果包含了大量的噪聲,而其他三種方法獲得結(jié)果則要平滑很多。