劉磊
(西安工程大學(xué), 西安 710048)
人體運(yùn)動捕捉的實質(zhì)就是通過各種設(shè)備對肢體的運(yùn)動數(shù)據(jù)甚至是面部表情進(jìn)行采集和處理,實現(xiàn)各種動作的仿真模擬[1],其中應(yīng)用了模式識別、虛擬現(xiàn)實及傳感器網(wǎng)絡(luò)技術(shù)。人體運(yùn)動傳感器是運(yùn)動捕捉的關(guān)鍵設(shè)備,主要分為慣性式、光學(xué)式、聲學(xué)式、電磁式、機(jī)械電動式等5種。隨著MEMS(微機(jī)電系統(tǒng))技術(shù)的發(fā)展,由MEMS器件構(gòu)成的微型人體運(yùn)動傳感器顯示出了更加突出的優(yōu)點,因此,本文以微型運(yùn)動傳感器為研究對象對人體運(yùn)動捕捉技術(shù)進(jìn)行分析。
在進(jìn)行運(yùn)動捕捉時,除了使用運(yùn)動傳感器,還需將采集的數(shù)據(jù)通過無線網(wǎng)絡(luò)上傳至計算機(jī),使用計算機(jī)實現(xiàn)運(yùn)動傳感器信號的預(yù)處理,及運(yùn)動姿態(tài)的計算等,計算機(jī)獲得數(shù)據(jù)計算之后,將計算結(jié)果虛擬映射角色的對應(yīng)關(guān)節(jié)點上,并根據(jù)虛擬角色的環(huán)境條件和物理約束條件等進(jìn)行動作調(diào)整,提高虛擬動作的精確性。在實施運(yùn)動捕捉之前,首先需要在用戶的關(guān)鍵部位布設(shè)多個微型運(yùn)動傳感器,如腰部、胸部、頭部、腿部及手臂等。運(yùn)動捕捉系統(tǒng)如圖1和圖2所示。
微型運(yùn)動傳感器包括三軸陀螺儀、三軸加速度計和三軸地磁傳感器,在運(yùn)動捕捉方面每種傳感器各有優(yōu)缺點,傳感
圖1 運(yùn)動捕捉系統(tǒng)架構(gòu)
器“融合”成為克服單個傳感器弱點的有效方法,使運(yùn)動檢測結(jié)果更加精確。因此,本文在進(jìn)行研究時使用了MEMS三軸加速度計、三軸陀螺儀和三軸磁力計,三軸加速度計可以得到載體三軸的加速度,三軸陀螺儀測量出旋轉(zhuǎn)角速度,而三軸磁力計輸出三個方向上的磁場感應(yīng)量。
在進(jìn)行人體運(yùn)動捕捉時,將微型運(yùn)動傳感器(三軸磁力計、三軸陀螺儀、三軸加速度計)當(dāng)成一個測量單元,并將測量單元采集的數(shù)據(jù)定義到一個坐標(biāo)系中,將這個坐標(biāo)系命名為人體坐標(biāo)系b,取人體的重心為人體坐標(biāo)系原點。與人體坐標(biāo)系相對應(yīng)的絕對坐標(biāo)系命名為全局坐標(biāo)系n。通過四元數(shù)法或歐拉角法可以實現(xiàn)人體坐標(biāo)系和全局坐標(biāo)系之間的坐標(biāo)轉(zhuǎn)換。由于四元數(shù)法的準(zhǔn)確性較高,并且可以避免歐拉角的奇異問題,因此應(yīng)用十分廣泛[2-4]。采集的人體運(yùn)動數(shù)據(jù)完成坐標(biāo)系轉(zhuǎn)換后,通過Kalman濾波器,降低誤差。
每個運(yùn)動傳感器采集人體運(yùn)動信號之后,可以采用向量的形式表示,獲得傳感器的向量數(shù)據(jù)。對各個運(yùn)動傳感器進(jìn)行信號建模,具體如下所述:
三軸陀螺儀的角速度、陀螺儀偏移、白噪聲干擾分別用ωi、bg,t、wg,t表示,三軸陀螺儀的測量信號用yg,t表示,如式(1)。
yg,t=ωt+bg,t+wg,t
(1)
三軸加速度計的運(yùn)動加速度、重力加速度、加速度計偏移、白噪聲干擾分別用at、gt、ba,t、wa,t表示,則三軸加速度計的測量信號ya,t表示,如式(2)。
ya,t=at+gt+ba,t+wa,t
(2)
三軸磁力計的地球磁場、地磁擾動、白噪聲干擾分別用mt、dm,t、wm,t表示,則地磁測量信號ym,t表示,如式(3)。
ym,t=mt+dm,t+wm,t
(3)
其中陀螺儀,加速度計的偏移變化可以用高斯白噪聲ug,t和ua,t的協(xié)方差矩陣的一階Makove模型來表示,見如式(4)和式(5)。
bg,t=bg,t-1+ug,t
(4)
ba,t=ba,t-1+ua,t
(5)
(1) 人體運(yùn)動過程中根節(jié)點的位移解算
(6)
(7)
預(yù)測的速度和位移可以通過加速度積分得到式(8)。
(8)
(9)
式(10)、(11)中:
(10)
首先建立狀態(tài)誤差模型和測量模型,如式(11)—式(15)。
δxt=ptδxt+ut
(11)
δzt=Mδxt+nt
(12)
(13)
(14)
(15)
公式(11)—(15)中,ut、Pt分別代表的是協(xié)方差矩陣Q的過程噪聲、狀態(tài)轉(zhuǎn)移矩陣。δxt、δzt、nt、MT分別代表人體某一節(jié)段的狀態(tài)誤差向量、測量誤差、協(xié)方差矩陣R的測量噪聲、測量矩陣。
?δQt
(16)
根據(jù)上述公式可以得到定位方向誤差,速度誤差和位移誤差的實時更新值,如式(17)—式(19)。
δQt=I3+Δtyg,tδQt-1-0.5Δtbg,t-1-ug,t
(17)
(18)
δSt=δSt-1+Δtδvt
(19)
其中ug,t=0.5Δtωg,t-1,ua,t=CQtωa,t,I3為3×3階單位矩陣,ya,t代表加速度計加速度去除偏移后的交叉乘積算子。
通過對加速度和地磁矢量的歸一化處理,計算得到互補(bǔ)卡爾曼濾波的輸入測量值,對t時刻對定位方向,速度和位移量進(jìn)行校正,校正方程,如式(20)—式(22)。
(20)
(21)
(22)
(23)
(24)
εp,t=USt+μp,t
(25)
(26)
四元數(shù)Q與人體坐標(biāo)系下的陀螺儀測量值存在如下關(guān)系,如式(27)。
(27)
MEMS三軸陀螺儀輸出為角速率形式,采用二階龍格庫塔法求解四元數(shù),如式(28)、式(29)。
(28)
k1=Qb(t)·Q(t)
k2=Qb(t+Δt)·Q(t)+k1·Δt
(29)
式中,Δt代表采樣周期。
(30)
人體是一個比較復(fù)雜的系統(tǒng),共包括209塊骨骼,在進(jìn)行運(yùn)動捕捉時獲得骨骼旋轉(zhuǎn)角度,并將骨骼重新組合才可以重構(gòu)人體運(yùn)動學(xué)模型。根據(jù)生物解剖學(xué)原理,人體的主要動作部位包括腰部、頭部、大腿、小腿、手臂、手肘和手腕[5],各部分關(guān)系如圖3所示。
圖3 骨骼關(guān)系圖
圖3在簡化的模型中,除了根骨骼(腰)之外其它全部骨骼做旋轉(zhuǎn)運(yùn)動,而根骨骼(腰)做平移運(yùn)動。為了更形象顯示載體的動作狀態(tài),在求出載體的姿態(tài)后,還需要虛擬重繪載體姿態(tài),實現(xiàn)運(yùn)動姿態(tài)重現(xiàn)。載體姿態(tài)主要通過OpenGL技術(shù)根據(jù)解算后的載體姿態(tài)角進(jìn)行虛擬重現(xiàn)。
頭部、頸部、腰部、左臂、左手、右臂、右手、左腿、左腳、右腿、右腳等部分可以在一定程度上反映人運(yùn)行的情況,人體的關(guān)節(jié)活動度如表1所示。
表1 人體關(guān)節(jié)活動度
為了驗證上述算法的有效性,開發(fā)了基于微型運(yùn)動傳感器三軸陀螺儀、三軸加速度計和三軸地磁儀的虛擬角色交互系統(tǒng),硬件由三軸陀螺儀、三軸加速度計和三軸地磁儀、微控制器和無線射頻芯片組成,微控制器選擇MC56F8122,無線射頻芯片選擇MC13201通過ZigBee無線協(xié)議將采集到的人體運(yùn)動數(shù)據(jù)發(fā)送至計算機(jī)進(jìn)行位移、姿態(tài)角計算等,使用Open GL軟件實現(xiàn)三維虛擬動作的繪制。運(yùn)動傳感器采樣頻率為每秒30幀。試驗過程中,被測試者表演動作,動作數(shù)據(jù)后應(yīng)用于虛擬角色,結(jié)果如圖4所示。
(b)
圖4 被測試者表演動作與合成動作
由圖4可知,計算機(jī)生成的動作和被測試者的動作保持一致,效果教好。
為了對算法的準(zhǔn)確性進(jìn)行分析,以Xsens商業(yè)動作捕捉系統(tǒng)的姿態(tài)角測量結(jié)果作為真實參考值,將本文提出的算法與不采用自適應(yīng)誤差協(xié)方差算法的三個姿態(tài)角的均方根誤差值進(jìn)行比較,均方根誤差值的計算方法,如式(37)。
(37)
其中n代表每次測量的動作解算出來的單軸姿態(tài)角個數(shù),X解算值為每種算法解算出來的姿態(tài)解算角度值,XXsens為商業(yè)動作捕捉系統(tǒng)測量得到的姿態(tài)角度值,采集的4次基于左手快速運(yùn)動實驗數(shù)據(jù),4次數(shù)據(jù)分別釆用兩種不同解算算法計算載體翻滾角、俯仰角和偏航角的均方根誤差,結(jié)果如表2所示。
表2 兩種算法的RMSE值(°)
以實測結(jié)果作為真值參考標(biāo)準(zhǔn),本文提出的算法計算值較小,說明該算法的性能更好。
為了加深人體運(yùn)動捕捉研究,文章對運(yùn)動捕捉技術(shù)進(jìn)行分析,通過微型運(yùn)動傳感器采集數(shù)據(jù)之后,對人體的姿態(tài)角及位移進(jìn)行分析,實現(xiàn)了動作的精準(zhǔn)還原,體現(xiàn)了運(yùn)動捕捉技術(shù)的應(yīng)用良好效果。此外,運(yùn)動捕捉技術(shù)在電影拍攝、醫(yī)療康復(fù)、娛樂等的市場前景也十分廣闊。