在AR/VR系統里,預測追蹤指的是預測物體未來(很短的一個時間,比如幾毫秒)的姿態方向或身體的位置。例如,人們可能想要預測頭部的方向或手的位置。
為什么預測追蹤是有用的?
預測追蹤的使用通常是為了減少”運動到圖像”之間的延遲。由于運動和顯示更新之間有一些延遲,使用估計物體未來的方向和位置來更新顯示,可以縮短這個延遲感。
雖然在虛擬現實應用中的預測追蹤已被人們所關注,在增強現實中也是非常重要的。例如,如果你正在顯示一個圖像出現在一個物體的頂部,一種非常糟的情況就是當你已經旋轉了你的頭部時(AR眼鏡戴在頭上),這個物體仍然停留在那里。這個物體可能會被攝像頭識別,但是它需要時間來撲捉到這個圖像,處理器需要判斷出物體在圖像中的位置,圖形芯片來渲染新的圖像。通過使用預測追蹤,你可以讓圖像和物體之間的對應關系處理的更好。
它是如何工作的?
如果你看到一輛汽車以恒定的速度行駛,你想預測這輛車下一秒鐘的位置,你的預測會相當的準確。你知道車的當前的位置和當前的速度,因此你可以推斷出將來的位置(s=vt)。
當然,如果你比較你預測下一秒鐘的位置和汽車實際上移動的位置,你的預測不可能每次都是100%準確的,因為汽車可能在這段時間內改變方向或速度。你想要預測未來越遠,你的預測就會越不準確。預測一秒鐘后的位置比預測1分鐘后的位置更加準確。
你越了解這輛車和它的行為,那么你預測的準確度就會越高,例如,如果你能夠測量汽車的速度和加速度,那么你的預測就會更加準確。
如果你有更多關于追蹤物體的行為信息,就能夠提高預測的準確度。例如,當做頭部追蹤時,理解頭部可能旋轉的速度以及常見的旋轉速度,有利于提高追蹤模型。類似的,如果在做眼球追蹤,你可以使用眼鏡追蹤信息來預測頭部運動,在這里有所討論。
延遲源
通過預測追蹤來減少運動和圖像之間的延遲,延遲可能來自多個源頭,比如:
檢測延遲:傳感器(例如陀螺儀)也許會受來自帶寬原因,或無法立即上報方向或位置的變化。類似的,基于攝像頭的傳感器也會有一些延遲,這個是指當相機檢測到被追蹤物體運動到準備好將這些信息發送到主機之間的延遲。
處理延遲:傳感器往往會使用一些融合算法,這些融合算法的執行會增加一些延遲。
數據平滑:傳感器數據有時混雜了很多的噪聲和抖動,軟件或硬件需要添加濾波處理。
傳輸延遲:例如,如果姿態信息存在于一個USB連接的設備(例如大多數的追蹤信息都是在這些頭顯設備上),這些數據需要通過USB傳輸到電腦或其他計算單元,這個時間雖然非常的短,但是確實是一個非0的時間。
渲染延遲:當渲染一個場景時,需要花費一些時間來準備圖像信息發送給顯示設備。
幀率延遲:如果顯示設備的刷新率是100HZ,那么每一楨圖像之間就有10ms的延遲時間。
如上的這些延遲可能是非常小的,但是他們疊加起來后會帶來不小的影響,我們可以使用預測追蹤技術,例如,time warping,對于減少延遲非常有幫助。
如何追蹤未來?
這完全依賴于你!你將要預測系統上端到端的延遲,然后將他們優化到你滿足的狀態。你可能會需要預測一些在將來任一時刻的時間點。
以下是一些你可能需要的情形:
系統中的所有物體,他們之間端到端的延遲時間可能完全不同,例如,攝像頭追蹤手與頭部追蹤的延遲時間是不相同的,但是它們都需要在同一個場景中繪制,預測追蹤將使用不同的預測時間。
一個簡單的屏,例如手機屏,它用來為雙眼提供圖像信息,它通常情況下是這樣的:一只眼鏡的圖像出現比另一只眼鏡出現圖像的時間延遲了一半幀的時間(例如 60HZ刷新率的情況下,大概是1/60/2約為8毫秒),在這種情況下,最好使用”向前看”8毫秒以上的預測追蹤。
常用預測追蹤算法
如下是一些常用的預測算法:
航位推測法(Dead reckoning):這是一個非常簡單的算法。如果在給定的時間內,已知位置和速度(或角度位置和角速度),速度保持不變的情況下,那么預測的位置就是準確的。例如,如果最后一個已知的位置是100個單位,最后一個已知的速度是10單位/s,那么預測未來10毫秒(0.01秒)的位置是:100+10x0.01 = 100.1。這個計算過程非常簡單,它假設最后的位置是準確的(例如,沒有噪聲或干擾),以及速度是恒定的。但是現實情況下這個假設往往是不準確的。
卡爾曼預測器:這是基于卡爾曼濾波,用來減少系統存在的噪聲的操作。這里可以看到更多關于卡爾曼濾波的信息。
Alpha-beta-gamma:ABG預測器與卡爾曼預測器相關,但它不完全相同,并且它的數學計算更加簡單,我們這里從一個較高層次來介紹。ABG在預測中連續的估算速度和加速度。由于預測值提取自實際數據,所以他們能夠減少噪聲。配置參數(alpha,beta和gamma)來調整噪聲減少的程序。
下面是一些數據組成的圖:
總結
預測追蹤是一個對減少延遲有效果、常用的技術。它提供簡單或復雜的實現方式,需要一些思考和分析,但這些都是值得的!
原文鏈接:https://sensics.com/understanding-predictive-tracking/
本文轉自博客園 - Helen的博客(https://blog.csdn.net/dabenxiong666/article/details/69214881),轉載此文目的在于傳遞更多信息,版權歸原作者所有。
轉載請注明來自夕逆IT,本文標題:《角速度計算公式ω=△θ/△t但為何單位是rad/s》

還沒有評論,來說兩句吧...