0
| 本文作者: 劉芳平 | 2017-02-14 07:46 |

Hypereal 定位燈塔
眾所周知,HTC Vive 是 VR 領域最優秀的頭顯之一,而之所以能做到這點,很重要的一個原因就是應用了 Valve 的 Lighthouse 激光定位技術,為頭顯帶來房間級的游玩體驗,同時也幫助實現了手柄的動捕操控。可以說 Lighthouse 是 Vive 的核心技術之一。
現在,這一核心技術被國內創業公司 Hypereal 開源了。當然,開源的并不是 Valve 的技術,而是 Hypereal 研發的版本。Valve 此前亦將 Lighthouse 開放給第三方廠商,但并沒有開放源代碼。
今天,Hypereal 在其官網上放出其激光定位系統的源代碼和技術文檔。從各模塊開源內容詳解來看,主要圍繞著核心的激光定位技術,包含硬件、軟件和算法。基于這一整套源代碼,第三方可以自行開發出一套帶室內激光定位的VR設備。
據 Hypereal 介紹,開源的內容主要包括以下三個部分:
硬件部分, Hypereal 激光定位系統硬件部分設計與實現細節都在此次開源中有介紹,內容涉及電路與嵌入式軟件。開源涉及的組件均由 Hypereal 激光定位系統原理性驗證機版本總結整理而來,去除了驗證系統設計中其他與定位特性無關的內容。系統整體結構上分為相對獨立的兩大部分,分別是作為定位信標的激光線束掃描燈塔與被定位設備。
軟件部分,Hypereal 的定位設備,包括 IMU 和 Light Sensor 的驅動程序以及 sample 程序都徹底提供。有了這些驅動程序,VR HMD 和解決方案提供商能很容易獲取被定位設備的姿態和位置信息,燈塔的位置和狀態,并和 Hypereal 定位算法庫集成,第三方可以把 HYPEREAL 的燈塔定位方案集成到自己的 SDK 或者應用中。
算法部分,Hypereal 直接提供了一個完整的燈塔定位算法庫,包括所有的核心算法模塊:燈塔掃描和 IMU 數據的解析和處理,姿態求解算法,數據融合算法,雙燈塔融合算法,運動預測算法等等。算法庫框架完全基于模塊化設計,開發者可以基于此框架一鍵式進行算法研究和定制開發工作。

Hypereal 創始人黃柴銘
Hypereal 這次開源是早有預告的,在該公司于去年 ChinaJoy 上發布首款產品后,就宣布要將自家的激光定位技術開源。至于為什么要開源,該公司 CEO 黃柴銘是這樣解釋的:
壟斷意味著高價,但 Hypereal 的愿景是為大眾提供性價比最高的VR解決方案。目前的燈塔方案雖然效果好,但是技術實現難度比較高,不利于VR產品的普及。我們把自主研發的燈塔技術完全開源出來,是希望更多人參與到該技術的研發和改進中來,加快技術的成熟和成本的降低,以此來促進產業的發展。我們的下一代產品將采用全新的技術,請大家拭目以待。
根據 Hypereal 此前發表在公眾號的一篇文章介紹,燈塔(lighthouse)定位技術的最早原型是在1989年被提出的 Minnesota Scanner,其原理是利用掃描激光面對空間進行編碼進而對物體做跟蹤。而后有很多人基于相似原理做了改進用于不同領域的應用中。Valve首先把它成功的帶到了VR消費電子領域。
Hypereal 圖形技術總監陳祿在去年 CGDC 的演講中,對該公司研發的燈塔定位技術進行了介紹:

HyTrack早期原型、基本原理
這是我們公司自己研發的比較早期的原型,做得比較裸。左邊是燈塔,有兩個電機,電機上面有透鏡,這里有一個小動畫演示燈塔的結構,可以看到通過透鏡把一束激光變為一個扇面,再利用電機使得激光面勻速掃描。
中間的部分是我們頭顯的早期原型,上面有很多小的線路板就是我們自己制作的傳感器模塊,每一個中心有一個光電二極管。傳感器把光信號轉成電信號再到數字信號,然后傳到計算機里。基本原理如上圖,左邊這一塊是激光掃描扇面的頂視圖,激光會從一個基準位置開始向下掃。在掃過基準位置時刻,我們會發射一個無線同步信號。藍線是掃到每個光電二極管的激光面。
右邊的圖是傳感器上面的時序圖,從收到無線同步信號的時候開始計時,當被光掃過的時候,會留下一個很小的間距的光脈沖,測量脈沖中點時刻,結合電機轉速,我們可以計算得到該掃描面相對基準平面的夾角。這樣我們就知道這個點處在空間當中哪一個平面上。通過兩個方向的掃描,被照到的傳感器點我們可以確定其在空間當中的某條直線上。
在這里我們和VIVE采用了不同的技術方案,他們使用的光同步,燈塔會有LED燈。無線同步的好處是,燈塔之間不用同步線連接了,或者燈塔不用互相對著擺放。兩種方案在工程實現上的區別很大,測量手段也會不一樣,但是本質上都是為了獲得同步信號時間。
他接著解釋了算法原理,主要是基于一個數學模型:

數學模型
我們通過光學系統所得到的其實是兩個角度,這樣就可以知道,這個物體的某些點在投影平面上的坐標。這里等同于一個小孔成像的相機模型,也可以很好地表達成一個線性的約束。
在靜止狀態下我們已知傳感器點的相對位置,當物體運動過之后,可以得到某些點的掃描觀測值,因為它被照到,它會處在這個空間當中某兩個面的交線上,這個可以很好的寫成一個線性約束表達式,可以把它們聯立起來,相當于做一個最優化的問題,我需要求解在滿足這些約束情況下最優的旋轉和平移。
這個問題其實是一個比較標準的問題,求解的方法也非常多,其實在視覺領域,對這類問題有很多人做過不同的方法,比如說你怎么樣參數化你的旋轉,就會有不同的方法,基本上這個應該算是一個比較成熟的問題。

算法流程圖
以上我們提到的是激光系統的原理,但不要忘了,在頭盔和手柄上還可以利用IMU。其實在有陀螺儀、加速器和磁力器的情況下,IMU本身也可以做定位工作,但是它有個很大的問題——會漂移。
其實我們對這個物體姿態有兩個數據來源,一個是IMU,一個是激光系統,這兩套系統理論上都可以獨立對這個姿態進行估計,IMU的好處是采樣頻率高在短時間內相對來說比較精確,壞處是稍微長一點時間就會有較大漂移。而激光系統則是在大尺度下相對比較精確,但是它可能被遮擋和有誤差。我們要做的工作之一就是怎么把這兩個信號融合在一起。
這就是我們HyTrack定位系統的基本原理。
前文已經提到,Lighthouse 定位是 HTC Vive 的核心技術優勢之一,而 Hypereal 也表示,基于這一整套源代碼,第三方可以自行開發出一套帶室內激光定位的VR設備。那么這一開源舉措對業內會有怎樣的影響呢?對 Vive 來說又意味著什么?
為此雷鋒網詢問了幾位業內人士的看法。
一位同樣從事 VR 空間定位領域,不愿具名的人士對雷鋒網表示:
開源是一個非常好的舉動,這種開放的做法必然加大國內的技術交流水平,推動國內VR行業的整體發展。
但激光定位是一套整體的工程,代碼電路圖只是整個技術環節中的一部分,如果要實現真正的產品化,還將面對大量的問題——軟硬件的集成度還很低,大量的Know-how必須處理。正是因為這樣,所以一些國內的從業者會選擇與專業廠商進行適配,定向開源。
VR定位領域的技術研發,90%的功力要花在最后10%的優化上,只有做完這10%,才能真正達到國際大廠的水平。總體上這套代碼足夠業余愛好者搭建一個基礎Demo實用,但如果真的要形成量產的產品,還有較長一段路要走。
實際上,國內另一家同樣推出了激光定位方案的公司 G-Wearable 也將自家的技術開源了,但是只針對廠商。“因為這東西制造難度不低,就算開源,沒有很認真的投入也做不出來。”G-Wearable CEO 郭成告訴雷鋒網。
UCVR 聯合創始人 & CEO 胡金暉認為,
Hypereal 的光塔定位技術和 Vive 很相似(或者說理論基礎一樣,實現方式大體一樣),但在一些細節地方實現方式有不同。
體驗效果的好壞其實來源于很多技術細節。比如我在西雅圖學習 Vive 光塔技術的時候 Synapas 提到了多種產生誤差的可能,和他們具體的解決方法。但從這兩份文件里面沒有提到細節,所以不好判斷。
但有一點我很欣賞這個團隊,他們把 Lighthouse 做出來了。不管別人再說抄襲也好怎樣也好,能做出來就是王道,而且 Hypereal 也有自己的創新點 希望他們盡早以專利的形式將自己保護起來。
對于行業的意義主要還是在于精神層面 ,因為這種技術想被廣泛授權有點難度,真的背后還是要有一個平臺支持(套用 HTC 汪叢青的話)。精神層面就是能夠給予中國技術流派 VR 公司一劑強心劑。
雷鋒網編輯也曾體驗過 Hypereal 的產品 demo,發現它可以提供接近 Vive 的體驗,但仍存在抖動及穩定性欠缺等問題。
總體來說,Hypereal 開源受到業內歡迎,但其影響如何仍有待觀察。至于對 Vive 的影響,顯然還是有限的。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。