本文提出通用的端對端預測性跟蹤框架PVT++,旨在解決目標跟蹤的部署時的延遲問題。多種預訓練跟蹤器在PVT++框架下訓練后“在線”跟蹤效果大幅提高,某些情況下甚至取得了與“離線”設定相當的效果。
PVT++ 論文:https://arxiv.org/abs/2211.11629 代碼:https://github.com/Jaraxxus-Me/PVT_pp
引言
單目標跟蹤(SOT)是計算機視覺領域研究已久的問題。給定視頻第一幀目標的初始位置與尺度,目標跟蹤算法需要在后續的每一幀確定初始目標的位置與尺度。將這類視覺方法部署在機器人上可以實現監測、跟隨、自定位以及避障等智能應用。大多數目標跟蹤算法的研究與評估都基于“離線”假設,具體而言,算法按照(離線)視頻的幀號逐幀處理,得出的結果與對應幀相比以進行準確率/成功率計算。
然而,這一假設在機器人部署中通常是難以滿足的,因為算法本身的延遲在機器人硬件上不可忽視,當算法完成當前幀時,世界已經發生了變化,導致跟蹤器輸出的結果與實際世界的目標當前狀態不匹配。換言之,如圖二(a) 所示,由于算法的延遲總存在(即使算法達到實時幀率),輸出的結果“過時”是不可避免的。
這一思想起源于ECCV2020 “Towards Streaming Perception”。
由于機載算力受限,平臺/相機運動劇烈,我們發現這一問題在無人機跟蹤中尤為嚴重,如圖一所示,相比“離線”評估,考慮算法延遲的“在線”評估可能使得其表現大幅下降。
圖一. “離線”評估與“在線”評估中各個跟蹤器的表現以及PVT++在“在線”跟蹤中的效果?;疑珗D標代表離線評估,藍色圖標代表相同方法在線評估,紅色圖標代表相同方法使用PVT++轉換為預測性跟蹤器。
如圖二(b)所示,為解決這一問題,預測性跟蹤器需要提前預測世界未來的狀態,以彌補算法延遲導致的滯后性。
這一理論詳見ECCV2020 “Towards Streaming Perception”以及我們過往的工作“Predictive Visual Tracking (PVT)"。
而與以往的在跟蹤器后使用卡爾曼濾波的方法不同,在本文中,我們從跟蹤器能提供的視覺特征出發,研發了端對端的預測性目標跟蹤框架(PVT++)。我們的PVT++有效利用了預訓練跟蹤器可提供的視覺特征并可從數據中學習目標運動的規律,進而做出更準確的運動預測。
圖二. (a) 常規的跟蹤器有延遲,所以結果總是滯后的。(b) 預測性跟蹤提前預測世界的狀態,彌補延遲帶來的滯后性。(c) 與基于卡爾曼濾波的方法不同,我們的PVT++有效利用了跟蹤器自帶的視覺特征并可從數據中學習運動的規律,進而做出更準確的預測。
PVT++是一個通用的可學習框架,能適用不同類型的跟蹤器,如圖一所示,在某些場景下,使用PVT++后甚至能取得與“離線”評估相當的“在線”結果。
貢獻
我們研發了端對端的預測性目標跟蹤框架PVT++,該通用框架適用于不同類型的跟蹤器并能普遍帶來大幅效果提升。
為實現“從數據中發現目標運動的規律”,我們提出了相對運動因子,有效解決了PVT++的泛化問題。
為引入跟蹤器已有的視覺特征實現穩定預測,我們設計了輔助分支 和 聯合訓練機制,不僅有效利用了跟蹤器的視覺知識而且節省了計算資源。
除了PVT++方法,我們還提出了能夠進一步量化跟蹤器性能的的 新型評估指標 e-LAE,該指標不僅實現了考慮延遲的評估,而且可以區分實時的跟蹤器。
方法介紹
為了將整個問題用嚴謹的數學公式成體系地定義出來,我們花了很多時間反復打磨PVT++的方法部分敘述,然而不可避免符號偏多結構也比較復雜(被reviewer們多次吐槽...),讀起來有些晦澀難懂容易lost,在此僅提供一些我intuitive的想法,以方便讀者能夠更快理解文章的核心思想。
圖三. (a) PVT++宏觀框架與 (b) e-LAE評估指標
e-LAE評估指標
與“離線”設定不同,“在線”跟蹤(LAE)依照算法實際部署的情況設計,具體而言,其遵循以下兩條原則:
類似的評估方式最早被提出于ECCV2020 “Towards Streaming Perception”,在以前的研究PVT中,我們針對跟蹤算法做了上述調整。
然而,這樣的評估方式有一個缺陷,假設算法速度快于世界幀率(例如圖三下方的算法時間戳),無論算法有多快,評估時的算法滯后永遠是一幀。換言之,假設有兩個精度一樣的跟蹤器A與B,A的速度>B>世界幀率,那么這樣的評估指標得到的A,B的結果是一樣的,這樣以來,LAE便無法將實時跟蹤器的速度納入評估中,無法對實時跟蹤器進行有效比較。
基于e-LAE,我們在機器人平臺AGX Xavier上進行了眾多跟蹤器詳盡的實驗,涉及17個跟蹤器,三個數據集,詳見原文圖五,e-LAE可以區分一些精度接近而速度有一些差距的實時跟蹤器,如HiFT與SiamAPN++(原文Remark 2)。我們正在進一步檢查所有結果,最終確認后也會將評估的原始結果開源。
PVT++
無論算法的速度有多快,其延遲總存在,故而我們設計了端對端預測性跟蹤框架彌補延遲。如圖三 (a) 所示,PVT++的結構非常直觀簡單,跟蹤器模塊即普通的已有的(基于深度學習的)跟蹤算法,預測器接受跟蹤器輸出的歷史運動m ,跟蹤器的歷史視覺特征x,y,以及預設的落后幀數Δ作為輸入,輸出未來幀的目標位置。
PVT++的結構看上去雖然簡單直觀,但使用離線數據訓練這一套框架使之協助在線無人機跟蹤并非易事,其獨道之處在于以下三點:
相對運動因子:我們發現訓練PVT++會遇到一個核心問題,訓練集與測試集的域差距。試想,如果用于訓練PVT++的數據來自VID,LaSOT,GOT10k這些目標運動尺度較小,方向速度較規律的數據集,PVT++自然會嘗試擬合這些運動規律而難以泛化到目標運動更復雜,尺度更大的無人機跟蹤場景。為了解決這一問題,我們將PVT++的訓練目標改為學習/擬合特殊設計的相對運動因子,即原文公式(4):
這里pfj可以簡單理解為過去幾幀的平均速度,在左側的公式中,我們可以先假設目標是勻速運動的,即未來幀的相對位置變化正比于未來幀的時間間隔和平均速度,此后我們的神經網絡只需要在這一假設上做出調整即為未來的真實運動。這一設計也就使得預測器需要學習的東西是“相對于勻速運動假設的偏差值”,即相對運動因子,而非絕對的運動值。我們發現這一預測目標在大多數時候與目標的絕對運動是無關的,故而訓練出的網絡也就不易擬合訓練集中的絕對運動,有著更好的泛化性。這一設計是PVT++能work的核心原因。預測器輸出的相對運動會用于后續設計與真值的L1損失作為訓練損失函數。
輕量化預測器結構:另一個問題是,預測器本身必須足夠輕量才能避免預測模塊引入額外的延遲,否則會導致整個系統失效。為此,我們設計了輕量有效的網絡架構,包含encoder - interaction - decoder三部分,并能兼容運動軌跡信息與視覺特征,具體如圖四,其中大多數網絡層都可以有著非常小的通道數以實現極低的延遲(詳見原文表3)。此外,我們預測器的設計也最大程度上復用了跟蹤器能提供的視覺特征,因此節省了提取視覺特征所需要的計算資源。
圖四. PVT++中預測器的輕量化網絡架構。
如何有效利用跟蹤器已有的視覺特征:最后,為了使輕量的預測器做出穩健的預測,我們設計了一系列訓練策略使得參數量很少的預測器有效利用(較大型)預訓練跟蹤器的能提供的魯棒視覺表征。具體而言,我們發現以下兩點設計尤為重要:
輔助分支:預測器的視覺分支(圖四(b))需要當前的相對運動信息作為監督信號(圖四的虛線框部分)才能用于預測未來的運動。詳見原文5.3節。
聯合訓練:在訓練PVT++時,跟蹤器模塊需要在早期的訓練epoch中以較小的學習率聯合預測器一起訓練,進而使視覺特征既適用跟蹤器做定位,又適合預測器做預測。詳見附錄B中的訓練設定與我們的開源代碼。
更多關于方法的細節介紹歡迎大家參考我們的原文(p.s.,我們的附錄B提供了一個符號表輔助閱讀...)
實驗部分
全文的實驗設計包括e-LAE的評估(原文圖五)與PVT++的效果、分析兩部分,在這里著重介紹PVT++有關的實驗。
設置
為了公平比較基線跟蹤器,PVT++采用與他們訓練相同的LaSOT+GOT10k+VID作為訓練集(均為視頻)(實際上僅用VID也可以取得較好效果,詳見附錄L)。具體而言,我們直接加載了跟蹤器原作者提供的模型參數作為我們的跟蹤器模塊,再使用離線數據訓練PVT++。
評估時我們使用了四個無人機跟蹤權威數據集DTB70,UAVDT,UAV20L以及UAV123,廣泛驗證了PVT++的泛化性。
整體效果
表一
PVT++的整體效果如表一所示,我們共將四個跟蹤器轉化為了預測性跟蹤器,在四個無人機跟蹤數據集中,PVT++能起到廣泛而顯著的效果??梢园l現PVT++在某些場景下能達到超過60%的提升,甚至與跟蹤器的離線效果相當。另外我們也發現并不是所有的情況下視覺信息都是有效可靠的,例如在DTB70中,僅用PVT++的motion分支也可以起到一定的效果。
消融實驗
這里著重展示一下消融實驗表四,如果不預測相對運動因子而是直接用絕對運動的值作為預測目標(和損失函數設計),預測器完全不work,甚至會引入負面影響。當引入視覺特征以后,輔助分支的監督和聯合訓練都是必要的,其中聯合訓練的重要性更大。
與其他方法對比
表五
如表五,我們嘗試了直接在跟蹤器后加入卡爾曼濾波(即沿用ECCV2020 “streaming”的思想)以及我們之前雙濾波(PVT)的方案,并且在審稿人的建議下設計了可學習的基線方法(具體而言,我們將卡爾曼濾波中的噪聲項作為可學習參數)。這些方法都沒有利用跟蹤器已有的視覺特征,所以綜合效果差于聯合了運動與視覺特征的PVT++。
可視化
圖五. PVT++與卡爾曼濾波的可視化對比
在圖五中的三個序列中,我們發現卡爾曼濾波預測器很難處理目標平面內旋轉以及無人機視角變化的情況,在這些挑戰中,引入視覺信息進行目標尺度預測是尤為有效的。
另外本文也進行了更為詳盡的實驗,如屬性分析、與其他運動預測方法(如NEXT)的對比、PVT++作用在最新的基于transformer的跟蹤器等,歡迎大家參閱我們的附錄。
局限性與討論
PVT++的局限性在于兩點:
預測器使用的視覺特征并不總是魯棒,我們發現在DTB70這類目標運動速度很快導致圖片模糊/目標出視野,但目標運動本身很規律的數據集中其實單靠運動分支就可以起到很好的效果。
訓練策略有些復雜,特別是聯合訓練時跟蹤器模塊在早期epoch用較小學習率微調這一些細節我們嘗試了很多次實驗才發現。
e-LAE的局限性在于可復現性與平臺依賴性:
由于這套在線評估系統與算法的實際延遲緊密相關,而延遲又與硬件平臺的狀態有關,我們發現甚至同一型號的硬件上的同一實驗結果也會略有不同(就是說甚至同一臺AGX放久了好像也會稍微慢一點....)。我們已經嘗試在同一硬件上集中多次運行以盡可能降低硬件的不穩定性帶來的影響并會將原始結果開源以方便大家復現結果。另外我們也提供了一個“模擬”AGX硬件的腳本,可以將硬件上統計的延遲時間直接使用(而不是每次都一定要在機器人硬件上運行),詳見我們的開源代碼。
預測性“在線”目標跟蹤依然是一個相當困難的研究問題,可能并不是增大數據量/模型參數量能輕易解決的,仍有著較大的提升空間。現在視覺領域正快速涌現一批批“奇觀”,在線延遲也potentially有著其他的解決方案值得研究。譬如最近有一篇比較出圈的工作叫OmniMotion,我們能不能依賴點的correspondence,考慮從目標上每個point的運動規律出發,推理物體local到global的未來運動?這樣也許能實現比PVT++更出彩的效果。
另外將算法延遲問題引入如今大火的一些foundation model研究中也是有意思的方向。譬如SAM和DINOv2的視覺特征是不是比ImageNet pre-train的ResNet更適合做視覺運動預測?如果是的話又該怎么處理這些超大規模預訓練出的視覺特征?或許可以從TrackAnything入手研究。
致謝
PVT++是我本科期間的最后一項工作,算得上是本科的收官之作了,雖然看上去沒有很fancy的cv概念,工程量也很大,但我個人非常喜歡,可能是我近三年實驗上最扎實的工作了,當時發現相對運動因子和聯合訓練帶來巨大的提升那種欣喜和意外是難以言喻的。該工作從第一次討論(2022年初)到如今中稿已經是整整一年半,期間磕磕碰碰遇到了不少銳評,困難,與坎坷(差點就打算永遠掛在arvix上了quqqq),附錄甚至在多輪審稿中修修補補到了Appendix M(都快夠一個正文了就是說><)。非常感謝在此期間合作的子淵,杰哥,一鳴大哥,三位老師,以及CMU的朋友們每次耐心的討論修改與對我的鼓勵支持。
本文初稿完成于2022年暑期,是我和子淵上半年在上海期智研究院與趙行老師合作的項目。MARS Lab是一個氛圍很好的實驗室,大家有著可靠的強大實力卻又都溫和而謙虛,可謂志同道合。我不久前回國在云錦路西岸也受了老師同學們很多照顧,討論產生了不少idea,非常期待未來可能的合作交流。22年春季正值上海疫情嚴峻,非常感謝當時研究院的老師、同學們提供的幫助。我們主要受 ECCV2020 “Towards Streaming Perception” 啟發,我們的代碼基于目標跟蹤知名開源庫 pysot,在此向有關的作者、開發者們致以誠摯的謝意。
-
算法
+關注
關注
23文章
4612瀏覽量
92894 -
框架
+關注
關注
0文章
403瀏覽量
17488 -
目標跟蹤
+關注
關注
2文章
88瀏覽量
14884
原文標題:ICCV 2023 | 漲點!PVT++:通用的端對端預測性目標跟蹤框架
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論