魏 瑋,董小銓,申媛媛
(河北工業(yè)大學(xué) 計算機科學(xué)與軟件學(xué)院,天津 300130)
人體的運動包含了相當(dāng)豐富的信息,如從人體運動當(dāng)中可以看出其動作、姿態(tài);根據(jù)目前的運動可以推測它在未來某個時刻的位置、速度;可以看出它的表情、神態(tài);可以了解一個人的個性等。正因為如此,對人體運動的研究有著相當(dāng)廣闊的應(yīng)用空間,如視頻監(jiān)控、運動分析檢測、虛擬現(xiàn)實、動畫制作等。而其中關(guān)于人體關(guān)節(jié)點的運動跟蹤檢測以及人體運動姿勢的三維重建更是其研究的熱門話題。人體姿勢的三維重建可以按照視點的個數(shù)分為基于單視點的三維重建[1]和基于多視點的三維重建?;趩我朁c三維重建的優(yōu)點在于它使用方便,可以在大多數(shù)的場合中使用,限制的條件較少,只需要一個攝像機或其他輸入設(shè)備。缺點是由于只有一個視點,得不到相應(yīng)的深度信息,所以當(dāng)有自遮擋的情況時會產(chǎn)生匹配的模糊性問題。而基于多視點的三維重建可以部分解決這個問題。與單視點相比,多視點易于進行三維重建,但多視點的跟蹤同樣存在特征對應(yīng)及自遮擋等難點,而且多視點的自動對應(yīng)也是目前比較有難度的一個課題。其中對于基于多視點的人體姿勢三維重建,大體上可以分為利用機器學(xué)習(xí)的方法和目標(biāo)跟蹤的方法兩種。通過機器學(xué)習(xí)的方法,可以利用大量的先驗知識來獲得更加準(zhǔn)確的有關(guān)三維人體姿勢的估計。然而,該方法需要大量的樣本數(shù)據(jù),使用起來十分不方便而且費時,在一定程度上限制了它的應(yīng)用。目標(biāo)跟蹤的方法主要由兩個步驟組成:首先是在每一幀中為每一個特征點定位,并且在每一幀中跟蹤相應(yīng)的特征點;然后是通過獲得特征點來對人體姿勢進行三維重建。本文提出一種在兩個攝像機的條件下,利用金字塔光流的方法對關(guān)節(jié)點進行跟蹤檢測,并利用極線約束進行三維重建,對運動過程中被遮擋的關(guān)節(jié)點進行預(yù)測處理,最后將求出的關(guān)節(jié)點三維坐標(biāo)轉(zhuǎn)化成模型中的旋轉(zhuǎn)角,通過層次化的描述,用人體模型來顯示相應(yīng)的動作姿態(tài)。
將人體看成是由關(guān)節(jié)點及其連接線段所組成的剛體的集合。如下肢是由膝關(guān)節(jié)連接的大腿和小腿兩個剛體。以一條線段來表示一個剛體,將人體的運動簡化為人體框架的運動,這樣就得到一個三維人體框架模型[2],如圖1、圖2所示。該人體模型共包含16個人體關(guān)節(jié)點,其中所有關(guān)節(jié)點之間的線段在任何時刻都不會發(fā)生形變,而且各個線段之間的長短比例關(guān)系可以事先根據(jù)個體情況進行適當(dāng)調(diào)整[3]。
圖1 三維人體模型
圖2 人體關(guān)節(jié)點對應(yīng)關(guān)系
傳統(tǒng)的Lucas-Kanade的光流算法[4]主要基于以下三個假設(shè):(1)亮度恒定,即圖像場景中目標(biāo)的像素在幀間運動時外觀上保持不變。對于灰度圖像,需要假設(shè)像素被逐幀跟蹤時其亮度不發(fā)生變化。(2)時間連續(xù)或運動是“小運動”,即圖像的運動隨時間的變化比較緩慢。在實際應(yīng)用中指的是時間變化相對圖像中目標(biāo)運動的比例要足夠小,這樣目標(biāo)在幀間的運動就比較小。(3)空間一致,即一個場景中同一表面上鄰近的點具有相似的運動,它們在圖像平面的投影也在鄰近區(qū)域。但是由于受人體運動和圖像噪聲的影響,前后幀中對應(yīng)的特征點的亮點完全相等幾乎是不可能的,一方面是人體的運動往往幅度較大,光線難以保證均勻。另一方面由于運動會產(chǎn)生不可避免的遮擋,亮度甚至還會發(fā)生突變,因此傳統(tǒng)的方法在人體跟蹤中受到一定的局限。
本文將對傳統(tǒng)的光流方法進行改進,使用一種基于圖像金字塔的角點梯度光流計算方法對圖像序列中的角點進行亞像素級跟蹤[5]。該方法的基本思想是:首先構(gòu)造如圖3所示的圖像序列的金字塔,金字塔中較高的層是下層圖像向下降采樣后的圖像,原始圖像的層數(shù)為零。當(dāng)圖像分解到一定的層后,相鄰幀的圖像間運動幅度就變得足夠小,就會滿足光流的幾個約束條件,此時便可進行光流計算。由高層向低層進行計算,當(dāng)某一級的光流增量計算出來后,將加到其初始值上,作為其下一層的光流計算初值。這一過程持續(xù)進行直到估計出原始圖像的光流。
圖3 圖像序列金字塔
設(shè) I0為原始圖像(w×h)的灰度表示,位于金字塔的第0層,并依次生成n層高斯圖像金字塔的第1,2…,n-1 層,分別表示為 I1,I2…In-1。對其中的第 L(0 對于圖像I0中的特征點 x(x,y),有第 L層中的圖像IL的 xL(xL,yL)點與之對應(yīng),其中 xL=x/2L。 由于高層上的誤差將向下層傳播和放大,因此層數(shù)不宜過多。一般地,3≤n≤5。對于給定的兩幅連續(xù)圖像 I(x,y)、J(x,y),特征跟蹤的目標(biāo)是找到 I(x,y)上一點 u=(ux,uy),在 J(x,y)上對應(yīng)具有相似圖像強度的另一點 u+d=(ux+dx,uy+dy),其中d為u點的平移量。將光流定義為使不同時刻圖像區(qū)域之間產(chǎn)生最佳擬合的位移,以u點為中心,在 I(x,y)、J(x,y)分別建立(2wx+1,2wy+1)的對應(yīng)區(qū)域窗口,并假設(shè)對應(yīng)窗口內(nèi)的像素具有相同的運動位移矢量d。定義窗口內(nèi)像素的灰度方差和跟蹤殘差E(d)為: 式中,gL為L層對應(yīng)的初始光流估計值,由N-1層到L+1層的遞推計算得到,最頂層的初始光流估計值gN-1=0;dL為L層計算得到的光流結(jié)果,上下層間的光流計算傳遞過程為: 對于運動過程中被遮擋而消失的特征點,本文采用圖像特征點預(yù)測方法,選擇不同的位置坐標(biāo)加權(quán)系數(shù),可以預(yù)測出不同的特征點位置。然后根據(jù)兩個視圖中的對應(yīng)特征點位置重建三維坐標(biāo)[6],并利用預(yù)測的三維特征點與重建的三維點進行匹配,從而解決暫時消失的特征的跟蹤問題。 由于消失特征隨時可能從視域中出現(xiàn),因此,向周圍的鄰八域搜索是否存在再次出現(xiàn)的人體關(guān)節(jié)點特征,一旦出現(xiàn)新的特征,即修改特征的位置和運動屬性以指導(dǎo)下一幀的跟蹤,并再次利用金字塔光流方法進行跟蹤重建。 通過立體標(biāo)定,可以求出兩個攝像機之間的相對位置,即用 R、T表示旋轉(zhuǎn)位移的關(guān)系[7],由此便可以使用極線約束來描述投影點m、m′之間的關(guān)系。極線約束原理示例圖如圖4所示。在圖4中,o、o′與兩個平面相交于 e、e′,三角形(o,M,o′)確定的平面與兩個圖像平面相交于兩條直線 l(m,e),l′(m′,e′)。 稱 l′為平面 I′上的極線,l為平面 I上的極線。 可以看出 o、o′、m、m′、M、e、e′這些點在同一個極平面上,所以m的對應(yīng)點m′一定位于極線 l′上。同理,m′的對應(yīng)點m一定位于極線l上,這就是極線約束。利用極線幾何約束可大大減少在兩幅圖像間匹配對應(yīng)點的計算量。由于I中點m在I′中的對應(yīng)點在由m′決定的極線上,因此搜索空間的維數(shù)由二維降為一維,從而降低了搜索空間。 圖4 極線約束原理示例圖 對于運動描述,本文使用一種層次化的運動描述方法[8],把人體模型看成是類似樹的結(jié)構(gòu),如圖5所示。樹的根節(jié)點是Root點,其他子節(jié)點對應(yīng)人體模型中的各個關(guān)節(jié)點。整個人體的運動可以看成是由平移和旋轉(zhuǎn)組成的,Root點的旋轉(zhuǎn)決定人體模型所對應(yīng)的方向,人體的平移即為Root點的位移量,其他各節(jié)點的旋轉(zhuǎn)是在以父節(jié)點為坐標(biāo)原點的相對坐標(biāo)系下的旋轉(zhuǎn)。各個關(guān)節(jié)點的位置可以根據(jù)各個關(guān)節(jié)點間的線段長度和旋轉(zhuǎn)向量求出,而關(guān)節(jié)點間的線段長度可作為先驗知識獲得。圖中的節(jié)點R_ankle,其位置與旋轉(zhuǎn)平移向量的對應(yīng)關(guān)系為: 圖5 人體關(guān)節(jié)的層次關(guān)系 根據(jù)上述方法可求得各關(guān)節(jié)點的旋轉(zhuǎn)和節(jié)點的平移向量。將視頻序列中人體運動描述為: 其中,T(t)表示 t時刻點 Root的平移向量,Ri(t)表示t時刻第i個關(guān)節(jié)點的旋轉(zhuǎn)向量。 在已經(jīng)知道每個關(guān)節(jié)點的運動除了包括繞父節(jié)點旋轉(zhuǎn)外,還包括隨父節(jié)點繞祖父節(jié)點旋轉(zhuǎn)和平移。因此,三維數(shù)據(jù)向旋轉(zhuǎn)平移數(shù)據(jù)轉(zhuǎn)化的關(guān)鍵是在各個非葉子節(jié)點處建立以該非葉子節(jié)點為原點的參考坐標(biāo)系。以人體上臂為例來說明旋轉(zhuǎn)數(shù)據(jù)的計算方法。由于三維數(shù)據(jù)中沒有考慮扭矩的作用,可假設(shè)繞軸的運動分量為0;假設(shè)旋轉(zhuǎn)方向為先繞z軸旋轉(zhuǎn)β,再繞y軸旋轉(zhuǎn)θ。然后,將三維數(shù)據(jù)(x,y,z)變換到上臂參考坐標(biāo)系下,其坐標(biāo)為 (m1,m2,m3), 則參考坐標(biāo)系下的三維數(shù)據(jù)(m1,m2,m3)與參考坐標(biāo)系下的上臂初始位置(-l,0,0)之間的關(guān)系可以描述為[10]: 以此類推,可以計算出人體各個關(guān)節(jié)點的旋轉(zhuǎn)分量,其實現(xiàn)效果如圖6所示。 圖6 人體各個關(guān)節(jié)點的旋轉(zhuǎn)分量實現(xiàn)效果 根據(jù)本文提出的算法,使用VC++開發(fā)一個人體運動跟蹤描述系統(tǒng),可運行在Windows平臺上。實驗中的視頻是使用兩個具有平行光軸的攝像機拍攝而成。圖7是拍攝的一段圖像序列的跟蹤結(jié)果以及恢復(fù)出的三維骨架序列。 圖7 拍攝的一段圖像序列的跟蹤結(jié)果 本文提出一種雙目視覺下的三維人體運動描述算法。該算法魯棒性較高,因為除利用貼在人體關(guān)節(jié)處的用于構(gòu)建三維標(biāo)記點的白色標(biāo)記點之外,沒有利用圖像上的其他特征。實驗結(jié)果表明,該算法能有效地對人體運動進行描述,并且當(dāng)有比較大幅度的運動及遮擋的情況時,依然可以較好地跟蹤和預(yù)測關(guān)節(jié)點位置,并進行重建顯示。未來的工作是要加入更多的人體約束和運動學(xué)約束以消除動作的多義性,進一步提高描述的準(zhǔn)確性和魯棒性。 [1] Zou Beiji, Chen Shu, Cao Shi, et al. Automatic reconstruction of 3D human motion pose from uncalibrated monocular video sequences based on markerless human motion tracking[J].Pattern Recognition, 2009,42:2. [2]劉小明,莊越挺,潘云鶴.基于模型的人體運動跟蹤[J].計算機研究與發(fā)展,1999,36:10. [3]SHEN B C, SHIH H C, HUANG C L.Real-time human motion capturing system[C].Proceedings of IEEE International Conference on Image Processing, 2005:11-14. [4]張永亮,盧煥章,高劼,等.一種改進的 Lucas-Kanade光流估計方法 [J].海軍航空工程學(xué)院學(xué)報,2009,24(4):444-445. [5]陳樂,呂文閣,丁少華.角點檢測技術(shù)研究進展[J].自動化技術(shù)與應(yīng)用,2005,24(5):1-4. [6]張娟,潘建壽,吳亞鵬,等.基于雙目視覺的運動目標(biāo)跟蹤與測量 [J].計算機工程與應(yīng)用,2009,45(25):191-193. [7]蔡濤,李德華,朱洲,等.基于彩色圖像序列的特征檢測和跟蹤[J].計算機工程,2005,31(8):12-13. [8]Chen Yisheng, LEE J, PARENT R, et al.Markerless monocular motion capture using image features and physical constraints [C]. Proceedings of Computer Graphics International.Washington DC: IEEE ComputerSociety,2005:36-43. [9]KIM S M, PARK C B, LEE S W.Tracking 3D human body using particle filter in moving monocular camera[C].Proceedings of the 18th International Conference on Pattern Recognition.2006:805-808. [10]SILAGHI M,PLAENKERS R,BOULIC R,et al.Local and global skeleton fitting techniques for optical motion capture [C].ProceedingsofInternationalWorkshop on Modelling and Motion Capture Techniques forVirtual Environments.London: Spirnger-Verlag,1998:26-40.1.3 極線約束
1.4 層次化描述
2 實驗結(jié)果