韋 宇
(廣州海格通信集團股份有限公司,廣東 廣州 510663)
動作捕捉技術(Motion Capture,Mocap)的出現可追溯到20世紀70年代,國外的動畫制作公司利用光學式的動作捕捉技術把表演者的姿勢投射到計算機屏幕上,作為動畫制作的參考。隨著技術的發展,該技術已經廣泛應用于3D影視制作、步態分析、生物力學研究、人機工程、虛擬現實等新興行業市場。
常用的動作捕捉技術從原理上說可分為機械式、聲學式、電磁式、主動光學式、被動光學式、慣性導航式。本文的主要研究內容是慣性導航式肢體動作捕捉的采集方法實現。
動作捕捉系統的一般性結構主要分為3個部分:數據采集設備、數據傳輸設備、數據處理單元。慣性導航式動作捕捉系統既是將慣性傳感器應用到數據采集設備,從而完成運動目標的姿態、角度的測量。
要完成對人體肢體動作的捕捉需要對人體的頭部、肩部、大臂、小臂、手、胸口、尾椎、大腿、小腿、腳踝等共計17個部位進行動作跟蹤,參考圖1所述。在這17處重要部位佩戴集成加速計、陀螺儀、磁力計等慣性傳感器的數據采集設備,加速計是用來檢測傳感器受到的加速度的大小和方向,它通過測量傳感器在某個軸向的加速度大小和方向,但是相對于地面的姿態則精度不高。加速計的不足由陀螺儀來彌補,陀螺儀是通過測量三維坐標體系內內部陀螺轉子的垂直軸與傳感器的夾角,并計算角速度,通過夾角和角速度來判斷物體在三維空間的運動狀態,因為內部陀螺轉子的垂直軸永遠垂直地面,也就能保證對地面的姿態精度,但是不能測量同東西南北4個方向的姿態。那么陀螺儀的不足由磁力計來彌補,磁力計就是個小型的電子羅盤,由它來測量傳感器同南北磁極的角度并確定4個方向的姿態。
數據傳輸設備是為了解決把采集到的動作數據傳遞給數據處理單元,同時也是上述17個數據采集設備的數據交匯點,這一特質決定了數據傳輸設備不可避免地要與數據采集設備就近部署。從使用舒適性、可穿戴性方面考慮,數據傳輸設備應采用無線通信技術回傳數據給數據處理單元以減少線纜數量和穿戴者的負擔。目前主流的無線通信技術有ZigBee,Bluetooth,RFID,WiFi等,根據數據吞吐量來決定系統的通信子系統的設計,1個數據采集設備集成加速計、陀螺儀、磁力計,其中現在主流MEMS芯片集成了加速計和陀螺儀,磁力計單獨一顆芯片,芯片數據接口為I2C總線,I2C總線最大碼流400 kbps,那么數據量參考公式1所述。
傳輸數據吞吐量=17×2×400 kbps ≈13.6 Mbps (1)
根據公式1所述的吞吐量要求,WiFi支持11~54 Mbps,其余技術傳輸速率不及1 Mbps,故此數據傳輸設備采用WiFi回傳數據,在穿戴者身上部署數據傳輸設備(穿戴側),在數據處理單元側對稱部署數據傳輸設備(處理側),二者實現WiFi無線傳輸數據,數據傳輸設備(處理側)與數據處理單元通過USB傳輸數據。
數據處理單元采用圖形工作站,工作站運行動作捕捉軟件完成行動作捕捉。
2.2.1 數據采集設備
數據采集設備是通過彈性束帶固定在人體的運動部位,由于部署位置涉及人體接觸,從舒適性和可穿戴性上決定了數據采集設備有體積小、功耗低的要求,數據采集設備如圖2所示,由MEMS慣性傳感器(集成加速計、陀螺儀),磁力計,MCU,RS232電平轉換、電源等電路組成。
當傳感器有數據時通過向MCU發起中斷,MCU響應中斷,通過I2C總線訪問MEMS慣性傳感器的相關寄存器讀取數據。
數據采集設備的MCU獲取到數據后,給數據封裝成消息,添加一些輔助信息開銷,如傳感器的ID以及數據類型(包括:加速計數據、陀螺儀數據、磁力計數據)等信息。
2.2.2 數據傳輸設備
數據傳輸設備根據部署位置分為穿戴側設備和處理側設備兩種。
數據處理設備(穿戴側)部署在穿戴者的前胸,詳細部署情況可參考圖1所示。數據處理設備(穿戴側)承擔著系統的采集數據匯總、數據無線傳輸、采集模塊供電、電池充電等功能,數據處理設備(穿戴側)組成如圖2所示,由RS232電平轉換電路、8路串口緩沖芯片,MCU,WiFi模塊及天線、DC/DC電源、鋰電池模塊及充電模塊組成。其中RS232電平轉換電路負責RS232同TTL電平轉換。8路串口緩沖芯片負責接收多路串口數據,當有數據接收時,通過中斷通知MCU來獲取,MCU響應中斷通過數據總線獲取數據采集設備的消息。充電模塊主要通過充電電源接口連接電源適配器進行對鋰電池充電。WiFi模塊及天線主要提供802.11b/g/n的無線WiFi收發功能。MCU負責匯總數據填充消息,按照每秒120幀的速率通過SPI總線發送給WiFi模塊。
數據處理設備(處理側)部署在數據處理單元通過USB接口連接。數據處理設備(處理側)組成如圖2所示,由WiFi模塊及天線、MCU(集成USB)、LDO電源組成。

圖2 采集系統架構
2.2.3 數據處理單元
數據處理單元采用圖形工作站,圖形工作站安裝數據傳輸設備(處理側)的USB驅動,運行動作捕捉軟件(如Unity3D等),運行動作捕捉軟件通過對USB驅動的相應管道進行數據操作來獲取運動數據來完成行動作捕捉功能。
2.2.4 業務信息流程
數據傳輸設備(處理側)通過USB線纜連接到數據處理單元,數據處理單元進行該設備的USB驅動的枚舉,枚舉成功后運行動作捕捉軟件,軟件通過下行管道發送“獲取采集點列表申請”的消息包,數據傳輸設備(穿戴側)接收到“獲取采集點列表申請”的消息包后,數據傳輸設備(穿戴側)向數據采集設備發送輪詢點名,各個數據采集設備反饋各自的ID和能力,數據傳輸設備(穿戴側)匯總后通過WiFi反饋“采集點列表及能力”給數據傳輸設備(處理側),軟件通過驅動的上行管道獲取“采集點列表及能力”,更新相應信息后發送啟動采集消息,運動數據就開始由數據傳輸設備上傳給軟件。終止采集是啟動采集的逆過程,采集過程活動序列如圖3所示。

圖3 采集過程活動序列
本采集實現方法在Unity3D平臺下的反復測試和優化后取得一些可喜的指標,在定位精度、實時性上,位置跟蹤精度達到5 mm、最小角速度0°/s、最大角速度2 000°/s、精度偏航為0.25°、俯仰和橫滾分別為0.1°、角分辨率0.01°等。穿戴者負重輕,肢體動作無阻礙,在使用方便程度上極大改善了用戶體驗。
[參考文獻]
[1]趙正旭,戴歡,趙文彬,等.基于慣性動作捕捉的人體運動姿態模擬[J].計算機工程,2012(5):5-8.