黃 晨 童維勤* 陳欣如 高明柯 鄒一波
1(上海大學(xué)計(jì)算機(jī)工程與科學(xué)學(xué)院 上海 200444) 2(國(guó)網(wǎng)上海市南供電公司 上海 201199) 3(中國(guó)電子科技集團(tuán)公司第三十二研究所 上海 201808) 4(上海海洋大學(xué)信息學(xué)院 上海 201306)
電磁跟蹤系統(tǒng)(Electromagnetic Tracking System,EMTS)能實(shí)時(shí)獲取6自由度的跟蹤信息。因其不受視線遮擋影響,十分適用于醫(yī)學(xué)領(lǐng)域[1],例如術(shù)中導(dǎo)航[2-3]和醫(yī)學(xué)圖像配準(zhǔn)[4-5]等應(yīng)用場(chǎng)景,也是在增強(qiáng)現(xiàn)實(shí)(Augmented Reality,AR)系統(tǒng)中實(shí)現(xiàn)跟蹤注冊(cè)的有效途徑[6-7]。但EMTS易受工作場(chǎng)景中的金屬物體干擾,且當(dāng)接收器與發(fā)射器之間距離增大時(shí),由于磁場(chǎng)衰減將導(dǎo)致精確性顯著降低。因此,必須使用相關(guān)校正算法對(duì)測(cè)量值進(jìn)行校正,避免誤差對(duì)系統(tǒng)造成干擾。
目前,針對(duì)如何提高EMTS精確性的研究工作主要分為兩類:第一類方法從EMTS工作原理出發(fā),對(duì)由金屬干擾造成的磁場(chǎng)畸變[8]和傳感器三軸非理想正交[9]等情況進(jìn)行校正。此類方法需要獲得設(shè)備工作時(shí)的底層參數(shù),不適用于的商業(yè)產(chǎn)品。第二類方法在應(yīng)用場(chǎng)景中進(jìn)行樣本采集,設(shè)計(jì)數(shù)學(xué)模型,使用各種擬合或插值算法進(jìn)行校正,例如空間網(wǎng)格插值[10-11]、線性回歸模型[12]、薄板樣條插值[13]、BP神經(jīng)網(wǎng)絡(luò)模型[14]等。但這些方法在傳感器與發(fā)射源之間距離較大時(shí)都產(chǎn)生了顯著的性能下降。
另一方面,已有研究工作都針對(duì)在單一工作場(chǎng)景中對(duì)EMTS進(jìn)行校正。當(dāng)系統(tǒng)部署到新的工作場(chǎng)景中,原校正算法是否還能有效工作,是否需要對(duì)系統(tǒng)進(jìn)行重新采樣,還缺乏有效的評(píng)估方法。
針對(duì)上述問(wèn)題,本文在設(shè)計(jì)實(shí)現(xiàn)面向醫(yī)療培訓(xùn)的AR系統(tǒng)過(guò)程中,在回顧總結(jié)現(xiàn)有EMTS校正方法的基礎(chǔ)上,首先提出一種適用于EMTS的快速采樣方法。然后根據(jù)測(cè)量誤差分布規(guī)律,提出一種BP神經(jīng)網(wǎng)絡(luò)集成學(xué)習(xí)模型,對(duì)三維空間坐標(biāo)進(jìn)行校正。最后提出一種在新場(chǎng)景中對(duì)坐標(biāo)校正效果進(jìn)行評(píng)估的解決方案。實(shí)驗(yàn)結(jié)果表明本文方法能實(shí)現(xiàn)高精度的坐標(biāo)校正,并能在一定程度上提高系統(tǒng)的抗干擾能力。
為建立數(shù)學(xué)模型對(duì)EMTS的空間坐標(biāo)值進(jìn)行校正,首先需要進(jìn)行坐標(biāo)值采樣。目前使用較多的采樣方法是在整個(gè)系統(tǒng)工作空間內(nèi)進(jìn)行均勻離散采樣[10-14],坐標(biāo)校正的方法可分為局部插值與全局?jǐn)M合兩大類。
為實(shí)現(xiàn)在系統(tǒng)工作空間內(nèi)進(jìn)行均勻離散采樣,定制了專用的可升降木架操作臺(tái)。借助該定制木架,將EMTS的接收器依次固定在工作空間內(nèi)均勻分布的待測(cè)點(diǎn)上,記錄下測(cè)量坐標(biāo)值與對(duì)應(yīng)的真實(shí)坐標(biāo)值。使用該采樣方法所采集樣本的可視化效果如圖1所示??梢?jiàn)伴隨接收傳感器與發(fā)射源之間距離的增大,測(cè)量值的讀數(shù)已發(fā)生明顯畸變,必須對(duì)其進(jìn)行校正。
圖1 測(cè)量值三維坐標(biāo)散點(diǎn)圖
均勻離散采樣方法的優(yōu)勢(shì)在于,所采集的數(shù)據(jù)樣本能較為全面地反映出EMTS在當(dāng)前工作空間內(nèi)測(cè)量值的分布情況。理想情況下,當(dāng)空間網(wǎng)格劃分越小,則采樣點(diǎn)數(shù)量越多,校正的精度也越高。但采樣點(diǎn)的數(shù)量越多,則工作量越大,可操作性越低。例如,本文AR系統(tǒng)為保證精度,需在X∈[-70,70],Y∈[5,60],Z∈[0,70]的空間范圍內(nèi),以5 cm為間隔進(jìn)行采樣,共計(jì)5 220個(gè)采樣點(diǎn),需2名操作人員,耗費(fèi)十多個(gè)小時(shí)才能完成采樣工作。
磁場(chǎng)強(qiáng)度隨著距離的增加以幾何級(jí)數(shù)衰減,當(dāng)電磁發(fā)射器和接收器之間的距離逐漸增大時(shí),測(cè)量坐標(biāo)與真實(shí)世界坐標(biāo)將存在明顯誤差。若將工作空間劃分為多個(gè)單元子空間,并認(rèn)為同一個(gè)單元子空間中的任意兩點(diǎn)處的磁場(chǎng)強(qiáng)度相等。則當(dāng)單元空間足夠小時(shí),誤差將趨于零。基于該思想的局部插值校正方法以空間網(wǎng)格插值法[10-11]為代表。但在實(shí)際操作過(guò)程中很難獲得足夠小的單元空間網(wǎng)格,并且伴隨單元空間網(wǎng)格數(shù)量的增加,用于定位被測(cè)點(diǎn)的搜索算法的穩(wěn)定性和準(zhǔn)確性將會(huì)下降。
文獻(xiàn)[12]建立了線性回歸模型對(duì)EMTS進(jìn)行校正,但當(dāng)傳感器與發(fā)射器距離較遠(yuǎn)時(shí),測(cè)量值畸變較大,已不適用線性回歸模型。文獻(xiàn)[13]提出一種基于薄板樣條函數(shù)的EMTS位姿校正方法,通過(guò)同時(shí)測(cè)量磁場(chǎng)空間16個(gè)待測(cè)點(diǎn)受干擾前后的位姿,對(duì)EMTS整個(gè)工作空間內(nèi)測(cè)量點(diǎn)的位姿誤差進(jìn)行校正。但該方法適用的工作空間較小,不適用于AR系統(tǒng)在較大范圍內(nèi)對(duì)頭部視點(diǎn)和手部運(yùn)動(dòng)的跟蹤。
近年來(lái)伴隨人工智能技術(shù)的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)算法得到了廣泛的應(yīng)用[15-16]。BP神經(jīng)網(wǎng)絡(luò)算法不僅在分類問(wèn)題領(lǐng)域中得到了發(fā)展,在數(shù)值分析與回歸預(yù)測(cè)問(wèn)題方面[17-18]也得到了成功應(yīng)用。文獻(xiàn)[14]首先采用K-means對(duì)空間數(shù)據(jù)進(jìn)行聚類,在局部采用T-S模糊系統(tǒng)進(jìn)行預(yù)處理,再?gòu)娜稚侠肂P神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最后采用最小二乘支持向量機(jī)進(jìn)行求解。但該方法對(duì)采樣數(shù)據(jù)之間的數(shù)值關(guān)系依賴性較強(qiáng),若系統(tǒng)的使用場(chǎng)景發(fā)生改變,則現(xiàn)有網(wǎng)絡(luò)模型無(wú)法直接使用,需要重新進(jìn)行采樣。
均勻離散采樣方法需要借助定制木架提供的外部幾何約束來(lái)建立待測(cè)點(diǎn)測(cè)量值與真實(shí)值之間的映射。但木架操作不便,采樣過(guò)程較為繁瑣。因此,本文提出一種基于簡(jiǎn)單外部約束的定長(zhǎng)連續(xù)采樣方法。該采樣方法使用一根無(wú)彈性塑料繩連接發(fā)射源與接收器,使得發(fā)射源與接收器之間的距離為固定長(zhǎng)度,如圖2所示。在采樣過(guò)程中,保持發(fā)射源與接收器之間的塑料繩為繃緊狀態(tài),將接收器在工作空間內(nèi)任意移動(dòng)。通過(guò)調(diào)節(jié)塑料繩的長(zhǎng)度,可以得到若干組數(shù)據(jù)樣本。
圖2 定長(zhǎng)采樣方法
當(dāng)長(zhǎng)度為60 cm時(shí),數(shù)據(jù)樣本分布的可視化效果如圖3所示,其物理意義為接收器在系統(tǒng)工作空間內(nèi)的運(yùn)動(dòng)軌跡。理想情況下,該運(yùn)動(dòng)軌跡應(yīng)位于以發(fā)射器為圓點(diǎn),以當(dāng)前距離為半徑的球面之上。
定長(zhǎng)連續(xù)采樣的優(yōu)勢(shì)主要有以下3個(gè)方面:
(1) 操作便捷。由于定長(zhǎng)連續(xù)采樣方法僅借助連接發(fā)射器與接收器的塑料繩所提供的距離作為外部約束條件,且調(diào)節(jié)距離十分方便,因此采樣過(guò)程較為便捷。以本文系統(tǒng)為例,對(duì)距離d∈[30,100],間隔為10 cm,每個(gè)距離下采集不低于2 000個(gè)樣本點(diǎn)。整個(gè)采樣過(guò)程,只需1名操作人員,僅耗費(fèi)數(shù)十分鐘。
(2) 樣本信息豐富。由于EMTS的工作頻率較高,1秒內(nèi)可采集超過(guò)100個(gè)樣本,因此定長(zhǎng)連續(xù)采樣方法在移動(dòng)傳感器的過(guò)程中可以很方便獲得較為豐富的數(shù)據(jù)樣本。同時(shí),可以將傳感器的運(yùn)動(dòng)軌跡集中于感興趣的重點(diǎn)區(qū)域以獲得足夠的數(shù)據(jù)分布信息,為后續(xù)的分析處理提供保障。
(3) 快速評(píng)估工作環(huán)境。定長(zhǎng)連續(xù)采樣方法可獲得待測(cè)點(diǎn)的校正坐標(biāo)值,通過(guò)計(jì)算校正距離與真實(shí)距離之間的誤差,能快速評(píng)估當(dāng)前校正方法的有效性。
本文使用均勻離散采樣與定長(zhǎng)連續(xù)采樣兩種采樣方法在系統(tǒng)工作區(qū)間內(nèi)進(jìn)行樣本采集,基本情況如表1所示。
表1 數(shù)據(jù)集與樣本分布
續(xù)表1
對(duì)使用均勻離散采樣得到的數(shù)據(jù)集A,點(diǎn)P在測(cè)量坐標(biāo)系Cm中取得的測(cè)量值為Pm(xm,ym,zm),在世界坐標(biāo)系Cw中對(duì)應(yīng)的真實(shí)值為Pw(xw,yw,zw),dw表示Pw到原點(diǎn)的距離,將Pm與Pw之間的距離定義為測(cè)量誤差de=|PmPw|。以dw作為橫坐標(biāo),de作為縱坐標(biāo),數(shù)據(jù)集A中樣本的測(cè)量誤差與距離之間的關(guān)系如圖4(a)所示。可見(jiàn)原始數(shù)據(jù)的測(cè)量誤差不僅與距離有關(guān),還存在較大的固有偏差。由于測(cè)量坐標(biāo)系Cm為EMTS的默認(rèn)坐標(biāo)系,與本項(xiàng)目系統(tǒng)中定義的世界坐標(biāo)系Cw之間存在偏移誤差Ce(xe,ye,ze),因此需要對(duì)所有測(cè)量坐標(biāo)值進(jìn)行偏移修正,即Pm=Pw-Ce。偏移誤差Ce可以通過(guò)人工測(cè)量獲得。經(jīng)過(guò)坐標(biāo)值偏移修正后,數(shù)據(jù)集A中樣本的測(cè)量誤差與距離之間的關(guān)系如圖4(b)所示。
(a) 原始分布
(b) 坐標(biāo)系偏移修正后圖4 數(shù)據(jù)集A測(cè)量值誤差與距離關(guān)系
同理,對(duì)使用定長(zhǎng)連續(xù)采樣得到的數(shù)據(jù)集B,dm表示Pm在測(cè)量坐標(biāo)系Cm中到原點(diǎn)的距離,由于每組樣本的dw已知,定義每組樣本的誤差de=dm-dw。以dw作為橫坐標(biāo),de作為縱坐標(biāo),數(shù)據(jù)集B中樣本的測(cè)量誤差與距離之間的關(guān)系如圖5(a)所示。對(duì)測(cè)量坐標(biāo)值進(jìn)行坐標(biāo)系偏移修正后的效果如圖5(b)所示。
(a) 原始分布
(b) 坐標(biāo)系偏移修正后圖5 數(shù)據(jù)集B測(cè)量值誤差與距離關(guān)系
可見(jiàn)在進(jìn)行坐標(biāo)系偏移修正后,一方面能有效降低固有測(cè)量誤差,另一方面誤差的分布規(guī)律也更為明顯。通過(guò)觀察測(cè)量誤差分布規(guī)律,有助于設(shè)計(jì)具有針對(duì)性的校正模型,從而提高校正精度。
通過(guò)觀察兩個(gè)數(shù)據(jù)集中測(cè)量值誤差的分布規(guī)律,可以發(fā)現(xiàn)EMTS的測(cè)量誤差與距離、測(cè)量點(diǎn)所處象限等因素有關(guān),其全局分布規(guī)律并不明顯,因此不宜采用基于單BP神經(jīng)網(wǎng)絡(luò)模型的全局?jǐn)M合方法[14]。本文對(duì)系統(tǒng)工作空間進(jìn)行劃分,針對(duì)局部空間使用單獨(dú)的BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行校正,通過(guò)設(shè)計(jì)集成學(xué)習(xí)模型來(lái)實(shí)現(xiàn)全局空間坐標(biāo)校正。主要算法流程如圖6所示。
圖6 空間坐標(biāo)校正算法流程
常見(jiàn)的集成學(xué)習(xí)模型有bagging、boosting、stacking等[19]。但本文同時(shí)使用兩種采樣方法,建立兩個(gè)不同數(shù)據(jù)集來(lái)分別預(yù)測(cè)坐標(biāo)值與距離值,因此本文采用類似雙流模型[20]的結(jié)構(gòu),通過(guò)對(duì)同一輸入對(duì)象提取不同類型的特征,再將基于不同特征得到的計(jì)算結(jié)果進(jìn)行融合,來(lái)提高空間坐標(biāo)的校正精度。
在使用BP神經(jīng)網(wǎng)絡(luò)對(duì)測(cè)量坐標(biāo)值進(jìn)行校正前,需要對(duì)輸入特征進(jìn)行歸一化操作,使得所有樣本的特征值都處于同一量綱下。EMTS的測(cè)量值包含X、Y、Z三個(gè)軸向的坐標(biāo)值,在步驟1中引入坐標(biāo)值的高次項(xiàng)xiyjzk,其中i,j,k=0,1,2,…,n,且i+j+k>1,從而豐富輸入數(shù)據(jù)的特征。有別于機(jī)器學(xué)習(xí)分類問(wèn)題中的規(guī)范化處理方法,本文根據(jù)空間坐標(biāo)取值范圍,采用小數(shù)定標(biāo)標(biāo)準(zhǔn)化方法。
通過(guò)觀察圖4、圖5可以發(fā)現(xiàn),數(shù)據(jù)集A與數(shù)據(jù)集B中的誤差分布呈現(xiàn)出顯著的局部差異特點(diǎn)。因此,本文針對(duì)局部數(shù)據(jù)構(gòu)建結(jié)構(gòu)簡(jiǎn)單的子網(wǎng)絡(luò)模型,在準(zhǔn)確提取局部數(shù)據(jù)分布規(guī)律的基礎(chǔ)上,通過(guò)構(gòu)建模型池來(lái)實(shí)現(xiàn)全局?jǐn)?shù)據(jù)的準(zhǔn)確校正。
在選擇BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)時(shí),在滿足空間坐標(biāo)校正精度的前提下,為保證系統(tǒng)的實(shí)時(shí)性,盡可能選擇結(jié)構(gòu)簡(jiǎn)單的子模型。數(shù)據(jù)集A中的BP神經(jīng)網(wǎng)絡(luò)子模型具有3個(gè)輸出單元,對(duì)應(yīng)校正后的3個(gè)坐標(biāo)值;數(shù)據(jù)集B中的子模型具有1個(gè)輸出單元,對(duì)應(yīng)預(yù)測(cè)的距離值。
(1)
(2)
由于EMTS易受工作環(huán)境影響,若采樣環(huán)境與實(shí)際工作環(huán)境不同,則有可能導(dǎo)致已采集的樣本無(wú)法反映實(shí)際測(cè)量值的分布情況。但若每次部署到新場(chǎng)景中都使用較為繁瑣的均勻離散采樣方法進(jìn)行重采樣,則會(huì)降低工作效率。因此,本文提出一種在新場(chǎng)景中的快速評(píng)估與校正的方法,主要流程如圖7所示。
圖7 新場(chǎng)景評(píng)估與校正策略
當(dāng)系統(tǒng)被部署到新場(chǎng)景中后,首先使用快捷的定長(zhǎng)連續(xù)采樣方法在系統(tǒng)工作空間內(nèi)進(jìn)行采樣。假設(shè)原三維空間坐標(biāo)校正模型為M,則校正后的三維坐標(biāo)值P′(x′,y′,z′)可表示為:
P′(x′,y′,z′)=M[P(x,y,z)]
(3)
可計(jì)算得到校正距離d′與已知真實(shí)距離d之間的誤差:
(4)
定義誤差系數(shù)為:
(5)
當(dāng)λ大于預(yù)設(shè)閾值T時(shí),表明當(dāng)前工作環(huán)境與均勻離散采樣環(huán)境存在顯著差異,需要重新進(jìn)行采樣操作。反之表明因工作場(chǎng)景改變帶來(lái)的誤差較小,通過(guò)更新數(shù)據(jù)集B,可在本文校正算法的融合過(guò)程中實(shí)現(xiàn)自適應(yīng)補(bǔ)償,提高系統(tǒng)的抗干擾性能。
本文使用以Tensorflow為后端的Keras框架進(jìn)行開發(fā),所有BP神經(jīng)網(wǎng)絡(luò)子模型都使用ReLU作為激活函數(shù);為避免模型過(guò)擬合,使用參數(shù)為0.001的L2正則化器;為加快訓(xùn)練速度,設(shè)置Batch size為64;使用Adam優(yōu)化器動(dòng)態(tài)調(diào)整參數(shù)學(xué)習(xí)率;使用均方誤差MSE作為損失函數(shù)進(jìn)行訓(xùn)練。
對(duì)于數(shù)據(jù)集A,根據(jù)坐標(biāo)值x所處象限與距離d的大小對(duì)樣本空間進(jìn)行劃分,分別訓(xùn)練子網(wǎng)絡(luò)。由于目前對(duì)BP神經(jīng)網(wǎng)絡(luò)隱藏層的層數(shù)L與每層包含神經(jīng)元的個(gè)數(shù)U如何設(shè)置還尚無(wú)定論,因此本文將特征縮放指數(shù)n=1,2,3,L=1,2,3,U=4,8,16,32,64,128進(jìn)行排列組合,分別訓(xùn)練子網(wǎng)絡(luò),并選取其中校正精度最高的子模型構(gòu)成模型池A,計(jì)算結(jié)果如表2所示。
表2 模型池A子模型信息
同理,對(duì)數(shù)據(jù)集B,對(duì)整個(gè)數(shù)據(jù)集與不同距離d下的子樣本集,在不同模型參數(shù)下進(jìn)行訓(xùn)練,選取其中性能最好的子模型構(gòu)成模型池B,計(jì)算結(jié)果如表3所示。
表3 模型池B子模型信息
與僅使用數(shù)據(jù)集A,采用n=2,L=3,U=128的單BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行全局訓(xùn)練校正相比,本文采用集成學(xué)習(xí)方法能取得更高的校正精度,計(jì)算結(jié)果如表4所示。
表4 本文算法空間坐標(biāo)校正結(jié)果
為驗(yàn)證本文評(píng)估方法的有效性,在系統(tǒng)工作空間測(cè)量點(diǎn)附近放置金屬干擾物,使得該測(cè)量點(diǎn)的測(cè)量值發(fā)生一定程度的偏移,然后再使用本文方法對(duì)其進(jìn)行校正,效果如表5所示??梢?jiàn)在系統(tǒng)工作環(huán)境中加入干擾后,本文算法依然能得到與原工作環(huán)境相接近的空間坐標(biāo)校正結(jié)果,表明本文方法具備一定的抗干擾能力。
表5 本文算法抗干擾能力實(shí)驗(yàn)結(jié)果
本文系統(tǒng)中,T=1%,即當(dāng)接收傳感器距離發(fā)射源1 m時(shí),其校正距離的誤差應(yīng)不大于1 cm。由于校正誤差與距離呈正相關(guān),而用于跟蹤用戶手部動(dòng)作的傳感器與發(fā)射源距離較近,其校正誤差為毫米級(jí),能滿足AR系統(tǒng)中人機(jī)交互的精度需求。
為驗(yàn)證本文算法對(duì)EMTS三維坐標(biāo)的校正效果,搭建了一套AR交互系統(tǒng),系統(tǒng)結(jié)構(gòu)與設(shè)備連接如圖8所示。該系統(tǒng)使用Ascension公司的Flock of Birds電磁跟蹤系統(tǒng),采用單發(fā)射源與3層級(jí)聯(lián)控制器的工作模式。其中,安裝于頭部的接收器用于跟蹤用戶頭部姿態(tài),配合光學(xué)透視顯示器實(shí)現(xiàn)虛實(shí)融合效果;安裝于數(shù)據(jù)手套上的接收器用于跟蹤手勢(shì)軌跡,配合數(shù)據(jù)手套用于識(shí)別用戶的交互手勢(shì)。
圖8 增強(qiáng)現(xiàn)實(shí)系統(tǒng)結(jié)構(gòu)與設(shè)備連接
系統(tǒng)運(yùn)行效果如圖9所示。其中:圖9(a)為系統(tǒng)初始狀態(tài),可以看到虛擬坐標(biāo)系的原點(diǎn)與世界坐標(biāo)系的原點(diǎn)能完全重合;圖9(b)表明在視角改變的情況下系統(tǒng)能實(shí)現(xiàn)準(zhǔn)確的虛實(shí)融合效果;圖9(c)為第三視角下用戶的交互過(guò)程,系統(tǒng)能正確識(shí)別用戶手勢(shì)操作與虛擬物體實(shí)時(shí)交互。
(a) 系統(tǒng)初始狀態(tài) (b) 第一視角 注冊(cè)效果 (c) 第三視角 交互過(guò)程圖9 系統(tǒng)運(yùn)行效果
本文針對(duì)EMTS空間坐標(biāo)校正問(wèn)題,提出了一種定長(zhǎng)連續(xù)采樣方法,設(shè)計(jì)了基于BP神經(jīng)網(wǎng)絡(luò)集成學(xué)習(xí)模型的空間坐標(biāo)校正方法,并提出一種EMTS在新場(chǎng)景部署過(guò)程中的快速評(píng)估方法。實(shí)驗(yàn)結(jié)果表明,本文方法能有效提高空間坐標(biāo)的校正精度,能滿足AR系統(tǒng)的跟蹤注冊(cè)要求,并能在一定程度上克服場(chǎng)景差異帶來(lái)的誤差,提高了系統(tǒng)的抗干擾能力。