馬文超,侯 進,曹寧哲
(西南交通大學 信息科學與技術學院,四川 成都 611756 )
基于肌肉的人體運動仿真研究
馬文超,侯 進,曹寧哲
(西南交通大學 信息科學與技術學院,四川 成都 611756 )
針對當前國內缺少滿足牛頓運動定律的人體運動仿真問題,提出了基于肌肉的人體運動仿真方法。該方法首先建立了基于解剖學的人體骨骼肌肉模型,然后進行運動捕獲數據與人體模型的匹配,其次構建了主要關節點的局部坐標系,接著運用多剛體運動學與動力學進行運動學及動力學參數的計算,之后施加空間力學平衡約束得到了有效的關節運動約束機制。實驗結果表明,利用該算法實現的人體運動仿真真實、自然、逼真,證明了算法的有效性。關鍵詞: 肌肉;骨骼肌肉模型;運動捕獲;多剛體運動學
人體運動仿真是生物力學、機器人學和計算機科學交叉產生的研究領域,是一種利用計算機模擬真實人體運動過程的技術,具體包括建立數學模型,計算給定虛擬人約束條件下自然真實的物理運動過程,并在利用計算機生成的虛擬環境中以三維圖像方式逼真呈現該運動過程[1]。與人體骨骼動畫相比,該技術實現的人體運動符合牛頓運動定律,既可增強虛擬環境的真實性與沉浸感,還可進行現實任務的完成和操作培訓等。
計算機技術與虛擬人應用的發展,人們對符合人體生理特性以及運動特征的虛擬人模型需求越來越高。Chadwick等人[2]重點對人體手臂和肩部的運動特性進行了深入分析,為了減少算法運算時間,達到模型對控制參數改變進行實時反應的效果,采用多項式來表示肌肉的行為狀態,取得了很好的效果。Ayusawa等人[3]利用非線性規劃,通過遞推牛頓-歐拉方程進行梯度計算,解決了傳統方法需要在給定時間序列情況下進行大規模的逆運動學計算的問題,從而可以快速從運動捕獲數據中獲得人體運動學參數。Jung等人[4]分別在僅提供關節運動學參數以及同時提供腳部壓力的情況下,對反作用力模型進行了深入探討,并在ANYBODY中進行了驗證。對在某些不適合放置測力墊的情景下進行地面作用力的分析,提供了極大的便利。Xu等人[5]對肌肉系統進行了研究,從肌肉的生理形狀出發,提出虛擬肌肉控制模型,將研究成果應用到仿生領域,對機器人手臂的控制取得了良好效果。Dustin等人[6]針對目前控制算法缺乏魯棒性等缺點,建立了新的人體手部的肌肉骨骼模型,通過肌電信號來預測手和腕關節的運動。戚福州[7]利用國際人體測量學數據及層級建模的方法,構造了具有骨骼層與皮膚層的雙層虛擬人模型,實現了虛擬人角色建模。黃永坤[8]針對虛擬人運動過程中皮膚出現塌陷失真的問題,運用構造二次貝塞爾曲線的方法,使該問題得到明顯改善。Assassi[9]利用人體解剖學數據結合人體運動學及動力學原理,對髖關節軟骨運動進行了深入分析。Stanev[10]使用kinect捕獲人體的關節運動軌跡,其次運用逆向運動學及動力學對人體各關節運動參數進行了求解,然后采用靜態優化算法對肌肉力進行了估算。
目前國內外眾多組織和研究者都把工作重點放到各自應用領域的虛擬人研究,只對虛擬人特定部位(上肢、頸部等)進行仿真評價,缺乏對虛擬人在滿足牛頓運動定律下的整體運動仿真的研究。本文首先通過分析真實人體結構特征,建立了基于人體解剖學和人體測量學的參數化全身人體骨肌模型。然后對運動捕獲數據進行整理,得到實驗對象的運動學模型,并將這些運動學參數與所建立人體模型進行匹配。其次建立主要關節點的局部坐標系。接著將各體段視為剛體,具有質量、質心和轉動慣量,進而運用多剛體運動學與動力學進行質心加速度、角加速度、力與力矩的計算,之后利用空間力學平衡約束,得到了有效的關節運動約束機制,實現了人體運動仿真。系統流程如圖1所示。

