本文提出通用的端對端預測性跟蹤框架 PVT++,旨在解決目標跟蹤的部署時的延遲問題。多種預訓練跟蹤器在 PVT++ 框架下訓練后“在線”跟蹤效果大幅提高,某些情況下甚至取得了與“離線”設定相當的效果。▲ PVT++
引言
單目標跟蹤(SOT)是計算機視覺領域研究已久的問題。給定視頻第一幀目標的初始位置與尺度,目標跟蹤算法需要在后續的每一幀確定初始目標的位置與尺度。將這類視覺方法部署在機器人上可以實現監測、跟隨、自定位以及避障等智能應用。大多數目標跟蹤算法的研究與評估都基于“離線”假設,具體而言,算法按照(離線)視頻的幀號逐幀處理,得出的結果與對應幀相比以進行準確率/成功率計算。然而,這一假設在機器人部署中通常是難以滿足的,因為算法本身的延遲在機器人硬件上不可忽視,當算法完成當前幀時,世界已經發生了變化,導致跟蹤器輸出的結果與實際世界的目標當前狀態不匹配。換言之,如圖二(a)所示,由于算法的延遲總存在(即使算法達到實時幀率),輸出的結果“過時”是不可避免的。
這一思想起源于 ECCV2020 “Towards Streaming Perception”。
由于機載算力受限,平臺/相機運動劇烈,我們發現這一問題在無人機跟蹤中尤為嚴重,如圖一所示,相比“離線”評估,考慮算法延遲的“在線”評估可能使得其表現大幅下降。
▲ 圖一. “離線”評估與“在線”評估中各個跟蹤器的表現以及 PVT++ 在“在線”跟蹤中的效果。灰色圖標代表離線評估,藍色圖標代表相同方法在線評估,紅色圖標代表相同方法使用 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 評估指標
3.1 e-LAE 評估指標
與“離線”設定不同,“在線”跟蹤(LAE)依照算法實際部署的情況設計,具體而言,其遵循以下兩條原則:1. 運行時,方法只能處理“最新”的一幀,而非連續的每一幀。如圖三的時間軸所示,假設世界時間軸為 ,當算法處理第 幀結束時的世界時間位于 后一點(這里看圖中上方的算法時間戳 ),那么此時的“最新”幀為第二幀,算法的下一幀輸入即為第 2 幀,同理,算法的再下一輸入幀為第 5 幀,可以發現這樣第 1,3,4 幀由于算法延遲被跳過。2. 評估時,選取跟蹤器在對應幀的世界時刻能給出的“最新”的結果進行評估。如圖三所示(這里看圖中下方的算法時間戳 ),假設我們要評估第 1 幀的結果,在世界位于第 1 幀時,算法其實并沒有處理完第一幀,故而只能使用“最新”的第 幀的輸出結果進行評估。
類似的評估方式最早被提出于 ECCV2020 “Towards Streaming Perception”,在以前的研究 PVT 中,我們針對跟蹤算法做了上述調整。
然而,這樣的評估方式有一個缺陷,假設算法速度快于世界幀率(例如圖三下方的算法時間戳),無論算法有多快,評估時的算法滯后永遠是一幀。換言之,假設有兩個精度一樣的跟蹤器 A 與 B,A 的速度 > B > 世界幀率,那么這樣的評估指標得到的 A,B 的結果是一樣的,這樣以來,LAE 便無法將實時跟蹤器的速度納入評估中,無法對實時跟蹤器進行有效比較。 為此,我們設計了擴展版 LAE(e-LAE)。e-LAE 并不要求算法“立刻”給出當前幀的最新結果,而是允許一個一幀內的延遲閾值 ,評估第 幀時,只需給出 時的最新結果即可。可以想象到當 從 0 逐漸增大到 1 時,實時跟蹤器會慢慢從“在線”結果變為“離線”結果(實際結果從小變大),而跟蹤器越快(延遲越?。?,其對應的臨界 也就越小。 利用這一點,我們使用 的 精度 ?精度 曲線下面積表示結果。這樣再次考慮之前的例子,A 的速度快,它便能在 較小時變為數值更大的“離線”結果,這樣的曲線下面積也就大于跟蹤器 B,e-LAE 便能成功區分兩個精度一樣速度不同的實時跟蹤器了。 基于 e-LAE,我們在機器人平臺 AGX Xavier 上進行了眾多跟蹤器詳盡的實驗,涉及 17 個跟蹤器,三個數據集,詳見原文圖五,e-LAE 可以區分一些精度接近而速度有一些差距的實時跟蹤器,如 HiFT 與 SiamAPN++(原文 Remark 2)。我們正在進一步檢查所有結果,最終確認后也會將評估的原始結果開源。
3.2 PVT++
無論算法的速度有多快,其延遲總存在,故而我們設計了端對端預測性跟蹤框架彌補延遲。如圖三(a)所示,PVT++ 的結構非常直觀簡單,跟蹤器模塊即普通的已有的(基于深度學習的)跟蹤算法,預測器接受跟蹤器輸出的歷史運動 ,跟蹤器的歷史視覺特征 ,以及預設的落后幀數 作為輸入,輸出未來幀的目標位置。
PVT++ 的結構看上去雖然簡單直觀,但使用離線數據訓練這一套框架使之協助在線無人機跟蹤并非易事,其獨道之處在于以下三點:
相對運動因子:我們發現訓練 PVT++ 會遇到一個核心問題,訓練集與測試集的域差距。試想,如果用于訓練 PVT++ 的數據來自 VID,LaSOT,GOT10k 這些目標運動尺度較小,方向速度較規律的數據集,PVT++ 自然會嘗試擬合這些運動規律而難以泛化到目標運動更復雜,尺度更大的無人機跟蹤場景。為了解決這一問題,我們將 PVT++ 的訓練目標改為學習/擬合特殊設計的相對運動因子,即原文公式(4):
這里 可以簡單理解為過去幾幀的平均速度,在左側的公式中,我們可以先假設目標是勻速運動的,即未來幀的相對位置變化正比于未來幀的時間間隔和平均速度,此后我們的神經網絡只需要在這一假設上做出調整即為未來的真實運動。這一設計也就使得預測器需要學習的東西是“相對于勻速運動假設的偏差值”,即相對運動因子,而非絕對的運動值。
我們發現這一預測目標在大多數時候與目標的絕對運動是無關的,故而訓練出的網絡也就不易擬合訓練集中的絕對運動,有著更好的泛化性。這一設計是 PVT++ 能 work 的核心原因。預測器輸出的相對運動會用于后續設計與真值的 L1 損失作為訓練損失函數。
輕量化預測器結構:另一個問題是,預測器本身必須足夠輕量才能避免預測模塊引入額外的延遲,否則會導致整個系統失效。為此,我們設計了輕量有效的網絡架構,包含 encoder - interaction - decoder 三部分,并能兼容運動軌跡信息與視覺特征,具體如圖四,其中大多數網絡層都可以有著非常小的通道數以實現極低的延遲(詳見原文表 3)。此外,我們預測器的設計也最大程度上復用了跟蹤器能提供的視覺特征,因此節省了提取視覺特征所需要的計算資源。▲ 圖四. PVT++ 中預測器的輕量化網絡架構。 如何有效利用跟蹤器已有的視覺特征:最后,為了使輕量的預測器做出穩健的預測,我們設計了一系列訓練策略使得參數量很少的預測器有效利用(較大型)預訓練跟蹤器的能提供的魯棒視覺表征。具體而言,我們發現以下兩點設計尤為重要:
- 輔助分支:預測器的視覺分支(圖四(b))需要當前的相對運動信息作為監督信號(圖四的虛線框部分)才能用于預測未來的運動。詳見原文 5.3 節。
-
聯合訓練:在訓練 PVT++ 時,跟蹤器模塊需要在早期的訓練 epoch 中以較小的學習率聯合預測器一起訓練,進而使視覺特征既適用跟蹤器做定位,又適合預測器做預測。詳見附錄 B 中的訓練設定與我們的開源代碼。
實驗部分
全文的實驗設計包括 e-LAE 的評估(原文圖五)與 PVT++ 的效果、分析兩部分,在這里著重介紹 PVT++ 有關的實驗。4.1 設置
為了公平比較基線跟蹤器,PVT++ 采用與他們訓練相同的 LaSOT+GOT10k+VID 作為訓練集(均為視頻)(實際上僅用 VID 也可以取得較好效果,詳見附錄 L)。具體而言,我們直接加載了跟蹤器原作者提供的模型參數作為我們的跟蹤器模塊,再使用離線數據訓練 PVT++。 評估時我們使用了四個無人機跟蹤權威數據集 DTB70,UAVDT,UAV20 L 以及 UAV123,廣泛驗證了 PVT++ 的泛化性。4.2 整體效果
▲ 表一
PVT++ 的整體效果如表一所示,我們共將四個跟蹤器轉化為了預測性跟蹤器,在四個無人機跟蹤數據集中,PVT++ 能起到廣泛而顯著的效果。可以發現 PVT++ 在某些場景下能達到超過 60% 的提升,甚至與跟蹤器的離線效果相當。另外我們也發現并不是所有的情況下視覺信息都是有效可靠的,例如在 DTB70 中,僅用 PVT++ 的 motion 分支也可以起到一定的效果。4.3 消融實驗
這里著重展示一下消融實驗表四,如果不預測相對運動因子而是直接用絕對運動的值作為預測目標(和損失函數設計),預測器完全不 work,甚至會引入負面影響。當引入視覺特征以后,輔助分支的監督和聯合訓練都是必要的,其中聯合訓練的重要性更大。
4.4 與其他方法對比
▲ 表五 如表五,我們嘗試了直接在跟蹤器后加入卡爾曼濾波(即沿用 ECCV2020 “streaming” 的思想)以及我們之前雙濾波(PVT)的方案,并且在審稿人的建議下設計了可學習的基線方法(具體而言,我們將卡爾曼濾波中的噪聲項作為可學習參數)。這些方法都沒有利用跟蹤器已有的視覺特征,所以綜合效果差于聯合了運動與視覺特征的 PVT++。
4.5 可視化
▲ 圖五. PVT++與卡爾曼濾波的可視化對比 在圖五中的三個序列中,我們發現卡爾曼濾波預測器很難處理目標平面內旋轉以及無人機視角變化的情況,在這些挑戰中,引入視覺信息進行目標尺度預測是尤為有效的。 另外本文也進行了更為詳盡的實驗,如屬性分析、與其他運動預測方法(如 NEXT)的對比、PVT++ 作用在最新的基于 transformer 的跟蹤器等,歡迎大家參閱我們的附錄。局限性與討論
PVT++ 的局限性在于兩點:- 預測器使用的視覺特征并不總是魯棒,我們發現在 DTB70 這類目標運動速度很快導致圖片模糊/目標出視野,但目標運動本身很規律的數據集中其實單靠運動分支就可以起到很好的效果。
-
訓練策略有些復雜,特別是聯合訓練時跟蹤器模塊在早期 epoch 用較小學習率微調這一些細節我們嘗試了很多次實驗才發現。
原文標題:PVT++:通用的端對端預測性跟蹤框架
文章出處:【微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。
-
物聯網
+關注
關注
2909文章
44701瀏覽量
373958
原文標題:PVT++:通用的端對端預測性跟蹤框架
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論