張美玉,侯向輝,任煒彬,徐錦婷,王嗣鈞
(1.浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023;
2.浙江省可視媒體智能處理技術(shù)研究重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310023;
3.南京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210016)
?
基于非線性最小乘的人臉姿態(tài)估計(jì)算法
張美玉1,2,侯向輝1,2,任煒彬1,徐錦婷1,王嗣鈞3
(1.浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023;
2.浙江省可視媒體智能處理技術(shù)研究重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310023;
3.南京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210016)
摘要:為提高人臉姿態(tài)估計(jì)的精確度和魯棒性,提出了一種結(jié)合多特征點(diǎn)三維建模與抗表情干擾策略的姿態(tài)估計(jì)算法.該算法將3D通用標(biāo)準(zhǔn)模型與輸入的人臉特征點(diǎn)進(jìn)行擬合,進(jìn)一步將問題抽象成為非線性最小二乘問題.為解決此問題,提出了一種新穎的粗估計(jì)方法,并利用搜索類算法進(jìn)行迭代求精,最終得到最優(yōu)解.實(shí)驗(yàn)結(jié)果分析表明: 該算法具有魯棒性,對(duì)人臉表情具有抗干擾能力.
關(guān)鍵詞:非線性最小二乘;人臉姿態(tài)估計(jì);三維建模;迭代搜索;主成分分析
人臉姿態(tài)估計(jì)是指從輸入的單幅圖像或視頻中確定人臉在3D空間中姿態(tài)的過程[1-2],其不僅在人機(jī)交互、智能監(jiān)控、虛擬現(xiàn)實(shí)、計(jì)算機(jī)游戲等諸多領(lǐng)域有著重要的應(yīng)用[3-4],同時(shí)還是多姿態(tài)人臉識(shí)別的前提條件[5-6],是計(jì)算機(jī)視覺領(lǐng)域一個(gè)重要的研究課題.人臉姿態(tài)估計(jì)的方法大致可以分為兩類[7]:基于外觀的方法和基于模型的方法.基于外觀的方法是在假設(shè)人臉姿態(tài)與人臉外觀特征(如圖像灰度、色彩、梯度等)之間,存在著某種特定關(guān)系這一前提下,通過濾波后圖像比較以及神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、核子空間等統(tǒng)計(jì)學(xué)習(xí)工具訓(xùn)練大量已知姿態(tài)的人臉外觀圖像來建立這種關(guān)系.此類方法嚴(yán)重依賴樣本數(shù)量和劃分策略,當(dāng)樣本數(shù)量不足或劃分策略不夠詳盡時(shí),結(jié)果往往也不夠理想.基于模型的方法[5]將人臉的幾何結(jié)構(gòu)通過投影模型表示出三維人臉模型和二維人臉圖像之間的關(guān)聯(lián),繼而可以把人臉姿態(tài)估計(jì)算法歸結(jié)為某一準(zhǔn)則下的多參數(shù)最優(yōu)化問題.而非線性最小二乘則是解決此類問題的最簡單高效的方法之一, 其思想是通過旋轉(zhuǎn)3D通用模型,然后投影至圖像平面,與測試人臉特進(jìn)行最小二乘擬合,在最小誤差約束下,擬合出人臉姿態(tài),從而達(dá)到姿態(tài)估計(jì)的目標(biāo).
鑒于上述分析,筆者給出一種基于非線性最小二乘的人臉姿態(tài)估計(jì)算法.該算法主要做了如下工作:1) 利用主成分分析(Principal component analysis, PCA),對(duì)人臉特征點(diǎn)進(jìn)行重構(gòu),克服表情對(duì)姿態(tài)估計(jì)的不良影響;2) 證明問題隸屬于非線性最小二乘問題,建立對(duì)應(yīng)的數(shù)學(xué)模型,并利用馬夸爾特算法(Levenberg-marquard,LM)對(duì)粗估計(jì)姿態(tài)進(jìn)行迭代求精.
1人臉3D通用模型表達(dá)
通常,在能夠獲得高精度人臉特征點(diǎn)的前提下,基于模型的人臉姿態(tài)估計(jì)算法一般具有易實(shí)施、結(jié)果準(zhǔn)確等優(yōu)點(diǎn).特征點(diǎn)的選擇對(duì)算法的精確度起著關(guān)鍵的作用.故此,特征點(diǎn)的標(biāo)定應(yīng)遵循以下原則:
1) 選取對(duì)應(yīng)于某種意義的特征點(diǎn),比如眼睛的邊角或鼻子的中心.
2) 選取最大曲率點(diǎn)和最高點(diǎn)作為特征點(diǎn).
3) 選取以上兩步的特征點(diǎn)連線的中間點(diǎn),作為新的特征點(diǎn).
在此需要說明的是,通常手工標(biāo)定的特征點(diǎn)相對(duì)穩(wěn)定且有效,當(dāng)然也可以使用已有的自動(dòng)標(biāo)定算法,自動(dòng)標(biāo)定算法會(huì)標(biāo)定紋理信息豐富的點(diǎn)作為特征點(diǎn),適合進(jìn)行跟蹤.
基于上述原則,選取眉毛、鼻子、嘴巴、下巴等紋理信息豐富的N處特征點(diǎn)來構(gòu)成臉的模型.這N個(gè)特征點(diǎn)可以表示成一個(gè)具有3n個(gè)元素的向量,其表達(dá)式為
M=(x1,y1,z1,x2,…,zn)T
(1)
其中:xi為特征點(diǎn)i在X軸坐標(biāo);yi為特征點(diǎn)i在Y軸坐標(biāo);zi為特征點(diǎn)i在Z軸坐標(biāo).故此,M也可以表示為
M3×N=(x1,x2,…,xn),Xi=(xi,yi,zi)T
(2)
經(jīng)過標(biāo)定后,可以得到若干張3D人臉圖片,每張3D人臉上有N個(gè)標(biāo)定的特征點(diǎn),而且每個(gè)特征點(diǎn)包含著3個(gè)坐標(biāo)信息.首先通過平移、縮放和旋轉(zhuǎn)等處理后,得到目標(biāo)人臉的基本幾何信息[6],主要進(jìn)行以下操作:確立每張人臉的中心坐標(biāo);通過平移,對(duì)人臉中心坐標(biāo)進(jìn)行對(duì)齊;通過縮放,對(duì)人臉的大小進(jìn)行統(tǒng)一;通過選擇,對(duì)人臉的角度進(jìn)行校準(zhǔn),從而從式(2)得到M0.
1) 計(jì)算樣本的預(yù)估3D通用模型,即
(3)
2) 計(jì)算每張3D人臉與預(yù)估3D通用模型的Procrustes距離Pd,即
(4)
3) 運(yùn)用廣義Procrustes分析法對(duì)3D通用進(jìn)行歸一化處理.
4) 重復(fù)步驟2)和3),當(dāng)Procrustes距離小于設(shè)定閾值ε,從而得到算法所需的3D通用模型,如圖1所示.
圖1 3D通用模型Fig.1 3D general model
2特定人臉模型構(gòu)建與姿態(tài)估計(jì)
人臉的姿態(tài)有三個(gè)自由度,分別為上下擺動(dòng)(pitch),左右擺動(dòng)(yaw)和平面內(nèi)旋轉(zhuǎn)(roll)[1],相應(yīng)地,我們定義空間旋轉(zhuǎn)矩陣分別為
(5)
(6)
(7)
給定目標(biāo)圖像G,對(duì)其進(jìn)行姿態(tài)估計(jì),等價(jià)于計(jì)算其自由度向量(α,β,γ).普遍采用的姿態(tài)估計(jì)算法思想是,將3D通用模型在空間中旋轉(zhuǎn)角度(α,β,γ),使得其在某一基準(zhǔn)二維坐標(biāo)系中的投影,與目標(biāo)圖像G盡可能吻合.
為減少計(jì)算量,假定目標(biāo)圖像所在坐標(biāo)系為基準(zhǔn)坐標(biāo)系.根據(jù)算法思想,很容易得到
sW(RM+T)=G
(8)
其中:s為伸縮因子;T3×1=(tx,ty,tz)為空間平移向
量;M3×N為3D通用模型;G2×N為估計(jì)目標(biāo)(輸入人臉特征點(diǎn)集);R3×3為空間旋轉(zhuǎn)矩陣;N為標(biāo)定特征點(diǎn)總數(shù);W2×3為投影矩陣,具體形式為
(9)
對(duì)式(9)進(jìn)行化簡,根據(jù)廣義矩陣變換原理,將旋轉(zhuǎn)矩陣R,空間偏移向量T,伸縮因子合并成為一個(gè)矩陣,更新數(shù)學(xué)模型為
(10)
(11)
3非線性最小二乘算法的人臉姿態(tài)求解
由于求解模型存在旋轉(zhuǎn)矩陣,造成了方程非線性,從而將姿態(tài)估計(jì)問題轉(zhuǎn)換為求解非線性最小二乘問題.目前解決非線性最小二乘問題有多種算法,如梯度下降法,高斯-牛頓法,阻尼牛頓法以及萊文伯格-馬夸特(Levenberg-marquardt,LM)算法等等.我們采用LM算法,因其結(jié)合了梯度下降法和高斯牛頓法的優(yōu)點(diǎn),迭代速度快,而且能夠克服模型求解過程中的病態(tài)性,成為目前解決非線性最小二乘問題應(yīng)用最廣泛的算法之一.
定理1不相容線性方程組Ax=b的最小二乘解必為相容線性方程組ATAx=ATb的解,反之亦然.
(12)
應(yīng)用定理1,將P視為求解參數(shù),得到
(13)
(14)
(15)
進(jìn)一步,根據(jù)P的參數(shù)形式,求解(α,β,γ,tx,ty,s),即
γ=arctan(P(1,2)/P(1,1))
(16)
(17)
(18)
s=P(1,3)/sinβ
(19)
tx=P(1,4)/s,ty=P(2,4)/s
(20)
由3.1給定的參數(shù)解不夠精確,從式(10)的建立可以看出:其求解實(shí)際上是一個(gè)非線性擬合同時(shí)推求參數(shù)的過程,設(shè)參數(shù)J,可表述為
(21)
其中:Mi和Gi分別為模型M與估計(jì)目標(biāo)G的第i個(gè)列向量.
設(shè)Xk表示第k次迭代的解向量,則迭代求解的規(guī)則為
(22)
式中:Sk為誤差指標(biāo)函數(shù),其Hessian矩陣為(▽2Sk),梯度向量為▽Sk.
對(duì)于LM算法,其誤差指標(biāo)函數(shù)[6]為
Sk=VkTVk
(23)
其中Vk為誤差向量,抗差解為
ΔX=-[JTJ+μI]-1JTV
(24)
其中:阻尼系數(shù)μ>0;I為單位矩陣.
(25)
(26)
4實(shí)驗(yàn)結(jié)果分析
人臉姿態(tài)估計(jì)受表情因素影響較大,含有表情因素的實(shí)驗(yàn)數(shù)據(jù)的特征點(diǎn)自動(dòng)標(biāo)定往往會(huì)出現(xiàn)誤差,從而影響對(duì)姿態(tài)的估計(jì).含有表情因素的數(shù)據(jù)選取自LFW數(shù)據(jù)庫,并手動(dòng)標(biāo)定特征點(diǎn)作為其真值,如圖2所示.從圖3,4可以看出:按改進(jìn)算法標(biāo)定的特征點(diǎn)和真值點(diǎn)的基本吻合,而按SDM[7]標(biāo)定的特征點(diǎn)和真值點(diǎn)
則出現(xiàn)了嚴(yán)重的誤差,其中,黑色的點(diǎn)代表特征點(diǎn)真值,紅色的點(diǎn)代表兩種算法自動(dòng)標(biāo)定的點(diǎn).我們計(jì)算特征點(diǎn)與其真值距離的歸一化誤差值,結(jié)果如圖5所示.
圖2 含有特征點(diǎn)真值的圖片F(xiàn)ig.2 A picture containing the true value of the feature points
圖3 改進(jìn)算法特征點(diǎn)對(duì)比圖Fig.3 The feature points of the the improved algorithm
圖4 SDM算法特征點(diǎn)對(duì)比圖Fig.4 The feature points of the SDM algorithm
圖5 特征點(diǎn)與其真值距離的歸一化誤差值Fig.5 Normalized error values of feature points and their true values
為了能夠更加全面的分析算法的魯棒性,我們對(duì)LFW數(shù)據(jù)庫中的人臉圖片進(jìn)行了測試實(shí)驗(yàn).由于數(shù)據(jù)庫較為龐大,本次實(shí)驗(yàn)主要測試的是LFW數(shù)據(jù)庫原圖中名字為A開頭的人臉圖片,總共1 036個(gè)樣本.具體的實(shí)驗(yàn)數(shù)據(jù)分析如表1所示.
表1 魯棒性實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)數(shù)據(jù)分別從平均值、最大值和最小值三個(gè)方面進(jìn)行分析對(duì)比,從表1中可以很明顯的發(fā)現(xiàn),改進(jìn)算法在克服表情的魯棒性方面要優(yōu)于SDM算法.
我們實(shí)驗(yàn)選擇的人臉姿態(tài)圖片集為point-04,point-04圖片集包含帶有姿態(tài)真值的各種人臉圖片共1 956張.實(shí)驗(yàn)發(fā)現(xiàn),改進(jìn)算法在姿態(tài)角度大于60°時(shí),誤差大于5°.表2給出了改進(jìn)算法和SDM算法在60°以內(nèi)的平均誤差.
表2 平均誤差
隨機(jī)選擇2組真值為β=0°,±15°,±30°,±45°這4種姿態(tài)圖片,如圖6所示.圖6中第一組數(shù)據(jù)為改進(jìn)算法估計(jì)得出姿態(tài),第二組數(shù)據(jù)為SDM算法估計(jì)得出的姿態(tài),單位為度.
圖6 部分估計(jì)結(jié)果Fig.6 Some estimated results
通過對(duì)比圖6可以發(fā)現(xiàn):兩種算法的姿態(tài)估計(jì)誤差隨著角度的增加而增大,其中真值為0°~15°時(shí),改進(jìn)算法和SDM算法估計(jì)誤差相差不大,都控制在3°以內(nèi)的高精度水平;真值為30°的情況下,改進(jìn)算法誤差控制在3°以內(nèi)的高精度水平,而SDM算法則誤差較大,但也控制在5°以內(nèi)的有效估計(jì);在真值等于45°的情況下,改進(jìn)算法依舊能夠保證在5°以內(nèi),而SDM算法則誤差超過5°.
5結(jié)論
我們通過對(duì)比樣本的標(biāo)定特征點(diǎn)與其真值得歸
一化方差數(shù)據(jù)來分析,通過對(duì)比經(jīng)典特征點(diǎn)標(biāo)定算法SDM,可以得出改進(jìn)算法的克服表情的魯棒性方面優(yōu)于SDM算法.在一般應(yīng)用系統(tǒng)中對(duì)左右擺動(dòng)(yaw)圖像的識(shí)別應(yīng)用較多,一般誤差在5°以內(nèi),認(rèn)為是有效估計(jì).由表2可以看出:估計(jì)誤差隨著角度的增加而增大,改進(jìn)算法在60°以內(nèi),平均誤差在4°以內(nèi),單個(gè)樣本誤差控制在5°以內(nèi),能夠滿足一般應(yīng)用的精度需求.
參考文獻(xiàn):
[1]梁國遠(yuǎn),查紅彬,劉宏.基于三維模型和仿射對(duì)應(yīng)原理的人臉姿態(tài)估計(jì)方法[J].計(jì)算機(jī)學(xué)報(bào),2005,28(5):792-800.
[2]胡同森,周維,蔣成成.一種基于DCT系數(shù)和Fourier描述子的人臉識(shí)別方法[J].浙江工業(yè)大學(xué)學(xué)報(bào),2010,38(5):557-560.
[3]PIGHIN F, HECKER J, LISCHINSKI D, et al. Synthesizing realistic facial expressions from photographs[C]//ACM SIGGRAPH 2006 Courses. Boston: ACM,2006:19.
[4]湯一平,嚴(yán)海東.非約束環(huán)境下人臉識(shí)別技術(shù)的研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2010,38(2):155-161.
[5]PRINCE S J D, WARRELL J, ELDER J H, et al. Tied factor analysis for face recognition across large pose differences[J]. IEEE transactions on pattern analysis and machine intelligence,2008,30(6):970-984.
[6]鄭博,毛劍飛,梁榮華.基于紋理權(quán)重的AAM人臉特征點(diǎn)檢測方法[J].浙江工業(yè)大學(xué)學(xué)報(bào),2012,40(6):661-665.
[7]MURPHYCHUTORIAN E, TRIVEDI M M. Head pose estimation in computer vision: a survey[J]. IEEE transactions on pattern analysis and machine isntelligence,2009,31(4):607-626.
[8]CHOI K N, CARCASSONI M, HANCOCK E R. Recovering facial pose with the EM algorithm[J]. Pattern recognition,2002,35(10):2073-2093.
[9]SOLLOWAY S, TAYLOR C J, HUTCHINSON C E, et al. Quantification of articular cartilage from MR images using active shape models[C]//Computer Vision-ECCV′96. Berlin: Springer,1996:400-411.
[10]XIONG X, DE-LA-TORRE F. Supervised descent method and its applications to face alignment[C]//Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on. Portland: IEEE,2013:532-539.
(責(zé)任編輯:劉巖)
A face pose estimation algorithm based on nonlinear least square
ZHANG Meiyu1,2, HOU Xianghui1,2, REN Weibin1, XU Jinting1, WANG Sijun3
(1.College of Computer Science and Technology,Zhejiang University of Technology, Hangzhou 310023,China;2.Visual Media, Zhejiang Province Key Laboratory of Intelligent Processing Technology Research, Hangzhou 310023, China;
3.Nanjing University of Aeronautics and Astronautics Institute of Computer, Nanjing 210016, China)
Abstract:In order to improve the accuracy and robustness of face pose estimation, this paper proposes a combination of multiple feature points 3D modeling method and face pose estimation algorithm with an anti-interference policy. In this algorithm, the 3D general standard model can are fitted with the inputed facial feature points. Then the problem can be transformed into nonlinear least squares problems. To solve this problem, this paper proposes a novel rough estimation method, and the use of search algorithms for iterative refinement,. Finally, the optimal solution can be gotten. Experimental results show that algorithm has robustness, and has anti-interference ability to the facial expression.
Keywords:the nonlinear least squares; face pose estimation; 3D modeling; iterative search; principal component analysis
中圖分類號(hào):TP391
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1006-4303(2016)01-0034-05
作者簡介:張美玉(1965—),女,浙江浦江人,教授,研究方向?yàn)閳D形圖像處理、信息可視化,E-mail:zmy@zjut.edu.cn.
基金項(xiàng)目:浙江省自然科學(xué)基金資助項(xiàng)目(X105731)
收稿日期:2015-09-10