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

還沒有評(píng)論,來(lái)說(shuō)兩句吧...