預(yù)測追蹤(predictive tracking)指的是預(yù)測物體或身體的一部分將要移動的方向或位置。隨著AR和VR對呈像要求越來越高,預(yù)測追蹤將被應(yīng)用到各大頭顯設(shè)備。
預(yù)測追蹤的作用
預(yù)測追蹤的一個常見的用途是減少明顯的運動光子延遲(“motion-to-photon” latency),即減少運動發(fā)生和顯示到顯示器上的之間的時間差距,用預(yù)測未來方向和位置的方法作為更新顯示使用的數(shù)據(jù),可以縮短這個延遲。
大量關(guān)于預(yù)測追蹤的注意力都集中在VR應(yīng)用領(lǐng)域,其實在AR現(xiàn)實領(lǐng)域它也是非常重要的,因為在AR頭顯設(shè)備中既可以看到現(xiàn)實世界中的瞬間運動,又可以看到在現(xiàn)實上疊加的虛擬影像。
例如,如果你正在使用頭顯設(shè)備觀看一個現(xiàn)實世界的物理對象,設(shè)備需要在對象上顯示一個圖形覆蓋,這種覆蓋狀態(tài)要保持“鎖定”十分重要,即使用戶旋轉(zhuǎn)頭,也能使覆蓋的圖層看起來像是現(xiàn)實世界的一部分。
該對象可能會被相機識別,但相機進行捕捉、處理器確定的對象所在位置、圖形芯片渲染覆蓋圖層也都需要時間。通過使用預(yù)測追蹤,可以減少覆蓋圖層和現(xiàn)實世界的分離。
如何預(yù)測追蹤路徑
如果你看到一輛汽車以恒定的速度行駛,你應(yīng)該會對這輛車將在未來一秒鐘的位移做出準(zhǔn)確預(yù)測。你知道汽車的當(dāng)前位置,知道(或者估計)當(dāng)前的速度,因此你可以推斷出這個位置接下來的變化。
當(dāng)然,你的預(yù)測不可能每一次都100%準(zhǔn)確,因為汽車可能會在這一秒鐘時間內(nèi)改變方向或加快速度。你想要預(yù)測的時間越長,你的預(yù)測就越不準(zhǔn)確,即預(yù)測一秒鐘內(nèi)車在哪里會比預(yù)測一分鐘內(nèi)它的位置要準(zhǔn)確得多。
你越了解汽車和它的行為,你就有更好的機會做出準(zhǔn)確的預(yù)測。例如,如果你能測量速度和加速度,你可以做出更準(zhǔn)確的預(yù)測。
如果有被追蹤體的行為的其他信息,也可以提高預(yù)測精度。例如,在做頭部追蹤時,了解人頭部的轉(zhuǎn)頭速度有多快,以及常見的轉(zhuǎn)頭速度,就可以改善追蹤模型。同樣,如果你正在做眼部追蹤,你可以使用眼部追蹤信息來預(yù)測頭部。
延遲的原因
對預(yù)測追蹤的需求是來源于實際運動與畫面顯示之間的一些延遲。延遲的原因有很多,主要有以下幾個:
●檢測延遲。傳感器(例如陀螺儀)的帶寬有可能是受限的,不會立馬反饋方向或位置的變化。同樣,攝像頭的傳感器從接到信息到把信息輸送到主處理器中也會有延遲。
●處理延遲。傳感數(shù)據(jù)往往使用了某種算法,而執(zhí)行該算法也需要一定時間,會造成延時。
●數(shù)據(jù)信號加工。傳感數(shù)據(jù)有時含有噪音,為了避免這些噪音,需要執(zhí)行一個以軟、硬件為基礎(chǔ)的低通算法,需要時間。
●傳輸延遲。如果方向檢測是用USB連接的設(shè)備進行的,主機處理器采集到數(shù)據(jù)同USB傳輸過去之間也需要一定的時間。
●渲染延遲。如果遇到復(fù)雜的嘲,處理器需要一段時間來渲染。
●幀速率延遲。如果顯示器的刷新率在100Hz,從一幀到下一幀有10毫秒的時間間隔。如果某一幀的信息不是那么清楚時,可能需要等下一幀。
延遲測試器正在頭顯設(shè)備上進行測試
這些延遲是非常小的,但全加起來就很多了。預(yù)測追蹤同時間扭曲(time-warping)等技術(shù),都有助于減少明顯的延遲。
需要預(yù)測多長時間?
答案是三個字:不一定。
你可能會需要預(yù)測未來的幾個時間點。以下是一些例子:
●有不同的端到端的延遲對象。例如,用攝像機對手部進行失蹤同追蹤頭部可能有不同的延遲,但需要同時呈現(xiàn)在同一畫面上,所以需要對未來不同時間點進行預(yù)測追蹤。
●使用單屏幕(如智能手機屏幕)來為雙眼提供圖像時,通常有只眼睛的圖像相對于另一只眼睛可能會出現(xiàn)半幀(1/60秒的一半或約8毫秒)的延遲。
常見的預(yù)測算法
這里是一些預(yù)測追蹤的算法:
●Dead reckoning:這是一個非常簡單的算法,如果在給定的時間已知位置和速度(或角位置和角速度),可以預(yù)測未來的位置,但有一些前提,即給定時間的最后時間的位置和速度是正確的,且速度保持不變。
例如,如果最后一個已知的位置是100個單位,最后一個已知速度是10單位/秒,那么未來10毫秒的位置是100 + 10 ×0.01 = 100.1。雖然這看起來算法簡單,但需要最后的位置和速度是準(zhǔn)確的(不受任何測量噪聲)和速度是恒定的,這很難達到。
●Kalman predictor:這是基于一個卡爾曼濾波器的預(yù)測,用來用于削弱傳感器噪音。這個系統(tǒng)可用包含正交狀態(tài)變量的微分方程模型來描述,這種濾波器是將過去的測量估計誤差合并到新的測量誤差中來估計將來的誤差。
●Alpha-beta-gamma:ABG預(yù)測與Kalman predictor預(yù)測密切相關(guān),但又有不同。ABG會不斷地估計速度和加速度,并將其用于預(yù)測,因為估算值會參考實際數(shù)據(jù),所以它們會減少測量噪聲。配置參數(shù)(alpha,beta和gamma)更加強調(diào)反應(yīng)的能力,而不是降噪。
預(yù)測追蹤是減少明顯延遲的一種有用且常用的技術(shù),要在今天的VR和AR系統(tǒng)實現(xiàn)低延遲追蹤,使用預(yù)測追蹤是必不可少的。
投稿郵箱:chuanbeiol@163.com 詳情請訪問川北在線:http://dstuf.com/