張洪超 史衛(wèi)亞 趙建偉
摘要:動(dòng)作捕捉是一種記錄或描繪人體及其他物體動(dòng)作的技術(shù),廣泛應(yīng)用于各個(gè)領(lǐng)域,包括影視游戲作品創(chuàng)作、體育動(dòng)作分析、醫(yī)療康復(fù)等領(lǐng)域。本文使用九軸慣性傳感器,測(cè)量表演者的運(yùn)動(dòng)加速度、方位、傾斜角等參數(shù),然后使用數(shù)據(jù)融合算法生成四元數(shù),并計(jì)算慣性傳感節(jié)點(diǎn)在空間中的三維動(dòng)作信息,并使用Zigbee無線協(xié)議將采集的數(shù)據(jù)發(fā)到計(jì)算機(jī)端。最后將四元數(shù)與3D虛擬人體的骨骼綁定后實(shí)現(xiàn)人體動(dòng)作捕捉。人體動(dòng)作捕捉系統(tǒng)實(shí)現(xiàn)了基于慣性傳感器節(jié)點(diǎn)對(duì)人體動(dòng)作數(shù)據(jù)的采集、數(shù)據(jù)融合以及數(shù)據(jù)傳輸,最終在虛擬人體模型上實(shí)時(shí)呈現(xiàn)的過程。
關(guān)鍵詞:慣性傳感器;動(dòng)作捕捉;Zigbee網(wǎng)絡(luò);實(shí)時(shí)動(dòng)畫;人體模型
中圖分類號(hào):P315.69 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2019)05-0257-04
Human Motion Capture System based on Wireless Inertial Sensor
ZHANG Hong-chao, SHI Wei-ya, ZHAO Jian-wei
(College of Information Science and Engineering, Henan University of Technology, Zhengzhou 410001, China)
Abstract: Motion capture is a technique for recording or depicting the movements of the human body and other objects. It is widely used in various fields, including film and television game creation, sports action analysis, and medical rehabilitation. This paper uses a nine-axis inertial sensor to measure the motion acceleration, azimuth, tilt angle and other parameters of the performer. Then use the data fusion algorithm to generate the quaternion, then calculate the three-dimensional motion information of the inertial sensing node in space and send the collected data to the computer using the Zigbee wireless protocol. Finally, the quaternion is bound to the skeleton of the 3D virtual character to realize the human body motion capture. The human motion capture system realizes the process of real-time rendering on the virtual human body model based on the acquisition, data fusion and data transmission of the human motion data by the inertial sensor node.
Key words: Inertial Sensor; Motion Capture; Zigbee Network; Real-time Animation; Human Model
1 引言
動(dòng)作捕捉是利用機(jī)械裝置、光學(xué)或傳感器等設(shè)備獲取人體或其他物體運(yùn)動(dòng)數(shù)據(jù),并將這些運(yùn)動(dòng)姿態(tài)重現(xiàn)的技術(shù)[1]。從技術(shù)的角度來說,運(yùn)動(dòng)捕捉的實(shí)質(zhì)就是要測(cè)量、跟蹤、記錄物體在三維空間中的運(yùn)動(dòng)軌跡[2]。人體動(dòng)作捕捉技術(shù)常被應(yīng)用于電影、動(dòng)漫、游戲的制作中,還可以應(yīng)到醫(yī)療診斷、姿態(tài)矯正、醫(yī)療康復(fù)輔助、動(dòng)作分析和動(dòng)作識(shí)別等方面。同時(shí),人體動(dòng)作捕捉技術(shù)能夠?yàn)檐娛绿峁┨摂M仿真環(huán)境。
主流的光學(xué)動(dòng)作捕捉系統(tǒng)是在表演者身上指定的位置貼多個(gè)光標(biāo)點(diǎn),然后使用高速攝像機(jī)來捕捉光標(biāo)點(diǎn)的位移,再將捕捉到的數(shù)據(jù)傳輸?shù)接?jì)算機(jī)上,根據(jù)捕捉到的動(dòng)作數(shù)據(jù)進(jìn)行后期處理,最終完成動(dòng)作捕捉的全過程。但是光學(xué)動(dòng)作捕捉有自身的不足,例如光學(xué)動(dòng)捕的整套設(shè)備易受遮擋或光干擾的影響,給后期處理工作帶來很多麻煩,對(duì)于一些遮擋嚴(yán)重的動(dòng)作來說,光學(xué)動(dòng)作捕捉無法精確的還原,例如多人互動(dòng)、擁抱以及扭打等動(dòng)作[3]。而基于慣性傳感器系統(tǒng)的動(dòng)作捕捉技術(shù)大大改善了這一現(xiàn)狀,慣性動(dòng)捕系統(tǒng)采集到的信號(hào)量少,便于實(shí)時(shí)完成姿態(tài)跟蹤任務(wù),解算得到的姿態(tài)信息范圍大、靈敏度高、動(dòng)態(tài)性能好[4]。對(duì)捕捉環(huán)境適應(yīng)性高,不受光照、背景等外界環(huán)境干擾,并且不存在光學(xué)動(dòng)捕的遮擋問題,可以準(zhǔn)確實(shí)時(shí)地還原如下蹲、擁抱、扭打等動(dòng)作。
2 動(dòng)作捕捉系統(tǒng)
基于慣性傳感器人體運(yùn)動(dòng)捕獲和再現(xiàn)系統(tǒng)包括動(dòng)作捕捉、動(dòng)作數(shù)據(jù)處理和動(dòng)作重現(xiàn)三個(gè)模塊[5]。動(dòng)作捕獲模塊通過傳感器采集人體每段肢體的運(yùn)動(dòng)參數(shù),該動(dòng)作參數(shù)包含三維加速度、角速度和磁場(chǎng)信息[6];信息處理是對(duì)獲取的動(dòng)作參數(shù)進(jìn)行分析和處理,將其轉(zhuǎn)化為人體模型相應(yīng)骨骼和關(guān)節(jié)的局部運(yùn)動(dòng)參數(shù);動(dòng)作再現(xiàn)是根據(jù)獲得的模型運(yùn)動(dòng)參數(shù)對(duì)人體運(yùn)動(dòng)進(jìn)行實(shí)時(shí)模擬[7]。在該系統(tǒng)中,首先需要把指定傳感器固定在人體指定的各個(gè)肢體關(guān)節(jié)上,當(dāng)肢體運(yùn)動(dòng)時(shí)傳感器就捕獲這段肢體的三維加速度、角速度和磁場(chǎng)數(shù)據(jù);再把獲取的信息通過無線傳輸協(xié)議以幀的形式發(fā)送到計(jì)算機(jī)端,然后采用卡爾曼濾波對(duì)獲取的運(yùn)動(dòng)信息進(jìn)行去噪和融合[8],從而獲得四元數(shù)數(shù)據(jù);最后把四元數(shù)數(shù)據(jù)輸入運(yùn)動(dòng)再現(xiàn)模塊,運(yùn)動(dòng)重現(xiàn)模塊把四元數(shù)數(shù)據(jù)轉(zhuǎn)換成旋轉(zhuǎn)角度輸入人體模型[9],實(shí)現(xiàn)人體動(dòng)作重現(xiàn)。
根據(jù)人體每塊骨骼都是獨(dú)立存在并且相互作用的,所以其自身的運(yùn)動(dòng)屬性受到關(guān)節(jié)的約束,而且人體的運(yùn)動(dòng)動(dòng)作是由幾個(gè)關(guān)鍵骨骼組成的,因此在運(yùn)動(dòng)過程中不需要考慮影響較小的那部分骨骼[10]。人體骨骼模型采用樹狀層次結(jié)構(gòu),整個(gè)骨骼樹是由一個(gè)根節(jié)點(diǎn)和若干個(gè)構(gòu)成父子關(guān)系的葉子節(jié)點(diǎn)組成,人體在運(yùn)動(dòng)過程中可以把肢體的每一個(gè)動(dòng)作,看作是該肢體相對(duì)于父節(jié)點(diǎn)骨骼的運(yùn)動(dòng)[11]。由于髖關(guān)節(jié)活動(dòng)范圍比較小,所以被選為整個(gè)骨骼樹的根節(jié)點(diǎn)如圖1所示。
人體全身關(guān)節(jié)主要包括七大關(guān)節(jié):頸關(guān)節(jié)、膝關(guān)節(jié)、踝關(guān)節(jié)、肘關(guān)節(jié)、腕關(guān)節(jié)、髖關(guān)節(jié)和肩關(guān)節(jié)[12]。各種關(guān)節(jié)的運(yùn)動(dòng)方式眾多且各不相同,大致可以分為屈伸、移動(dòng)、收展、環(huán)轉(zhuǎn)和旋轉(zhuǎn)等六種,不同類型的關(guān)節(jié)具有不同的運(yùn)動(dòng)自由度,因此關(guān)節(jié)也具有不同的轉(zhuǎn)動(dòng)角度范圍。
雖然人體每個(gè)關(guān)節(jié)的活動(dòng)范圍有限,但是人體能做出的動(dòng)作是無限多個(gè)的。通過對(duì)連接骨骼樹中每個(gè)骨骼的每一個(gè)關(guān)節(jié)的活動(dòng)范圍和活動(dòng)角度限定,可以判斷捕捉到的人體動(dòng)作數(shù)據(jù)是否符合人體正常的運(yùn)動(dòng),如表1所示。
表演者在動(dòng)作捕捉前需要將傳感器節(jié)點(diǎn)綁定到身體上指定的部位,例如大臂、小臂、手、大腿、小腿、腳、頭部和腰部等關(guān)鍵部位。具體哪些部位綁定傳感器節(jié)點(diǎn)以及綁定多少,可以根據(jù)需要采集哪些部位的動(dòng)作來確定,當(dāng)然增加傳感器節(jié)點(diǎn)的數(shù)量可以提高動(dòng)作的精度。
3 動(dòng)作捕捉
傳感器節(jié)點(diǎn)主要由慣性傳感器模塊和Zigbee無線網(wǎng)絡(luò)傳輸模塊這兩部分組成,IMU慣性傳感器由三維加速度計(jì)、三維磁力計(jì)及三維陀螺儀三種微型傳感器芯片組成[13],傳感器實(shí)物如圖2所示。
傳感節(jié)點(diǎn)主要負(fù)責(zé)采集加速度數(shù)據(jù)、角速度數(shù)據(jù)和磁場(chǎng)數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行處理,計(jì)算出各個(gè)節(jié)點(diǎn)的姿態(tài)數(shù)據(jù),傳感器節(jié)點(diǎn)通過ZigBee模塊以無線的方式與連接在計(jì)算機(jī)上的匯聚節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸[14]。表演者只需要將傳感節(jié)點(diǎn)固定在身體指定關(guān)節(jié)就可以實(shí)現(xiàn)動(dòng)作數(shù)據(jù)捕捉。慣性式傳感器硬件部分主要由微處理器、動(dòng)作采集傳感器、供電單元和數(shù)據(jù)傳輸單元組合,基本結(jié)構(gòu)如圖3所示。
4 動(dòng)作數(shù)據(jù)處理
慣性傳感器中三維加速度計(jì)是測(cè)量傳感器坐標(biāo)下的重力向量,用來確定相對(duì)于水平面的方向,三維磁力計(jì)測(cè)量得到傳感器坐標(biāo)下的磁場(chǎng)強(qiáng)度向量,用于確定垂直軸上的旋轉(zhuǎn),三維陀螺儀測(cè)量角速度,通過積分可以得到角度[15]。但是加速度計(jì)和磁力計(jì)都會(huì)受到環(huán)境的干擾,角速度在積分的過程中也會(huì)引入隨時(shí)間增長的漂移,為了解決這些問題需要將這三種數(shù)據(jù)進(jìn)行融合。通過三維加速度計(jì)和三維磁磁力計(jì)融合計(jì)算得到的四元數(shù)作為觀測(cè)量與角速度積分得到的四元數(shù)相融合。三維磁力計(jì)的干擾不會(huì)影響橫滾角和俯仰角的估計(jì)[16];對(duì)于運(yùn)動(dòng)加速度的干擾,這里通過使用自適應(yīng)調(diào)整濾波器中的觀測(cè)噪聲協(xié)方差矩陣來抵消。
這里采用自使用Kalman濾波的姿態(tài)估計(jì)算法(AKF)[17]來根據(jù)重力加速度、磁場(chǎng)強(qiáng)度和角速度計(jì)算得到四元數(shù)。根據(jù)慣例,將地球坐標(biāo)系xeyeze設(shè)定為North-East-Down(NED)坐標(biāo)系,其中xe指向北,ye指向東,ze指向下。通過依次繞著3個(gè)軸旋轉(zhuǎn)一定角度,表演者可以被安置在空間中的任意方向上。AKF會(huì)分別給出對(duì)應(yīng)的四元數(shù),然后融合成最終的一個(gè)四元數(shù)。該算法設(shè)計(jì)簡(jiǎn)單,適用于實(shí)時(shí)計(jì)算,具體步驟在文獻(xiàn)[17]中有詳細(xì)給出。
5 動(dòng)作重現(xiàn)
Unity3D擁有方便操作的設(shè)計(jì)環(huán)境、方便快捷的設(shè)計(jì)流程和簡(jiǎn)單操作的場(chǎng)景編輯器,最主要的時(shí)能夠很好地支持3D模型文件,節(jié)省了創(chuàng)建3D場(chǎng)景的時(shí)間。慣性傳感器實(shí)時(shí)捕捉的人體動(dòng)作原始數(shù)據(jù),經(jīng)過信息處理模塊預(yù)處理后,輸入虛擬人體模型的運(yùn)動(dòng)參數(shù)是四元數(shù)數(shù)據(jù),四元數(shù)數(shù)據(jù)在骨骼管道中轉(zhuǎn)換成角度旋轉(zhuǎn)參數(shù)信息[18]。
人體動(dòng)作的實(shí)時(shí)重現(xiàn),其實(shí)就是虛擬人體模型相對(duì)于初始坐標(biāo)的變換。Unity3D提供了非常豐富的坐標(biāo)轉(zhuǎn)換方法,從而大大簡(jiǎn)化了坐標(biāo)變換等復(fù)雜數(shù)據(jù)處理。在對(duì)人體動(dòng)作捕捉時(shí),首先需要根據(jù)傳感器的編號(hào)對(duì)應(yīng)關(guān)節(jié)的位置,然后人體保持T字形靜止進(jìn)行校準(zhǔn),如圖4所示,最后啟動(dòng)軟件就可以實(shí)現(xiàn)人體動(dòng)作捕捉。
6 結(jié)論
本文基于慣性傳感器系統(tǒng)實(shí)現(xiàn)了對(duì)人體動(dòng)作的捕捉和實(shí)時(shí)重現(xiàn)。根據(jù)實(shí)驗(yàn)結(jié)果,使用無線慣性傳感器可以實(shí)現(xiàn)人體動(dòng)作精確及時(shí)的捕捉,達(dá)到了預(yù)期的結(jié)果。
但是,目前該系統(tǒng)只能捕捉站在原地運(yùn)動(dòng)的動(dòng)作,不能實(shí)現(xiàn)虛擬角色的位移。下一步將融合UWB室內(nèi)定位模塊,提供比較精確的人體運(yùn)動(dòng)位移。
參考文獻(xiàn):
[1] WITTMANN F,LAMBERCY O,GONZENBACH R R,et a1.Assessment-driven Arm Therapy at Home Using an IMU-based Virtual Reality System[C].Rehabilitation Robotics(ICORR),2015IEEE International Conference on,Singapore,2015
[2] 劉莉琛.一種基于慣性傳感器網(wǎng)絡(luò)的動(dòng)作捕捉系統(tǒng)的實(shí)現(xiàn)[J].科技風(fēng).2018.4
[3] 劉劍鋒.虛擬環(huán)境下幾種三維交互技術(shù)的研究[D].杭 州:浙江大學(xué),2010.
[4] LYMPOURIDES V, ARVIND D K, PARKER M. Fully wireless, full body 3-D motion capture for improvisational performances [C] In Proceedings of the Workshop on Whole Body Interaction. Boston, USA: ACM,2009:221-233.
[5] SKAGUCHI T, SATO K, INOKUCHI S. Human Motion Capture by Integration Gyroscopes and Accelerometers [C] IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems. Washington, USA: IEEE,1996:470-475.
[6] 秦永元. 慣性導(dǎo)航[M]. 北京:科學(xué)出版社,2006.
[7] 陳義新 人體動(dòng)作捕捉系統(tǒng)軟件設(shè)計(jì)[D] 大連理工大學(xué),2017.
[8] 陳鑫磊 辛?xí)詫?黃鑫 IIR數(shù)字濾波器設(shè)計(jì)與FPGA實(shí)現(xiàn)[J]. 微處理機(jī),2018,1.
[9] 陳偉. 基于四元數(shù)和卡爾曼濾波的姿態(tài)角估計(jì)算法研究與應(yīng)用[D]. 秦皇島: 燕山大學(xué),2015.
[10] C. Sminchisescu. Estimation Algorithms for Ambiguous Visual Models-Three Dimensional Human Modeling and Motion Reconstruction in Monocular Video Sequences , Institute National Polytechnique de Grenoble(INRIA), Jury 2002P李春霞,楊克儉,李波.人體骨架模型的建立及 IK 問題的一種解決方式[J].武漢理工大學(xué)學(xué)報(bào),2003,27(6):815-818.
[11] 李春霞,楊克儉,李波.人體骨架模型的建立及 IK 問題的一種解決方式[J].武漢理工大學(xué)學(xué)報(bào),2003,27(6):815-818
[12] 高帆.人體運(yùn)動(dòng)信息檢測(cè)技術(shù)[J].科學(xué)時(shí)報(bào),2001(6):1-2.
[13] X. Yun, E. R. Bachmann. Design, implementation, and experimental results of a quaternion-based Kalman filter for human body motion tracking[J]. IEEE Transactions on Robotics, 2006, 22(6): 1216-2227.
[14] 吳濤, 白茹, 朱禮堯,等. 基于卡爾曼濾波的航姿參考系統(tǒng)設(shè)計(jì)[J]. 傳感技術(shù)學(xué)報(bào), 2016,29(4): 532-534.
[15] S. Sun, X. Meng, L. Ji, J. Wu, and W. Wong, Adaptive sensor data fusion in motion capture[C], In Proc. 13th Int. Conf. Inf. Fusion, Edinburgh, U.K., 2010:1-8.
[16] Li Y, Dempster A, Li B, et al. A low-cost attitude heading reference system by combination of GPS and magnetometers and MEMS inertial sensors for mobile applications[J]. Journal of Global Positioning Systems, 2006, 5 (1/2): 88-95
[17] 陳 江,孫撾巖,吳健康 多微型傳感器自適應(yīng)信息融合姿態(tài)估計(jì)方法[J]. 計(jì)算機(jī)研究與發(fā)展,2010(47):235—240.
[18] 謝西昊. 基于MEMS的載體運(yùn)動(dòng)解算及其實(shí)時(shí)仿真[D]. 哈爾濱工程大學(xué), 2013.
【通聯(lián)編輯:梁書】