專利名稱:基于四個特征點的頭部動作測定的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于面部圖像的位置(例如眼睛和嘴角)來進行頭部動作測定的系統(tǒng)和方法,更具體地說,本發(fā)明涉及一種基于四個(4)面部特征點來進行頭部動作測定的線性方法。作為一個特別的例子,附加說明了一種基于四個面部特征點來進行頭部姿態(tài)測定的算法。
頭部姿態(tài)識別是一個人機交互中的重要研究領(lǐng)域,已經(jīng)提出許多頭部姿態(tài)識別的方法。這些方法中的大多數(shù)都是利用某些面部特征來對面部建模。例如,大多數(shù)現(xiàn)有的方法都采用六個面部特征點,包括瞳孔、鼻孔和唇角來對面部建模,然而其他方法,正如在Z.Liu和Z.Zhang的題為“通過利用物理屬性的健壯的頭部動作計算(RobustHead Motion Computation by Taking Advantage of PhysicalProperties)”的文章中所提出的那樣,運用了五個面部特征點包括眼睛和嘴角以及鼻尖,上述文章發(fā)表在人類動作專題學(xué)術(shù)討論會會議論文集中,73-80頁,奧斯汀,2000年12月(Proc.Workshop on HumanMotion,pp.73-80,Austin,December 2000)。在Zhang的文章中,通過非線性優(yōu)化,頭部動作可以由五個特征點測定。事實上,現(xiàn)有的用于面部姿態(tài)測定的算法都是非線性的。
迫切需要提供一種面部姿態(tài)測定的線性算法,并且與非線性解決方案相比要求較低的計算量。
更加迫切地需要提供一種面部姿態(tài)測定的線性算法,并且僅僅依賴于四個特征點,例如眼睛和嘴角。
因此,本發(fā)明的一個目標是提供一種頭部動作測定的線性算法。
本發(fā)明的進一步目標是提供一個頭部動作測定的使用四個面部特征點的線性算法。
本發(fā)明的另一個目標是提供一種基于頭部動作測定算法的頭部姿態(tài)測定的算法。
按照本發(fā)明的原理,提供了一種基于面部特征數(shù)據(jù)來進行頭部動作測定的線性方法,該方法包括以下步驟獲取第一幅面部圖像并且在該第一幅圖像中檢測頭部;在上述的第一幅面部圖像中檢測出四個點P的位置,這四個點為P={p1,p2,p3,p4},并且pk=(xk,yk);獲取第二幅面部圖像并且在該第二幅圖像中檢測頭部;在第二幅面部圖像中檢測出四個點P’的位置,這四個點為P={p1’,p2’,p3’,p4’},并且pk’=(xk’,yk’);并且利用點P和P’測定頭部的動作,該動作由旋轉(zhuǎn)矩陣R和平移矢量T表示出來。頭部動作測定由一個等式控制Pi’=RPi+T,其中R=r1Tr2Tr3T=rij3×3]]>而且T=[T1T2T3]T分別代表照相機的旋轉(zhuǎn)和平移,頭部姿態(tài)測定是頭部動作測定的一個特例。
有利的是,基于四個特征點的頭部姿態(tài)測定算法可以被用于化身控制應(yīng)用、視頻聊天以及面部識別應(yīng)用。
在這里公開的本發(fā)明的細節(jié)將借助下面所列出的附圖進行描述。在這些附圖中附
圖1描述了一個典型頭部的典型特征點的布局。
附圖2描述給出了本發(fā)明的頭部姿態(tài)測定算法的基礎(chǔ)的面部幾何圖形10。
按照本發(fā)明的原理,本發(fā)明提供了基于眼睛和嘴角的圖像位置來測定頭部動作的線性方法。更具體地說,本發(fā)明提供了當(dāng)以一個正視圖作為參考位置時,基于四點匹配的測定頭部動作的方法,并以頭部姿態(tài)測定作為一個特例。
本方法優(yōu)于現(xiàn)有的其他方法,那些現(xiàn)有的其他方法或者需要更多的匹配點(至少七個),或者是非線性的而且需要至少五個面部特征匹配。
一般來說,頭部動作測定的方法如下第一步是獲取第一幅圖像I1并且在I1中檢測頭部。然后在I1中檢測對應(yīng)于眼睛和嘴的外角的點P,即P={p1,p2,p3,p4},其中pk=(xk,yk)表示出一個點的圖像坐標。然后獲取第二幅圖像I2并且在I2中檢測頭部。然后在I2中檢測對應(yīng)于眼睛和嘴的外角的點P’,即,P={p1’,p2’,p3’,p4’},其中pk’=(xk’,yk’)?;赑和P’,下一步就涉及到確定頭部的動作,該動作由一個旋轉(zhuǎn)矩陣R和一個平移矢量T表示出來。可以理解,一旦動作參數(shù)R和T被計算出來,所有匹配點的三維結(jié)構(gòu)也可以被計算出來。然而,結(jié)構(gòu)和平移之間僅存在一個固定比例,因此如果T的量值被固定了,那么結(jié)構(gòu)只能被唯一地測定。如果在三維中一個點的深度被確定了,那么T也將被唯一地測定。
正如上面所提到的那樣,頭部姿態(tài)測定算法是頭部動作測定算法的一個特例,由兩種方法可以實現(xiàn)頭部姿態(tài)測定1)交互型,它需要一幅參考圖像;2)近似型,它利用一個普通(平均生物統(tǒng)計學(xué)的)頭部的幾何學(xué)信息,也被稱為普通頭部模型(GHM)。
對于交互型算法,需要進行下述步驟1)在使用這個系統(tǒng)之前,使用者需要在一個預(yù)先確定的參考位置面向照相機。按照上述的步驟獲取參考眼睛和嘴角P0。2)當(dāng)獲取了一個新的圖像以后,按照上述算法所述的剩余步驟檢測出眼睛和嘴角,并且測定頭部動作。3)頭部旋轉(zhuǎn)矩陣對應(yīng)于頭部姿態(tài)矩陣。
近似型算法并不需要與使用者之間的交互,但是它假定對于所有使用者而言某些生物統(tǒng)計學(xué)信息是可得到的和確定的。例如,附圖1中描述了近似型算法,它包括表示典型頭部19的典型特征點在照相機坐標系20(表示為Cxyz系統(tǒng))中的布局。在附圖1中,點P1和P3分別代表了普通頭部模型19中的眼睛和嘴角。如附圖1所示,很容易理解對于正視圖而言,這些點P1和P3有不同的深度(分別對應(yīng)Z1和Z3)。假設(shè)角度τ已知,并且在所有可能的人類頭部上使用平均值。這并不是一個確切的值,但是精確地計算出這個斜度(傾斜)角是非常困難的,因為即使是同一個人在被要求直視照相機時,也會在重復(fù)試驗中不同程度地歪斜頭部。對于確定的角度τ,將基于僅僅一幅頭部圖像來唯一地測定頭部姿態(tài),這一點將在下文中更詳細地加以解釋。
為了描述的目的,假定一臺照相機或者數(shù)字圖像捕獲裝置已經(jīng)在不同位置獲取了一個頭部模型的兩幅圖像。讓點p1,p2,p3和p4表示第一幅圖像中的眼睛(點p1,p2)和嘴角(點p3,p4)的圖像坐標,讓點p1’,p2’,p3’和p4’表示第二幅圖像中的眼睛和嘴角的圖像坐標。已知這些特征點的坐標,那么任務(wù)就是確定在第一幅和第二幅兩幅圖像間的頭部動作(由旋轉(zhuǎn)和平移表示)。
通常,該算法按下述步驟進行1)使用面部約束,計算兩幅圖中特征點的三維(3-D)坐標,2)已知特征點的三維位置,計算動作參數(shù)(旋轉(zhuǎn)矩陣R和平移矩陣T)。
下面將要描述本算法中計算特征點的三維坐標的步驟。正如在附圖2中的面部幾何圖形10所表示的那樣,點p1,p2,p3,p4和p1’,p2’,p3’,p4’的特征分別表示出在首兩幅圖像中眼睛和嘴角的三維坐標。對于附圖2中所示的面部幾何圖形,假設(shè)下面的性質(zhì)1)連接點p1,p2的線段12平行于連接點p3,p4的線段15,即p1p2//p3p4;2)連接點p1,p2的線段12垂直于連接點p5,p6的線段(其中p5,p6分別是線段p1p2和p3p4的中點)。在數(shù)值上,性質(zhì)1和性質(zhì)2可以分別根據(jù)下面的方程(1)和方程(2)寫出x2-x1x4-x3=Y2-Y1Y4-Y3=Z2-Z1Z4-Z3----(1)]]>((P1+P2)-(P3+P4))·(P2-P1)=0(2)Pi=[XiYiZi]T表示一個圖像點Pi的三維坐標。圖像和任意一點Pk的三維坐標之間的關(guān)系由下述公知的投影方程給出。
xk=XkZk,yk=YkZk----(3)]]>由于眾所周知,單目圖像系列的結(jié)構(gòu)復(fù)原僅按照一個比例執(zhí)行,一個Z坐標被確定了,其他坐標都可以根據(jù)這一個而計算出來。因此,為了簡化計算,并且不影響其一般性,可以假設(shè)Z1=1。通過叉乘方程(1)并將(3)代入(1)中,下面的關(guān)系以方程(4)和方程(5)的形式給出Z3[x1-x3)-Z2(x2-x3)]-Z4[(x1-x4)-Z2(x2-x4)]=0(4)Z3[y1-y3)-Z2(y2-y3)]-Z4[(y1-y4)-Z2(y2-y4)]=0(5)當(dāng)方程(4)和方程(5)以矩陣的形式給出,可以得到方程(6)(x1-x3)-Z2(x2-x3)-(x1-x4)+Z2(x2-x4)(y1-y3)-Z2(y2-y3)-(y1-y4)+Z2(y2-y4)]]>
當(dāng)且僅當(dāng)方程(7)中的行列式等于0時,這個方程將有一個非平凡的解Z3和Z4,即det((x1-x3)-Z2(x2-x3)-(x1-x4)+Z2(x2-x4)(y1-y3)-Z2(y2-y3)-(y1-y4)+Z2(y2-y4))=0----(7)]]>等價地,方程(7)可以下述方程(8)的形式給出-Z22det((x2-x3)(x2-x4)(y2-y3)(y2-y4))+det((x1-x3)-(x1-x4)(y1-y3)-(y1-y4))-]]>Z2(det((x2-x3)(x1-x4)(y2-y3)(y1-y4))+det((x1-x3)-(x2-x4)(y1-y3)-(y2-y4)))=0----(8)]]>方程(8)是一個二次多項式,它有兩個解。很容易驗證(即代入方程(7)中)有一個平凡解是Z2=1,第二個解是Z2=det((x1-x3)(x1-x4)(y1-y3)(y1-y4))det((x2-x3)(x2-x4)(y2-y3)(y2-y4)).----(9)]]>通過將Z2代入方程(4)和方程(5)中的任意一個,都可以得到Z3和Z4的一個線性方程。另一個方程是把(3)代入(2),它的形式是Z3ph3T(P1-P2)+Z4ph4T(P1-P2)=||P1||2-||P2||2----(10)]]>在這里phi=[xiyi1]T。Z3和Z4現(xiàn)在就可以從方程(10)和(4)中解出。
很明顯,頭部點的動作可以由方程(11)表達。
P′i=RP1+T(11)
其中R=r1Tr2Tr3T=rij3×3]]>和T=[T1T2T3]T分別代表照相機的旋轉(zhuǎn)和平移。方程(11)可以以R和T寫作PiT0T0T1000TPiT0T0100T0TPiT001r1r2r3TPi′----(12)]]>從方程(12)中我們可以觀察到每一對點將產(chǎn)生三個方程。由于未知數(shù)的總數(shù)量是12,所以至少需要四對點來線性地解旋轉(zhuǎn)和平移方程。
應(yīng)當(dāng)理解,矩陣R中的元素并非獨立的(即,RRT=I),因此一旦矩陣R被解出,它需要被修正以使它能代表真正的旋轉(zhuǎn)矩陣。修正的進行可以通過采用奇異矩陣值分解的方法(SVD)把R分解為R=USVT的形式,根據(jù)下面方程(13)計算一個新的旋轉(zhuǎn)矩陣R=UVT(13)眾所周知,“頭部姿態(tài)”可以唯一地由一組中的三個角度(偏轉(zhuǎn),滾動和歪斜)表示,或者可以由一個旋轉(zhuǎn)矩陣R表示(已知在旋轉(zhuǎn)矩陣和姿態(tài)角度之間存在一一對應(yīng)關(guān)系)。交互型頭部姿態(tài)測定等價于頭部動作測定,然而近似型頭部姿態(tài)測定可以通過分解為兩步驟來加以簡化,如下所述1)假設(shè)使用者歪斜他/她的頭部從而使得嘴角和眼睛與照相機的距離相等(z1=z2=z3=z4),這是一個輔助參考位置(ARP);2)計算相對于ARP的頭部姿態(tài);3)僅僅通過從ARP的值中減去τ來更新傾斜角。
旋轉(zhuǎn)矩陣R可以如下表示
R=r1Tr2Tr3Trij3×3]]>它滿足條件RRT=I,或者可以等價表示為 令F1,F(xiàn)2,F(xiàn)3,F(xiàn)4表示面部的參考正視圖中眼睛和嘴角的三維坐標。然后,考慮到面部幾何約束和上述的約束1),可以得到遵循方程(15)的關(guān)系,如下所示F2-F1∝[1 0 0]T(15)F6-F5∝
T在這里符號∝的意思是“按照一個比例”或成比例的。本發(fā)明所要實現(xiàn)的目標是找到一個姿態(tài)矩陣R從而建立從點Pk到Fk的映射,即R(P2-P1)∝[1 0 0]T(16)R(P6-P5)∝
T根據(jù)旋轉(zhuǎn)矩陣的行,方程(16)可以被寫作r2T(P2-P1)=0]]>r3T(P2-P1)=0]]>r1T(P6-P5)=0]]>r3T(P6-P5)=0]]>從式(17)中的第二個和第四個方程,r3可以按照下式算出
r3=(P6-P5)×(P2-P1). (18)旋轉(zhuǎn)矩陣中的剩余成分可以從式(14)和(17)中計算出來r2=r3×(P2-P1) (19)r1=r2×r3從方程(19)可以直接計算出偏轉(zhuǎn)、滾動和歪斜的角度。從現(xiàn)有值中減去τ即可得到真正的傾斜角。
雖然已經(jīng)示意和描述本發(fā)明的優(yōu)選實施例,但是在不背離本發(fā)明的原理的情況下,很容易對于形式和細節(jié)進行各種各樣的修改和變化,這一點很容易理解。因此本發(fā)明不應(yīng)該被限制在所描述和說明的確定的形式,而應(yīng)該覆蓋所有的落入附加的權(quán)利要求書范圍內(nèi)的修改。
權(quán)利要求
1.一種根據(jù)面部特征數(shù)據(jù)執(zhí)行頭部動作測定的線性方法,該方法包括如下步驟-獲取第一幅面部圖像,并在上述第一幅圖像中檢測頭部;檢測上述的第一幅面部圖像(10)的四個點P的位置,其中P={p1,p2,p3,p4},并且pk=(xk,yk);-獲取第二幅面部圖像,并且在上述第二幅圖像中檢測頭部;-檢測上述第二幅面部圖像的四個點P’的位置,其中P’={p1’,p2’,p3’,p4’},并且pk’=(xk’,yk’);并且,-利用上述點P和P’來確定頭部的動作,該動作由旋轉(zhuǎn)矩陣R和平移矢量T表示。
2.如權(quán)利要求1所述的線性方法,其中在上述的第一幅面部圖像(10)中的四個點P和在上述第二幅面部圖像中的四個點P’分別包括在第一幅和第二幅面部圖像中的每個眼睛和嘴的外角的位置。
3.如權(quán)利要求1所述的線性方法,其中上述頭部動作測定受下式控制Pi’=RPi+T,其中R=r1Tr2Tr3T=[rij]3×3]]>和T=[T1T2T3]T分別代表照相機的旋轉(zhuǎn)和平移,上述的頭部姿態(tài)測定是頭部動作測定的一個特例。
4.如權(quán)利要求3所述的線性方法,其中上述的頭部動作測定受上述的旋轉(zhuǎn)矩陣R控制,上述方法進一步包括確定旋轉(zhuǎn)矩陣R的步驟,該旋轉(zhuǎn)矩陣R將點Pk映射到Fk,用于表征頭部姿態(tài),上述的點F1,F(xiàn)2,F(xiàn)3,F(xiàn)4分別表示上述面部圖像的參考正視圖中相應(yīng)的四個點的三維(3-D)坐標,Pk是任意點的三維(3-D)坐標,其中Pi=[XiYiZi]T,上述的映射受下面的關(guān)系控制R(P2-P1)∝[1 0 0]TR(P6-P5)∝
T其中p5,p6分別是連接點p1,p2的線段(12)和連接點p3,p4的線段(15)的中點,連接點p1,p2的線段垂直于連接點p5,p6的線段,并且∝表示一個比例因子。
5.如權(quán)利要求4所述的線性方法,其中分量r1,r2,和r3按下式計算r2T(P2-P1)=0]]>r3T(P2-P1)=0]]>r1T(P6-P5)=0′]]>r3T(P6-P5)=0]]>
6.如權(quán)利要求5所述的線性方法,其中分量r1,r2,和r3按下式計算r3=(P6-P5)×(P2-P1),r2=r3×(P2-P1)r1=r2×r3
7.如權(quán)利要求4所述的線性方法,其中PiT0T0T1000TPiT0T0100T0TPiT001r1r2r3TPi′,]]>每一對點產(chǎn)生三個方程,由此至少需要四對點來線性地求解上述的旋轉(zhuǎn)和平移。
8.如權(quán)利要求7所述的線性方法,進一步包含步驟利用奇異值分解(SVD)來分解上述的旋轉(zhuǎn)矩陣R,以便獲得R=USVT的形式。
9.如權(quán)利要求7所述的線性方法,進一步包含根據(jù)R=UVT計算一個新的旋轉(zhuǎn)矩陣的步驟。
10.一種根據(jù)面部特征數(shù)據(jù)來執(zhí)行頭部動作測定的線性方法,這種方法包括如下步驟-獲取面部圖像(10)的四個點Pk的圖像位置;-確定旋轉(zhuǎn)矩陣R,該旋轉(zhuǎn)矩陣建立了點Pk到Fk的映射以便表征頭部姿態(tài),上述的點F1,F(xiàn)2,F(xiàn)3,F(xiàn)4分別表示上述面部圖像的參考正視圖中的四個點的三維(3-D)坐標,Pk是任意點的三維(3-D)坐標,其中Pi=[XiYiZi]T,上述的映射受下式控制R(P2-P1)∝[1 0 0]TR(P6-P5)∝
T其中p5和p6分別是連接點p1,p2的線段(12)和連接點p3,p4的線段(15)的中點,連接點p1,p2的線段垂直于連接點p5,p6的線段,并且∝表示一個比例因子。
11.如權(quán)利要求10所述的線性方法,其中分量r1,r2,和r3按下式計算r2T(P2-P1)=0]]>r3T(P2-P1)=0]]>r1T(P6-P5)=0′]]>r3T(P6-P5)=0]]>
12.如權(quán)利要求11所述的線性方法,其中分量r1,r2,和r3按下式計算r3=(P6-P5)×(P2-P1),r2=r3×(P2-P1)r1=r2×r3
13.如權(quán)利要求12所述的線性方法,其中頭部點的運動根據(jù)下式表示Pi’=RPi+T,其中R=r1Tr2Tr3T=[rij]3×3]]>代表圖像旋轉(zhuǎn),T=[T1T2T3]T代表平移,Pi’表示另一幅面部圖像中的四個點Pk的三維圖像位置。
14.如權(quán)利要求13所述的線性方法,其中PiT0T0T1000TPiT0T0100T0TPiT001r1r2r3TPi′,]]>每一對點產(chǎn)生三個方程,由此至少需要四對點來線性地求解上述的旋轉(zhuǎn)和平移。
15.如權(quán)利要求14所述的線性方法,進一步包含步驟利用奇異值分解(SVD)來分解上述的旋轉(zhuǎn)矩陣R,以便獲得R=USYT的形式。
16.如權(quán)利要求15所述的線性方法,進一步包含根據(jù)R=UVT計算一個新的旋轉(zhuǎn)矩陣的步驟。
17.一種機器可讀的程序存儲裝置,該裝置可感知地包含程序指令,這些指令可以由機器執(zhí)行,從而進行根據(jù)面部特征數(shù)據(jù)來測定頭部動作的方法步驟,所述的方法步驟包括-獲取第一幅面部圖像,并且在上述的第一幅圖像中檢測頭部(10);-檢測上述的第一幅面部圖像的四個點P的位置,其中P={p1,p2,p3,p4},并且pk=(xk,yk);-獲取第二幅面部圖像,并且在上述第二幅圖像中檢測頭部;-檢測上述第二幅面部圖像的四個點P’的位置,其中P’={p1’,p2’,p3’,p4’},并且pk’=(xk’,yk’);和-利用上述點P和P’確定頭部的動作,該動作由旋轉(zhuǎn)矩陣R和平移矢量T表示。
全文摘要
根據(jù)面部特征數(shù)據(jù)來進行頭部動作測定的線性方法,該方法包括以下步驟獲取第一幅面部圖像,并且在該第一幅圖像中檢測頭部;在上述的第一幅面部圖像中檢測四個點P的位置,這四個點為p={p
文檔編號G06T7/00GK1561499SQ02819047
公開日2005年1月5日 申請日期2002年9月10日 優(yōu)先權(quán)日2001年9月28日
發(fā)明者M·特拉科維, V·菲爾洛明, S·V·R·古特塔 申請人:皇家飛利浦電子股份有限公司