Oculus揭祕Touch控制器追蹤技術:LED 匹配

映維網 2019年11月05日)映維網曾在九月分享了一篇關於Oculus Constellation追蹤系統,其中負責AR/VR設備輸入追蹤的Facebook工程經理安德魯·梅利姆(Andrew Melim)撰文介紹了他們是如何用基於Constellation追蹤的控制器來提高交互保真度。日前,梅利姆再次撰文,並講解了他們在最近版本更新中所採用的最新LED匹配方案。下面是映維網的具體整理:

延伸閱讀:深入探索Oculus Insight如何提高追蹤保真度,確保內向外追蹤系統性能

1. 從二維blob到三維姿態

攝影測量中存在一個經典問題:Perspective-n-Point(PnP),亦即在給定圖像及其裡面的已知3D點的情況下識別camera姿態。我們要解決的問題是確保控制器追蹤工作正常進行,而與PnP問題相反的是,我們已經能夠很好地估算出頭顯camera姿態,但我們希望找到具有已知3D點(LED)的控制器姿態。

一旦檢測到攝像頭成像中的每個紅外LED,我們需要解決的困難是確定從每個blob到控制器特定LED的映射。我們利用LED位置及其到blob的映射來確定控制器的位置和方向。由於我們僅使用頭顯數據來執行跟蹤,所以我們必須高效地執行這一過程的每個部分。

計算機視覺中的Blob是指圖像中的一塊連通區域,Blob分析就是對前景/背景分離後的二值圖像,進行連通域提取和標記。標記完成的每一個Blob都代表一個前景目標,然後就可以計算Blob的一些相關特徵,如:面積、質心、外接矩形等幾何特徵。同時可以計算Blob的顏色、紋理特徵,而它們都可以作為追蹤的依據。基於Blob的追蹤屬於基於區域的追蹤。

在將blob與LED匹配的過程中,我們圍繞可能正確的潛在匹配生成一組假設。為了計算出準確的姿態,我們需要最少的匹配項。我們的算法能夠根據我們處理的各種變量來從概率方面確定最可能的正確匹配。不正確的映射會納入直接導致姿態估計不準確的錯誤,所以我們需要在每幀中獲得足夠的準確匹配。

2. 用多視圖來優化匹配

為了解決LED匹配問題,我們實現了在每幀上運行的多種方法。但廣義上講,它們分為兩個主要類別。第一是窮舉方法,亦即強制應用解決方案,而我們通俗地將其稱為“暴力匹配”。當沒有關於控制器位置和方向的先驗信息時,我們就會使用這些方法。當從前一個攝像頭圖像中獲得控制器的姿態時,我們就可以在更小的窗口內進行搜索,而我們將其稱為“接近匹配”。

在一開始,管道一次搜索一個camera中的blob。這要求假設生成blob和驗證blob都在同一個camera中,亦即意味著一個camera中至少要檢測到4個blob才能成功匹配。另外,它非常有可能導致多個camera之間產生矛盾匹配結果。為了解決這個問題,我們開發了全新的匹配管道:在評估不同camera中的LED-blob對應關係時,它將利用立體攝像頭校準數據。這使我們能夠依靠每個攝像頭之間的關係來幫助解決不確定性。

Oculus揭秘Touch控制器追蹤技術:LED 匹配


這個方法改善了單個camera缺乏足夠匹配,但當所有camera圖像組合在一起時就具有足夠匹配的場景。最嚴重的情況是控制器靠近視場邊緣,太遠、太近或存在遮擋。

由於匹配結果是整體評估,而非根據單個camera評估,所以這同時排除了匹配結果不一致的可能性。這有助於擴大控制器的追蹤量,並減少因為過於靠近頭顯或視場邊緣而造成的追蹤損耗,從而實現了更為流暢的追蹤體驗。

3. 用更少的數據進行計算

從理論上講,僅給定一個camera圖像,你至少需要看到三個LED才能解析控制器的姿態。但是,僅利用三個點會產生多種可能的解決方案,所以我們需要至少四個正確的匹配才能穩健地解析姿態。

攝像頭一次只能看到3個,2個,或者甚至1個LED是相當普遍的情況,所以我們設計了一個可以使用其他信息並支持較少LED的求解器。反過來,它包括以下的全新求解器,並使得我們能夠追蹤那些特別具有挑戰性的方向:

P2P pose solver

  • 使用2個匹配項和先前的姿態方向信息來解析姿態的位置component。
  • 將最小匹配要求減少到3個(2個假設生成匹配和1個驗證匹配)。

P1P pose solver

  • 使用預測姿態直接驗證匹配,而非通過統計或最接近預測進行驗證。
  • 將最小匹配要求減少到2個(為了立體姿態優化,確保適當地限制平移和縮放)
  • 在少於4個LED的情況下,使用僅位置的立體姿態優化。

經過大量的實驗,我們發現P2P求解器和P1P求解器都需要非常準確的先驗信息(良好的追蹤狀態和準確的預測),因為它們依賴於預測姿態來作為解決問題的嚴格約束。

但在“粗暴匹配”中,先驗信息不太可靠,所以我們注意到諸如錯配控制器或錯配光管之類的問題。這促使我們開發了穩健的狀態機,它允許我們能夠在各種求解器之間進行轉換,從而確保我們使用正確的方法來處理Quest和Rift S每天遇到的各種困難動作。

儘管這些改進極大地幫助了我們,但我們在改善整體體驗方面還有更多的提升空間。

原文鏈接:https://yivian.com/news/68290.html


分享到:


相關文章: