韋 宇
(廣州海格通信集團(tuán)股份有限公司,廣東 廣州 510663)
動(dòng)作捕捉技術(shù)(Motion Capture,Mocap)的出現(xiàn)可追溯到20世紀(jì)70年代,國(guó)外的動(dòng)畫制作公司利用光學(xué)式的動(dòng)作捕捉技術(shù)把表演者的姿勢(shì)投射到計(jì)算機(jī)屏幕上,作為動(dòng)畫制作的參考。隨著技術(shù)的發(fā)展,該技術(shù)已經(jīng)廣泛應(yīng)用于3D影視制作、步態(tài)分析、生物力學(xué)研究、人機(jī)工程、虛擬現(xiàn)實(shí)等新興行業(yè)市場(chǎng)。
常用的動(dòng)作捕捉技術(shù)從原理上說可分為機(jī)械式、聲學(xué)式、電磁式、主動(dòng)光學(xué)式、被動(dòng)光學(xué)式、慣性導(dǎo)航式。本文的主要研究?jī)?nèi)容是慣性導(dǎo)航式肢體動(dòng)作捕捉的采集方法實(shí)現(xiàn)。
動(dòng)作捕捉系統(tǒng)的一般性結(jié)構(gòu)主要分為3個(gè)部分:數(shù)據(jù)采集設(shè)備、數(shù)據(jù)傳輸設(shè)備、數(shù)據(jù)處理單元。慣性導(dǎo)航式動(dòng)作捕捉系統(tǒng)既是將慣性傳感器應(yīng)用到數(shù)據(jù)采集設(shè)備,從而完成運(yùn)動(dòng)目標(biāo)的姿態(tài)、角度的測(cè)量。
要完成對(duì)人體肢體動(dòng)作的捕捉需要對(duì)人體的頭部、肩部、大臂、小臂、手、胸口、尾椎、大腿、小腿、腳踝等共計(jì)17個(gè)部位進(jìn)行動(dòng)作跟蹤,參考圖1所述。在這17處重要部位佩戴集成加速計(jì)、陀螺儀、磁力計(jì)等慣性傳感器的數(shù)據(jù)采集設(shè)備,加速計(jì)是用來檢測(cè)傳感器受到的加速度的大小和方向,它通過測(cè)量傳感器在某個(gè)軸向的加速度大小和方向,但是相對(duì)于地面的姿態(tài)則精度不高。加速計(jì)的不足由陀螺儀來彌補(bǔ),陀螺儀是通過測(cè)量三維坐標(biāo)體系內(nèi)內(nèi)部陀螺轉(zhuǎn)子的垂直軸與傳感器的夾角,并計(jì)算角速度,通過夾角和角速度來判斷物體在三維空間的運(yùn)動(dòng)狀態(tài),因?yàn)閮?nèi)部陀螺轉(zhuǎn)子的垂直軸永遠(yuǎn)垂直地面,也就能保證對(duì)地面的姿態(tài)精度,但是不能測(cè)量同東西南北4個(gè)方向的姿態(tài)。那么陀螺儀的不足由磁力計(jì)來彌補(bǔ),磁力計(jì)就是個(gè)小型的電子羅盤,由它來測(cè)量傳感器同南北磁極的角度并確定4個(gè)方向的姿態(tài)。
數(shù)據(jù)傳輸設(shè)備是為了解決把采集到的動(dòng)作數(shù)據(jù)傳遞給數(shù)據(jù)處理單元,同時(shí)也是上述17個(gè)數(shù)據(jù)采集設(shè)備的數(shù)據(jù)交匯點(diǎn),這一特質(zhì)決定了數(shù)據(jù)傳輸設(shè)備不可避免地要與數(shù)據(jù)采集設(shè)備就近部署。從使用舒適性、可穿戴性方面考慮,數(shù)據(jù)傳輸設(shè)備應(yīng)采用無線通信技術(shù)回傳數(shù)據(jù)給數(shù)據(jù)處理單元以減少線纜數(shù)量和穿戴者的負(fù)擔(dān)。目前主流的無線通信技術(shù)有ZigBee,Bluetooth,RFID,WiFi等,根據(jù)數(shù)據(jù)吞吐量來決定系統(tǒng)的通信子系統(tǒng)的設(shè)計(jì),1個(gè)數(shù)據(jù)采集設(shè)備集成加速計(jì)、陀螺儀、磁力計(jì),其中現(xiàn)在主流MEMS芯片集成了加速計(jì)和陀螺儀,磁力計(jì)單獨(dú)一顆芯片,芯片數(shù)據(jù)接口為I2C總線,I2C總線最大碼流400 kbps,那么數(shù)據(jù)量參考公式1所述。
傳輸數(shù)據(jù)吞吐量=17×2×400 kbps ≈13.6 Mbps (1)
根據(jù)公式1所述的吞吐量要求,WiFi支持11~54 Mbps,其余技術(shù)傳輸速率不及1 Mbps,故此數(shù)據(jù)傳輸設(shè)備采用WiFi回傳數(shù)據(jù),在穿戴者身上部署數(shù)據(jù)傳輸設(shè)備(穿戴側(cè)),在數(shù)據(jù)處理單元側(cè)對(duì)稱部署數(shù)據(jù)傳輸設(shè)備(處理側(cè)),二者實(shí)現(xiàn)WiFi無線傳輸數(shù)據(jù),數(shù)據(jù)傳輸設(shè)備(處理側(cè))與數(shù)據(jù)處理單元通過USB傳輸數(shù)據(jù)。
數(shù)據(jù)處理單元采用圖形工作站,工作站運(yùn)行動(dòng)作捕捉軟件完成行動(dòng)作捕捉。
2.2.1 數(shù)據(jù)采集設(shè)備
數(shù)據(jù)采集設(shè)備是通過彈性束帶固定在人體的運(yùn)動(dòng)部位,由于部署位置涉及人體接觸,從舒適性和可穿戴性上決定了數(shù)據(jù)采集設(shè)備有體積小、功耗低的要求,數(shù)據(jù)采集設(shè)備如圖2所示,由MEMS慣性傳感器(集成加速計(jì)、陀螺儀),磁力計(jì),MCU,RS232電平轉(zhuǎn)換、電源等電路組成。
當(dāng)傳感器有數(shù)據(jù)時(shí)通過向MCU發(fā)起中斷,MCU響應(yīng)中斷,通過I2C總線訪問MEMS慣性傳感器的相關(guān)寄存器讀取數(shù)據(jù)。
數(shù)據(jù)采集設(shè)備的MCU獲取到數(shù)據(jù)后,給數(shù)據(jù)封裝成消息,添加一些輔助信息開銷,如傳感器的ID以及數(shù)據(jù)類型(包括:加速計(jì)數(shù)據(jù)、陀螺儀數(shù)據(jù)、磁力計(jì)數(shù)據(jù))等信息。
2.2.2 數(shù)據(jù)傳輸設(shè)備
數(shù)據(jù)傳輸設(shè)備根據(jù)部署位置分為穿戴側(cè)設(shè)備和處理側(cè)設(shè)備兩種。
數(shù)據(jù)處理設(shè)備(穿戴側(cè))部署在穿戴者的前胸,詳細(xì)部署情況可參考圖1所示。數(shù)據(jù)處理設(shè)備(穿戴側(cè))承擔(dān)著系統(tǒng)的采集數(shù)據(jù)匯總、數(shù)據(jù)無線傳輸、采集模塊供電、電池充電等功能,數(shù)據(jù)處理設(shè)備(穿戴側(cè))組成如圖2所示,由RS232電平轉(zhuǎn)換電路、8路串口緩沖芯片,MCU,WiFi模塊及天線、DC/DC電源、鋰電池模塊及充電模塊組成。其中RS232電平轉(zhuǎn)換電路負(fù)責(zé)RS232同TTL電平轉(zhuǎn)換。8路串口緩沖芯片負(fù)責(zé)接收多路串口數(shù)據(jù),當(dāng)有數(shù)據(jù)接收時(shí),通過中斷通知MCU來獲取,MCU響應(yīng)中斷通過數(shù)據(jù)總線獲取數(shù)據(jù)采集設(shè)備的消息。充電模塊主要通過充電電源接口連接電源適配器進(jìn)行對(duì)鋰電池充電。WiFi模塊及天線主要提供802.11b/g/n的無線WiFi收發(fā)功能。MCU負(fù)責(zé)匯總數(shù)據(jù)填充消息,按照每秒120幀的速率通過SPI總線發(fā)送給WiFi模塊。
數(shù)據(jù)處理設(shè)備(處理側(cè))部署在數(shù)據(jù)處理單元通過USB接口連接。數(shù)據(jù)處理設(shè)備(處理側(cè))組成如圖2所示,由WiFi模塊及天線、MCU(集成USB)、LDO電源組成。
圖2 采集系統(tǒng)架構(gòu)
2.2.3 數(shù)據(jù)處理單元
數(shù)據(jù)處理單元采用圖形工作站,圖形工作站安裝數(shù)據(jù)傳輸設(shè)備(處理側(cè))的USB驅(qū)動(dòng),運(yùn)行動(dòng)作捕捉軟件(如Unity3D等),運(yùn)行動(dòng)作捕捉軟件通過對(duì)USB驅(qū)動(dòng)的相應(yīng)管道進(jìn)行數(shù)據(jù)操作來獲取運(yùn)動(dòng)數(shù)據(jù)來完成行動(dòng)作捕捉功能。
2.2.4 業(yè)務(wù)信息流程
數(shù)據(jù)傳輸設(shè)備(處理側(cè))通過USB線纜連接到數(shù)據(jù)處理單元,數(shù)據(jù)處理單元進(jìn)行該設(shè)備的USB驅(qū)動(dòng)的枚舉,枚舉成功后運(yùn)行動(dòng)作捕捉軟件,軟件通過下行管道發(fā)送“獲取采集點(diǎn)列表申請(qǐng)”的消息包,數(shù)據(jù)傳輸設(shè)備(穿戴側(cè))接收到“獲取采集點(diǎn)列表申請(qǐng)”的消息包后,數(shù)據(jù)傳輸設(shè)備(穿戴側(cè))向數(shù)據(jù)采集設(shè)備發(fā)送輪詢點(diǎn)名,各個(gè)數(shù)據(jù)采集設(shè)備反饋各自的ID和能力,數(shù)據(jù)傳輸設(shè)備(穿戴側(cè))匯總后通過WiFi反饋“采集點(diǎn)列表及能力”給數(shù)據(jù)傳輸設(shè)備(處理側(cè)),軟件通過驅(qū)動(dòng)的上行管道獲取“采集點(diǎn)列表及能力”,更新相應(yīng)信息后發(fā)送啟動(dòng)采集消息,運(yùn)動(dòng)數(shù)據(jù)就開始由數(shù)據(jù)傳輸設(shè)備上傳給軟件。終止采集是啟動(dòng)采集的逆過程,采集過程活動(dòng)序列如圖3所示。
圖3 采集過程活動(dòng)序列
本采集實(shí)現(xiàn)方法在Unity3D平臺(tái)下的反復(fù)測(cè)試和優(yōu)化后取得一些可喜的指標(biāo),在定位精度、實(shí)時(shí)性上,位置跟蹤精度達(dá)到5 mm、最小角速度0°/s、最大角速度2 000°/s、精度偏航為0.25°、俯仰和橫滾分別為0.1°、角分辨率0.01°等。穿戴者負(fù)重輕,肢體動(dòng)作無阻礙,在使用方便程度上極大改善了用戶體驗(yàn)。
[參考文獻(xiàn)]
[1]趙正旭,戴歡,趙文彬,等.基于慣性動(dòng)作捕捉的人體運(yùn)動(dòng)姿態(tài)模擬[J].計(jì)算機(jī)工程,2012(5):5-8.