圖1 人體運動仿真系統整體流程圖
1.1 人體骨骼系統構建
人體骨骼系統十分復雜,包含206塊骨骼,約占人體體重的20%,主要分為軀干骨、顱骨、上肢骨以及下肢骨。因此,在保證人體結構真實性的情況下,為了降低仿真的復雜度,需要對人體結構進行必要的簡化。目前,H-Anim是常用的表示虛擬人的國際標準。通過對人體關節的分析可得,各個關節符合層級結構特征。各個節點采用繼承機構,形成兄弟節點和兒子節點。一般根據實際需要,只保留能體現人體運動特征的關節點。如圖2所示。本文所使用的人體骨骼模型數據均由三維圖形軟件獲取,并對骨骼模型數據進行處理,獲得了簡化的人體骨骼模型,按人體骨性標志將人體分割成若干段,每段稱為體段。以骨性標志為分界點對體段進行劃分,得到一個15個體段,29個自由度(Degree of Freedom, DOF)的人體解剖骨骼模型。如圖3所示。

圖2 人體關節樹形結構圖

圖3 人體解剖模型
1.2 人體關節模型
各骨之間借助結締組織相互連接,形成骨連結。根據連結方式,分為直接連結和間接連結。間接連結即關節。人體的關節是骨骼的骨塊(如股骨和髖骨)之間的連接點,也是伸展力、扭轉力的傳輸以及各類運動所必須的結構。筆者按照關節實際運動中的自由度對人體的關節進行分類同時確定活動范圍:不能旋轉,只能上下彎曲的1個DOF的關節,如膝關節。既能旋轉又能擺動的3個DOF的關節,如腰椎關節。在旋轉和平移上均有3個DOF的關節,如根關節。各關節自由度及活動范圍分配情況如表1所示。
表1 各關節自由度及活動范圍

關節名稱自由度XYZmaxminmaxminmaxmin關節名稱自由度XYZmaxminmaxminmaxmin左肩關節3180-18090-45135-45右肩關節3180-18045-90135-45左髖關節325-12560-3030-60右髖關節3125-2530-6030-60左肘關節15-145180-1355-145右肘關節1145-5135-1805-145左腕關節125-50110-9090-80右腕關節150-2590-11090-80左膝關節10040-301200右膝關節10030-401200腰椎關節640-4070-70100-30根關節645-4550-50160-10
1.3 肌肉幾何建模的實現
目前肌肉的幾何建模主要是用肌肉力作用線來表示。第1種為直線段(straight-line)法。利用肌肉在骨骼上的附著點之間的連線進行表示,此方法適合肌肉附著點單一的肌肉。第2種為質心線段(centroid-line)法。在充分考慮肌纖維方向的基礎上,假定肌肉橫截面上的質心構成了作用在肌肉上的力的曲線[11]。本文根據所需肌肉的不同種類,分別采用這兩種肌肉的幾何建模方法,共建立92條肌肉。如圖4所示。

圖4 人體骨肌模型
2.1 運動數據的獲取
近年來在人體運動仿真領域中,常采用運動捕獲設備來獲取運動數據。運動捕獲設備通過使用位置傳感器測量到物體的運動軌跡,并將運動數據保存下來。然而,目前具有較高精度的運動捕獲設備均為國外生產,價格昂貴??突仿〈髮W提供了免費的運動捕獲數據,本文所使用的運動數據就來自此數據庫。
2.2 骨肌系統的匹配
為了將運動數據作用到本系統所建立的人體骨肌模型上,需要完成被測對象骨肌系統與本系統人體模型的匹配。匹配因子的計算方法如下:定義兩個相鄰的標記點(experimental marker)為一組,它們的距離為e1,骨肌系統對應的一組虛擬標記點(virtual marker)的距離為m1,則定義此組比例為
(1)
其中:e1由運動捕獲數據獲得,m1由人體骨肌模型獲得。取比例因子為所有相鄰標記點比例的均值,即
(2)
其中:n為所有兩個相鄰標記點構成的組數。
2.3 關節坐標系的構建
本文按照人體解剖結構,分別在主要關節點建立了局部坐標系。其中定義:同時與地面垂直與身體長軸平行的為垂直軸。與垂直軸垂直同時與地面平行,方向為身體前后方向的軸為矢狀軸。與身體長軸垂直同時與地面平行,身體左右方向的軸為冠狀軸。矢狀面是沿矢狀軸方向將人體分為左、右兩部分的面。冠狀面是沿冠狀軸方向將人體分為前、后兩部分的面。水平面是同時垂直于矢狀面與冠狀面的面,將人體分為上、下兩部分。


