◆余光亮 余 靜
?
單目視頻圖像序列中的運動目標的三維姿態重建
◆余光亮1余 靜2
(1.重慶市公安局巴南區分局科技信息化科 重慶 401320;2.遵義醫學院醫學信息工程系 貴州 563003)
本文提出了至少存在一個深度值已知點的約束條件下,基于單視頻圖像序列重建人體三維姿態的方法,利用已知間距的平面點陣來標定獲得攝像機參數,在透視投影模型下,根據單視頻圖像序列中人體關節點的二維數據,重建其三維信息,并將人體運動序列按照運動突變點劃分為若干子序列,有效消除了二義性的干擾,較為精確的實現了人體三維姿態的重建。給出了該方法的實驗過程及計算結果,驗證了該算法的可行性和精確度。
計算機視覺;攝像機標定;三維姿態重建;數字化人體模型
人體三維姿態重建是實現虛擬設計的重要基礎。將數字化的人體模型與虛擬樣機結合,完成可視化仿真,使設計人員在設計早期就能對人因工程學的因素進行合理評估,減少設計返工和實物原型的制作能夠縮短從設計到制造的周期和成本。近年來,人體三維姿態重建的方法主要采用多攝像機成像,完成人體運動跟蹤并恢復三維空間信息。對于多攝像機人體運動跟蹤系統而言,需要確定在每個時刻使用哪一個(幾個)攝像機或哪一幅(幾幅)圖像。
為了拓展計算機視覺功能的應用,可以只采用單個攝像機視頻采集,與電腦軟硬件一起組成一個綜合分析平臺。因單攝像機系統不具備“視覺差”,根據成像原理無法實現三維信息恢復,但在基本場景中深度已知點的約束條件下,即在三維人體姿態重建過程中,每一幀人體二維圖像中至少存在一個人體關節點的深度值是已知的,并結合人體這一特殊的研究對象,運用本文提出的算法可以簡單快捷的重建人體運動的三維信息。
首先獲得二維圖像序列中人體的各個關節點位置信息,從已知的二維點圖像坐標(U,V)出發,求出與該關節點對應的三維空間坐標(X,Y,Z)。首先引入一個人體模型,并且該模型的人體骨架比例與進行運動分析的對象(即模特)一致;然后從該模型中選取特殊點(深度值已知點)作為起點,根據人體骨骼長度為定值從深度值已知點向四肢擴展求出各個關節點的深度值。再利用相機透視投影規律求出人體各個關節點的三維空間坐標。
1.1建立人體模型
建立合適的動作捕獲模型是實現人體三維姿態重建的基礎。下面我們建立動作捕獲的人體模型:人體可看做是由身體不同部位的肌體相互連接而成的一個整體,其中的各個部位肌體可近視看做剛體,之間通過關節點相連。不失一般性,將人體看成是由14個關節點連接而成的剛體集合,從而使人體運動簡化為人體骨架的運動。當只著重考慮人體的各種動作姿態而對其體積紋理不關心的時候,三維骨架模型可以充分反映人體姿態的空間信息。于是,將恢復人體的三維姿態簡化為恢復這些空間線段的姿態,只要能求解出這些線段端點的三維坐標,那么就可以重建人體的空間位姿。
1.2成像模型
為了適應人體運動分析的需要,我們采用了能精確反映成像物理過程的攝像機模型——Pin-hole,即透視投影模型。Pin-hole模型是在計算機視覺中廣泛應用的一類模型,對應于物理上的小孔成像原理,該模型的最大優點是成像關系是線性的,便于問題的線性求解。Pin-hole模型如圖1所示。
根據小孔成像原理,攝像機定標的目的就是計算出空間坐標系與圖像坐標系之間的關系,以及求得攝像機的內部參數。三維重建是根據攝像機定標結果和圖像中的特征跟蹤結果,計算物體的三維坐標。下面對圖像位置坐標三維重建方法及過程加以詳述。

圖1 攝像機的理想模型 Pin-hole
Pin- hole模型下的透視投影變換:

這樣,只需已知兩個特征點的世界坐標,結合兩者在圖像上的坐標即可得到,然后根據投影方程即可求得。
攝像機的有效焦距f(單位為cm,實驗中規定攝像機的有效焦距f為已知)。計算機圖像的中心點坐標(cx,cy)(單位為像素,可由計算機圖像的長寬來確定)。圖像平面單位距離上的像素數(sx,sy)(單位為像素/cm,可由圖像采集卡的分辨率確定)。
當人體二維圖像中某一關節點的坐標為已知。實際上,在很多人體運動情況下,人體上總有一個或多個關節點的坐標是可以預知的。例如,人行走、站立或蹲姿時的支撐腳;坐姿時的髖關節;健身運動時,附著在器械上手或其它部位等。只需事先測量得這一類點(既在某個運動區間內,這一點的深度坐標是沒有變化的,或者變化微小可以被忽略)的坐標值,便可以依次求得圖像序列由人體其它相鄰關節點的三維坐標。
1.3人體關節點三維坐標的求解
根據上節內容,已經求得攝像機的透視投影參數。下面將在這個設定的攝像機模型的基礎上,通過一定的算法,由空間點的二維像坐標得到空間點的三維坐標。即三維空間重構。
根據圖1所示的人體骨骼模型。人體骨骼模型中三維關節點坐標都不可知。下一步就是從已知的一個二維關節點坐標()出發,求出與該點對應的人體模型上三維關節點的空間坐標。
從透視投影的Pin-hole模型可以看到,連接攝像機光心和成像點得到一條投影直線,該投影直線上的所有點在投影平面上都成像于同一點。為了在這條投影直線上找到三維關節點,需要利用人體骨骼長度知識。因為人體的骨骼近似剛體,因而連接骨骼兩端的人體關節點間距離近似不變,這就是關節點間的距離約束。可以從一個與所求點相鄰的已知三維關節點出發,尋找投影直線上的一個點,使得該點到已知三維關節點的距離等于兩點間相應骨骼長度。舉例說明如下。

即為:

其中系數A,B,C分別為:

利用迭代法求解一元二次方程,得到z。將z代入投影公式。最終求得右肘部關節點P的坐標(x,y,z)。
需要說明一下的是:本文的算法均在Intel?Core?2 1.86GHz,1GB內存,Windows Xp SP2,VC++6.0 OpenGL和OpenCV為開發平臺下實現,在跟蹤過程中采用橢圓形來標記跟蹤目標,目標檢測均采用Adaptive background mixture models。
為了驗證方法的有效性,我們采用一系列普通行走、體操等視頻進行了相關實驗。這里給出幾段實驗結果視頻的若干幀。
圖2給出一段手和腳行為相對較明顯的視頻片段的重建結果,從結果視頻可以看到,此方法能較好地獲取這些動作的三維運動。動畫片中行走人體視頻片段:

圖2 行走姿態重建結果(上:棍棒模型重建結果 下:骷髏模型重建結果)
根據以上實驗結果可知,本文所利用的特征點自動標注方法和從視頻中獲取人體三維運動估計方法的有效性。對體操、舞蹈、武術等視頻的實驗結果表明新方法估計人體相對三維運動簡單有效,能較好地重建復雜、快變的人體運動。
骨架模型和骷髏模型的實驗結果比較:
從實驗結果可以看出,兩種模型都能夠重建人體三維運動,骷髏模型看起來比棍狀模型更加立體和形象。
從實驗可以看出,三維骨架結構能夠很好的描述人體運動的不同狀態。
[1]李魁.基于特征跟蹤的視頻運動捕獲技術研究[J].浙江大學學報,2004.
[2]皮文凱,劉宏,查紅彬.基于自適應背景模型的全方位視覺[J].北京大學學報,2004.
[3]張廣軍.機器視覺[M].北京:科學出版社,2005.
[4]Kahol K,Tripathi P,panchanathan S.Automated ges- ture segmentation from dance sequences[C].In:Proceedin- gs of the Sixth IEEE International Conference on Automatic Face and Gesture Recognition,2004.