VR和AR經(jīng)過(guò)多年發(fā)展,現(xiàn)今也算小有所成,給很多人帶來(lái)了全新的體驗(yàn)。然而,對(duì)比那些科幻電影,總覺得它們還差很多東西。沒錯(cuò),電影里那些炫酷的虛擬世界場(chǎng)景,都需要一個(gè)不可或缺但門檻又非常高的技術(shù)來(lái)支撐,那就是位置追蹤。這個(gè)問題不解決,VR、AR就永遠(yuǎn)只能是一種宅男科技。
《頭號(hào)玩家》電影相信很多人都看過(guò),片中的場(chǎng)景應(yīng)該算是VR的終極形態(tài)了。但是要達(dá)成這樣的體驗(yàn),必須要解決一個(gè)問題:如何定位玩家的空間位置?也就是所謂的位置追蹤怎么實(shí)現(xiàn)。對(duì)于AR而言,這個(gè)問題還不算很尖銳,因?yàn)樗腔诂F(xiàn)實(shí)世界的圖像增強(qiáng)。但全沉浸式的VR就不同了,玩家看不到周圍的真實(shí)環(huán)境,展現(xiàn)在玩家周圍的完全是個(gè)虛擬世界,這個(gè)虛擬世界又必須把真實(shí)環(huán)境里的各種障礙以及玩家的空間位置準(zhǔn)確反映出來(lái),才能讓人暢玩。
定位空間位置這個(gè)概念很好理解。但為了接下來(lái)便于闡述各種定位技術(shù),我們還是要從學(xué)術(shù)的角度來(lái)說(shuō)明一下。我們生活在三維世界中,稍微學(xué)過(guò)幾何的人都知道一旦確定了任何物體的X、Y、Z坐標(biāo),就能準(zhǔn)確知道它的位置。VR行業(yè)將這種定位坐標(biāo)稱為Dof(自由度,Degree Of Freedom),由3個(gè)坐標(biāo)描述的位置信息即3Dof。但是,這樣只能定位到一個(gè)體積忽略不計(jì)的“點(diǎn)”,而現(xiàn)實(shí)世界任何物體都有體積,僅靠3Dof描述三維空間物體的位置是遠(yuǎn)遠(yuǎn)不夠的,于是便有了“位姿”。
是的我沒有打錯(cuò)字,位姿是指物體在三維空間里的位置和旋轉(zhuǎn)量。位姿需要6Dof來(lái)描述,通俗地講就是在3Dof的基礎(chǔ)上,加入三個(gè)角度參數(shù),也就是讓物體還能繞三個(gè)軸轉(zhuǎn)動(dòng),構(gòu)成六軸定位。很多人第一次聽到這個(gè)詞,應(yīng)該都是因?yàn)閃ii和PS3的手柄。在虛擬世界中,只有6Dof才能準(zhǔn)確定位物體。
▲由3Dof和6Dof描述的角色動(dòng)作,6Dof的定位更加準(zhǔn)確。
電影和游戲制作中經(jīng)常用到動(dòng)作捕捉技術(shù),其實(shí)就是在追蹤貼在人體關(guān)節(jié)上的標(biāo)記點(diǎn)的6Dof。多個(gè)標(biāo)記點(diǎn)根據(jù)人體動(dòng)作規(guī)律連接起來(lái)就能模擬出人的動(dòng)作。實(shí)際應(yīng)用中一般只能捕捉較大關(guān)節(jié)的位置信息。要想精準(zhǔn)捕捉每塊骨骼、每塊肌肉的位置是很難的。有了動(dòng)作捕捉,才能在虛擬世界中呈現(xiàn)人物的準(zhǔn)確形態(tài)。
▲動(dòng)作捕捉在電影和游戲制作中都是關(guān)鍵技術(shù),今后有望在AR/VR中扮演同樣角色。
目前,位置追蹤技術(shù)主要有兩大門派:依靠各種外部設(shè)備來(lái)定位的“外向內(nèi)追蹤技術(shù)”(Outside-inTracking),和不需要任何外部設(shè)備的 “內(nèi)向外追蹤技術(shù)”(Inside-outTracking)。
外向內(nèi)追蹤技術(shù)
外向內(nèi)追蹤技術(shù)是當(dāng)前相對(duì)比較成熟的主流技術(shù),它的實(shí)現(xiàn)方法也有很多:光學(xué)追蹤、電磁追蹤、慣性追蹤、超寬帶(Ultra Wide-Band,UWB)追蹤等等。這其中,光學(xué)追蹤是比較常見的方案。光學(xué)追蹤需要一個(gè)標(biāo)記點(diǎn)和負(fù)責(zé)捕捉這個(gè)標(biāo)記點(diǎn)的相機(jī),這其中根據(jù)相機(jī)和標(biāo)記點(diǎn)的數(shù)量、相機(jī)曝光方式、標(biāo)記點(diǎn)是否有源等,又分成了好幾個(gè)流派。PS MOVE用的是單相機(jī)單標(biāo)記點(diǎn);PS VR、Oculus、HTC Vive是多相機(jī)多標(biāo)記點(diǎn)。
單標(biāo)記點(diǎn)方案只能捕捉3Dof信息,因?yàn)閷?duì)于一個(gè)點(diǎn)而言,它怎么旋轉(zhuǎn)都還是一個(gè)點(diǎn)。多標(biāo)記點(diǎn)方案才能記錄到6Dof位姿信息。
以O(shè)culus Rift為例,它利用多個(gè)紅外LED作為標(biāo)記點(diǎn),通過(guò)兩臺(tái)已校準(zhǔn)空間位置的紅外相機(jī)實(shí)時(shí)拍攝獲取標(biāo)記點(diǎn)方向,再通過(guò)PnP算法,即利用四個(gè)不共面的紅外LED的位置信息、四個(gè)點(diǎn)獲得的圖像信息計(jì)算出設(shè)備在紅外相機(jī)坐標(biāo)系里的位置,進(jìn)一步擬合出設(shè)備的三維模型,最終得到玩家的位置和方向。
▲設(shè)置Oculus Rift紅外相機(jī)的位置參數(shù)是很重要的。
HTC Vive采用了激光掃描方案。它有兩個(gè)Steam激光發(fā)射器,分別在水平和垂直方向上以每秒6次的頻率發(fā)射激光掃描定位空間。頭戴顯示器和手柄上有數(shù)十個(gè)光敏傳感器,設(shè)備通過(guò)測(cè)量傳感器接收到激光的時(shí)間差來(lái)計(jì)算傳感器相對(duì)于激光發(fā)射器的位置。有多個(gè)傳感器的位置就能擬合出設(shè)備的位置和方向。相對(duì)于紅外定位技術(shù)而言,激光掃描定位具有成本低、定位精度高、可分布式處理等優(yōu)勢(shì),且?guī)缀鯖]有延遲,不怕遮擋和干擾。
▲HTC Vive的“Lighthouse”,由兩個(gè)steam激光發(fā)射器進(jìn)行定位。
當(dāng)然上面的話說(shuō)起來(lái)簡(jiǎn)單,但實(shí)際上不論Oculus Rift還是HTC Vive,它們的定位計(jì)算過(guò)程都十分復(fù)雜,對(duì)于圖像處理設(shè)備的要求也很高。但橫向比較的話,激光掃描定位效果要優(yōu)于紅外追蹤定位,運(yùn)算量也相對(duì)較少一點(diǎn)。
現(xiàn)在我們可以看到,上面提到的這些定位方式有著很大的局限性:必須校準(zhǔn)相機(jī)空間位置,意味著換個(gè)環(huán)境就得重新調(diào)試;必須通過(guò)線纜連接外部主機(jī)(即圖像處理設(shè)備),意味著使用者不能做很大的動(dòng)作;必須在相機(jī)拍攝范圍內(nèi)活動(dòng),這一點(diǎn)最不能讓人容忍。除非腳下有一個(gè)萬(wàn)向傳送帶之類的玩意兒,能保證使用者無(wú)論往任何方向奔跑,在現(xiàn)實(shí)世界中都不會(huì)離開原地,就像跑步機(jī)那樣。然而現(xiàn)實(shí)中并沒有這樣的東西。
所以需要在定位技術(shù)上做文章。這就得聊聊微軟的黑科技HoloLens了。
內(nèi)向外追蹤技術(shù)
HoloLens是一款頭戴式AR顯示設(shè)備,它的價(jià)格和技術(shù)都讓業(yè)界驚嘆。技術(shù)層面上,它采用了不需要任何外界傳感器的“內(nèi)向外追蹤技術(shù)”。既然不需要外界傳感器,就不需要外部硬件搭建、標(biāo)記,也不受傳感器監(jiān)測(cè)范圍限制,也就有了更多樣的移動(dòng)性和更高的自由度。
內(nèi)向外追蹤也是一種光學(xué)追蹤方案。在頭戴設(shè)備上安裝攝像頭,讓設(shè)備自己檢測(cè)外部環(huán)境變化,經(jīng)過(guò)視覺算法計(jì)算出攝像頭的空間位置。HoloLens有一個(gè)深度攝像頭,一個(gè)200萬(wàn)像素的圖像攝像頭,以及4個(gè)環(huán)境感知攝像頭。它通過(guò)采集環(huán)境中的特征點(diǎn),利用SLAM(即時(shí)定位與地圖構(gòu)建)算法獲得空間位置信息。
▲HoloLens的玻璃罩子下集成了現(xiàn)今比較前沿的定位技術(shù)。
所謂SLAM算法,是通過(guò)傳感器獲取環(huán)境信息,包括視覺信息、深度信息、自身加速度、角速度等來(lái)確定自己的位置,并完成環(huán)境地圖的構(gòu)建。SLAM有幾個(gè)很典型的應(yīng)用場(chǎng)景:一是電影《普羅米修斯》中的探測(cè)球,自動(dòng)飛行自動(dòng)掃描,分分鐘建立環(huán)境的3D地圖并且還能全息呈現(xiàn)出來(lái)。現(xiàn)實(shí)的科技當(dāng)然達(dá)不到這一步,但谷歌、蘋果等的無(wú)人車、米家掃地機(jī)器人等,都是通過(guò)SLAM算法進(jìn)行實(shí)時(shí)環(huán)境分析的。谷歌的ProjectTango項(xiàng)目,也是利用該算法,讓手機(jī)實(shí)時(shí)繪制周圍環(huán)境的3D模型。可以說(shuō),SLAM是內(nèi)向外追蹤的核心內(nèi)容。
▲電影《普羅米修斯》中的環(huán)境探測(cè)球,算是SLAM的頂級(jí)表現(xiàn)了。
同樣地,內(nèi)向外追蹤也有多相機(jī)和單相機(jī)的方案,它們各有千秋。多相機(jī)方案通過(guò)多個(gè)攝像頭采集外部空間的特征點(diǎn),通過(guò)三角定位計(jì)算出特征點(diǎn)的空間數(shù)據(jù)。優(yōu)點(diǎn)在于場(chǎng)景兼容性強(qiáng),不需要太多的特征點(diǎn)就能定位。缺點(diǎn)就是圖像處理運(yùn)算量非常大而且成本很高,HoloLens內(nèi)置的處理芯片成本就高達(dá)數(shù)百美元。
單相機(jī)方案利用攝像頭與外部的環(huán)境的任意兩個(gè)特征點(diǎn)形成三角定位,繼而計(jì)算出空間位置。優(yōu)點(diǎn)在于圖像處理計(jì)算量較小,成本也較低,但需要在環(huán)境中標(biāo)記大量的特征點(diǎn),占用太多空間。意味著該方案需要足夠的空間來(lái)采集特征點(diǎn),才能實(shí)現(xiàn)定位功能。
采集特征點(diǎn)只是其中一個(gè)方面。其實(shí)HoloLens所實(shí)現(xiàn)的效果是一個(gè)非常復(fù)雜的工程。它相當(dāng)于將Oculus、Kinect全部集成到用戶腦袋上。除了SLAM之外,還需要實(shí)時(shí)的3D繪制能力。實(shí)時(shí)3D在今天的游戲中早已不叫事兒,但要讓一款移動(dòng)設(shè)備能畫出以假亂真的3D背景也并不容易。當(dāng)然,在英偉達(dá)、英特爾等的推動(dòng)下,雙攝像頭實(shí)時(shí)渲染已經(jīng)很成熟了。
顯而易見,這類內(nèi)向外追蹤設(shè)備面臨的挑戰(zhàn)也很大。首先,沒有外部圖像計(jì)算設(shè)備的輔助,對(duì)于頭戴設(shè)備的計(jì)算能力要求就更高。持續(xù)不斷地SLAM再進(jìn)行3D合成虛擬空間的計(jì)算量十分龐大,并且非常耗電。HoloLens基于AR而不是VR,呈現(xiàn)的虛擬物品也并不復(fù)雜,3D計(jì)算量頓時(shí)少了幾個(gè)數(shù)量級(jí),所以產(chǎn)品整體的電量主要耗在SLAM上。
官方宣稱的續(xù)航時(shí)間為2.5~5.5小時(shí),其實(shí)已經(jīng)超出我們的預(yù)期,原本以為這些酷炫的功能能撐一兩個(gè)小時(shí)就不錯(cuò)了。但HoloLens的效果并非終點(diǎn),當(dāng)需要呈現(xiàn)全3D虛擬空間的時(shí)候,電池將會(huì)是一大軟肋,今后可能需要考慮推出背包式電池才能解決。
其次,開放環(huán)境、暗光環(huán)境、光滑表面的識(shí)別問題,由于沒有實(shí)體產(chǎn)品測(cè)試,不好做出結(jié)論。但結(jié)合Kinect的表現(xiàn),可以猜測(cè)這一點(diǎn)并不會(huì)解決得很完美。
誰(shuí)家的孩子有前途
目前,除了微軟之外,Oculus、Google,以及國(guó)內(nèi)一些實(shí)力廠家都在布局內(nèi)向外追蹤技術(shù)。Oculus公布了正在開發(fā)的VR一體機(jī)產(chǎn)品Santa Cruz,Google則推出了Tango系統(tǒng),能讓手機(jī)通過(guò)攝像頭實(shí)時(shí)生成周圍環(huán)境的3D模型。
▲Tango系統(tǒng)演示,“雖然目前可能沒什么用但看起來(lái)很厲害的樣子”。
我們以前曾經(jīng)說(shuō)過(guò),AR/VR一體機(jī)才是這類硬件的最終形態(tài),而能將一體機(jī)和內(nèi)向外追蹤技術(shù)結(jié)合起來(lái),才能做出AR/VR的終極體驗(yàn)。內(nèi)向外追蹤技術(shù)是一場(chǎng)革命。“外向內(nèi)”到“內(nèi)向外”的進(jìn)化,如同互聯(lián)網(wǎng)從PC端到移動(dòng)端的變革,讓人擺脫了空間上的限制。只有能實(shí)現(xiàn)最自然的人體動(dòng)作,才是最好的人機(jī)交互。