(3)
則完成從X,Y,Z到Xi,Yi,Zi的坐標變換的矩陣為T·R,坐標變換公式為
(xi,yi,zi,1)=(xi,yi,zi,1)·Ti·Ri
(4)
經推導化簡得從Xi+1Yi+1Zi+1到下一時刻坐標Xi+1Yi+1Zi+1的平移矩陣為(Ti+2)-1·Ti,旋轉矩陣為Ri·(Ri+1)-1。
2.4 多剛體運動學參數計算
運動學參數的計算包括瞬時速度、加速度、瞬時角速度和角加速度。若要求解剛體的瞬時角速度以及角加速度,需要將旋轉矩陣用剛體旋轉角α,β,γ表示,需完成旋轉變換操作,方法如下:

(5)
整體旋轉矩陣R為3個坐標軸的基本旋轉矩陣的乘積,即
(6)
則取任意坐標(xi,yi,zi)及其對應的坐標(x,y,z)有以下轉換關系
(xi,yi,zi,1)=(x,y,z,1)·R
(7)
將式(7)與式(6)聯立求解可得在任意坐標下剛體的旋轉角α,β,γ的值。
該剛體質心的瞬時位移可由式(3)獲得,即
(8)
進而可得剛體的瞬時速度vi,vi+1及加速度ai為
(9)
剛體角加速度可根據所求得旋轉角α,β,γ的值進行求解,即
(10)
式中:i表示運動數據的幀數;ω為質心瞬時角速度。
2.5 多剛體動力學參數計算

則根據牛頓第二定律及牛頓-歐拉平衡方程可得矢量關系如下
(11)
(12)
假設力的作用點Q在世界坐標系下的坐標值為X,Y,Z,則對于任一力對軸之矩的解析式為
Mx(F)=YFz-ZFy,My(F)=ZFx-XFz,
Mz(F)=XFy-YFx
(13)
式中:Fx,Fy,Fz分別為力F在X,Y,Z軸上的分量;Mx(F),My(F),Mz(F)分別為力矩M(F)在X,Y,Z軸上的分量。
通過聯立求解代入所有參量后的式(11)~(13),可得
(14)
(15)
(16)
(17)
2.6 多剛體系統平衡約束

則根據牛頓第二定律及牛頓-歐拉平衡方程可得矢量關系
(18)
(19)
體段1的空間力系平衡方程可由式(18)~(19)可獲得,即
(20)

(21)
(22)
(23)

(24)

(25)
本次實驗數據的采集對象為一名健康男性,年齡38歲,身高1.83 m,體重65.9 kg,速度為1.96 m/s。采樣頻率為60 Hz,共采集500幀數據。由于運動捕獲數據存在噪聲干擾,因此在實驗仿真前對數據進行了低通濾波,截止頻率為50 Hz。依據濾波后的運動數據,本文實現了運動仿真,并選取一個步態周期進行展示。如圖5和圖6所示,該動作始于左腳與地面接觸,終于右腳與地面接觸,動作完成耗時0.912 s。圖5分別為第0幀,第5幀和第10幀。圖6分別為第15幀、第20幀和第25幀。

圖5 第0、5、10幀運動圖像

圖6 第15、20、25幀運動圖像
從圖中可看出,第0幀時,人體運動狀態發生較大改變使加速度增大,從而使得右小腿骨及膝關節承受的力和扭矩比較大。第25幀時,在人體運動狀態改變結束的情況下,此時右腿的加速度減小,則右小腿骨及膝關節承受的力和扭矩也相應的較小。圖7分別為第2幀、第12幀和第22幀。圖8分別為第28幀、第38幀和第48幀,分別展示右腿股內側肌以及左腿股內側肌在運動過程中的變化情況。由圖可見,肌肉收縮正常,肌肉作用線隨著膝關節角度的增大而加長且經圖7和圖8對比可得,左右肌肉在相同關節角度下肌肉作業線長短相同。

圖7 右側大腿股內側肌變化情況

