虛擬現(xiàn)實要實現(xiàn)空間精準(zhǔn)定位的七種利器
現(xiàn)有的VR體驗館的構(gòu)建卻還缺少了最重要的一環(huán),就是廉價而靈活準(zhǔn)確的定位方案。本文將據(jù)此闡述一些已有方案的優(yōu)劣。本文分上下篇。
缺失的一環(huán)
虛擬現(xiàn)實刮起的風(fēng)暴如今已經(jīng)愈演愈烈,從形形色色的頭盔和眼鏡,到各種奇思妙想的交互設(shè)備,再到內(nèi)容制作和建立體驗館的嘗試。越來越多的VR相關(guān)從業(yè)者和創(chuàng)業(yè)者都將The Void,Zero Latency等前輩作為自己下一步趕超的目標(biāo),發(fā)出了開發(fā)VR主題公園,或者VR主題體驗解決方案的宣言。
然而,從宏觀的角度來看,整個行業(yè)也并非發(fā)展的一帆風(fēng)順:VR頭盔和眼鏡的水準(zhǔn)參差不齊,主流產(chǎn)品(例如OculusVR和HTC Vive)尚未完全展開消費者市場;VR對系統(tǒng)配置的要求很高,相關(guān)設(shè)備隨身穿戴不易,而移動端設(shè)備的渲染則多半力有不逮;而針對體驗館的交互內(nèi)容如何制作,互動方式如何設(shè)計,也有諸多不甚明朗的地方。而除此之外,VR體驗館的構(gòu)建卻還缺少了最重要的一環(huán),就是廉價而靈活準(zhǔn)確的定位方案。
這里所說的定位,就是確定體驗館中的參與者在場館中的絕對空間位置,并反饋到所有參與游戲的玩家和游戲服務(wù)器上,進而執(zhí)行群體游戲所必需的各種游戲邏輯。
例如,當(dāng)一位玩家靠近樹林的邊緣時,一頭蓄謀已久的餓狼會猛然撲出來;又比如多位玩家展開一場虛擬現(xiàn)實的真人CS大賽,互相射擊與開展戰(zhàn)術(shù)。如果玩家在游戲場地內(nèi)的位置無法得到有效識別,那么相應(yīng)的樂趣和復(fù)雜度自然也就少了很多,也許只是來一場第一人稱的定點射擊游戲而已。而定位的精度和速度也絕對不容忽視,20cm的誤差也許就決定了射出的子彈是否能穿透虛擬敵人的胸膛,而定位本身帶來的延遲,同樣也會給虛擬現(xiàn)實玩家的現(xiàn)場感帶來巨大的影響,甚至成為3D暈動癥的幫兇。
然而,縱觀現(xiàn)在市面上形形色色的VR空間定位方案,卻并沒有哪家能夠提供足夠成熟穩(wěn)定的技術(shù)實現(xiàn),亦或者用巨大的成本以及靈活度的喪失作為代價,構(gòu)建并不成功的Demo作品。這樣的程度恐怕還遠遠不能稱之為解決方案,也遠遠無法滿足眾多體驗館從業(yè)者的胃口。那么,好的定位方案應(yīng)當(dāng)以怎樣的標(biāo)準(zhǔn)作為自己的目標(biāo)?整個行業(yè)缺失的救世主又是否已經(jīng)到來呢?本文將嘗試對此略加闡述。
(一)體感攝像頭
去年底,日本新宿的繁華地段進行了一次為期只有一天的VR體驗,通過頭戴Gear VR顯示一個虛擬雪山場景,同時搭建了實體的吊橋道具,并通過風(fēng)扇和冷空調(diào)來模擬寒冷的山巔環(huán)境。體驗者在吊橋上戰(zhàn)戰(zhàn)兢兢地前進,最終在場地的終點位置拿到屬于自己的獎品——來自經(jīng)銷商的一杯熱飲。
這個體驗游戲的復(fù)雜度并不高,收效卻十分顯著。而其中不可或缺的一環(huán)就是判斷玩家在吊橋上行走的位置,然后對Gear VR中渲染的場景做出對應(yīng)的處理。而在同一個宣傳視頻中,我們不難發(fā)現(xiàn)這樣一絲端倪:
很顯然這是一臺微軟的Kinect2體感設(shè)備,它可以通過TOF(飛行時間)計算的方法,獲取傳感器出射光線遇到物體反射后的相位差,從而得到設(shè)備與實際場景之間的距離值,也就是深度值(depth)。由此形成的深度圖像不僅可以用來判斷物體相對體感設(shè)備的位置,還可以進一步得到物體的點云數(shù)據(jù),甚至是角色的骨骼信息。最重要的是,Kinect2本身只是XBox One游戲機的可選外設(shè),因此要買到它并且用來做VR內(nèi)容的簡單空間定位,絕不會花費太多的成本。
不過,物美價廉的對立面就是差強人意的性能參數(shù),30fps的刷新頻率必然讓人能夠比較明顯地感受到定位結(jié)果的延遲(雖然這種延遲相比頭盔的延遲來說,給人的影響更。,并且Kinect的視場角只有60度左右,最大識別范圍一般來說為3-4米。在這個區(qū)域內(nèi)可以識別最多6個人的位置信息,并且他們在Kinect的視場范圍內(nèi)不能有太多的重疊,以免漏測(如上圖所示)。顯然,這些苛刻的限制條件讓我們很難想象出一個比爬雪山喝咖啡更復(fù)雜的游戲了,不過至少這是一個不錯的開始。
(二)光學(xué)定位與圖像識別
有一則去年的新聞,在大多數(shù)VR從業(yè)者耳中應(yīng)該不會陌生:來自澳大利亞的Zero Latency成為了全世界第一家虛擬現(xiàn)實游戲體驗中心,它占地400平方米左右,由129個PS Eye攝像頭組成,同時支持6名玩家同場進行游戲……
沒錯,這個體驗中心相比之前的VR應(yīng)用,其最大的賣點就是可以在虛擬空間中自由行走。而PS Move設(shè)備(包括PS Eye攝像頭,以及裝備了標(biāo)記光球的Move手柄)則是這一技術(shù)的核心所在。
如之前的游戲效果圖所示,不同顏色的光球在PS Eye攝像頭中可以呈現(xiàn)出顯著不同于背景畫面的圖像,從而方便我們通過計算機視覺(CV)算法將它提取出來。當(dāng)然,僅有一個PS Eye攝像頭的話,是無法得到玩家的三維空間信息的。此時需要有不止一個攝像頭去捕捉玩家的光球在屏幕空間的位置,然后通過空中三角測量的算法,取得玩家在世界坐標(biāo)系當(dāng)中的真實位置。
這里自然又帶出了兩個不小的問題:
一、如何準(zhǔn)確而穩(wěn)定地從攝像頭畫面里判斷和區(qū)分不同的光球(標(biāo)記點);
二、如何知道攝像頭本身在世界空間的位置和姿態(tài),從而正確推算玩家的位置和姿態(tài)。
為了解決這里所述的第一個問題,已經(jīng)足夠讓無數(shù)開發(fā)者絞盡腦汁、前赴后繼了。通過顏色來區(qū)分標(biāo)記點的方案當(dāng)然是可行的,不過如果攝像頭里出現(xiàn)了另一種類似顏色的干擾物呢?或者現(xiàn)場就是一片花花綠綠的環(huán)境怎么辦?這種時候,誤識別恐怕是很難避免的。因此,一批光學(xué)動作捕捉供應(yīng)商站了出來,他們選擇采用紅外攝像頭作為識別的替代方案。
這里當(dāng)然首推老牌的OptiTrack,他們采用了幀速率大于100Hz的專業(yè)攝像頭,并且采用了全局快門系統(tǒng),因而有效避免了高速運動的物體在畫面上出現(xiàn)運動模糊的現(xiàn)象。在攝像頭的周圍采用紅外LED進行補光,并且采用高反射率的材質(zhì)來制作玩家佩戴的標(biāo)記點。因為紅外攝像頭本身已經(jīng)屏蔽了大部分的可見光信息,因此標(biāo)記點在畫面中就會顯得分外明顯。除非有人用另外的紅外光源來進行干擾,否則幾乎不可能出現(xiàn)誤判斷的情形。
根據(jù)目前已知的一些信息,包括The Void主題公園,以及諾亦騰的Project Alice,都是采用了OptiTrack的空間定位方案,這也無疑證明了這種方案的可靠性。只是與之相對的,往往是高昂的成本(如下圖,一臺攝像頭的價格都是以數(shù)萬人民幣計算的,而構(gòu)建一個規(guī)則空間起碼需要4臺這樣的攝像頭,以及軟件系統(tǒng))。
不過,既然使用了不發(fā)光的標(biāo)記球替代PS Move的光球方案(這樣的另一個好處是,不用考慮怎么給標(biāo)記球供電的問題),那么如何區(qū)分標(biāo)記球的ID,進而區(qū)分游戲中的多個玩家呢?方法也有多種,例如通過對反射率的調(diào)整,讓標(biāo)記球在攝像頭畫面中顯示不同的亮度;或者采用不同的組合方式,讓一組光球在畫面中呈現(xiàn)出唯一的組合形態(tài),如下圖所示:
而之前所說的第二個問題:如何知道攝像頭本身在世界空間的位置和姿態(tài)。事實上是通過預(yù)先標(biāo)定(calibration)的方式來完成的。體驗館的搭建者預(yù)先將每臺攝像機安裝到固定的位置,然后逐一觀察它們的畫面顯示。通過已知位置姿態(tài)的一些標(biāo)記物來推算每臺攝像機的位置姿態(tài),并且保存下來。這一過程無疑是繁瑣而枯燥的,尤其當(dāng)你需要動輒配置上百臺攝像機的時候。而設(shè)置完成之后,如何避免攝像機被再次移動,或者因為場館結(jié)構(gòu)問題而發(fā)生震動和偏移,這又是每一位開發(fā)者所不得不面對的設(shè)備維護難題。
不過,,因為光學(xué)定位的方法具有相當(dāng)?shù)臏?zhǔn)確度和穩(wěn)定性,通過攝像頭參數(shù)的調(diào)校也可以達到很低的延遲,并且在理論上可以擴展到無限的空間,因此它也確實成為了目前很多VR體驗館搭建者的首選。然而,通過標(biāo)記點來識別多名玩家還是具有很大的局限性,因為標(biāo)記點不可能無限組合下去,兩組標(biāo)記點靠得過近的話(例如背靠背作戰(zhàn)的兩位玩家),也很容易發(fā)生誤測或者無法識別的情形。此外,過于復(fù)雜的場館環(huán)境也會讓標(biāo)記點更容易被障礙物遮擋,從而發(fā)生漏測問題,因此目前我們所見的多家采用光學(xué)定位的體驗館,都是在一個空曠的規(guī)則房間內(nèi)進行游戲的。
(三)激光雷達
激光本身具有非常精確的測距能力,其測距精度可達毫米,一般常見的是日本HOKUYO北陽電機和德國SICK西克等專業(yè)領(lǐng)域的大廠所產(chǎn)的二維激光雷達。
二維的意思也就是這樣的激光雷達所發(fā)出的光是一個扇形平面,而各種用來做測繪用途或者建筑業(yè)用作三維重建的三維激光雷達,則是這樣的二維激光雷達又加了一個維度做旋轉(zhuǎn),從而得到三維空間的結(jié)果。
激光雷達包括一個單束窄帶激光器和一個接收系統(tǒng)。激光器產(chǎn)生并發(fā)射一束光脈沖,打在物體上并反射回來,最終被接收器所接收。接收器準(zhǔn)確地測量光脈沖從發(fā)射到被反射回的傳播時間,即TOF(Time of Flight)。因為光脈沖以光速傳播,所以接收器總會在下一個脈沖發(fā)出之前收到前一個被反射回的脈沖。鑒于光速是已知的,傳播時間即可被轉(zhuǎn)換為對距離的測量。因為是以光速為尺子來測量的,所以激光雷達的精度一般都相當(dāng)?shù)母撸谑覂?nèi)場合下用,誤差都在毫米級別。
二維激光雷達實際上也是由一維的單束激光器在一個旋轉(zhuǎn)底座上旋轉(zhuǎn)起來所形成的扇面,一個二維激光雷達可以以自已為中心,以幾十米為半徑畫扇面進行測量,所以如果在這個區(qū)域內(nèi)有人活動的話,激光雷達就可以精確的知道一個人的位置并輸出給電腦使用。當(dāng)然,激光雷達通常也可以用做機器人研究的避障傳感器。
旋轉(zhuǎn)底座旋轉(zhuǎn)的快慢也是分很多規(guī)格的,因此激光雷達也會有掃描頻率的區(qū)分,正常來說,幾十赫茲的掃描頻率足夠我們在VR當(dāng)中做位置探測來用了。
但是激光雷達的工作原理對元器件要求高,通常又是工作在非常嚴(yán)苛的條件下,本身就要求防水防塵和數(shù)萬小時無故障的高可靠性。因此生產(chǎn)成本并不便宜。而且掃描頻率越高,探測距離越遠(也就是發(fā)射功率越大)的激光雷達,價格也就越貴。所以二維激光雷達的價格就已不菲(近萬元到數(shù)萬元不等),而用作測繪的機載三維激光雷達就不是一般人能問津的了(幾十萬至百萬)。
除了價格因素,激光雷達用作定位還存在一個主要的問題是: 因為從激光器發(fā)出的是一個扇形光,所以如果有一大堆運動物體互相擁擠著在一起的時候,互相會有遮蔽,后邊的物體處在前邊物體的“陰影區(qū)”當(dāng)中,導(dǎo)致探測不到。而且激光雷達只能測距,不能識別物體的ID,因此,就算不考慮價格因素,也比較適合單人情況下玩耍,如果想要群體的話,還是得采用其他方案。
(四)HTC Vive:Light House
這段時間里,HTC Vive的發(fā)售成為了整個業(yè)界的一大新聞。而它所采用的一種不同于光學(xué)的定位方式也是人們津津樂道的地方。HTC Vive包括三大部分,本身布滿了紅外傳感器的頭盔和手柄,以及用作定位的Light House。游戲者預(yù)先將Light House布置到一個空屋子的兩個角落中,這兩個Light House相當(dāng)于兩個固定的激光發(fā)射基站,如下圖所示。
Light House的后蓋打開后,里面這樣的:
那片密密麻麻的LED就是用來同步的光束。兩個圓柱體則是旋轉(zhuǎn)的一字激光器。一個是X軸掃掠,另一個是Y軸掃掠。兩個激光器有固定的180度相位差,也就是說,A亮的時候B不亮,B亮的時候A不亮。
而手柄和頭盔上都有固定位置安裝的光敏傳感器:
這套系統(tǒng)的具體工作流程分為三步:
1、同步:LED燈板整體亮一次,手柄和頭盔的傳感器一起被照射,作為同步信號。
2、X軸掃描:橫向的一字激光器照射手柄和頭盔上的光敏傳感器。
3、Y軸掃描:豎向的一字激光器照射手柄和頭盔上的光敏傳感器。
頭顯和控制器上安裝了很多光敏傳感器。在基站的LED閃光之后就會自動同步所有設(shè)備的時間,然后激光開始掃描,此時光敏傳感器可以測量出X軸激光和Y軸激光分別到達傳感器的時間。
換句話說,激光掃掠過傳感器是有先后順序的,因此頭顯上的幾個傳感器感知信號的時間存在一個先后關(guān)系,于是各個傳感器相對于基站的X軸和Y軸角度也就已知了;而頭顯和手柄上安裝傳感器的位置已經(jīng)提前標(biāo)定過,位置都是固定的。這樣根據(jù)各個傳感器的位置差,就可以計算出頭顯和手柄的位置和運動軌跡了。
Light House的最大優(yōu)勢在于,它需要的計算量非常少。這就不像CV視覺系統(tǒng)那樣需要先成像,然后通過軟件將成像中的特征分辨出來,成像的細(xì)節(jié)越豐富,需要的圖像處理能力就越高。Light House使用的僅僅是光敏器件,無需成像,也就不涉及到大量計算和圖像處理,避免了性能損耗和不穩(wěn)定的可能。
另一方面來說,計算量大往往也就意味著延遲會更高,而且無法經(jīng)由嵌入式處理器來完成運算。而Light House因為運算量小,因此嵌入式系統(tǒng)可以自己計算和處理,再直接將位置數(shù)據(jù)傳輸?shù)絇C上,節(jié)約了大量耗費在傳輸和處理上的延時。
不過,雖然Light House是迄今為止體驗最好的VR交互定位設(shè)備,但是因為激光對人眼安全照射功率的限制等問題,它能夠覆蓋的距離比較有限,大概也就是5M* 5M 見方的一個區(qū)域,并且不能有過多的遮擋物導(dǎo)致接收不到信號。并且這種設(shè)備的安裝調(diào)試還是比較繁瑣的,對于一般用戶來說可能還是比較困難的。
編輯:admin 最后修改時間:2017-09-09