如果你有感興趣的話題或者你想得到解釋的概念,請(qǐng)?jiān)u論留言,我們會(huì)盡力解決這些問(wèn)題。你也可以在這兒?jiǎn)栁胰魏螁?wèn)題。
理解預(yù)測(cè)跟蹤
在“增強(qiáng)現(xiàn)實(shí)”和“虛擬現(xiàn)實(shí)”系統(tǒng)的背景下,預(yù)測(cè)跟蹤是指預(yù)測(cè)未來(lái)方向或一個(gè)物體的位置或身體部分的過(guò)程。例如,人們可能會(huì)想預(yù)測(cè)的頭的方向或手的位置。
為什么預(yù)測(cè)跟蹤有用?
關(guān)于預(yù)測(cè)追蹤一個(gè)常見(jiàn)的應(yīng)用就是減少明顯的“光子運(yùn)動(dòng)”延遲,即運(yùn)動(dòng)之間的時(shí)間和運(yùn)動(dòng)反映在繪制的場(chǎng)景。由于運(yùn)動(dòng)之間有延遲和更新顯示(如下所示),使用可預(yù)估的方向和位置作為數(shù)據(jù)應(yīng)用于更新顯示,可以縮短延遲。
雖然許多注意力一直集中在虛擬現(xiàn)實(shí)應(yīng)用程序的預(yù)測(cè)跟蹤上,它對(duì)于增強(qiáng)現(xiàn)實(shí)技術(shù)方面也是非常重要的。舉例來(lái)說(shuō),如果你要顯示一個(gè)圖形覆蓋,使其出現(xiàn)在你通過(guò)增強(qiáng)現(xiàn)實(shí)眼鏡看到的物體的上方,非常重要的一點(diǎn)是保證疊加物在你轉(zhuǎn)頭時(shí)位置不變。觀察對(duì)象能夠被相機(jī)識(shí)別,但相機(jī)需要一些時(shí)間來(lái)捕捉幀,處理器需要確定對(duì)象在框架中的位置,圖形芯片要呈現(xiàn)新的覆蓋。通過(guò)使用預(yù)測(cè)跟蹤,你可以更好的記錄覆蓋圖像和物理對(duì)象。
它是如何工作的呢?
如果你看到一輛車以恒定的速度行駛而且你想預(yù)測(cè)汽車將在下一秒鐘駛向何處,你也許可以做出精確的預(yù)測(cè)。你知道汽車的當(dāng)前位置,你可能知道或可以估計(jì)當(dāng)前的速度,因此可以推斷汽車不久之后的位置。
當(dāng)然,如果你比較你的預(yù)測(cè)和汽車實(shí)際行駛的情況,你會(huì)發(fā)現(xiàn)你每次的預(yù)測(cè)都不可能是100%準(zhǔn)確的:汽車可能會(huì)改變方向或加速。距離越遠(yuǎn),你預(yù)測(cè)的結(jié)果越不準(zhǔn)確:預(yù)測(cè)下一秒鐘汽車的位置比預(yù)測(cè)下一分鐘的要準(zhǔn)確得多。
關(guān)于汽車及其行駛特點(diǎn)你了解的越多,越有機(jī)會(huì)做出準(zhǔn)確的預(yù)測(cè)。例如,如果你不僅知道了其速度,還知道其加速度,你的預(yù)測(cè)可能就更準(zhǔn)確。
如果你了解更多關(guān)于被追蹤的個(gè)體的信息,也可以提高預(yù)測(cè)精度。例如,當(dāng)進(jìn)行頭部跟蹤時(shí),了解轉(zhuǎn)頭最快的速度和一般狀態(tài)下的速度,可以提升跟蹤模型。同樣,如果你做眼部跟蹤,你可以使用眼球追蹤信息預(yù)測(cè)這篇文章中討論到的頭部運(yùn)動(dòng),
延遲的來(lái)源
所需的執(zhí)行預(yù)測(cè)跟蹤來(lái)自實(shí)際運(yùn)動(dòng)和反應(yīng)運(yùn)動(dòng)的圖像之間的延遲。延遲來(lái)自多因素,如:
?感應(yīng)延遲。傳感器(如陀螺儀)可能是帶寬受限的,因而無(wú)法立即報(bào)告方向或位置變化。同樣,基于相機(jī)的傳感器可能出現(xiàn)延遲,通常在相機(jī)傳感器上的像素接收到跟蹤對(duì)象的光線到框架發(fā)送到主機(jī)處理器之間這段時(shí)間里。
?處理延遲。傳感器通常使用某種類型的傳感器與算法相結(jié)合,執(zhí)行該算法時(shí)就會(huì)增加延遲。
?數(shù)據(jù)平滑。傳感器數(shù)據(jù)有時(shí)是嘈雜的,避免錯(cuò)誤出現(xiàn),軟件或基于低通算法的硬件會(huì)執(zhí)行任務(wù)。
?呈現(xiàn)延遲。在呈現(xiàn)一個(gè)非凡的場(chǎng)景時(shí),圖像需要一些時(shí)間傳到顯示設(shè)備。
?幀速率延遲。例如,如果播放操作是以100赫茲的頻率,那么連續(xù)幀之間的時(shí)間是就是10毫秒。當(dāng)某個(gè)特定像素顯示之后不精確的信息可能需要等待下一個(gè)次像素繪制完成再顯示。
?傳輸延遲。例如,如果定位傳感用完USB連接的設(shè)備,數(shù)據(jù)傳到主處理器和USB數(shù)據(jù)傳輸完成之間也有時(shí)間。
其中一些延遲是非常小的,但不幸的是各種延遲會(huì)疊加起來(lái)。預(yù)測(cè)跟蹤加上其他技術(shù),如時(shí)間扭曲,有利于減少明顯的延遲。
能夠追蹤多久的未來(lái)時(shí)間?
四個(gè)字:視情況而定。你首先需要估計(jì)點(diǎn)對(duì)點(diǎn)系統(tǒng)延遲,然后再進(jìn)行優(yōu)化。
也許你需要在任何給定的時(shí)間內(nèi)預(yù)測(cè)幾個(gè)未來(lái)的時(shí)間點(diǎn)。這里有一些例子可以解釋為什么需要這樣做:
?有的對(duì)象有不同的端對(duì)端延遲。例如,帶相機(jī)的手部跟蹤器和頭部跟蹤可能有不同的延遲,但都需要在同樣的場(chǎng)景中同步,所以預(yù)測(cè)跟蹤需要不同的“向前看”的時(shí)間。
?在單一屏幕布局時(shí)---如手機(jī)屏幕---為雙眼提供圖像,通常情況下, 相對(duì)于另一只眼睛,映入在一只眼睛只有半幀(例如1/60秒的一半,大約8毫秒)。在這種情況下,最好給延遲的另一半屏幕使用提前8毫秒的預(yù)測(cè)跟蹤。
以下是一些常用的預(yù)測(cè)跟蹤算法的例子:
?航跡推算。這是一個(gè)非常簡(jiǎn)單的算法:如果位置和速度(或角位置和角速度)在給定的時(shí)間內(nèi)是已知的,預(yù)測(cè)位置假設(shè)最終位置和速度是正確的,而且速度是相同的。例如,如果最后已知位置是100個(gè)單位,最后一個(gè)已知的速度是10單位/秒,因而未來(lái)10毫秒(0.01秒)內(nèi)的預(yù)測(cè)位置100 + 10 x 0.01 = 0.01。雖然計(jì)算很簡(jiǎn)單,但它假定的是過(guò)去的位置和速度是準(zhǔn)確的(例如,忽略各種噪音)且速度是恒定的。而這兩個(gè)假設(shè)往往是不正確的。
?卡爾曼預(yù)測(cè)器。這是基于廣受歡迎的卡爾曼濾波器設(shè)計(jì)的??柭鼮V波器是用來(lái)減少包含數(shù)學(xué)模型的操作系統(tǒng)中傳感器噪聲的。點(diǎn)擊此處查看更多關(guān)于卡爾曼濾波器的詳細(xì)解釋。
?alpha-beta-gamma。ABG預(yù)測(cè)器與卡爾曼預(yù)測(cè)器密切相關(guān),但并不是很通用且數(shù)學(xué)程式簡(jiǎn)單。我們可以從較高層面解釋一下。ABG不斷試圖估計(jì)速度和加速度并使用這些數(shù)值進(jìn)行預(yù)測(cè)。由于這些估測(cè)將實(shí)際數(shù)據(jù)考慮在內(nèi)所以一些測(cè)量上的誤差減少了。配置參數(shù)(α,β和γ)增強(qiáng)了反應(yīng)與降噪能力。如果你想了解一下,請(qǐng)看這里:
總結(jié)
預(yù)測(cè)跟蹤是一個(gè)有效且被廣泛應(yīng)用的減少明顯的延遲的技術(shù)。它提供了簡(jiǎn)單的或復(fù)雜的操作,需要一些思考和分析,但確實(shí)是值得的。
-
傳感器
+關(guān)注
關(guān)注
2551文章
51134瀏覽量
753906 -
預(yù)測(cè)
+關(guān)注
關(guān)注
0文章
37瀏覽量
12371 -
vr
+關(guān)注
關(guān)注
34文章
9640瀏覽量
150315
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論