祝楊
摘 要: 針對(duì)當(dāng)前關(guān)鍵幀運(yùn)動(dòng)數(shù)據(jù)捕獲方法進(jìn)行人體運(yùn)動(dòng)建模準(zhǔn)確度低的問題,提出基于運(yùn)動(dòng)生物力學(xué)的人體運(yùn)動(dòng)建模方法。首先進(jìn)行人體運(yùn)動(dòng)的生物力學(xué)數(shù)據(jù)分析和插值重建;然后構(gòu)建運(yùn)動(dòng)狀態(tài)方程進(jìn)行人體運(yùn)動(dòng)建模關(guān)鍵數(shù)據(jù)的捕獲和特征分析;最后進(jìn)行仿真實(shí)驗(yàn),結(jié)果表明,該方法提高了人體運(yùn)動(dòng)分析的準(zhǔn)確率,對(duì)運(yùn)動(dòng)步行、跳躍、側(cè)手翻等人體運(yùn)動(dòng)的重構(gòu)能力好,結(jié)果具有一定的合理性。
關(guān)鍵詞: 運(yùn)動(dòng)生物力學(xué); 人體運(yùn)動(dòng); 插值重建; 建模方法
中圖分類號(hào): TN98?34; TP391 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)05?0054?04
Abstract: Since the current key frame motion data acquisition method has low accuracy for human body motion modeling, a human body motion modeling method based on sports biomechanics is proposed. The biomechanical data analysis and interpolation reconstruction of the human body motion were carried out. And then the motion state equation was constructed to perform the capture and feature analysis of the key data of the human body modeling. The modeling method was conducted with simulation experiment. The results show that the modeling method has improved the accuracy of the human motion analysis, good reconstruction ability for human body motion such as walking, jumping and cartwheel, and the result has a certain rationality.
Keywords: sports biomechanics; human body movement; interpolation reconstruction; modeling method
0 引 言
人體運(yùn)動(dòng)是一個(gè)復(fù)雜的生物力學(xué)系統(tǒng),對(duì)人體運(yùn)動(dòng)的建模分析將在指導(dǎo)體育運(yùn)動(dòng)訓(xùn)練、計(jì)算機(jī)游戲開發(fā)、虛擬現(xiàn)實(shí)仿真、影視特效表演等方面都具有重要的應(yīng)用價(jià)值。對(duì)人體運(yùn)動(dòng)的建模過程就是對(duì)人體運(yùn)動(dòng)力學(xué)信息進(jìn)行數(shù)據(jù)分析和提取的過程,通過捕獲人體的運(yùn)動(dòng)生物力學(xué)數(shù)據(jù),進(jìn)行特征壓縮、信息檢索和重構(gòu),實(shí)現(xiàn)對(duì)人體運(yùn)動(dòng)過程的合成和編輯,達(dá)到人體運(yùn)動(dòng)骨骼重構(gòu)的目的,研究人體運(yùn)動(dòng)建模方法,在指導(dǎo)運(yùn)動(dòng)康復(fù)訓(xùn)練方面也有重要意義[1]。
傳統(tǒng)方法中,對(duì)人體運(yùn)動(dòng)建模的方法主要采用關(guān)鍵幀信息提取方法,結(jié)合運(yùn)動(dòng)圖像分析實(shí)現(xiàn)人體運(yùn)動(dòng)重構(gòu)[2]。比如,采用曲線簡化方法把人體運(yùn)動(dòng)過程看作是一條運(yùn)動(dòng)軌跡曲線的關(guān)鍵特征點(diǎn)跟蹤過程,人體運(yùn)動(dòng)的骨段曲線是高維空間中的一個(gè)行為軌跡。采用分層曲線方法進(jìn)行行為重建[3?4],取得了一定的成果,但是該方法需要設(shè)定關(guān)鍵幀之間的分辨閾值,在存在較大的運(yùn)動(dòng)特征擾動(dòng)干擾下,對(duì)人體運(yùn)動(dòng)重建的誤差較大,人體運(yùn)動(dòng)建模的效果較差[5]。
針對(duì)當(dāng)前人體運(yùn)動(dòng)建模準(zhǔn)確度低的問題,提出基于運(yùn)動(dòng)生物力學(xué)的人體運(yùn)動(dòng)建模方法。仿真實(shí)驗(yàn)結(jié)果表明,本文提高了人體運(yùn)動(dòng)分析的準(zhǔn)確率,對(duì)步行、跳躍、側(cè)手翻等人體運(yùn)動(dòng)的重構(gòu)能力好。
1 人體運(yùn)動(dòng)生物力學(xué)數(shù)據(jù)分析
1.1 人體運(yùn)動(dòng)生物力學(xué)數(shù)據(jù)的采集
常用的人體運(yùn)動(dòng)生物力學(xué)數(shù)據(jù)采集式有ASF/AMC (Acclaim Skeleton File/Acclaim Motion Capture data),BVH,HTR等,由于人體運(yùn)動(dòng)生物力學(xué)數(shù)據(jù)的非線性特性和隨機(jī)分布性[6],本文采用ASF/AMC的文件格式進(jìn)行人體運(yùn)動(dòng)生物力學(xué)數(shù)據(jù)的表達(dá),采用安裝在人體上的生物傳感器和振動(dòng)傳感器進(jìn)行信息采集,設(shè)在[k]時(shí)刻安裝于人體上生物傳感器的運(yùn)動(dòng)狀態(tài)信息輸出為[ωk=[ωxωyωz]T,]采用加速度計(jì)和磁力計(jì)計(jì)算人體位姿信息的輸出為[bak=[axayaz]T,]運(yùn)動(dòng)姿態(tài)角輸出為[bmk=[mxmymz]T。]設(shè)參考坐標(biāo)系為大地坐標(biāo)系(不考慮磁偏角),則在重力矢量和地磁場矢量的作用下,在人體的生物運(yùn)動(dòng)高維空間中,通過精確的姿態(tài)估計(jì),得到人體運(yùn)動(dòng)的力學(xué)測量數(shù)據(jù)分別為[ra=[00-g]T,][rm=][[hcosα0-hsinα]T,]其中[g]為重力加速度絕對(duì)值,[h]和[α]分別為傳感器數(shù)據(jù)隨著地磁傾角的隨動(dòng)誤差。
當(dāng)人體在做步行、跳躍、側(cè)手翻等運(yùn)動(dòng)時(shí),得到一個(gè)封閉人體運(yùn)動(dòng)生物力學(xué)的空間運(yùn)動(dòng)方程組為:
式中:[θ]為人體運(yùn)動(dòng)的跳躍傾角;[?]為人體在做跑步運(yùn)動(dòng)時(shí)的俯仰前傾角;[α]為人體在側(cè)手翻運(yùn)動(dòng)中的垂直偏移;[x,][y]為人體運(yùn)動(dòng)中姿態(tài)的水平和垂直位置;[ωx,][ωy]為非加速運(yùn)動(dòng)狀態(tài)時(shí)在坐標(biāo)系[Ox1,][Oy1]軸的力矩;[δz]為任意姿態(tài)時(shí)的身體偏角;[e1]為縱向運(yùn)動(dòng)的控制誤差;[m]為人體的質(zhì)量;[X,Y]為人體在跑步運(yùn)動(dòng)和跳躍運(yùn)動(dòng)中的空氣阻力、升力、側(cè)向力;[Mz]為俯仰力矩;[Jz]為人體運(yùn)動(dòng)中隨著坐標(biāo)系變換的轉(zhuǎn)動(dòng)慣量;[Jxy]為人體運(yùn)動(dòng)空間模型對(duì)速度坐標(biāo)系[Oz1]的轉(zhuǎn)動(dòng)慣量。
通過上述構(gòu)建的人體運(yùn)動(dòng)空間分布特征方程,進(jìn)行人體運(yùn)動(dòng)生物力學(xué)數(shù)據(jù)捕獲,得到步行、跳躍、側(cè)手翻運(yùn)動(dòng)下的生物力學(xué)數(shù)據(jù)捕獲特征方程描述為:
步行:
通過以上原理,進(jìn)行人體運(yùn)動(dòng)生物力學(xué)數(shù)據(jù)的采集和特征分析。
1.2 人體運(yùn)動(dòng)的插值重建
根據(jù)上述人體運(yùn)動(dòng)方程和數(shù)據(jù)捕獲結(jié)果,進(jìn)行人體運(yùn)動(dòng)的插值重建,得到全局搜索下人體運(yùn)動(dòng)的生物力學(xué)數(shù)據(jù)觀測方程:
式中:[k]為采樣時(shí)刻;[qk]為[k]時(shí)刻人體運(yùn)動(dòng)捕獲數(shù)據(jù)在載體坐標(biāo)系中的姿態(tài)分解四元數(shù);[Φk]為姿態(tài)轉(zhuǎn)換陣,通過[ωk]計(jì)算出兩個(gè)相鄰關(guān)鍵幀的運(yùn)動(dòng)數(shù)據(jù);[Hk+1]為觀測陣,通過[k]時(shí)刻得到體運(yùn)動(dòng)狀態(tài)空間的遞歸值[bak+1]和[ra]或者[bmk+1]和[rm];[εk]和[δbxk+1]分別為人體運(yùn)動(dòng)建模過程中的觀測擾動(dòng);[Ξk]為擾動(dòng)系數(shù)矩陣,通過原始運(yùn)動(dòng)序列和重構(gòu)運(yùn)動(dòng)方程得到牛頓力學(xué)系數(shù)[qk]。
在人體運(yùn)動(dòng)狀態(tài)方程重構(gòu)中,采用姿態(tài)解算方法得到非線性運(yùn)動(dòng)姿態(tài)數(shù)據(jù)的表達(dá)方程:
為保證觀測方程線性,通過二次濾波得到人體運(yùn)動(dòng)生物力學(xué)的捕獲數(shù)據(jù)[bak+1]和[bmk+1,]由QUEST算法或者高斯牛頓迭代算法計(jì)算得出。讀取穿戴在人體身上的傳感器數(shù)據(jù)進(jìn)行誤差分析,通過插值重建方法[7?8],在觀測空間中得到人體運(yùn)動(dòng)特征信息的卡爾曼方程:
若人體的姿態(tài)變換過程中力學(xué)分解具有非線性,采用四階龍格庫塔法求解人體姿態(tài)變換的力學(xué)分解過程為[qi(t1)=[w1,x1,][y1,z1],][qi(t2)=[w2,x2,][y2,z2]],上述分解過程表示為兩個(gè)單位四元數(shù),[θ]為采樣骨骼點(diǎn)的夾角,表示為:
球面線性插值輸出的姿態(tài)變換信息能合理反應(yīng)人體運(yùn)動(dòng)的生物力學(xué)信息,由此實(shí)現(xiàn)人體運(yùn)動(dòng)建模力學(xué)重構(gòu)。
2.2 人體運(yùn)動(dòng)建模實(shí)現(xiàn)及質(zhì)量評(píng)價(jià)
用重建誤差表示人體運(yùn)動(dòng)建模的約束指標(biāo)。重建誤差為原始運(yùn)動(dòng)序列和重構(gòu)運(yùn)動(dòng)序列的平均運(yùn)動(dòng)力學(xué)矢量度量。利用加速度計(jì)和磁力計(jì)計(jì)算含有[n]幀數(shù)據(jù)的原始運(yùn)動(dòng)片段[om,]以[om]的骨骼生物力學(xué)作為采樣點(diǎn),采用運(yùn)動(dòng)數(shù)據(jù)插值擬合方法重建得到重建運(yùn)動(dòng)片段[rm。]考慮各肢體部位的速率之差,設(shè)[om,][rm]分別為原始運(yùn)動(dòng)序列和重構(gòu)運(yùn)動(dòng)序列,其關(guān)節(jié)作用力矩的序列長度均為[n,]得到人體力學(xué)重構(gòu)誤差定義為[9?10]:
式中:[Dp(om,rm)]描述人體運(yùn)動(dòng)過程中相對(duì)于世界坐標(biāo)系的姿勢位置誤差;[Dv(om,rm)]表示關(guān)節(jié)速率之差;[u]為更新的步長。
根據(jù)前期的試驗(yàn)可知,關(guān)節(jié)速率之差所占比例很小,所以本文設(shè)為1,由此得到人體運(yùn)動(dòng)建模的重構(gòu)生物力學(xué)方程為:
3 實(shí)驗(yàn)結(jié)果與分析
將加速度計(jì)、振動(dòng)傳感器和力學(xué)傳感器佩戴在人體上進(jìn)行原始的生物力學(xué)采集,采用步行運(yùn)動(dòng)、跳躍運(yùn)動(dòng)和側(cè)手翻運(yùn)動(dòng)三種運(yùn)動(dòng)行為方式進(jìn)行人體運(yùn)動(dòng)建模分析,當(dāng)?shù)氐卮艌鰪?qiáng)度為[h=0.45 gauss,]最大迭代次數(shù)設(shè)置為5 000。將分層曲線擬合方法、幀序列重構(gòu)法、遺傳算法和本文方法進(jìn)行對(duì)比,進(jìn)行人體運(yùn)動(dòng)建模,得到的結(jié)果如圖1~圖3所示。
由圖1~圖3得知,采用本文方法進(jìn)行運(yùn)動(dòng)建模,能比較好地重構(gòu)原始運(yùn)動(dòng),本文方法能準(zhǔn)確提取出邊界幀,使得原始運(yùn)動(dòng)和重構(gòu)運(yùn)動(dòng)差別較小。
不同方法進(jìn)行人體運(yùn)動(dòng)建模的重建誤差曲線如圖4所示。分析得出,本文進(jìn)行人體運(yùn)動(dòng)建模的重建誤差遠(yuǎn)遠(yuǎn)低于傳統(tǒng)方法,得到最優(yōu)重建誤差,表明本文方法進(jìn)行人體運(yùn)動(dòng)建模具有合理性。
4 結(jié) 語
通過捕獲人體的運(yùn)動(dòng)生物力學(xué)數(shù)據(jù),進(jìn)行特征壓縮、信息檢索和重構(gòu),實(shí)現(xiàn)對(duì)人體運(yùn)動(dòng)過程的合成和編輯,達(dá)到人體運(yùn)動(dòng)重構(gòu)的目的。本文提出基于運(yùn)動(dòng)生物力學(xué)的人體運(yùn)動(dòng)建模方法,仿真實(shí)驗(yàn)的結(jié)果表明,本文方法提高了人體運(yùn)動(dòng)分析的準(zhǔn)確率,可以對(duì)各種運(yùn)動(dòng)進(jìn)行有效識(shí)別,具有廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] 楊濤,肖俊,吳飛,等.基于分層曲線簡化的運(yùn)動(dòng)捕獲數(shù)據(jù)關(guān)鍵幀提取[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2006,18(11):1691?1697.
[2] 朱登明,王兆其.基于運(yùn)動(dòng)序列分割的運(yùn)動(dòng)捕獲數(shù)據(jù)關(guān)鍵幀提取[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2008,20(6):787?792.
[3] 陸興華,吳恩燊,黃冠華.基于Android的智能家居控制系統(tǒng)軟件設(shè)計(jì)研究[J].物聯(lián)網(wǎng)技術(shù),2015,5(11):14?16.
[4] 黃朝,許鑫,劉敦歌,等.基于多傳感器的微弱磁異常信號(hào)提取方法研究[J].電子測量技術(shù),2015,38(10):91?95.
[5] 周勇,甘新年,胡光波,等.魚雷制導(dǎo)控制系統(tǒng)多通道控制加權(quán)算法設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014,37(19):14?17.
[6] 廖一寰,李道奎,唐國金.基于混合規(guī)劃策略的空間機(jī)械臂運(yùn)動(dòng)規(guī)劃研究[J].宇航學(xué)報(bào),2011,32(1):98?103.
[7] 鄧剛鋒,黃先祥,高欽和,等.基于改進(jìn)型遺傳算法的虛擬人上肢運(yùn)動(dòng)鏈逆運(yùn)動(dòng)學(xué)求解方法[J].計(jì)算機(jī)應(yīng)用,2014,34(1):129?134.
[8] 柯文德,彭志平,蔡則蘇,等.仿人機(jī)器人相似性運(yùn)動(dòng)研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用研究,2013,30(9): 2570?2575.
[9] 柯文德,彭志平,洪炳镕,等.基于運(yùn)動(dòng)相似性的仿人機(jī)器人上階梯行走研究[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,40(12):60?64.
[10] 陸興華,張曉軍.人員圖像跟蹤過程中多人交叉區(qū)域防丟失方法[J].計(jì)算機(jī)仿真,2014,31(9):243?246.