Max?。拢幔颍铮?/p>
摘要:剖析了Moven和ADI展示的一件集慣性傳感器、處理器以及無線通信模塊于一身的衣服,這件衣服可記錄穿著者的運(yùn)動(dòng)狀態(tài),并在電腦屏幕上實(shí)時(shí)顯示出三維的運(yùn)動(dòng)圖像。MEMS傳感器、DSP乃至SoC、軟件在運(yùn)動(dòng)捕捉類應(yīng)用上具有特殊的結(jié)構(gòu)。
關(guān)鍵詞:MEMS;DSP;虛擬現(xiàn)實(shí);慣性傳感器;陀螺儀
第三個(gè)例子為拳擊比賽中的應(yīng)用。拳擊手Hutton(曼徹斯特,英國(guó))擊拳平均記錄數(shù)據(jù)為0.1秒內(nèi)達(dá)到40km/h。假設(shè)從0速度開始進(jìn)行均勻線性加速至40km/h或11.1m/s,斜率為1.13g/s,加速度計(jì)可以輕松應(yīng)對(duì)。
這些數(shù)據(jù)的采樣及數(shù)字處理頻率更多取決于數(shù)值積分的準(zhǔn)確性,而不是奈奎斯特采樣定理中所需的MEMS最大輸出頻率的兩倍(2x1600=3200Hz或2x550Hz=1100Hz)。也就是說,是否需要傳感器所提供的最佳頻率響應(yīng)。Moven認(rèn)為奈奎斯特定理應(yīng)用于測(cè)量隨意人類運(yùn)動(dòng)所需的最大頻率,通常不高于10Hz(對(duì)于沖擊可能會(huì)稍微高些),而約100Hz的奈奎斯特頻率應(yīng)當(dāng)足以應(yīng)付沖擊和較慢的隨意運(yùn)動(dòng)。
我們僅能估計(jì)很小部分的工作量。首先我們進(jìn)行角速率長(zhǎng)方形積分所需的三次乘累加,將其分量加到前一角度。假設(shè)三角函數(shù)分開計(jì)算或由查表得出,我們僅考慮上述本源矩陣運(yùn)算。經(jīng)過軸旋轉(zhuǎn)和簡(jiǎn)單長(zhǎng)方形積分,我們發(fā)現(xiàn),通過15次累乘和3次乘加,加速度被積分為速度在基準(zhǔn)坐標(biāo)系的三個(gè)分量——x,y,z,并將其累加到積分常數(shù),也就是先前的速度。3次附加的乘加將提供坐標(biāo)系中新的x,y,z位置—這將使計(jì)算總數(shù)提至24次。注意采用不同的取向表示,如四元數(shù)可節(jié)約工作量處理性能。四元數(shù)采用4個(gè)參數(shù)。一個(gè)描述將要用于單位向量的標(biāo)尺,另外3個(gè)虛系數(shù)標(biāo)注單位向量的旋轉(zhuǎn)。
繼續(xù)先前的算法,假設(shè)采樣頻率可能超過要求,是電視(60fps)的兩倍,120×3200Hz=384000Hz。上述簡(jiǎn)單矩陣計(jì)算需要每秒9216000次運(yùn)算。處理附于運(yùn)動(dòng)捕捉服的16個(gè)基于MEMS的慣性單元(2個(gè)為任選)的讀數(shù)需要大約147.5Mops(百萬次運(yùn)算每秒),如果只是這一項(xiàng),DSP器件(女11ADI的Blackfin)是可以輕松應(yīng)對(duì)的。
運(yùn)動(dòng)捕捉服和PC間的通訊采用基于藍(lán)牙標(biāo)準(zhǔn)的無線連接Moven采用了經(jīng)優(yōu)化/調(diào)諧的藍(lán)牙2.0(aka1.2)Class 1。藍(lán)牙1.0和1.2擁有721kbit/s收發(fā)速率。更新的藍(lán)牙2.0規(guī)格為3Mbit/s,但實(shí)際只支持2.1Mbit/s。我們現(xiàn)在需要考慮由藍(lán)牙連接至PC所造成的限制。由于沒有其它選擇,我們只能在運(yùn)動(dòng)捕捉服上進(jìn)行數(shù)據(jù)轉(zhuǎn)換。每個(gè)傳感器產(chǎn)生3個(gè)加速增量的讀數(shù),3個(gè)角速率增量和3個(gè)溫度(可在本地采用參考電壓,以幫助提高準(zhǔn)確性)。假設(shè)數(shù)據(jù)以每個(gè)慣性傳感器16bit和32bit初始字段表示,如只使用一個(gè)藍(lán)牙信道,我們需要每個(gè)傳感器發(fā)送9×16+32=176bit,一共16個(gè)傳感器共需179×16=2864bit。如前面所講的,采樣率為384000Hz,這樣,每秒傳送的總比特為每秒2864×384000bit,即約1.1Gbits。藍(lán)牙2.0只能支持2.1Mbit/s的傳輸速率,那么2.1Mbit/s/2864約為746采樣/秒。該采樣率可支持每周期單個(gè)樣品下的MEMS的頻率帶寬約為373Hz。藍(lán)牙1.0、1.1和1.2標(biāo)準(zhǔn)則更糟,對(duì)應(yīng)MEMS頻率約為128Hz,只允許每秒256次采樣。在所有傳感器中建立的此均一速率下,不可能正確檢測(cè)足球和拳擊等劇烈運(yùn)動(dòng)的高速碰撞,但至少可以定義可支持運(yùn)動(dòng)和移動(dòng)的速度。根據(jù)Moven的經(jīng)驗(yàn),可做到在采樣速度很低的情況下依然能可靠地捕捉人類動(dòng)作。Moven支持無線通信高達(dá)120Hz。Moven也提供有線通信,有線通信的帶寬可達(dá)512Hz,采樣率更高,足以滿足某些運(yùn)動(dòng)的苛求。
在該運(yùn)動(dòng)捕捉服上的DSP、高性能微控制器或移動(dòng)微處理器可以減少需傳遞至PC的數(shù)據(jù)量,甚至可以在該服裝上集成大容量閃存以記錄本地信息。其它減少數(shù)據(jù)通信的方法為:由于MEMS斜率較低,可傳遞增量讀數(shù),減少表示數(shù)據(jù)所需的大小或通過定義頭文件發(fā)送可變大小的數(shù)據(jù)。
上述最后一種辦法以及本地存儲(chǔ)數(shù)據(jù),似乎是減少數(shù)據(jù)通信的最有希望的辦法。人體知識(shí)為增加準(zhǔn)確性提供了選擇:一種有關(guān)節(jié)的、具有23部分的生物機(jī)械體軟件模型用于限制動(dòng)作,消除由于現(xiàn)實(shí)世界改變參數(shù)及積分不準(zhǔn)確導(dǎo)致的滑步和積分漂移。
使其物有所值的軟件
假定大部分?jǐn)?shù)據(jù)處理工作在安裝MovenStudio2.0應(yīng)用程序的PC或筆記本進(jìn)行,該軟件旨在為所采集的動(dòng)作數(shù)據(jù)和高級(jí)應(yīng)用程序架起一座“橋梁”,因此軟件隱藏了系統(tǒng)控制和必須處理的數(shù)學(xué)算法,用戶界面也非常簡(jiǎn)單。
Moven公司網(wǎng)站上可供下載的演示版程序,但在沒有運(yùn)動(dòng)捕捉服的情況下,該演示版程序幾乎毫無用處。但是Moven在該軟件中,以XML文件格式(文件后綴名為mvnx)保存了幾個(gè)短肢體層次結(jié)構(gòu)代碼和動(dòng)作樣本。用戶可以播放并由不同的虛擬照相機(jī)觀看這些文件。有些控制在演示版中是可用的。復(fù)制和粘貼僅支持二進(jìn)制源格式MVN。你可以將一個(gè)MVN文件粘貼到一個(gè)新的MVNX文件。所捕捉的動(dòng)作可以divx或mov視頻格式輸出。
當(dāng)運(yùn)動(dòng)捕捉服連接后,MovenStudio2.0的控制菜單被激活。控制菜單包括“捕捉服狀態(tài)”、“預(yù)覽和記錄窗口”、“開始新記錄”、“記錄‘mvn文件”、“重新定位傳感器”及“校準(zhǔn)動(dòng)作捕捉服”?!靶?zhǔn)動(dòng)作捕捉服”是指當(dāng)用戶穿上該服裝并做出預(yù)定的初始化動(dòng)作或姿勢(shì)時(shí),系統(tǒng)會(huì)得到加速度、旋轉(zhuǎn)率、溫度和電壓等幾個(gè)參數(shù)初始讀數(shù),從而校準(zhǔn)系統(tǒng)。此外,幾個(gè)附加的校準(zhǔn)動(dòng)作用于得到穿該服裝用戶的特定身體參數(shù)。幫助菜單僅有“關(guān)于”一項(xiàng)。幸運(yùn)的是,動(dòng)作采本文件可作為*bvh標(biāo)準(zhǔn)文件導(dǎo)出。Moven2.0輸出BVH格式文件以兼容Poser、Motion Builder以及3D Studio Max等軟件。Moven Studio2.0也可輸出FBX格式文件,此種格式文件更為靈活并得到Autodesk軟件的支持。FBX可以提供身體任一部分的數(shù)據(jù),而不僅是旋轉(zhuǎn)。BVH文件格式在寫本文最初由Biovision開發(fā)。用于Biovision等級(jí)數(shù)據(jù)的BVH標(biāo)準(zhǔn)。該文件由兩部分組成:首字段描述目標(biāo)的層級(jí)結(jié)構(gòu)并提供描述目標(biāo)骨骼的初始姿勢(shì)。這些將為第一積分常數(shù)。數(shù)據(jù)字段含有動(dòng)作數(shù)據(jù)。Universi鑼of Wisconsin提供的一個(gè)例子給出了這種文件資源(見源代碼邊注或http://www.cs.wisc.edu/graphics/Courses/cs-838-1999/Jeft/Examplel.bvh)。
使用動(dòng)作捕捉數(shù)據(jù)
描述過BVH格式文件的組成結(jié)構(gòu)之后,現(xiàn)在我們來看一下這類文件如何被高級(jí)程序使用,如人物動(dòng)畫、游戲、虛擬顯示、訓(xùn)練、廣告、駕駛以及體育等。作者將描述Moven數(shù)據(jù)在程序中的使用,作者用這些程序積累了一下經(jīng)驗(yàn),Poser 7和Anime Studio Pro5.6,可使用Poser 7創(chuàng)造的3D圖像。兩個(gè)程序都可由e-frontier(現(xiàn)已被Smith MicroSoftware Inc.收購(gòu))得到。
第一個(gè)令人愉快的事情是(a)Poser7可導(dǎo)入BVH文件。(b)Moven可提供與Poser7定義的“骨骼”架構(gòu)所兼容的文件。這解釋了Moven2.0中“重新定位傳感器”命令的需要。下一個(gè)經(jīng)驗(yàn)就不那么美妙了。當(dāng)Poser7讀取BVH文件時(shí),Poser7提示有些關(guān)節(jié)或四肢缺少數(shù)據(jù)或數(shù)據(jù)太多。盡管如此,但令人高興的是,Poser7確實(shí)可以處理這些數(shù)據(jù),并將其分配給程序員。Moven稱可同時(shí)記錄源自多個(gè)人的動(dòng)作數(shù)據(jù),但沒有定義人數(shù)的上限以及所收集數(shù)據(jù)的類型。作者認(rèn)為有可能使用幾個(gè)不同的Moven系統(tǒng),將時(shí)間和三維距離積分留給PC或程序(如Poser 7)做后期處理。在Poster7中,可以獲得展示幾個(gè)人的情景,具體方法為:首先讓某人位于程序前臺(tái),之后通過輸入控制此人的BVH文件,這樣,即便之后此人位于后臺(tái)程序也可控制其圖像。
Poster7允許程序員定義并塑造3D面龐,并使其可隨著動(dòng)作、相機(jī)角度以及距離的變化而變化。甚至可以使人物彼此同步其不同時(shí)間軸的關(guān)系。盡管效果可以很好,許多改變可由手工完成且并不困難。但是制作和測(cè)試很耗時(shí)。為了在虛擬現(xiàn)實(shí)行業(yè)中實(shí)現(xiàn)創(chuàng)作的多產(chǎn),這個(gè)行業(yè)需要?jiǎng)?chuàng)作更多的工具,加入Moven的動(dòng)作捕捉可使編輯和測(cè)試變得更加容易。
將一個(gè)動(dòng)作文件指定給一個(gè)圖像中的人物的過程相當(dāng)簡(jiǎn)單:首先,由某人經(jīng)歷一系列的運(yùn)動(dòng),此人的身體測(cè)量參數(shù)和服裝尺寸也將所需記錄動(dòng)作的數(shù)據(jù)的一部分。后續(xù)步驟由一機(jī)械體展示,該機(jī)械體可以展示實(shí)際動(dòng)作。當(dāng)其從不同相機(jī)角度(更多3D數(shù)學(xué)變換)和距離觀看時(shí),結(jié)果可以在PC或Mac按每一幀觀看,或作為視頻播放。
通過將動(dòng)作數(shù)據(jù)文件指定給人物,我們準(zhǔn)備好設(shè)計(jì)某女士穿越視野,并跳躍由作者插入的障礙物的一系列動(dòng)作。
作者沒有更正穿紅T恤的男士的動(dòng)作,因?yàn)樗膭?dòng)作不好配合。此外,也沒有為女士提供頭發(fā),不過女士的頭發(fā)可以從Poster7中的本地素材庫(kù)選取,也可以從網(wǎng)上找到由專業(yè)人員和業(yè)余人員創(chuàng)作或出售相關(guān)素材。Moven探究導(dǎo)致兩程序通訊不同的特定原因:一種可能性是萬向節(jié)死鎖——指兩旋轉(zhuǎn)陀螺儀進(jìn)入某位置禁止第三陀螺儀矯直平臺(tái)。
近乎完整的系統(tǒng)
現(xiàn)在,我們可以容易的看到設(shè)計(jì)這種系統(tǒng)所需涉及的階段,從慣性傳感器和芯片,到RF,到PC,到軟件程序和界面以及其它如游戲設(shè)計(jì)等。盡管這些步驟的順序和步驟清楚,也定義了最終規(guī)格,但是最難解決的問題是處理資源的分配,如可能,一種產(chǎn)品應(yīng)滿足多種應(yīng)用的需求。對(duì)于野外訓(xùn)練而言,是否采用DSP進(jìn)行本地?cái)?shù)據(jù)處理,從而使運(yùn)動(dòng)捕捉服裝獨(dú)立于PC更好?兩個(gè)RF藍(lán)牙2.0信道是否能幫助更好地分配功效?是否需要一個(gè)像Moven2.0的前端附于Poser7以提供網(wǎng)上實(shí)時(shí)游戲,而這種做法對(duì)性能及網(wǎng)絡(luò)接入時(shí)間會(huì)有何影響?是否Moven或其它公司應(yīng)當(dāng)創(chuàng)造一個(gè)“編輯”服裝以直接連接游戲開發(fā)環(huán)境來更快的調(diào)試修改游戲?
我們需要調(diào)整系統(tǒng)的每個(gè)組件以保證性能但并不一定是最佳性能,因?yàn)樵谶@個(gè)情況下,系統(tǒng)中的其它一些因素,例如通訊,可能是真正的瓶頸。例如,在微分中,人們?cè)噲D在系數(shù)等分中發(fā)現(xiàn)最適條件。比如,正方形優(yōu)于長(zhǎng)方形。
似乎只是最近,動(dòng)作捕捉可以通過處理取自12個(gè)照相機(jī)的數(shù)據(jù)得以實(shí)現(xiàn),但這些照相機(jī)無法克服外界物體所造成的遮擋。在Moven的慣性動(dòng)作捕捉技術(shù)的出現(xiàn)之前,動(dòng)作捕捉不可能在任意地點(diǎn)和完全漆黑的情況下進(jìn)行,因?yàn)閯?dòng)作捕捉一直受到相機(jī)的限制——即只有在相機(jī)能正常工作的地方,才能進(jìn)行動(dòng)作捕捉。
業(yè)界做了很多工作以加速虛擬世界的創(chuàng)造,如文字和聲頻/視頻等,但我們用來創(chuàng)造虛擬世界的工具還只是開始。
隨著SoC漸漸成為系統(tǒng)名副其實(shí)的一部分,對(duì)系統(tǒng)范圍的理解將日益重要。(本文選自《微處理器報(bào)告》,莫怡欣譯)