AR絕不是只限于玩玩《Pokémon Go》。試想一下,醫(yī)院做手術(shù)時(shí),醫(yī)生能看到實(shí)時(shí)顯示出來(lái)的病灶情況;設(shè)計(jì)師在設(shè)計(jì)建筑時(shí),能實(shí)時(shí)檢查建筑的內(nèi)外結(jié)構(gòu);甚至孩子們可以通過(guò)AR玩遍全世界的玩具……這樣的前景,想想就讓人期待。
▲這樣來(lái)設(shè)計(jì)建筑應(yīng)該是每個(gè)建筑設(shè)計(jì)師都?jí)裘乱郧蟮摹?
而VR的終極體驗(yàn),就是電影《頭號(hào)玩家》里的“綠洲”。當(dāng)然電影里還有一個(gè)體感衣的設(shè)定,但那不是我們這次要講的東西,在電影里我們也能看到本文所講的這些定位方式。主角韋德和IOI的雜兵用的是外向內(nèi)追蹤技術(shù),觀眾能看到他們后面還有定位設(shè)備;而路人甲乙丙丁用的是外向內(nèi)追蹤技術(shù),觀眾能看到他們不受限制地自由奔跑。
▲電影《阿凡達(dá)》里,全息投影+觸控這樣的操作過(guò)于科幻了,但如果基于頭戴式AR,實(shí)現(xiàn)起來(lái)難度就小多了。
寫到這里,我突然感覺到不寒而栗。《頭號(hào)玩家》電影中所描繪的情節(jié)絕不是聳人聽聞的,一個(gè)完美的虛擬世界恐怕將會(huì)成為人類的精神鴉片。但是,就算是虛擬世界的王者,也是需要吃喝拉撒的,而這些是無(wú)法在虛擬世界完成的。畢竟,現(xiàn)實(shí)才是生存的基礎(chǔ),而現(xiàn)實(shí)也有很多的美好。