史衛(wèi)亞 張洪超
河南工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,河南鄭州 450001
動(dòng)作捕捉是一種對(duì)人體動(dòng)作進(jìn)行數(shù)字化記錄和動(dòng)作重現(xiàn)的技術(shù)[1]。人體動(dòng)作捕捉技術(shù)經(jīng)常被應(yīng)用到電影、動(dòng)漫、游戲的制作中[2],還可以應(yīng)用到醫(yī)療診斷、姿態(tài)矯正、醫(yī)療康復(fù)輔助[3]、動(dòng)作分析和動(dòng)作識(shí)別等方面。
動(dòng)作捕捉技術(shù)可分為光學(xué)式、機(jī)械式、電磁式、聲學(xué)式以及慣性傳感式[4]。目前,主流的技術(shù)主要采用光學(xué)式和慣性傳感式這兩種方式。光學(xué)系統(tǒng)捕捉人體動(dòng)作精度高、實(shí)施性好,但是使用復(fù)雜并且價(jià)格昂貴。慣性傳感器動(dòng)作捕捉系統(tǒng)只需要在身體指定的關(guān)節(jié)佩戴傳感器就可以完成動(dòng)作數(shù)據(jù)的采集。雖然慣性傳感器能夠非常精確地測(cè)量每個(gè)關(guān)節(jié)的旋轉(zhuǎn),但是并不能實(shí)現(xiàn)人體精確的位移。
根據(jù)以上分析,提出了一種結(jié)合慣性傳感器和超寬帶定位系統(tǒng)的人體動(dòng)作捕捉的方法。該方法在非視距條件下輔助超寬帶進(jìn)行定位,使用慣性傳感器的加速度計(jì)估計(jì)位置信息。實(shí)驗(yàn)表明該方法可以有效地提高系統(tǒng)的定位精度。
慣性傳感器動(dòng)作捕捉系統(tǒng)是一個(gè)自給系統(tǒng),沒有外界參考點(diǎn)不能直接提供位置數(shù)據(jù),所以目前的慣性動(dòng)作捕捉系統(tǒng)多數(shù)只估計(jì)人體的姿態(tài),不能獲取人體在全局坐標(biāo)下的位置信息,為了解決這個(gè)問題,研究者們提出了多種方案。例如,Jimenez等[5]提出了一個(gè)基于卡爾曼濾波的慣性導(dǎo)航系統(tǒng)與無線電射頻識(shí)別系統(tǒng)緊耦合的方法,用于室內(nèi)步行者的定位導(dǎo)航;Brodie等[6]使用融合慣性傳感器、GPS、壓力傳感器、攝像機(jī)和經(jīng)緯儀的動(dòng)作捕捉系統(tǒng)捕捉人體在高山滑雪比賽時(shí)的三維動(dòng)力學(xué)和運(yùn)動(dòng)學(xué)信息;Fischer等[7]設(shè)計(jì)了一個(gè)用于步行者定位微型傳感器系統(tǒng),該系統(tǒng)里需要在實(shí)驗(yàn)對(duì)象的腳上放置融合了慣性傳感器和超聲波傳感器的設(shè)備。
隨著室內(nèi)定位技術(shù)的發(fā)展,超寬帶定位技術(shù)日趨成熟,可以使用超寬帶定位系統(tǒng)和慣性傳感器相結(jié)合的方法實(shí)現(xiàn)人體動(dòng)作捕捉。兩種傳感器具有良好的互補(bǔ)性:超寬帶技術(shù)可用于室內(nèi)精確定位,精度高于其他的定位方式[8-9]。但在定位過程中易受室內(nèi)非視距、多路徑效應(yīng)的影響,從而導(dǎo)致長(zhǎng)期定位精度低的問題[10];通過慣性傳感器輔助定位來彌補(bǔ)超寬帶定位的不足,從而獲得高精度的定位效果。
該技術(shù)首先通過傳感器捕獲表演者的三維加速度、角速度和磁場(chǎng)數(shù)據(jù);再把獲取的信息通過無線傳輸協(xié)議以幀的形式發(fā)送到計(jì)算機(jī)端,然后采用卡爾曼濾波對(duì)獲取的運(yùn)動(dòng)信息進(jìn)行去噪和融合,得到四元數(shù)數(shù)據(jù);最后把四元數(shù)數(shù)據(jù)輸入到虛擬3D人體模型中,從而驅(qū)動(dòng)虛擬3D人體模型的動(dòng)作,實(shí)現(xiàn)人體動(dòng)作捕捉。
1、超寬帶定位系統(tǒng)
超寬帶定位系統(tǒng)由一個(gè)標(biāo)簽和三個(gè)基站組成。超寬帶定位的原理是由基站發(fā)送一個(gè)信號(hào)到標(biāo)簽所需要的時(shí)間來推算標(biāo)簽的位置[11]。這里使用雙面雙向測(cè)距方法,雙面雙向測(cè)距的方法是在單面雙向測(cè)距的基礎(chǔ)上再增加一次通訊,兩次通訊的時(shí)間可以彌補(bǔ)因?yàn)闀r(shí)鐘偏移引入的誤差[12],準(zhǔn)確地獲取基站和標(biāo)簽的距離就能得到標(biāo)簽的位置[13]。
2、慣性傳感器定位算法
為了能夠?qū)T性傳感器與超寬帶定位系統(tǒng)測(cè)量值融合,必須把加速度測(cè)量值轉(zhuǎn)換為相對(duì)位移估計(jì)值。但是由于加速度計(jì)中存在噪聲,而且在加速度用積分計(jì)算位移時(shí)放大了噪聲,所以這里引入卡爾曼濾波器來減少加速度轉(zhuǎn)換位移的噪聲[14]。利用卡爾曼濾波器對(duì)狀態(tài)信息進(jìn)行校正,降低誤差累計(jì)的影響,以實(shí)現(xiàn)輔助測(cè)量位移[15]。
為了融合超寬帶定位提供的位置估計(jì)和慣性傳感器提供的相對(duì)位置估計(jì),根據(jù)視距和非視距使用不同的融合方法。
1、簡(jiǎn)單融合方法
使用積分方法計(jì)算x維度下,在時(shí)間步n的人體的位置XSIM,n,如公式(1)所示:
其中,xSIM,n,ySIM,n,zSIM,n—在時(shí)間步n的人體位置三維坐標(biāo);
XUWB,n—超寬帶定位系統(tǒng)在x維度下,時(shí)間步n的人體位置坐標(biāo);
XIMU,n—慣性傳感器在x維度下,時(shí)間步n的人體位置坐標(biāo);
δx,UWB,n—x軸中超寬帶定位提供位置估計(jì)的標(biāo)準(zhǔn)偏差;
δIMU,n—慣性傳感器的標(biāo)準(zhǔn)偏差。由于很難預(yù)測(cè)慣性傳感器的標(biāo)準(zhǔn)偏差,所以三個(gè)維度都設(shè)置相同的值。使用以下過程處理積分誤差帶來的影響:
在時(shí)間步n,如果當(dāng)前估計(jì)的超寬帶定位標(biāo)準(zhǔn)偏差小于n-1的慣性傳感器標(biāo)準(zhǔn)偏差,即用公式(2)表示:
其中,δk,UWB,n—超寬帶定位系統(tǒng)在時(shí)間步n的位置偏差;
δIMU,n-1—慣性傳感器在時(shí)間步n-1的標(biāo)準(zhǔn)偏差。那么慣性傳感器的標(biāo)準(zhǔn)偏差將被重置為δIMU=0.05m/s2。否則,慣性傳感器的標(biāo)準(zhǔn)偏差設(shè)置為:
其中,tsr—慣性傳感器標(biāo)準(zhǔn)偏差被重置的時(shí)間間隔。
因此,根據(jù)超寬帶定位誤差標(biāo)準(zhǔn)偏差,慣性傳感器誤差標(biāo)準(zhǔn)偏差的無限增加受到限制,并且在可視距條件下復(fù)位積分誤差。在非可視距條件下假定非視距引起的誤差小于積分誤差時(shí),復(fù)位積分誤差[16]。該融合算法的系統(tǒng)架構(gòu)圖如圖1所示,算法工作流程如下:
(1)讀取慣性傳感器的加速度數(shù)據(jù);
(2)讀取超寬帶定位系統(tǒng)中表演者的位置數(shù)據(jù);
(3)根據(jù)基站定位系統(tǒng)判斷表演者是否有位移;
(4)根據(jù)慣性傳感器中的加速度數(shù)據(jù)判斷表演者是否有位移;
(5)如果基站定位系統(tǒng)和慣性傳感器同時(shí)有位移,那么更新表演者的位置信息。
2、非視距情況下的位置估計(jì)
將非視距檢測(cè)與簡(jiǎn)單的融合算法相結(jié)合,如圖2所示。該方法在沒有檢測(cè)到非視距條件下使用簡(jiǎn)單融合算法,并且由于超寬帶定位和慣性傳感器的位移估計(jì)融合算法減少超寬帶定位的誤差。如果檢測(cè)到非視距情況,位置估計(jì)僅依賴于剩余的基站[17]。在剩余2個(gè)基站的情況下,如果計(jì)算x-y平面的2D位置,可以使用超寬帶定位的上一個(gè)位置信息或慣性傳感器的位置信息來預(yù)測(cè)現(xiàn)在的位置。如果慣性傳感器計(jì)算的位置信息和上一個(gè)位置信息之間的距離不是很大,而且在二基站定位的范圍內(nèi),則使用慣性傳感器的位置估計(jì);如果慣性傳感器計(jì)算的位置信息和上一個(gè)位置信息之間的距離很大,而且和二基站定位的差別很大,那么直接使用上一個(gè)位置信息。具體流程如圖2所示,虛線是非視距情況下的位置估算方法,算法工作流程如下:
(1)讀取慣性傳感器中加速度數(shù)據(jù);
(2)讀取超寬帶定位系統(tǒng)中表演者的位置數(shù)據(jù);
(3)判斷超寬帶定位系統(tǒng)是否處于非視距情況;
(4)非視距情況下使用二基站定位和慣性傳感器的位置估計(jì)。
以上是兩種慣性傳感器和超寬帶定位系統(tǒng)數(shù)據(jù)融合的方法,非視距情況下的位置估計(jì)是在簡(jiǎn)單融合方法的基礎(chǔ)上增加了對(duì)非視距情況下位置的估計(jì)。所以,第二種方法非視距情況下位置估算有更高的可用性,因?yàn)樵趯?shí)際情況中,人體在運(yùn)動(dòng)時(shí)經(jīng)常會(huì)遮擋基站造成非視距情況,該實(shí)驗(yàn)采用了非視距情況下位置估計(jì)算法。
為了測(cè)試所使用的融合算法在動(dòng)作捕捉系統(tǒng)中的有效性,在室內(nèi)布置了場(chǎng)地,如圖3所示。慣性傳感器在人體身上的綁定,標(biāo)簽在人體身上的腰部。慣性傳感器接收模塊和基站A與電腦連接,基站B和基站C分別在基站A的上方和右方。動(dòng)作數(shù)據(jù)最終通過Unity3D開發(fā)的3D虛擬人物模型來展示,如圖4所示。
為了量化測(cè)試人體在靜止時(shí),非視距情況下使用融合算法和不使用融合算法對(duì)定位精度的影響。
首先把標(biāo)簽和慣性傳感器腰部的節(jié)點(diǎn)放入待測(cè)試場(chǎng)地的中心坐標(biāo)點(diǎn)(135cm,135cm),然后測(cè)試人員繞著測(cè)試場(chǎng)地中心的傳感器勻速走一圈,以實(shí)現(xiàn)對(duì)超寬帶定位系統(tǒng)的非視距干擾。每走一圈結(jié)束后記錄下這組位置數(shù)據(jù)。一共測(cè)試了10次,得到了10組使用融合算法的位置數(shù)據(jù)和10組不使用融合算法的位置數(shù)據(jù)。為了方便對(duì)比實(shí)驗(yàn)數(shù)據(jù),再測(cè)試一組沒有干擾情況下的數(shù)據(jù)(即視距)與上述前兩次實(shí)驗(yàn)數(shù)據(jù)對(duì)比。
分別計(jì)算上述10組使用融合算法的位置數(shù)據(jù)各組的平均值和標(biāo)準(zhǔn)差,再將計(jì)算所得的10組平均值和標(biāo)準(zhǔn)差求均值;將剩下的10組不使用融合算法的位置數(shù)據(jù)和一組沒有干擾情況下的數(shù)據(jù)(即視距)用同樣的方法處理。X軸和Y軸的計(jì)算結(jié)果分別如表1、表2所示,數(shù)據(jù)的平均值說明了定位的整體情況。
圖5為X軸數(shù)據(jù)與Y軸數(shù)據(jù)分別在視距、非視距(無融合算法)、非視距(有融合算法)三種條件下的數(shù)據(jù)對(duì)比圖。從圖中可以看出,在視距條件下,X軸和Y軸的定位數(shù)據(jù)有波動(dòng),但是波動(dòng)范圍不大,基本趨于穩(wěn)定;在非視距條件下,沒有使用融合算法的定位數(shù)據(jù)波動(dòng)較大,X軸數(shù)據(jù)波動(dòng)范圍在[100, 150]之間,Y軸數(shù)據(jù)波動(dòng)在[110, 150]之間;而在非視距條件下,有融合算法的定位數(shù)據(jù)波動(dòng)趨勢(shì)和視距的波動(dòng)基本重合,X軸波動(dòng)范圍在[125, 135]之間,Y軸波動(dòng)在[125, 140]之間。
從上述實(shí)驗(yàn)結(jié)果可以得出結(jié)論,在傳感器靜止時(shí),非視距條件下使用超寬帶定位系統(tǒng)和慣性傳感器相融合的定位方法,比單獨(dú)使用超寬帶定位系統(tǒng),定位精度有了顯著的提高。
表1 X軸數(shù)據(jù)對(duì)比表(單位:cm)
表2 Y軸數(shù)據(jù)對(duì)比表(單位:cm)
為了清晰地展示運(yùn)動(dòng)軌跡,人體攜帶傳感器在2.4m×2.4m的正方形區(qū)域內(nèi)逆時(shí)針走動(dòng)1圈,運(yùn)動(dòng)軌跡如圖6所示。其中,圖6(a)是在單獨(dú)的超寬帶定位系統(tǒng)時(shí)得到的定位運(yùn)動(dòng)軌跡,從圖中可以看出在整個(gè)定位過程中,超寬帶定位存在許多偏離實(shí)際路線的值,定位誤差較大;圖6(b)是在使用超寬帶定位系統(tǒng)和慣性傳感器融合定位方法時(shí)得到的定位運(yùn)動(dòng)軌跡,從圖中可以看出,在整個(gè)定位過程中,運(yùn)動(dòng)軌跡非常接近正常的運(yùn)動(dòng)軌跡。因此,該實(shí)驗(yàn)結(jié)果說明傳感器在動(dòng)態(tài)條件下,使用超寬帶定位系統(tǒng)和慣性傳感器融合的定位方法,比單獨(dú)使用超寬帶定位系統(tǒng)有效地提高了定位的精度。
本文實(shí)現(xiàn)了一種基于超寬帶和慣性傳感器融合的人體動(dòng)作捕捉系統(tǒng),用于在動(dòng)作捕捉中測(cè)量人體的位移。該系統(tǒng)由慣性傳感器和超寬帶定位系統(tǒng)這兩部分組成。慣性傳感器能夠精確地測(cè)量人體肢體的動(dòng)作,然而只靠慣性傳感器不能測(cè)量全局的位置,因此,為了獲得精確的位置數(shù)據(jù),采用超寬帶定位系統(tǒng)。但是,只依靠超寬帶定位系統(tǒng)不能解決非視距情況,所以使用慣性傳感器中的加速度計(jì)輔助超寬帶定位系統(tǒng)定位。實(shí)驗(yàn)表明,采用超寬帶和慣性傳感器融合的方法可以有效地提高系統(tǒng)的定位精度,為動(dòng)作捕捉解決位移問題提供了參考。超寬帶和慣性傳感器融合的捕捉系統(tǒng)還有待于進(jìn)一步的研究,以實(shí)現(xiàn)更高精度的定位和動(dòng)作捕捉。