iPad Pro:HoloLens 2第三人稱視角的最佳解決方案
當我看到新版本iPad Pro 后面的激光雷達的時候,我就知道,從三年前就開始困擾我們的第三人稱視角的問題,即將在幾天后拆開Pad Pro包裝后,迎刃而解。
1. 史前時代 —— 早期的第三人稱視角實現方案
回顧一下,從HoloLens 1代設備開始,我們就制作開發了大量的工商業項目,很多項目的參與者,比如領導在指點江山的時候,非常需要通過攝影設備記錄和拍攝下整個的操作流程。這時候我們就需要提供一個重要的技術點,第三人稱視角(英文Spectator View)。
上圖是微軟提出的最早版本的第三人稱視角的實現方案,可以實現把用戶操作的虛擬物體和用戶本身投影在顯示器上的功能。這個方案我們稱之為原始方案。
整個流程就是用戶在操作虛擬物體的時候,我們通過另外一臺HoloLens來得到空間定位,然后再通過一臺攝像機得到用戶的具體動作,通過視頻采集卡在一個工作站進行融合,最終渲染到屏幕上來。
這個方案對我們的困擾問題在于幾個方面:
其一是笨重,每次活動都需要帶一個三腳架攝像機至少兩臺HoloLens和一臺電腦,這是腦力工作者中的體力工作者啊,雖然每次搬運可以大幅度降低脂肪肝的等級,但還是太累到懷疑人生。
其二是超級貴,一個單反至少兩萬,HoloLens 三萬人民幣至少兩臺,主機運算能力要足夠1萬元打底,還有視頻采集卡,網絡路由器,一大堆線材。硬件成本至少十萬起跳,你說留給我們軟件賺錢的空間比程序猿的頭頂還稀薄,這可讓我們怎么活。
其三是不穩定,至少初期的版本超級不穩定,每次給客戶安裝三方視角的時候都需要一個大工程來連線聯網掃描同步,經常出錯。經常會燒光客戶的耐心,如果不是鑒于我們在維護客戶價值十幾萬的硬件,可能就直接踹我臉上了。
2. 近現代 —— 早期的iPad 解決方案
這時候我們發現一個有趣的替代方案可以代替傳統的第三人稱視角。就是直接拿一個支持ARKit的 iPad 來代替所有的設備實現。
當你想清楚這這件事情的可行性的時候,你會發現一個新大陸。AR 版本的 iPad 是完美的第三人稱視角替代方案。
iPad的AR功能代替了那臺架空的HoloLens來讀取空間信息。
iPad的攝像頭,代替了攝像機來采集用戶影像。
iPad的CPU代替了服務器來混合虛擬虛擬物體和真實影像。
iPad的屏幕和airplay投影,代替了傳統第三人稱視角的顯示器。
iPad的網絡熱點,代替了路由器。
iPad的各種無線功能,代替了所有線材。
經過半年的努力,我們團隊實現了自己的iPad版本三方視角。對于我們的實現方案,盡量不選擇復雜的技術,盡量通過Unity自帶的一些技術架構來實現。
網絡鏈接使用了Unity內建的UNet來做,這個好處是不需要單獨配置服務器,很簡單的編程就可以讓局域網的設備之間互聯。(這里有個隱藏的問題,就是Unity打算在未來廢除UNet的技術維護,我們這邊也找到了相應的替代方案準備移植)
空間同步,使用Unity內建的vuforia來實現。
空間同步算法,我們實現了自己的空間坐標系同步算法,并申請了相關專利。
如上所見,我們實現的三方視角軟件版本,除了開發引擎Unity3D之外,不需要任何額外的額外程序庫來輔助,這也對我們的開發帶來了極大的便利。
就在我們即將商用的時候,我們驚訝地發現微軟也提供了類似的實現方案(用支持AR的手機作為三方視角),剛開始我們覺得是不是做了沒用的東西。但我們研究了微軟的實現方案之后,發現這個版本的實現方案里面用了大量外部庫,開發起來難度非常大。這讓我們覺得,在技術選型上,這次我們領先了。
我們的iPad版本的三方視角相對于微軟版本有幾個更有價值的功能。
控制權管理:再多人操作的時候,我們通過管理物體的控制權,可以減少不同設備之間的操作沖突。
手持設備操作:在實現上我們的手持設備(iPad)和HoloLens 有著相同的功能,HoloLens 可以進行的操作,iPad同樣可以操作。
空間坐標系同步的二次糾正:我們用了三張圖片來進行空間識別,這些圖片互為糾正,這樣我們就可以實現更準確的空間同步。
通過二維碼傳遞服務器信息,相對于微軟版本的手動輸入服務器ip,我怕們可以一次掃描,立刻鏈接。
更細致的位置校準:iPad的中心位置是攝像頭,而識別位置是屏幕中心,這個誤差距離有接近10厘米左右,我們會在算法中把這個誤差中和掉。另外就是iPad和HoloLens在移動中會有不同步間距的問題,我們也在算法中把這個誤差給中和了。
更多不同設備的支持,我們實現了對國產設備nreal和Action One的支持,可以讓不同設備在這一個平臺里面相互操作同步。
我覺得,在這一個手持設備第三人稱視角的是線上,我們是強過微軟的版本的。這不是因為我們實力更強,而是相對于微軟的實驗室研發,我們的大部分功能是客戶罵出來的,我們用這套手持第三人稱視角實現了幾十個項目,每次都會遇到不同的問題,然后客戶罵我們,我們就解決,很多不到現場不會暴露的問題,我們可以在第一線的工作中得到比微軟更多的反饋,這也是讓我們自豪的事情。
但是如你所知,微軟在HoloLens 2發布之后,微軟提出了基于云計算的三方視角版本,而放棄了手持設備版本。
手持設備的AR不穩定,可能是微軟退出這一領域的原因之一。再加上對人物的攝影成像并不如攝像機清晰,也是我們這套三方視角被詬病的原因之一。這兩朵烏云纏繞在我們團隊之上,久久不能散去。
3. 今天——iPad Pro 2020 完美的解決方案
iPad Pro 2020的發布,AR激光雷達的使用,讓手持AR設備第三人稱視角的實現脫胎換骨,如果說AR不穩定和成相不清晰是兩個烏云的話,iPad Pro 2020就是吹走烏云的東風。
我們團隊第一時間采購了一臺iPad Pro 2020,對其進行測試和調優。
我們發現基于激光雷達的新版本iPad Pro,其AR穩定性達到了一個幾乎變態的程度,我們可以切換出程序再進來,或者當主攝像頭旋轉。之前版本的iPad 肯定會丟失坐標,但這個激光雷達版本不會,這樣就避免了大部分客戶的誤操作帶來的三方視角失敗。
新版本的iPad Pro標配6G運存,我們嘗試鏈接很多臺設備也不會導致系統崩潰,這個是之前2G運存的iPad版本所渴望不可及的功能。
和以前模糊的圖像不同,新版本的iPad可以達到1080p的攝像解析度,雖然這個解析度還是趕不上專業的攝像機,但是借助iPad優秀的人工智能芯片,能得到非常優秀的攝像圖片。
當然,在這時候我們的第三人稱視角的主人公已經換成了HoloLens 2代設備。
在這里,我們得益于微軟提供的工具庫MRTK2。和之前的版本不同,這個版本已經是一個可以跨平臺,完美運行于iOS設備上的工具了,這讓我們可以很容易的在iPad和HoloLens 2上實現相同邏輯的操作。
4. 未來——更美好的明天更多的選擇
花開兩頭,各表一枝。
微軟借助自己的云服務和硬件功能,在HoloLens 2 上實現了更加面向未來的基于云服務和新版本Azura Kinect的第三人稱視角。雖然目前還沒有看到市面上實現的相關方案,但是得益于技術的不斷進步,這個實現方案也會更加精確和快速,甚至可以通過云儲存和云計算實現記憶和共享的更有趣的功能,這也是我們所期許的未來。
但這樣不代表基于iPad版本的手持AR設備第三人稱視角會被替代,iPad版本作為三方視角具有以下優勢和特點。
成本低,一臺iPad Pro只需要6000元人民幣
部署攜帶方便,不需要額外的配置
不需要連接互聯網,對那些不能上云的服務格外有吸引力
在最初版本的第三人稱視角淘汰之后,不論是基于iPad Pro的手持設備版本,還是基于kinect的云服務版本,都會是客戶更好的選擇,我相信他們不是競爭,而是攜手服務更多的客戶,覆蓋更多的需求。
今天,我們把這些方案和工具提供到你的面前,你可以都放入你身邊的工具箱中,在不同的項目中按需使用。可能未來還會出現更多的方案。一定會有更適合你的哪一個存在。
原文來自映維網:https://yivian.com/news/74486.html