圖8 左側大腿股內側肌變化情況
結果與文獻[6]和[9]相比,本文實現了人體整體運動的仿真,而文獻[6]和[9]只是對人體特定部位進行了局部的仿真分析。文獻[7]則只是完成了具有骨骼層與皮膚層雙層結構的人體建模,并實現人體的運動仿真。與文獻[8]的仿真結果對比可得,本文實現的虛擬人的仿真更加真實,真實地再現了人體結構,虛擬人動作更加逼真,并且增加了肌肉層面的仿真與分析,運動更加符合人類特性。而且各個關節約束更加合理,動作更加逼真。文獻[8]則僅僅是完成了作者的指定動作,不能實現運動捕獲數據的驅動,而且動作并不符合牛頓運動定律。由仿真結果可觀察到,虛擬標記點與實驗數據采集點在空間上的位置基本一致,很好地還原了實驗對象的真實運動。各體段約束協調,關節角度合理,未出現失真,整個運動過程真實、自然、逼真,符合人體生理特性及運動規律。
本文采用上面提到的人體骨骼和肌肉模型的建模方法以及運動捕獲數據的處理方法,實現了基于肌肉的人體運動仿真,同時滿足牛頓運動定律且符合人體運動特征。仿真效果真實、自然逼真。實驗結果表明,該方法可靠、有效。但是,由于數據的計算量較大,對計算機硬件有較高要求。下一步筆者的工作重點是進一步優化數據處理算法以及對如何將人體模型運用于特定場景下進行各關節和肌肉力的分析展開研究。
[1] 夏時洪,魏毅,王兆其.人體運動仿真綜述[J].計算機研究與發展,2010,47(4):1354-1361.
[2] CHADWICK E K, BLANA D, KIRSCH R F. Real-time simulation of three-dimenssional shoulder girdle and arm dynamics[J]. IEEE transactions on biomedical engineering, 2014, 61(7):1947-1956.
[3] AYUSAWA K, IKEGAMI Y, NAKAMURA Y. Simultaneous global inverse kinematics and geometric parameter identification of human skeletal model from motion capture data[J]. Mechanism and machine theory, 2014, 74(4):274-284.
[4] JUNG Y, JUNG M, LEE K, et al. Ground reaction force estimation using an insole-type pressure mat and joint kinematics during walking[J]. Journal of biomechanis, 2014, 47(11):2693-2699.
[5] XU D, ZHANG S G, WEI H X. Virtual musculoskeletal control model with a spindle-like fuzzy algorithm for robotic compliance[J].Applied mathematical modelling, 2015, 39(12):3265-3279.
[6] CROUCH D L, HUANG H. Musculoskeletal model predicts multi-joint wrist and hand movement from limited EMG control signals[C]//Proc. 37th Annual International Conference of the IEEE Engineering in Medicine and Biology Society. Milan:[s.n.],2015:1132-1135.
[7] 戚福州,侯進,黃永坤.一種基于國標人體測量學數據的虛擬人建模方法[J].計算機工程與科學, 2015, 37(4):783-789.
[8] 黃永坤,侯進,戚福州.三維虛擬人皮膚變形與塌陷部位的調整[J].計算機應用與軟件,2015,32(9):184-187.
[9] ASSASSI L,THALMANN N M. Biomechanical modeling of the human articulation for osteoarthritis analysis[J]. Computer methodsin biomechanics and biomedical engineering, 2012,28(1): 573-578.
[10] STAVEN D,MOUSTAKAS K. Virtual human behavioural profile extraction using Kinect based motion tracking[C] //International Conference on Cyberworlds. Santander:[s.n.],2014:411-414.
[11] TANG G, WANG C T. A muscle-path-plane method for representing muscle contraction during joint movement[J]. Computer methods in biomechanics and biomedical engineering,2010, 14(1): 59-69.
馬文超(1989— ),碩士生,主研虛擬現實;
侯 進(1969— ),副教授,主要研究方向為人機交互、虛擬現實、人工智能和自然語言處理;
曹寧哲(1990— ),碩士生,主研虛擬現實。
責任編輯:閆雯雯
Study of simulations of virtual human movement based on muscle
MA Wenchao,HOU Jin,CAO Ningzhe
(SchoolofInformationScienceandTechnology,SouthwestJiaotongUniversity,Chengdu611756,China)
Aiming at the questions that the current domestic is lacking in the human motion simulations which obey Newton’s laws of motion, a method of simulations of human movement based on muscle is proposed. The method firstly establishes a musculoskeletal model based on anatomy; then, processes the motion capture data to match the musculoskeletal model; next, calculates the kinematic and kinetic parameters by multi-body kinematics and dynamics and applies the mechanical balance of space constraints in order to obtain the effective joint motion constraint mechanism. Experimental results show that the simulation of human motion is real, natural and realistic by using the proposed algorithm, and demonstrates the effectiveness of the algorithm.
muscle; musculoskeletal model; motion capture; multi-body kinematic
馬文超,侯進,曹寧哲. 基于肌肉的人體運動仿真研究[J].電視技術,2017,41(2):98-103. MA W C, HOU J, CAO N Z. Study of simulations of virtual human movement based on muscle[J]. Video engineering,2017,41(2):98-103.
TN919.3
A
10.16280/j.videoe.2017.02.020
國家自然科學基金項目(61371165);四川省動漫研究中心2015年度科研項目(DM201504);成都市科技項目(科技惠民技術研發項目)(2015-HM01-00050-SF)
2016-05-24