Pico深度分享:如何提升定位追蹤,將Neo 3打造成實力派產品
深入Neo 3頭部、手部的追蹤定位技術。
在3月份,映維網採訪了Pico CEO周巨集偉先生,回顧了Pico在過去一年的發展與成長,也探討了即將於5月10日正式釋出的一體式VR頭顯Pico Neo3的未來市場潛力。
在上次採訪中,Pico CEO周巨集偉先生表示,Pico Neo 3有望實現十倍於Pico Neo 2的銷量增長。映維網對此從開發者生態、消費者服務、軟體內容生態、硬體產品價格等角度進行探討。儘管這涉及了一系列因素,但所有因素的最基本前提還要取決於產品本身——Pico Neo 3。如果說最終給到消費者手中的Pico Neo 3並不是一款優秀的技術產品,一切就可能成了空談。
自四月初以來,Pico已經公佈了Neo 3的多項規格引數和技術效能指標,其中就包括定位追蹤技術相關。定位追蹤效果是目前衡量一款產品好壞的最核心技術表現之一。在近期與映維網的交流中,Pico技術總監Fred深入分享了Pico Neo 3在頭部追蹤定位、手部追蹤定位、MR透視效果上實現的重大改進,以及團隊在手部互動上的初步探索。
1. 頭部定位追蹤的升級
在Pico Neo 3上,Fred帶領團隊設計了全新的頭戴端關鍵感測器的硬體佈局。重新設計了感測攝像頭模組,採用了4路超廣角追蹤感測攝像頭,配備了更高精度的IMU慣導感測器,精調了IMU和感測攝像頭的相對佈局。
新感測攝像頭的可追蹤範圍從Neo 2的127°x80°增加到了145°x110°。通過將四個感測攝像頭分別分佈在Neo 3頭顯正面的上、下、左、右四個角落,使得整體追蹤範圍能達到238°x195°。再加上全新的IMU慣導感測器,以及重新定義的IMU、感測攝像頭相對佈局,將Pico Neo 3追蹤系統的精度和穩定性提升到了一個新臺階。
比如說,用於輔助定位追蹤的IMU是很敏感的感測器,其周圍環境溫度高就會造成明顯累積漂移,理論上IMU需要儘可能遠離散熱源,比如感測攝像頭的的散熱源。IMU還對振動很敏感,散熱風扇的轉速也會帶來偏差影響。所以,如何設計IMU和感測攝像頭之間的佈局,也非常重要。
Fred帶領團隊還設計了基於高通驍龍XR2 DSP架構下的先進計算機視覺演算法。
VR對SLAM提出了更高的精度要求,精度誤差過大容易造成體驗眩暈,如果希望獲得更高的精度資料需要更多的計算資源來支撐,而且如果用CPU資源來進行SLAM運算,那麼其它程式對CPU計算資源的呼叫也會影響SLAM穩定性。因此,Fred團隊選擇在DSP架構下解決頭部定位追蹤問題,另外Neo 3上手部控制器的定位追蹤也更換到在DSP下運算。DSP跟CPU計算資源並不衝突,更多的CPU計算資源也因此可以得到釋放,提供給VR App程式使用,給VR App程式提供更充分的執行效能保證。
Fred表示,在這個架構下,團隊最終實現了:
- 高效、穩定的位置識別,可以高精度檢測識別場景中物體的各個角點或者地板圖案
- 實時高效,高精度構建環境地圖
- 通過融合高精度的IMU慣性導航資料,實時修正追蹤誤差,使用者場景中開玩時間越長,系統學習優化能力就越強,精度就越高
- 通過設計高精度的運動預測模型,利用低延時的IMU慣性導航資料去彌補感測攝像頭固有的低幀率缺陷,可極大減少運動延時(因為攝像頭幀率30Hz遠遠低於Neo 3渲染幀率90Hz)
Fred說:“在團隊的努力下,跟上一代Pico Neo 2相比,總體來說Pico Neo 3在追蹤精度、穩定性以及大場景環境下的穩定性上有了非常大的改善,頭部的追蹤精度也從Neo 2毫米級提升到了Neo 3亞毫米級,追蹤延時(MTP)也降低到了<2ms。”
2. 頭部定位追蹤的測試
為了保證最終能給使用者帶來一個精度更高、穩定性更好的定位追蹤系統,Fred團隊採用高精度OptiTrack動作捕捉系統去反覆模擬使用者的使用場景,模擬使用者的使用、轉頭、運動等,模擬地板紋理、材質、燈光、光照、窗簾、鏡子反光、電視畫面等常見的干擾性物體環境。
團隊在青島搭建了一個10米 x 8米的高精度OptiTrack動作捕捉系統大空間,並開發了相應的資料分析系統。利用OptiTrack動作捕捉系統採集的資料,對比分析Pico Neo 3頭戴端的定位追蹤資料,在不同的模擬環境場景下針對兩者資料差異進行分析,排查暴露出來的定位追蹤問題。
Fred說:“通過兩個資料對比分析,我們去看哪些場景下哪些配置下,精度上會有差異。我們就去排查我們的追蹤系統,是哪方面有問題,是前端問題還是後端問題,然後進一步優化修正我們的追蹤系統,最終使其精度達到亞毫米級別目標。我們錄製了幾千個小時資料,模擬採集了電影院、商場、餐館、學校等300多個場景資料,80%以上的場景能做到亞毫米級。”
3. 頭部定位追蹤的案例表現
全新的頭戴端硬體架構,追蹤範圍的大提升,以及演算法的優化改進,使得Pico Neo 3能夠適應更復雜的遊玩環境,即使在較暗、較亮或低紋理環境下也都能夠表現穩定的追蹤效果。
Fred舉例說,好多Neo 2玩家會在客廳裡開著電視玩VR,而他們戴上頭顯之後,頭顯又剛好正對著電視,如果玩家離電視稍微近一點,電視畫面就會充滿Neo 2追蹤範圍的主要區域,結果是電視畫面的運動會影響頭顯的SLAM演算法,影響頭部的定位追蹤效果,給玩家帶來不舒適的體驗,甚至眩暈感。
這主要是因為頭戴端SLAM會以外界真實世界為參考系,會假定外界世界是靜止的,但實際大部分環境中外界真實世界不可能完全靜止,因為其中會有一些其他運動物件,而這些運動物件就會跟頭戴端產生相對運動效果。如果相對運動效果超出了演算法追蹤能力,就會不同程度地影響SLAM演算法。
Fred說:“在戶外、體驗店、人流量大等場景,也會存在這種潛在風險。現在,在Neo 3上,得益於更大的追蹤FOV,這些相對運動畫面在整個追蹤範圍中只是一部分,同時我們通過演算法優化,解決了這個問題,保證了頭部追蹤的穩定性。”
更大的FOV有利於系統去觀測更大範圍的外部真實環境,而在左上角和右上角的兩個感測攝像頭主要是斜向上覆蓋,能夠捕捉到大範圍的外部真實世界靜止畫面影像(相對而言),以致於能更好地保證SLAM定位追蹤的穩定性。
除了FOV的加持,Fred團隊還優化了演算法,實時檢測運動畫面關鍵特徵資訊,通過前後幀的對比,拋棄干擾性外界運動元素。
Fred說:“主要是通過當前幀三維環境的影像資料相對上一幀資料的變化量計算當前Camera 位姿資訊。為了提高估計精度,需要對三維環境中的環境特徵進行持續追蹤,對每一個環境特徵計算一些屬性資訊,比如環境特徵的速度等資訊。通過這些資訊進行融合,計算每一個環境特徵的置信度,對置信度低的環境特徵進行剔除,不進入當前幀Camera位姿的計算。”
根據宣傳資料,Pico Neo 3同樣支援高效高精度的環境地圖實時構建。相比Pico Neo 2,新款Pico Neo 3增加了地圖管理系統,支援5個高達10m * 10m安全遊玩區域的記憶與恢復,成功恢復率在95%以上。全新的地圖管理系統可在使用者開玩過程中進行持續的環境學習,逐漸改善優化使用者設定的遊玩區,實現更加精確的安全遊玩區域,實時地面檢測精度誤差低於10mm。
4. 控制器定位追蹤的升級
在6DoF動作控制器上,Pico Neo 3採用了基於光學的控制器定位追蹤解決方案。在大FOV追蹤範圍下,這個方案整體上比基於超聲波追蹤和基於電磁追蹤的方案要更優。
對於第一代Pico Neo 1採用的超聲波解決方案,Fred表示,超聲波訊號容易受距離約束,距離越大訊號衰減越快,容易導致控制器6DoF位姿資訊精度誤差變大,而且超聲波雖然可以不受外界環境光干擾,但也會受超聲波相關的干擾(比如風吹)。
Fred繼續評價第二代Pico Neo 2採用的電磁解決方案說,這個方案的一個好處就是沒有FOV限制,可以進行360°的追蹤定位互動,但是精度要求越高,電磁感測器的功耗就越大,也會容易造成控制器發熱、手部出汗。
另外,無論是超聲波解決方案還是電磁解決方案,都需要佈置專門的感測器,這也會增加最終產品的成本。
對於Pico Neo 3採用的基於光學的控制器定位追蹤解決方案,則不需要額外或者特殊感測器,可直接複用頭戴追蹤感測器解決控制器的6DoF位姿計算,使得產品的成本更低,也可以大大降低控制器的功耗。其次,該方案也更能保證追蹤精度。
Fred說:“第三代控制器追蹤系統,通過在控制器上按照一定規則佈置一些LED燈,複用頭戴端內建的四路追蹤相機,以及系統高精度的設計,使其控制器端的LED發光光斑的閃爍頻率和頭戴端Camera拍攝頻率完全同步。通過高精度的系統設計方案,結合IMU 感測器和Camera感知環境的各自優劣效能,用這兩種感測器資料設計了高精度的緊耦合融合演算法,可以實時獲取控制器高精度6DoF資訊。高精度的控制器追蹤6DoF資訊,結合高頻率的IMU和低頻率輸出的Camera資料,再結合實時高精度獲取控制器的MTP(Motion-to-Picture),我們設計了高精度的運動預測模型,對控制器的追蹤運動延時做了很大程度上的補償和優化。”
5. 控制器定位追蹤的挑戰
跟上一代電磁方案相比,因為感測攝像頭有FOV限制,基於光學的解決方案不能做到360°的追蹤範圍,但是團隊通過優化頭戴端的四路廣角追蹤感測攝像頭,使得整體追蹤範圍能達到238°x195°,也能滿足諸如《Oshape》、《Beat Saber》、《Eleven Table Tennis》等對控制器追蹤非常有挑戰的遊戲,實現更好的自由互動。
除了控制器追蹤範圍,Fred說,基於Inside-Out的光學控制器追蹤還存在下面兩個關鍵技術挑戰,包括:
- 如何在攝像頭拍攝的影像中準確獲取控制器LED發光光斑,而不是環境光的干擾光斑
- 如何利用IMU慣導資訊結合光學資料進行控制器6DoF計算與追蹤
在真實遊玩場景中,基於光學的解決方案會受到不同程度的環境光影響,比如天花板燈光、周圍環境散射光等等。為了解決環境光干擾,Fred團隊構建了MobileNet神經網路模型和光斑檢測器。
根據Fred介紹,MobileNet神經網路模型是基於DSP的毫秒級深度學習系統,能夠實時高精度定位控制器在影像中的位置。MobileNet能解決:1、複雜光照環境下的控制器追蹤定位 ;2、距離頭戴遠近的控制器追蹤定位;3、在高速運動下影像模糊的控制器追蹤定位。
6. 控制器6DoF位姿資訊的演算法求解
解決了環境干擾光,還需要能精確計算出控制器的6DoF位姿資訊。為了得到更精確的控制器6DoF位姿資訊,通常會同時利用IMU感測器慣性資料以及感測攝像頭光學資料。這就涉及團隊採用的緊耦合融合演算法。
與“緊耦合演算法”同門的還有“鬆耦合演算法”,“鬆耦合演算法”只需要感測攝像頭光學資料就能解算出控制器的6DoF位姿資訊,但是精度誤差會比較大,然後再利用IMU感測器慣性資料進行後期優化,希望使得最終6DoF位姿資訊更精確。
與“鬆耦合演算法”不同的是,“緊耦合演算法”是同時利用IMU感測器慣性資料和感測攝像頭光學資料去求解控制器的6DoF位姿資訊,這也就是Fred團隊設計的“控制器追蹤6DoF求解優化器”採用的演算法。這樣的設計方案可以簡單理解為包含引數因子“IMU感測器慣性資料”和引數因子“感測攝像頭光學資料”的二元數學方程,但又不僅僅是簡單的二元數學方程,因為“IMU感測器慣性資料”和“感測攝像頭光學資料”都還包含了非常多的特徵引數,這使得求解該方程變得異常複雜。
Fred說,這樣的方程很複雜,不同的團隊可以設計出不同的方程,也就是不同的求解演算法,最終的追蹤效果也有差異。而Fred團隊最終設計的“控制器追蹤6DoF求解優化器”最終解決了4個關鍵問題:
- 需要滿足在追蹤控制器LED光斑在影像上成像1個點,2個點,3個點,4個點及以上的狀態變化
- 能容忍2個及以下的LED光斑誤匹配狀態
- 能滿足多感測攝像頭視角下同一個LED光斑多個觀測的狀態切換
- 重投影誤差小於0.2個畫素以下
Fred說:“基於光學的追蹤,控制器上會有一堆光斑點,它們會投影在感測攝像頭捕捉的影像上。通過投影影像上的光斑點和控制器的光斑點對應匹配,去解決控制器相對頭戴的6DoF位姿問題。這是一個很經典的問題,我們叫PnP求解問題(Perspective-n-Points)。一般來講,他需要四個點及四個點以上,才能計算出來一個位移其很穩定的6DoF位姿資訊。但是在實際玩VR中,控制器離頭戴很近的時候可能只有1個點或2個點,控制器在頭戴側面的時候有可能小於4個點。在4個點以下的時候,對6DoF的求解會帶來一定的挑戰,精度和穩定性會有很多問題。我們的優化器解決了這個問題,在這種情況能依然合理地、穩定的解出一個高精度的6DoF位姿資訊。”
Fred還表示,為了驗證團隊“控制器追蹤6DoF求解優化器”的結果,團隊將光斑進行了重投影匹配,重投影誤差目前能做到小於0.2個畫素。
7. MR透視效果的改善
除了頭部定位追蹤、控制器定位追蹤,Fred表示Pico Neo 3的MR透視效果也得到了大大改善。
如何去通俗理解在VR上做MR透視的問題呢?如果你身邊有玻璃水杯或房門貓眼等,你可以透過它們去觀察體驗一下。
將頭顯戴在眼前之後,因為人眼和攝像頭之間有一定的位置距離,通過攝像頭捕捉影像畫面的位置並不是人眼的實際位置,所以通過攝像頭去模擬人眼就會產生視覺差異,其中會出現影像形變、晃動等等,讓使用者感覺不真實,所以我們需要用複雜的演算法去矯正這種差異。
Fred說,團隊設計優化了高精度、高魯棒性的立體視覺校正演算法,通過深入理解每幀環境物體之間的距離,高精度估計使用者環境深度資訊。最終,他們在Pico Neo 3上做到了場景深度估計精度最大誤差 < 20mm,以及ms級延時,使得使用者在透視模式下觀察外部環境能更流暢、更逼真、更自然
8. 展望手部互動
在本次交流最後,Fred還跟我分享了在Pico Neo 3上實現的手部互動特性,當然Fred強調這是一個比較早期的功能,後續會通過升級優化來推出並改善。
目前的手勢互動系統支援28自由度的手部追蹤,支援搭建高精度的自動標註平臺,實現百萬級高精度資料標註,支援 5種手勢模式。
Fred表示這是一個非常值得期待的功能,他們團隊後續會繼續優化、升級。
9. 結語
在本次與映維網的交流中,Pico技術總監Fred分享了非常多的技術細節問題以及團隊的實際解決方式。儘管我還沒有親自上手體驗過這款產品,但本次交流也讓我對Pico Neo 3這款產品懷有了更大的期待。
我相信,更穩定更先進的技術、更實惠的價格、更豐富的內容生態,將能有利推動6DoF一體式VR在中國市場的發展,我們拭目以待。最後,希望Pico Neo 3能在5月10日的新品釋出會上給使用者一個“有競爭力”的實惠價格。
作者:劉源
來源:映維網
地址:https://news.nweon.com/85205
相關文章
- BOS分散式鏈路追蹤產品揭秘分散式
- 如何做產品定位?
- 如何追蹤產生大量REDO的來源
- 數字產品護照 (DPP) 解決方案:利用 Blazor 和區塊鏈實現產品全生命週期追蹤Blazor區塊鏈
- 如何在 HDRP 中實現光線追蹤?
- Mac競速賽車遊戲:極品飛車14:熱力追蹤 for MacMac遊戲
- 如何追蹤laravel動態Laravel
- 如何追蹤Go動態Go
- 如何追蹤Java動態Java
- 如何追蹤Python動態Python
- 如何追蹤vue動態Vue
- 電力資料:追蹤全球電力市場轉型
- 如何追蹤laravel動態<二>Laravel
- Spuernova 是如何提升 Flutter 的生產力Flutter
- 如何快速提升自己硬實力
- 追蹤掠食者:地下灰產如何擼死創業公司?創業
- 位元組如何利用A/B實驗提升產品使用者留存?
- 如何做路由追蹤?【免工具】路由
- 極品飛車14:熱力追蹤 for Mac(競速賽車遊戲)附完美存檔Mac遊戲
- 搭建 sentry 追蹤 Laravel 生產環境 bugLaravel
- 資料產品Bug定位流程與實用方法
- RAG實戰3-如何追蹤哪些文件片段被用於檢索增強生成
- 實時渲染路徑追蹤概述
- 聊聊產品的重新定位
- 日誌追蹤
- 程式碼追蹤
- 鏈路追蹤
- Map、Debug追蹤
- Debug追蹤eclipseEclipse
- 如何借力DMAIC擴充水產品市場?AI
- 如何透過華為分析提升產品留存率?
- 分散式鏈路追蹤Jaeger + 微服務Pig在Rainbond上的實踐分享分散式微服務AI
- 追蹤將伺服器CPU耗光的兇手伺服器
- “全場景無線”實力再提升銳捷旗下產品全面支援802.11acWave2
- 高手講解《網上快3如何規劃本金》實力分享
- Nintendo Switch(OLED 款式)Polygon 評測:提升巨大的「將就」產品Go
- Blazor Bootstrap 元件庫地理定位/移動距離追蹤元件介紹Blazorboot元件
- 將 Vim 打造成 python IDEPythonIDE