劉 佳 錢昌宇 謝余磊 陳大鵬 郭 斌
(南京信息工程大學(xué)自動化學(xué)院 南京210044)
增強(qiáng)現(xiàn)實(augmented reality,AR)是由虛擬現(xiàn)實(virtual reality,VR)技術(shù)發(fā)展延伸出來的技術(shù)領(lǐng)域,它突破了虛擬現(xiàn)實只能構(gòu)建虛擬場景的局限,借助視覺技術(shù)、計算機(jī)圖形學(xué)和人體交互等技術(shù)將計算機(jī)生成的虛擬信息無縫地注冊到真實環(huán)境。在增強(qiáng)現(xiàn)實實現(xiàn)的過程中,虛擬元素必須完美地注冊到目標(biāo)對象上,這個過程中的任何錯誤都會極大地降低系統(tǒng)的可用性,并影響用戶交互的真實感[1]。因此,與VR 相比,AR 系統(tǒng)具有更高的復(fù)雜性。
目前純視覺的技術(shù)并不能很好地滿足用戶的交互感和沉浸感,為了實現(xiàn)多通道的感知交互,研究人員提出了視觸覺增強(qiáng)現(xiàn)實(visuo-haptic augmented reality,VHAR)的概念[2-4]。VHAR 以增強(qiáng)現(xiàn)實系統(tǒng)為框架并添加觸覺反饋接口,使用戶能夠看到并觸摸到注冊到真實環(huán)境中的虛擬物體。所以精確地校準(zhǔn)VHAR 系統(tǒng)的組件(如外部跟蹤器、攝像頭、觸覺設(shè)備)以及它們之間的空間關(guān)系顯得至關(guān)重要,尤其在觸覺設(shè)備的集成上,其核心挑戰(zhàn)是精確確定觸覺設(shè)備上觸控筆的位置和方向,這是精確定位視覺增強(qiáng)和觸覺反饋所必需的。在傳統(tǒng)的視觸覺增強(qiáng)現(xiàn)實的案例中,用戶看著屏幕,觸覺刺激和視覺刺激以一種分開的方式呈現(xiàn),這導(dǎo)致了環(huán)境的割裂感。因此,本文提出一種協(xié)同共址定位的方法,即將觸覺設(shè)備集成到增強(qiáng)現(xiàn)實環(huán)境中,觸覺交互點與三維場景中的接觸點在視覺上重合,構(gòu)成了一種以同步的方法感知視覺和動態(tài)觸覺刺激的視觸覺增強(qiáng)現(xiàn)實體系,用戶可以在相同的空間位置看到和觸摸虛擬物體,增加了交互的真實感。
為了提供真實的用戶體驗,本文觸覺設(shè)備采用Geomagic Touch 來提供力反饋和本體運動的感覺元素,主要關(guān)鍵技術(shù)采用計算機(jī)圖形和觸控筆的精確協(xié)同共址定位。觸覺設(shè)備由觸控筆、手柄設(shè)備和兩個相互連接的關(guān)節(jié)組成,這些關(guān)節(jié)的角度定義了萬向節(jié)的位置,通常稱為觸覺接口點(haptic interface point,HIP)。觸控筆可以繞著底座旋轉(zhuǎn),并利用3個關(guān)節(jié)上的編碼器來計算其位置。以往的研究主要集中在協(xié)調(diào)系統(tǒng)內(nèi)的觸覺工作空間的校準(zhǔn)和補(bǔ)償,該系統(tǒng)用來減小關(guān)節(jié)角度傳感器誤差引起的非線性位置誤差。在觸覺設(shè)備集成到增強(qiáng)現(xiàn)實系統(tǒng)中時,往往會導(dǎo)致校準(zhǔn)誤差。如果虛擬工具錯誤地放大到觸控筆手柄上,真實和虛擬物體不自然地在觸覺手柄上相交,用戶可以明顯看到校準(zhǔn)錯誤。以往交互主要集中在用戶通過裝置實現(xiàn)3-DOF(degree of freedom)的平移運動,但是隨著交互技術(shù)的提高,3-DOF 的交互在旋轉(zhuǎn)、執(zhí)行抓握等多自由度操作過程中無法實現(xiàn),顯著影響了交互的沉浸感。而6-DOF不僅具備在X、Y、Z三軸上平移的能力,而且具備在X、Y、Z三軸上旋轉(zhuǎn)的能力。本文的主要工作是準(zhǔn)確地實現(xiàn)虛擬觸控筆與真實觸控筆的融合,使得觸覺設(shè)備上的交互點與3D 場景中的接觸點在視覺上重合,并提出了適用于6-DOF 應(yīng)用場景的視觸覺交互算法,即將場景中觸覺設(shè)備的運動狀態(tài)作為直接的交互方式融入到增強(qiáng)現(xiàn)實框架中,實驗人員通過手握觸控筆移動虛擬物體,可以明顯感受到來自虛擬物體的反作用力,目的是提高用戶交互體驗的自然性和真實性。實驗結(jié)果表明,具有協(xié)同共址定位的視覺-觸覺增強(qiáng)現(xiàn)實用戶界面能使用戶更精確自由地進(jìn)行交互[5]。
前期視觸覺增強(qiáng)現(xiàn)實體系的研究主要基于傳感器和視覺方法的實現(xiàn)。以往的研究主要是探討觸覺設(shè)備在AR 系統(tǒng)中的集成,一個關(guān)鍵要求是觸控筆與視覺增強(qiáng)的精確協(xié)同定位,來提供真實的力反饋并實現(xiàn)精確的視覺疊加[6-8]。
在現(xiàn)實生活中看到和觸摸虛擬物體的想法是由Yokokohji 等人[9]提出的。他們強(qiáng)調(diào)了觸覺和視覺反饋的重要性,并將這個概念稱為所見即所得(what you see is what you get,WYSIWYG)。為了實現(xiàn)視觸覺協(xié)同反饋,需要精確地計算觸控筆在觸覺空間的位置,以降低視觸覺空間轉(zhuǎn)換的共址誤差。精確定位觸筆位置不僅保證了視觸覺空間轉(zhuǎn)換的精度,也是實現(xiàn)視觸覺協(xié)同反饋的前提。
早期的工作是由Vallino 等人[3]通過仿射變換完成觸覺空間與標(biāo)識空間之間的映射關(guān)系,從而將觸覺空間融入到增強(qiáng)現(xiàn)實環(huán)境中,然而仿射表示法不提供任何度量信息,這阻礙了對其校準(zhǔn)過程準(zhǔn)確性的分析。Eck 等人[10]和Reinig 等人[11]在觸覺工作區(qū)放置平面校準(zhǔn)網(wǎng)格用于定位觸控筆的位置,該方法極大地提高了觸覺筆在網(wǎng)格區(qū)域中的位置精度,但是拓展到整個工作區(qū)時,因觸控筆遠(yuǎn)離網(wǎng)格,誤差不斷累積。后來Eck 等人[12]通過在觸覺空間中放置2 個垂直的平面校準(zhǔn)網(wǎng)格,以改進(jìn)平面網(wǎng)格校準(zhǔn)方法。該方法在一定程度上降低了隨著觸控筆遠(yuǎn)離網(wǎng)格而造成的誤差積累問題。Lok 等人[13]基于觸覺設(shè)備本身的機(jī)械結(jié)構(gòu)對觸控筆的實時定位,通過觸覺設(shè)備關(guān)節(jié)傳感器構(gòu)建觸控筆的實時運動模型,此運動模型中包含觸控筆的位置和旋轉(zhuǎn)信息,基于關(guān)節(jié)傳感器的觸控筆定位方法不僅確立了觸覺空間的運動范圍,而且提高了定位精度。Adcock 等人[14]基于ARToolkit 和Geomagic Touch 觸覺設(shè)備開發(fā)了視觸覺融合的增強(qiáng)現(xiàn)實交互環(huán)境,通過投影變換將觸覺工作空間映射到屏幕空間上。Ikits 等人[15]提出了一種使用平面柵格校正觸覺觸針位置的觸覺設(shè)備標(biāo)定方法,這種方法顯著提高了定標(biāo)網(wǎng)格所在區(qū)域的位置精度。
另一種計算觸覺世界轉(zhuǎn)變的方法是測量外部系統(tǒng)測量點。Grant 等人[16]在觸覺工作區(qū)放置用于注冊的標(biāo)識,并使用高精度經(jīng)緯儀獲取標(biāo)識在觸覺空間中的位置,該方法成功計算出視觸覺空間的相對位置關(guān)系。Harders 等人[17]和Bianchi 等人[18]基于紅外跟蹤器搭建了視觸覺增強(qiáng)現(xiàn)實系統(tǒng),該系統(tǒng)通過紅外跟蹤器獲取觸控筆位置在世界坐標(biāo)系中的位置,實現(xiàn)對觸控筆的虛擬注冊,并基于觸覺設(shè)備的運動模型實現(xiàn)虛擬觸控筆和真實觸控筆的協(xié)同運動,但是在該系統(tǒng)中并未融入觸控筆的旋轉(zhuǎn)角,降低了交互的真實性。Aleotti 等人[19]借助激光掃描器建立了一個全局世界坐標(biāo)系,以此計算觸覺空間和相機(jī)空間之間的轉(zhuǎn)換關(guān)系,成功地對全局空間中的觸覺設(shè)備進(jìn)行虛擬注冊,渲染出程度更高的虛實融合場景,提升了交互真實性。Wang 等人[20]推導(dǎo)了具有半鏡顯示和定義誤差度量的VHAR 系統(tǒng)的共址誤差的數(shù)學(xué)模型,提出了一種新的模型校準(zhǔn)方法,并使用精確的機(jī)械跟蹤器對其進(jìn)行評估?;谠摴仓氛`差模型對其視觸覺增強(qiáng)現(xiàn)實系統(tǒng)進(jìn)行校準(zhǔn)后,雖然改善了對半反射鏡顯示器中視觸控空間中觸控筆的共址誤差,但忽略了觸覺設(shè)備中傳感器引起的協(xié)同定位誤差。Harders 等人[21]提出了VHAR 的共址定位方法,提出了一種補(bǔ)償完整工作空間內(nèi)觸覺設(shè)備位置測量的非線性失真的算法,他們使用一個外部跟蹤器,并將一個跟蹤目標(biāo)固定在觸覺觸控筆上,以執(zhí)行開環(huán)校準(zhǔn)。
本文采用了VHAR 的共址定位方法,引入一種基于6-DOF 觸覺設(shè)備運動模型而搭建的視觸覺增強(qiáng)現(xiàn)實交互環(huán)境[22]。本文的工作將文獻(xiàn)[21]的方法擴(kuò)展到設(shè)備上的傳感器,從而實現(xiàn)了觸控筆和視覺覆蓋的精確6-DOF 對準(zhǔn),該程序會校準(zhǔn)位置和方向,可以精確定位觸控筆的位置。該系統(tǒng)設(shè)計消除了對硬件同步的要求,最大限度地減少了校準(zhǔn)所需的時間和用戶輸入量。它不僅可以對觸覺設(shè)備進(jìn)行實時虛擬注冊,而且融入了觸覺設(shè)備的實時運動姿態(tài),實現(xiàn)了更加真實的6-DOF 人機(jī)交互場景。
本文的目標(biāo)是設(shè)計一個視觸覺協(xié)同反饋的顯示界面。允許用戶操縱虛擬工具與增強(qiáng)現(xiàn)實環(huán)境中的虛擬對象進(jìn)行交互,給用戶一種自然真實的交互體驗。在本文的工作中,所搭建的基于自然特征的增強(qiáng)現(xiàn)實系統(tǒng)以快速特征點提取和描述算法(oriented fast and rotated brief,ORB)和角點光流跟蹤算法(Kanada Lucas Tomasi,KLT)相結(jié)合實現(xiàn),并以此為框架融入觸覺反饋接口,從而搭建一種視觸覺協(xié)同反饋的交互環(huán)境。為了提升交互場景的虛實融合度,本文運用視觸覺空間轉(zhuǎn)換矩陣對場景中的真實觸控筆進(jìn)行虛擬注冊;為了進(jìn)一步提升用戶對視觸覺交互操作的真實感,本文提出了一種具有6-DOF的視觸覺交互算法,即將場景中觸覺設(shè)備的運動狀態(tài)作為直接的交互方式融入到增強(qiáng)現(xiàn)實框架中,并通過實驗證明了此方法的可行性和穩(wěn)定性。
目前,視觸覺增強(qiáng)現(xiàn)實主要有兩種實現(xiàn)模型:一種是將觸覺空間映射到屏幕坐標(biāo)系中,此方式采用的是視觸覺融合的非共址定位方法[23]。非共址定位是指用一個觸覺代理表示觸覺接觸點,用戶通過操控觸覺設(shè)備的虛擬探針實現(xiàn)觸覺代理移動虛擬對象,如圖1 所示,將虛擬對象與觸覺代理一并注冊在真實場景中,實現(xiàn)標(biāo)識、相機(jī)、屏幕以及虛擬設(shè)備坐標(biāo)系之間的融合。另外一種是將觸覺空間轉(zhuǎn)換到真實的世界坐標(biāo)系中,此方式采用的是視觸覺融合的協(xié)同共址定位方法,即將觸覺設(shè)備集成到增強(qiáng)現(xiàn)實環(huán)境中,使觸覺交互點與三維場景中的接觸點在視覺上重合。如圖2 所示,其將真實觸控筆通過空間轉(zhuǎn)換矩陣和模型視圖矩陣進(jìn)行虛擬注冊到真實場景中,實現(xiàn)世界坐標(biāo)系、相機(jī)、屏幕以及虛擬設(shè)備坐標(biāo)系之間的融合,最后將虛實結(jié)合的場景投影到顯示器上。本文采取第二種模型,并在此基礎(chǔ)上用自然特征模板替換標(biāo)識,構(gòu)建一種基于自然特征的視觸覺增強(qiáng)現(xiàn)實體系,以O(shè)RB 與KLT 算法搭建基于自然特征的增強(qiáng)現(xiàn)實系統(tǒng),并以此為框架融入觸覺反饋接口,實現(xiàn)視觸覺協(xié)同反饋的交互環(huán)境。此外通過視觸覺空間轉(zhuǎn)換矩陣對場景中的真實觸筆進(jìn)行虛擬注冊,提升交互場景的虛實融合度。為了進(jìn)一步提升用戶通過觸覺設(shè)備交互操作的真實感,提出了具有6-DOF 的視觸覺交互算法,成功地將觸覺設(shè)備的運動姿態(tài)映射到視覺空間中。本文還將兩種模型進(jìn)行對比,分析兩種模型的優(yōu)缺點,結(jié)果如表1 所示。
圖1 基于觸覺代理的視觸覺增強(qiáng)現(xiàn)實
圖2 基于觸控筆的視觸覺增強(qiáng)現(xiàn)實
表1 兩種模型的對比表
目前,視觸覺增強(qiáng)現(xiàn)實系統(tǒng)主要使用ARToolkit構(gòu)建增強(qiáng)現(xiàn)實環(huán)境。在基于ARToolkit 的增強(qiáng)現(xiàn)實系統(tǒng)中,標(biāo)識存在遮擋性差且需要在場景中放置多個人工標(biāo)識,從而導(dǎo)致在交互過程中用戶無法直接、真實地與虛擬對象進(jìn)行交互,造成交互不真實感。基于上述分析,本文提出了一種基于自然特征的增強(qiáng)現(xiàn)實系統(tǒng)框架,選取現(xiàn)實中常見的自然特征物體作為模板,如選取一本書作為自然特征模板,通過ORB 和KLT 算法對場景進(jìn)行特征點檢測、匹配與跟蹤,實現(xiàn)對虛擬物體的注冊,有效地克服基于標(biāo)識的增強(qiáng)現(xiàn)實的弊端?;谧匀惶卣鞯脑鰪?qiáng)現(xiàn)實系統(tǒng)實現(xiàn)流程圖如圖3 所示。
圖3 基于自然特征的增強(qiáng)現(xiàn)實算法實現(xiàn)流程圖
本文增強(qiáng)現(xiàn)實系統(tǒng)基于Windows 10 系統(tǒng)下運行,其CPU 主頻為3.4 GHz,內(nèi)存為8 GB,開發(fā)環(huán)境是vs2013,使用雙飛燕1080pUSB 攝像頭實時采集場景圖片,視頻分辨率為640 ×480 像素,其中預(yù)設(shè)的自然特征模板是一本書的封面,如圖4(a)所示。利用張氏棋盤法進(jìn)行標(biāo)定獲得相機(jī)的內(nèi)參,利用ORB 和KLT 算法對實時幀進(jìn)行檢測、匹配與跟蹤獲得相機(jī)的外參,最后將虛擬對象注冊到模板圖像上,實現(xiàn)虛實融合的效果。如圖所示為基于雜志的實際注冊效果,圖4(b)、(c)和(d)分別展示了算法在初始狀態(tài)、旋轉(zhuǎn)注冊和遮擋情況下的注冊結(jié)果。
圖4 基于ORB 與KLT 的增強(qiáng)現(xiàn)實注冊結(jié)果
本文主要是基于圖2 空間轉(zhuǎn)換圖搭建視觸覺增強(qiáng)現(xiàn)實框架,將觸覺反饋接口加入到自然特征的增強(qiáng)現(xiàn)實系統(tǒng)中。其主要過程為:(1)使用ORB 和KLT 算法搭建增強(qiáng)現(xiàn)實環(huán)境;(2)在觸覺設(shè)備工作區(qū)的正前方放置自然特征模板a,通過剛性轉(zhuǎn)換實現(xiàn)觸覺空間轉(zhuǎn)換到基于自然特征模板a 構(gòu)建的真實世界空間,其中剛性轉(zhuǎn)換矩陣為T1;(3)基于跟蹤注冊算法實時計算相機(jī)相對于自然特征模板a 的相對位置,獲得模型視圖轉(zhuǎn)換矩陣T2;(4)在場景放置另一個自然特征模板b,該模板用于注冊交互的虛擬對象,其中注冊矩陣為T3;(5)通過求解用于視觸覺交互的轉(zhuǎn)換矩陣。其中通過完成對觸覺設(shè)備進(jìn)行視覺增強(qiáng)。在整個交互場景中,相機(jī)、模板a 和觸覺設(shè)備位置是實時固定的?;谧匀惶卣鞯囊曈|覺增強(qiáng)現(xiàn)實模型視圖如圖5 所示。
圖5 基于自然特征的視觸覺增強(qiáng)現(xiàn)實模型圖
根據(jù)圖2 的轉(zhuǎn)換關(guān)系與圖3 的增強(qiáng)現(xiàn)實注冊流程可得:
其中,(u,v)是成像點在像素坐標(biāo)系下點,(Xh,Yh,Zh,1) 是觸覺空間坐標(biāo)系一點,R是一個3 ×3 的旋轉(zhuǎn)矩陣,T是一個3 ×1 的平移矩陣,(dx,dy) 為每個像素點在x軸、y軸方向上對應(yīng)的實際長度,(u0,v0) 為圖像中心點的像素坐標(biāo),f為成像平面到攝像機(jī)焦平面的距離,C4×4的矩陣代表觸覺空間轉(zhuǎn)換到模板a 中的剛性轉(zhuǎn)換矩陣,即T1[R T];實時跟蹤注冊的模型視圖轉(zhuǎn)換矩陣,即T3;基于[R T]C4×4完成視觸覺空間的實時轉(zhuǎn)換。
為了完成觸覺坐標(biāo)和標(biāo)識世界坐標(biāo)之間的轉(zhuǎn)換,首先采集觸覺探針在世界模板圖像上的4 個角點位置,并分別記錄觸覺探針在觸覺空間和世界坐標(biāo)中的位置,然后通過剛性轉(zhuǎn)換的方式獲得視觸覺空間位置之間的絕對轉(zhuǎn)換關(guān)系,經(jīng)過剛性轉(zhuǎn)換后,基于模板可以求解出觸控筆在世界模板圖像中的位置。為了補(bǔ)充觸筆的實時姿態(tài)信息,需要實時計算觸控筆繞各個軸的旋轉(zhuǎn)量以用于初始化虛擬觸控筆的方向角,結(jié)合剛度轉(zhuǎn)換和方向角設(shè)置虛擬觸筆的模型視圖矩陣,最終實現(xiàn)對觸控筆的虛擬注冊。
根據(jù)上述轉(zhuǎn)換過程,構(gòu)建數(shù)學(xué)轉(zhuǎn)換過程如式(2)所示:
其中代表觸控筆在真實世界中的三維坐標(biāo),表示觸控筆在觸覺活動空間的三維坐標(biāo)。R3×3和t3×1分別表示旋轉(zhuǎn)矩陣和平移向量。
其中,N(1 ≤N≤4) 表示分別采集真實世界坐標(biāo)系中的點數(shù)量。為了獲得最優(yōu)的R3×3和t3×1的值,使用Levenberg-Marquardt 算法對式(3)求解,以完成視觸覺空間之間的轉(zhuǎn)換。
2.4.1 觸覺設(shè)備的運動模型
為了通過觸覺設(shè)備更真實地與虛擬對象交互,本文將觸覺設(shè)備的前向運動模型映射到視覺空間中,以創(chuàng)建更直觀自然的交互場景。根據(jù)Geomagic Touch 的運動模型對觸控筆的姿勢進(jìn)行建模,結(jié)果顯示在圖6 中,其中觸覺設(shè)備的2 個關(guān)節(jié)角度用于求解觸控筆的位置,如圖6(a)所示;另外,通過觸覺設(shè)備,傳感器上的3 個萬向節(jié)傳感器實時感知觸控筆在每個坐標(biāo)軸上的旋轉(zhuǎn),如圖6(b)所示。
圖6 觸覺設(shè)備的位姿定位
基于觸覺設(shè)備的運動學(xué)模型推導(dǎo)出觸覺筆實時
根據(jù)右手坐標(biāo)系,對觸覺設(shè)備定性建模分析,運動模型如圖7 所示。的運動狀態(tài)。設(shè)l=(l1,l2) 代表觸覺設(shè)備的臂長,θja(θ1,θ2,θ3) 代表裝置關(guān)節(jié)角度,其中(l,θja) 用于計算觸控筆在觸覺空間中的位置變化,從觸覺工作空間原點到HIP位置THIP的平移由式(4)給出。
圖7 觸覺設(shè)備模型
通過以下方式確定第2 只手臂的方向:
為了獲得繞軸的角度旋轉(zhuǎn)量,可以通過觸覺設(shè)備上的萬向節(jié)傳感器獲得實時旋轉(zhuǎn)角度,θga(θ4,θ5,θ6) 代表觸控筆的繞軸方向角,即觸控筆在坐標(biāo)軸上的實時旋轉(zhuǎn)角。根據(jù)萬向節(jié)傳感器可得式(6)。
其中R4、R5和R6分別表示繞Y、X和Z軸的實時旋轉(zhuǎn)角。最后可以獲得觸控筆在位置和方向上的實時旋轉(zhuǎn)角度:
結(jié)合式(6)和式(7),可得:
根據(jù)式(1)將觸覺設(shè)備的前向運動模型映射到增強(qiáng)現(xiàn)實空間中以用于視觸覺實時交互,6-DOF 的視觸覺交互如式(9)所示。
其中,D4×4矩陣用于完成視觸覺空間坐標(biāo)軸的匹配,(xh,yh,zh)T是觸覺空間對應(yīng)的觸覺坐標(biāo)系一點,從而實現(xiàn)6-DOF 視觸覺融合的增強(qiáng)現(xiàn)實環(huán)境。
2.4.2 實時交互的坐標(biāo)轉(zhuǎn)換
當(dāng)通過虛擬觸控筆與對象進(jìn)行實時交互時,需要將虛擬觸控筆的實時狀態(tài)傳遞交互的對象,并通過模型視圖矩陣和投影矩陣將觸控筆姿態(tài)的實時變化量傳遞給交互對象。通過設(shè)備按鈕獲取:初始位置T0(px0,py0,pz0),初始旋轉(zhuǎn)值R3×1(Rx0,Ry0,Rz0);觸筆的實時位置T1(px1,py1,pz1) 和旋轉(zhuǎn)值r3×1(rx1,ry1,rz1)?;谟|筆的實時移動構(gòu)建交互對象的移動和旋轉(zhuǎn)的模型視圖矩陣,實時的旋轉(zhuǎn)量A3×1為
然后對其進(jìn)行羅德尼格斯方法構(gòu)建旋轉(zhuǎn)矩陣,并對其進(jìn)行齊次變換,獲得A4×4,基于按下按鈕時的旋轉(zhuǎn)矩陣,確定虛擬觸筆相對于初始的旋轉(zhuǎn)變換量,如式(11)所示。
其中Rot4×4=為當(dāng)前交互對象的旋轉(zhuǎn)矩陣,基于式(11)可以獲得交互對象實時旋轉(zhuǎn)變換量。為了控制交互對象的平移變換,接著將其坐標(biāo)軸原點移動至交互點并以交互構(gòu)建坐標(biāo)軸,將交互點作為旋轉(zhuǎn)和平移的中心點,其變換公式為
根據(jù)初始位置和實時位置計算實時位移量T,如式(13)所示。
繼而根據(jù)位移量構(gòu)建實時的位移轉(zhuǎn)換矩陣M4×4:
最后,將當(dāng)前模型視圖變換矩陣和實時變換后的模型視圖矩陣相乘,以獲得包括旋轉(zhuǎn)和平移的模型視圖矩陣,并將觸覺設(shè)備的運動姿勢傳遞到交互對象,如式(14)所示。
本文使用Geomagic Touch 觸覺設(shè)備,個人電腦(Intel(R) Core(TM) i7-2600 CPU A 3.40 GHz)和USB 攝像頭來構(gòu)建具有視觸覺的增強(qiáng)現(xiàn)實環(huán)境,軟件開發(fā)平臺為Visual studio。使用USB 相機(jī)和基于ORB-KLT 算法構(gòu)建增強(qiáng)現(xiàn)實環(huán)境,主要用于實時采集和檢測場景中設(shè)置的自然特征;當(dāng)識別出場景中的自然標(biāo)識時,使用單應(yīng)性變換矩陣和剛性變換矩陣對場景中虛擬觸控筆進(jìn)行增強(qiáng)。此時用戶移動觸覺設(shè)備,虛擬觸覺也將相應(yīng)地移動,與此同時用戶按下觸控筆上的按鈕,便可啟用反饋力,實現(xiàn)對虛擬物體的實時交互操作。
視觸覺交互算法對比如表2 所示。本文算法采用的是共定位的視觸覺融合方法,文獻(xiàn)[24]采用基于ARToolkit 的非共址視觸覺增強(qiáng)現(xiàn)實,如圖8 所示。由于標(biāo)識遮擋性差且需要在場景中放置多個人工標(biāo)識,只能通過觸覺代理點(圖中圓形錐點)實現(xiàn)對虛擬物體的交互,導(dǎo)致了在交互過程用戶無法直接、真實地與虛擬對象進(jìn)行交互,造成交互的不真實感。文獻(xiàn)[17]采用標(biāo)記的方法對真實觸控筆進(jìn)行跟蹤注冊,但需要對真實觸控筆貼上標(biāo)記,且觸控筆無法進(jìn)行旋轉(zhuǎn),否則將出現(xiàn)肉眼可見的注冊偏差,本次對比實驗給觸控筆筆端和筆尾貼上紅色標(biāo)記,如圖9 所示。而Ulrich 的方法中一些硬件條件無法在本實驗室實現(xiàn),雖然此方法可以有效提高視觸覺定向精度,但因機(jī)械轉(zhuǎn)置局限只能在特定實驗室中實現(xiàn),無法在多場景中實現(xiàn)。而本文算法基于自然特征增強(qiáng)現(xiàn)實,將觸覺設(shè)備引入交互場景并且引入6-DOF 交互算法,不僅操作簡單,不需要高精度復(fù)雜的光學(xué)傳感器并不受實驗場景和標(biāo)識限制,而且增強(qiáng)了視觸覺人機(jī)交互的真實感和趣味性。
圖8 基于虛擬代理的注冊效果圖
圖9 基于對觸控筆標(biāo)記的注冊效果圖
表2 視觸覺交互算法對比
為了完成視觸覺空間轉(zhuǎn)換和對觸控筆的虛擬注冊,本文使用基于自然特征的增強(qiáng)現(xiàn)實技術(shù)完成視觸覺空間之間的剛性轉(zhuǎn)換和單應(yīng)性變換。為了驗證算法注冊的可行性,分別在簡單的場景和復(fù)雜的場景下進(jìn)行虛擬注冊,結(jié)果如圖10 和圖11 所示。
圖10(a)、10(b)、11(a)和圖11(b)的實驗結(jié)果表明,當(dāng)在場景中檢測到目標(biāo)對象時,計算機(jī)計算模型視圖矩陣和視觸覺空間之間的剛性轉(zhuǎn)換矩陣,使用2 個轉(zhuǎn)換矩陣對相機(jī)空間中觸控筆進(jìn)行虛擬注冊。在初始狀態(tài)時,將虛擬觸控筆注冊到真實觸控筆,圖10(a)和11(a)分別表示虛擬觸控筆在簡單和復(fù)雜的場景中注冊的結(jié)果;圖10(b)和11(b)表示用戶手持虛擬觸控筆在2 種場景中移動的姿態(tài)。當(dāng)觸控筆從墨水池中取出,觸控筆由綠色變?yōu)榈{(lán)色,用戶以任意方向(6-DOF)移動觸覺設(shè)備時,虛擬觸控筆跟隨真實觸控筆進(jìn)行協(xié)同運動,渲染了真實的操作場景,使交互場景更加具有真實感。實驗結(jié)果表明,基于自然特征的視觸覺增強(qiáng)現(xiàn)實注冊環(huán)境不受場景復(fù)雜性等因素影響,這是相比于基于標(biāo)識增強(qiáng)現(xiàn)實體系注冊的一大優(yōu)點。不過在此虛實融合的場景中由于缺少深度信息,未能處理真實對象和虛擬對象之間的遮擋關(guān)系。
圖10 視觸覺空間轉(zhuǎn)換簡單場景注冊效果
圖11 視觸覺空間轉(zhuǎn)換復(fù)雜場景注冊效果
在圖10 實驗基礎(chǔ)上,注冊一個虛擬方塊并給虛擬方塊引入物理引擎-重力元素。圖12 展示了真實觸控筆與虛擬觸控筆協(xié)同運動與場景中的虛擬方塊進(jìn)行交互的過程,通過真實觸控筆與虛擬觸控筆協(xié)同運動實現(xiàn)了6-DOF 的視觸覺協(xié)同交互。圖12(a)展示了視觸覺初始場景,以虛擬方塊的中心繪制三維坐標(biāo)軸;圖12(b)展示了用戶通過虛擬觸控筆與虛擬方塊進(jìn)行交互操作,當(dāng)觸控筆離開墨水池時虛擬觸控筆由綠色變?yōu)榈{(lán)色,按下觸控筆上按鈕便可牽引虛擬物體并且可以明顯感受到虛擬方塊反饋的重力,用戶可以通過手握虛擬觸控筆實現(xiàn)對虛擬物體的平移和旋轉(zhuǎn),增加了人機(jī)交互的真實感,真實模擬了現(xiàn)實場景中手持木棒移動物體的多方位視觸覺感官體驗;圖12(c)展示了交互結(jié)束的場景,當(dāng)松開觸控筆上按鈕時,虛擬物體受重力作用,做自由落體運動,真實模擬了現(xiàn)實場景真實物體的運動姿態(tài),最終展示了虛擬方塊靜止時最終的位姿信息。
圖12 觸控筆控制虛擬對象的交互場景
為使設(shè)計貼近生活,本文設(shè)計了數(shù)字排序訓(xùn)練項目,難度較大。用戶通過觸覺設(shè)備在“數(shù)字鍵盤”中選擇并移動數(shù)字方塊,并將數(shù)字方塊移動到固定位置。場景的注冊主要使用OpenGL 中的GL_QUADS 繪制10 個數(shù)字方塊和3Ds Max 繪制方格,利用C/C++代碼將3ds 文件轉(zhuǎn)換成OpenGL 可讀的頂點組,并使用OpenGL 的圖形與顏色線程繪制虛擬對象,然后通過OpenGL 的貼圖技術(shù)依次對10個立方體進(jìn)行數(shù)字貼圖。本次模板注冊圖像采用上述書籍進(jìn)行虛擬注冊,用戶通過移動觸控筆實現(xiàn)對虛擬數(shù)字的空格排序,每個數(shù)字顯示一個空格,操作較難,有效考驗了用戶手眼協(xié)調(diào)的能力,數(shù)字排序訓(xùn)練場景如圖13 所示。
圖13 數(shù)字排序訓(xùn)練的交互場景
當(dāng)用戶從墨水池中取出觸控筆控制時,虛擬觸筆觸碰到數(shù)字方塊時,觸控筆由綠色變?yōu)榈{(lán)色表示交互成功,此時,用戶可以按下觸控筆上的按鈕選擇并移動該數(shù)字方塊至方格中,同時對其進(jìn)行排序操作;釋放按鈕后,則放置數(shù)字方塊,在場景中放置圖13(a)用于注冊交互的“數(shù)字鍵盤”和放置數(shù)字方塊的方格,調(diào)整自然特征模板,使得整個交互場景完整地顯示在窗口中,此時點擊屏幕上的固定場景按鈕固定交互對象。在整個交互過程中要確保攝像頭位置不變,如圖13(b)所示,固定場景后,用戶可以撤走自然特征模板,此時通過移動虛擬觸筆到數(shù)字鍵盤附近,且通過虛擬觸控筆觸碰數(shù)字鍵盤中的某個方塊,真實模擬了現(xiàn)實場景中手移物體的多方位視觸覺感官體驗。在整個練習(xí)模式中,用戶可以自主選擇想要移動的數(shù)字方塊的個數(shù),圖13(c)是練習(xí)結(jié)束時的場景。
本文實驗主要使用一本書作為自然特征標(biāo)識物,用戶也可以選取日常生活中一些彩色圖像物體作為自然特征模板。這不僅為用戶提供了自主選擇標(biāo)識物進(jìn)行虛擬注冊,也為用戶提供參與系統(tǒng)開發(fā)的樂趣,進(jìn)一步提升了用戶的訓(xùn)練積極性。在此項實驗中選擇常見的商品包裝盒進(jìn)行模板替換,在此基礎(chǔ)上增加自然場景中物品數(shù)量,增加場景的復(fù)雜性。實驗結(jié)果表明,基于自然特征的增強(qiáng)現(xiàn)實不受場景約束,可以很好地滿足實驗的注冊效果。實驗注冊了虛擬桌面、茶壺、黑色圓餅和綠色蘋果,用戶通過觸覺設(shè)備控制虛擬觸控筆與虛擬對象進(jìn)行交互。拾取訓(xùn)練項目難度較大,有效鍛煉了手指的捏和握的能力,實驗結(jié)果如圖14 所示。
在拾取訓(xùn)練的交互場景中,另給觸覺設(shè)備增加了無力反饋、恒力和彈性力反饋的條件來完成拾取訓(xùn)練,不同的反饋條件豐富了此訓(xùn)練的趣味性。本文實驗采用彈性力反饋來進(jìn)行拾取訓(xùn)練,圖14(a)展示了商品包裝盒初始化場景,圖14(b)展示了用戶通過虛擬觸控筆與虛擬桌面上物體進(jìn)行交互操作場景。當(dāng)觸控筆從墨水池取出時,虛擬觸控筆接觸虛擬桌面或虛擬物體時可以明顯感受到來自虛擬物體的作用力,此時表明觸控筆筆端已接觸桌面或者虛擬物體,與此同時按下觸筆上的按鈕可以選擇并移動虛擬對象,用戶可以明顯感受到實時的反饋力,而釋放按鈕后,則放置虛擬對象,圖14(c)展示了將虛擬黑色餅干拾取到桌面外的最終場景。
圖14 拾取訓(xùn)練的交互場景
為了充分驗證實驗的可行性,邀請10 名學(xué)生參與到實驗中,其中6 名男生,4 名女生,年齡在22~25 歲。圖15 是邀請一名同學(xué)在全局視角下進(jìn)行視觸覺交互的場景。每位被試者依次完成拾取訓(xùn)練項目,所有被試者隨機(jī)參與訓(xùn)練項目,在完成訓(xùn)練項目后,被試者填寫一份用于評價系統(tǒng)可行性的問卷調(diào)查,每位被試者對訓(xùn)練進(jìn)行打分(0~10 分)。評分標(biāo)準(zhǔn)如下:1.易于理解;2.場景的真實性;3.趣味性;4.易于操作;5.訓(xùn)練難度;6.經(jīng)濟(jì)成本;7.力反饋真實性;8.交互性。拾取訓(xùn)練評分直方圖和訓(xùn)練平均時間曲線圖分別如圖16 和圖17 所示。
圖15 全局視角下的交互場景
圖16 拾取訓(xùn)練問卷評分
圖17 拾取訓(xùn)練平均時間
由上圖評分結(jié)果可知,視觸覺增強(qiáng)現(xiàn)實系統(tǒng)的訓(xùn)練項目交互方式易于理解,且交互過程趣味性十足,所有的被試者都具有較高的積極性,并盡力去完成指定的任務(wù)。對被試者而言,因為選擇的反饋力模式不同,所需要的時間也不同。通過直方圖和曲線圖可以清晰地看出,在此訓(xùn)練項目中,彈力模式下的完成時間是最長的,這主要是因為系統(tǒng)設(shè)置的彈性系數(shù)較大,產(chǎn)生的反饋力較大。另外,從圖中發(fā)現(xiàn),恒力模式下完成項目所需的時間與無力模式下完成項目的時間較為相近,這主要是因為設(shè)置的恒力系數(shù)較小。在整個訓(xùn)練過程中,熟悉交互場景的被試所需要的訓(xùn)練時間較短。由此可見,被試者可以通過重復(fù)的訓(xùn)練提升完成訓(xùn)練項目的效率,經(jīng)過多名同學(xué)實驗證明此算法的可行性與趣味性。
本文的視觸覺增強(qiáng)現(xiàn)實算法在增強(qiáng)現(xiàn)實環(huán)境搭建上采用的是ORB 算法,對目標(biāo)進(jìn)行實時檢測;采用KLT 算法對場景中目標(biāo)進(jìn)行實時跟蹤注冊,引入6-DOF 實現(xiàn)姿態(tài)旋轉(zhuǎn)(ORB+KLT)實現(xiàn)視觸覺融合的交互操作。軟件開發(fā)平臺為Visual Studio release x64 下執(zhí)行編譯。本文通過對ORB+BF(Brute Force)、ORB +FREAK +BF、SURF +KLT 幾種經(jīng)典算法和本文的算法進(jìn)行特征點檢測和匹配進(jìn)行實時性和準(zhǔn)確率比較。通過采集前400 幀圖像,分別對第50 幀、100 幀、250 幀、350 幀和400 幀進(jìn)行采樣,對圖像實時運行的幀率和正確姿態(tài)注冊的圖像數(shù)目進(jìn)行分析。實時性的對比采用對虛擬物體注冊過程耗時作為參考指標(biāo),準(zhǔn)確率的單位采用正確姿態(tài)注冊的百分比。此處所提正確姿態(tài)注冊是指特征點匹配的準(zhǔn)確對數(shù)和虛擬觸控筆準(zhǔn)確注冊在真實觸控筆上,實驗數(shù)據(jù)結(jié)果如表3 和表4 所示。
表3 各算法的實時性分析(單位為ms)
表4 各算法注冊的準(zhǔn)確率分析
從表中數(shù)據(jù)分析,使用ORB 結(jié)合KLT 算法三維注冊方法在不同幀數(shù)條件下平均耗時相比于基于SURF 和ORB 結(jié)合BF 算法的三維注冊方法運算時間均縮短了,且本文算法注冊的準(zhǔn)確率明顯高于其他算法。這是由于KLT 算法能夠有效、快速響應(yīng)場景的快速變化,實時地比較圖像序列中上一幀與當(dāng)前幀在時域上的對應(yīng)關(guān)系,以準(zhǔn)確計算出兩幀圖像之間的運動模式及姿態(tài)。使用SURF 結(jié)合算法雖然可以提高注冊結(jié)果的準(zhǔn)確性,但隨著圖像幀增大,算法迭代次數(shù)增大,實時性有所減低,注冊失敗率增大。這是因為算法本身時間復(fù)雜度高,所損耗的時間相比ORB 算法遠(yuǎn)遠(yuǎn)大出一個級別。實驗結(jié)果表明,本文算法具有良好的實時性、可行性和準(zhǔn)確性。
3.3.1 系統(tǒng)誤差
在視觸覺空間轉(zhuǎn)換過程中,由于視觸覺空間的工作區(qū)并不是完全相同的,其中觸覺和視覺的工作區(qū)間如圖18 所示,所以需要對觸覺空間進(jìn)行縮放和旋轉(zhuǎn)操作,實現(xiàn)觸覺空間與視覺活動空間的匹配。
圖18 視觸覺空間差異圖
即視覺坐標(biāo)系和觸覺坐標(biāo)系之間存在一定的系統(tǒng)誤差。觸覺設(shè)備的真實測量值經(jīng)過模型視圖變換過后出現(xiàn)偏差,在X、Y和Z軸上的系統(tǒng)誤差如表5所示。
表5 視觸覺空間的系統(tǒng)誤差
最后通過視口變換、投影變換和模型視圖變換設(shè)置虛擬觸筆的尺寸以適應(yīng)視口的大小。
3.3.2 視觸覺空間轉(zhuǎn)換誤差分析
本文根據(jù)文獻(xiàn)[20]的誤差量化模型可以獲得觸筆真實位置的誤差與虛擬視覺環(huán)境坐標(biāo)系中的注冊位置進(jìn)行誤差分析。根據(jù)誤差度量模型可知,誤差來自于模型視圖轉(zhuǎn)換過程,在Z軸上的注冊誤差在5.7 mm;同時因為結(jié)果缺少深度信息,無法完全地對觸筆的虛擬化注冊,也造成了無法處理手部與虛擬觸筆之間的遮擋關(guān)系。
當(dāng)觸筆繞Y軸旋轉(zhuǎn)超過±100 °,因誤差積累時,虛擬觸筆與真實觸筆的位置會出現(xiàn)偏差,導(dǎo)致真實觸筆暴露的情況,所以本文使用視覺補(bǔ)償?shù)姆椒ㄏ屏?即使用放大虛擬觸筆完成視覺遮擋的注冊效果。
本文介紹了基于ORB 和KLT 搭建的視觸覺增強(qiáng)現(xiàn)實環(huán)境,并且為提升交互操作的真實性,提出了一種具有6-DOF 的視觸覺融合算法,該算法成功地將觸覺設(shè)備的運動姿態(tài)融入到視覺空間轉(zhuǎn)換中,使得用戶在通過力觸覺設(shè)備與對象交互時獲得更加自然、真實的交互體驗。實現(xiàn)效果顯示,6-DOF 的視觸覺融合算法可提升用戶操作的沉浸感和真實感。未來的工作還需要對視觸覺增強(qiáng)現(xiàn)實技術(shù)做進(jìn)一步的優(yōu)化和改進(jìn),尤其在反饋力的建模場景中,還需要對虛擬對象設(shè)置多重物理屬性,以及利用雙手與觸覺設(shè)備搭建更加直觀的視觸覺增強(qiáng)現(xiàn)實訓(xùn)練系統(tǒng),使模擬交互場景更加真實。此外本文沒有解決虛實遮擋問題,所以還需要處理真實對象和虛擬對象之間的遮擋與碰撞等問題,使交互運動更加真實自然。