在談論AR和VR系統(tǒng)時,預測性追蹤是指預測對象或身體部位的未來方向和/或位置的過程。 例如,人們可能想要預測頭部的方向或手的位置。
尤瓦爾·博格(Yuval Boger)是Sensics的執(zhí)行總監(jiān)兼OSVR的聯合創(chuàng)始人。尤瓦爾與他的團隊設計了OSVR的軟件平臺。他經常都會在自己的博客上分享他的觀點和經驗。下面是最新來自尤瓦爾的分享。
1. 為什么預測性追蹤很有用
預測性追蹤的一個常見用途是減少“運動到光子”延遲,這意味著運動到運動之間的時間,以及運動呈現在顯示器上的時間。由于運動到運動之間存在部分延遲,當關于運動的信息最終投影在屏幕上時,將預測的未來方向和位置作為更新屏幕的數據可以有效縮短感知延遲。
雖然人們十分關注針對虛擬現實應用程序的預測性追蹤,但這項功能對增強現實也是非常重要,尤其是因為存在用戶在現實世界的瞬時移動,以及需要與增強現實的數字覆蓋進行比較。比方說,你需要將數字影像疊加在物理對象中,這一數字疊加“鎖定”于物理對象將會變得尤為重要。攝像頭或許能識別對象,但攝像頭捕捉一幀需要時間,處理器確定對象位于一幀的位置需要時間,顯卡渲染數字疊加的新位置也需要時間。借助預測性追蹤,你可以減少數字疊加相對于真實世界的運動。
2. 預測性追蹤是如何工作的
如果你看到一輛汽車以恒定的速度行駛,并且想要預測一秒鐘后汽車的位置,那么你可能會做出相當準確的預測。你知道汽車的當前位置,你可能還知道(或估計)當前的速度,因此你可以推斷一定時間后的汽車位置。
當然,如果將你的預測與在一秒后的實際情況進行對比,你的預測不太可能每次是100%準確:在這段時間里,汽車可能改變方向或速度。預測時間的越短,預測就越準確:預測汽車在一秒鐘后的位置可能比預測在一分鐘后的位置更精確。
你對汽車及其行為的了解越多,預測準確的機會就越大。例如,如果你不僅知道汽車速度,而且還知道加速度,你將可以進行更準確的預測。
如果你有關于追蹤對象行為的其他信息,這也可以提高預測精度。比如在進行頭部追蹤時,用戶頭部可能的旋轉速度和常用的旋轉速度可以改善追蹤模型。同樣,如果你正在進行眼動追蹤,你可以使用眼睛追蹤信息來預測頭部追蹤(在本文后面討論)。
3. 延遲的原因
之所以需要執(zhí)行預測性追蹤的原因在于,實際運動到運動之間存在一些延遲,以及將該運動的圖像呈現在顯示器上需要時間。延遲的來源包括很多,如:
· 感應延遲:傳感器(例如陀螺儀)可能會因為帶寬限制而不會立即報告方向或位置變化。類似地,在攝像頭傳感器上的像素接收到來自追蹤對象的光和當該幀準備好發(fā)送到主處理器之間,基于攝像頭的傳感器可能會出現延遲。
· 處理延誤:傳感器數據通常會根據某種傳感器融合的算法組合在一起,而執(zhí)行該算法會在接收數據和算法輸出答案之間增加延遲。
· 數據平滑處理:傳感器數據有時存在噪聲點,為避免錯誤的抖動,需要執(zhí)行基于軟件或基于硬件的低通算法。
· 傳輸延遲:例如,如果使用USB連接的設備進行方向感知,主機處理器的數據收集和通過USB傳輸數據之間需要一段時間才能完成。
· 渲染延遲:對于渲染復雜的嘲,處理器需要一定時間才能決定將每個像素放置在一幀上的位置,以及該幀何時準備好發(fā)送到顯示器。
· 幀速率延遲:例如,如果顯示器的幀率為100Hz,那從一幀到下一幀的時間為10毫秒。
其中一些延遲非常小,但所有一切都會加起來,從而出現較大的延遲。預測性追蹤以及諸如時間扭曲的其他技術有助于減少延遲。
4. 預測時間的長短
答案是:視情況而定。你需要把預測系統(tǒng)端到端的延遲作為起點,然后根據喜好優(yōu)化時間。
你可能需要在任何給定的時間內預測未來的幾個時間點。以下是部分原因:
部分對象具有不同的端到端延遲。例如,與頭部追蹤器相比,通過攝像頭追蹤手部可能會出現不同的延遲,但兩者都需要在同一嘲中同步繪制。
在使用單屏幕(例如智能手機屏幕)來為雙眼提供圖像的配置中,通常情況下一只眼睛的圖像相對于另一只眼睛會出現半幀延遲(例如1/60秒的一半) ,或約8毫秒)。
5. 預測性算法的共性
以下是部分預測性追蹤算法:
航位推測法:這是一個非常簡單的算法。如果在給定時間已知位置和速度(或角位置和角速度),預測位置會假設最后已知位置和速度正確,同時速度保持不變。例如,如果最后一個已知位置為100單位,最后一個已知速度為10單位/秒,則未來10毫秒的預測位置是100 + 10 x 0.01 = 100.1。雖然這是非常簡單的計算,但它假定最后的位置和速度是準確的(例如不受任何測量噪聲),速度是恒定的。然而,這兩個假設往往并不正確。
〃爾曼預測:這是基于流行的卡爾曼濾波器。卡爾曼濾波器是一種用于時變線性系統(tǒng)的遞歸濾波器。這種濾波器是將過去的測量估計誤差合并到新的測量誤差中來估計將來的誤差。
Alpha-beta-gamma預測:ABG預測與卡爾曼預測密切相關,但不常見,而所需數學更簡單。ABG會不斷地估計速度和加速度,并將其用于預測。由于估算值會參考實際數據,因此它們可以測量部分噪聲點。配置參數(alpha,beta和gamma)提供了強調響應的能力,而非降噪。
預測性追蹤是一種有效的常用技術,通常用于減少延遲。它提供了簡單或復雜的實施方法,同時需要一些思考和分析。但對今天VR和AR系統(tǒng)實現低延遲追蹤來說,預測性追蹤至關重要。
投稿郵箱:chuanbeiol@163.com 詳情請訪問川北在線:http://m.fishbao.com.cn/