單目標跟蹤
單目標跟蹤任務介紹
對於一段視頻序列,在視頻開始時,給定跟蹤目標的位置,通過設計算法得到后續幀中目標的位置和尺度信息。
- 只關注一個目標,並且可以跟蹤任意類別的目標,無類別限制
- 挑戰:跟蹤過程中,目標和環境可能會出現各種不同的變化,比如遮擋、光照變化、非剛性形變、背景雜亂等情況
后續算法的設計就是為了解決各種的挑戰,提升跟蹤算法的性能和魯棒性
單目標跟蹤數據集發展史
數據集是算法訓練與評估的基礎。單目標跟蹤領域有豐富的數據庫資源
- 2013年之前,跟蹤算法使用自己采集的若干段序列進行評估
- 2013年,第一個Benchmark OTB50的出現,Tracking發展進入加速期,使得目標跟蹤的評估更加規范
- 2015年,擴展OTB50,得到OTB100
- 2018年,大規模短時跟蹤數據集TrackingNet和長時跟蹤數據集OxUvA誕生
- 2019年,(大規模長時跟蹤數據集)LaSOT和(目標類別極其豐富的短時跟蹤數據集)GOT-10K等大規模跟蹤數據集的出現,針對目標跟蹤產生的訓練集使得跟蹤算法的性能進一步提升。
2018年起,他們的視頻數量可以達到千至萬的規模,圖片數量可以達到百萬甚至千萬的規模
與此同時,2013年起,VOT組委會開始舉辦一年一屆的目標跟蹤大賽,場景逐漸豐富。2017年設置了實時賽道,2018年設置了長時賽道,2019年設置了多模態RGBD&RGBT賽道,促進了跟蹤朝着高魯棒性的方向發展
評估指標
算法被初始化后不再對算法修正,如果算法跟蹤錯誤,可能會導致后續幀全部失敗,主要的評估方式有兩種,
- One Pass Evaluation(OPE)
One Pass Evaluation采用Success和Precision進行評估。Success反映預測目標框的大小和尺度的准確性,Precision反映中心位置誤差 - VOT系列
EAO(Expect Average Overlap) 綜合精度A和魯棒性R的指標
單目標跟蹤代表算法
目標跟蹤歷史悠久,發展歷史波瀾壯闊,將發展歷程分為以下四個階段:
- 2015年之前,目標跟蹤還處於探索階段,期間出現了基於均值偏移、粒子濾波、子空間學習、分塊表示、稀疏表示等框架的算法,派系眾多,百家爭鳴。
- 2015之后,相關濾波與深度學習的興起,出現了相關濾波與深度學習算法的比拼,兩個框架勢均力敵不分伯仲。相關濾波代表算法有MOSSE、KCF、CCOT、ECO,深度學習的代表算法有GOTURN,MDNet&RT-MDNet、SiamFC、SiamPRN。隨着大規模數據集的出現,大量訓練數據使得深度學習的算法的優勢得以體現。
- 2019年之后,孿生濾波成為目標跟蹤網絡的主流框架,代表算法有SiamRPN++,SiamMask,SiamFC++,ATOM,DiMP
- 2021年,隨着Transformer在視覺任務上表現出眾,一系列基於Transformer的跟蹤算法以高精度、實時的優勢成為目標跟蹤中目前最優的算法.代表算法有TransT,TMT,STARK,SwinTrack
SOT方法分類
大都基於深度學習,主要分為兩類:
- one-shot方法:SiamFC,SiamRPN,SiamMask
給網絡一個目標圖片(稱為模板),同時給網絡搜索區域一個圖片,網絡會對模板和搜索區域進行比較,選擇和模板相似的物體。只需要離線訓練,使網絡學到模板匹配的能力即可。
one-shot的方法會使用Siamese網絡,分別對模板和搜索區域進行特征提取,對提取的特征進行匹配從而得到結果。
- online方法:MDNet,ATOM,DiMP
除了離線訓練外,在在線跟蹤的階段,在每個視頻開始時,用一個初始幀跟蹤器進行初始化訓練,讓網絡去適應當前的目標,后續幀的測試就變成了一個簡單的分類問題,它不再需要輸入模板,只需要輸入搜索區域,網絡在搜索區域的每個特征點上進行前背景的二分類或者對於目標存在的概率進行預測即可。隨着跟蹤過程的進行,網絡會進行在線訓練不斷適應目標外觀的變化。
- 比較
one-shot的方法結構簡單,速度較快;但精度較低
online的方法可以在線適應目標外觀的變化,精度較高,但在線訓練使其速度變慢
根據模型框架,目前主流的SOT方法可分為以下四類:
一. 基於相關濾波 e.g.,KCF,DSST,BACF
二. 基於孿生網絡(Siamese)的生成式方法 e.g.,SiamFC,SiamRPN,Ocean
三. 在線更新的辨別式方法 e.g.,MDNet,ATOM,DiMP
四. 基於Transformer e.g.,TransT, Stark,SwinTrack
根據任務類別,視覺跟蹤的其他分支有:
長時跟蹤->解決目標頻繁消失再重現的挑戰
多模態跟蹤-結合其他模態信息如紅外深度文本協助可見光信息進行跟蹤
-
相關濾波跟蹤方法
在信號處理中,相關操作可以衡量兩個信號之間的相似程度。
KCF原理:通過計算可學習的濾波器(表示目標特征)和搜索區域的相關性,生成響應圖,最高響應位置就是目標位置.
根據相關定理,相關濾波類方法可以通過轉換為頻域計算來提升速度
優點:跟蹤速度快,可在線適應
缺點:只能跟蹤位置,無法跟蹤尺度大小變化, -
基於Siamese的跟蹤方法(基於孿生網絡的跟蹤器)
核心思想:學習模板與搜索區域的相似性
優點:后處理的流程復雜,性能對后處理的超參數敏感(在基於Transformer的跟蹤器中得到緩解
缺點:不進行在線更新,導致辨別性低- Siamese跟蹤方法的代表-SiamFC ⭐
通過一個簡單的互相關操作,實現了在搜索區域上定位模板的效果
為了保持互相關和卷積的平移不變性,使用的骨干網絡是一個無填充的AlexNet
SiamFC的結構說明:主干網絡分別提取模板和搜索區域的特征,再對二者使用correlation運算得到一張相似度圖,相似度圖上響應較大的位置是目標的位置
correlation運算:是將模板以滑動窗口的形式在搜索區域上進行線性乘法來得到一張響應圖。缺點:是局部比較,缺乏全局信息;是一個線性運算,輸出的是一個相似度圖,即丟失了語義信息,成為設計高性能算法的瓶頸 - SiamRPN ⭐
該方法首次將單目標跟蹤任務建模成one-shot檢測任務)
在SiamFC的范式下,將模板信息編碼至RPN模塊中,提升了預測邊界框的准確度
不需要多尺度計算,速度較於SiamFC有了大幅的提升 - SiamRPN++
使用ResNet-50作為骨干網絡,
使用Depth-wise correlation進行特征交互 - SiamMask ⭐
通過引入更多的數據增強,用主通道相關代替互相關,以及對模板特征的一次correct操作,成功訓練了ResNet-50的
使用ResNet-50作為骨干網絡,效果有了大幅的提升
邊界框預測頭部並聯了mask的預測頭部(引入掩碼分支),使其能同時勝任(統一)SOT和VOS兩項任務 - SiamFC++ ⭐
將Anchor-free思想引入目標跟蹤,緩解了手動設計anchor不靈活的問題,進一步提升了跟蹤器的精度和速度 - Ocean
自適應卷積用來提取目標感知的特征
- Siamese跟蹤方法的代表-SiamFC ⭐
-
在線更新的辨別式跟蹤方法 e.g.,MDNet,ATOM,DiMP
核心思想:搭建一個分類器,通過在線學習一個辨別式分類器來區分背景和目標
特點:在線更新可以更加准確捕捉外觀變化,但速度變慢;
在線更新可能會引入噪聲樣本,在一定程度上增加了模型退化的幾率
典型方法框架代表:- MDNet
該網絡是一個二值分類器,由若干個共享層和多個特定於域的分支組成。
共享層用於學習通用的特征表達,而每個域都關聯一個獨立的序列,Fc4,fc5和特定於域的fc6層的參數會被在線微調來適應指定序列中目標的外觀變化 - ATOM
將目標跟蹤分為目標估計和分類兩部分。在線分類器用於目標定位,目標估計通過離線訓練IoU預測器來實現,特征調制類似於Siamese的網絡結構,用於IoU的預測。 - DiMP
在ATOM基礎上進一步改進,提出了一個辨別式的模型預測框架。它僅在分類分支上增加了一個模型預測器來學習模型權重。
提出一個辨別式損失函數來學習一個魯棒的目標模型,提出一個可以快速收斂的優化策略,自適應的學習學習率
- MDNet
- 基於Transformer的跟蹤方法
從SiamRPN開始,單目標跟蹤,特別是Siamese跟蹤器,受目標檢測領域的影響很大。隨着Transformer最近在分類、檢測任務中取得成功,在單目標跟蹤中也引領了一次快速進步。
特點:建立遠距離特征間的關聯、聚合全局信息、有更少的歸納偏置
但也存在需要大量數據訓練,token數量較多時計算量較大等缺點
然而,單目標跟蹤中有豐富的數據集,並且,目前常采用搜索區域的方法進行跟蹤,所以圖片較小,token數量較少,剛好一定程度上可以繞過Transformer的缺點。因此Transformer在跟蹤中,特別是在搜索區域與模板的特征融合上,取得了成功的應用。
- Transformer的代表性方法
是Siamese跟蹤方法的進化,有效的特征融合,Transformer有效提升跟蹤性能
1. TransT
Siamese中常用的correlation運算是將模板以滑動窗口的形式在搜索區域上進行線性乘法來得到一張響應圖。缺點:是局部比較,缺乏全局信息;是一個線性運算,輸出的是一個相似度圖,即丟失了語義信息,由於缺乏語義信息和全局信息,因此不利於定位中干擾物的排除以及精准的邊界框回歸,成為設計高性能算法的瓶頸
針對Siamese Tracker的缺點, 為了解決這個問題,采用基於Transformer的attention機制來取代Siamese中的correlation運算,來進行搜索區域與模板的特征融合。
整個工作的關鍵在於特征融合網絡,包括基於self-attention的ECA模塊和基於cross-attention的CFA模塊。ECA進行全局信息的聚合,CFA進行搜索區域與模板的特征融合。 對於主干網絡提取的模板和搜索區域的特征,特征融合網絡對二者進行融合,輸出融合后的特征向量組,再用簡單的多層感知機來進行前景背景的二分類和邊界框的回歸,用簡潔的結構取得了很好的跟蹤性能,並且可以達到實時的速度
**attention機制和multi-head attention機制:**
- attention機制
輸入:三個特征向量組Q,K,V,也就是三個2d的特征圖
對Q,K進行計算,K,V的來源是一致的,如果Q與K,V來源一致,那么就是self-attention,如果Q與K,V來源不一致,那么就是cross-attention。
Q與K之間通過矩陣乘法計算得到Q中每個向量對K每個向量的attention score,再對V中每個向量進行加權,實現了對V的注意力增強。
由於在運算過程中Q可以看到K中每個向量,所以可以捕獲到全局信息,對於遠距離的特征也可以建立關聯,這一點是一般的卷積做不到的
- multi-head attention機制
是對attention的一個改進。
先對V,K,Q分別映射,通過降維映射到不同的特征子空間,在每個特征子空間里做attention之后,將三者concat起來,再映射回去。
通過降維到不同的特征子空間可以關注到更豐富的特征,提升精度
- 本質上是特征的增強,輸出的是加權后的特征,而並非correlation運算那樣,輸出一張沒有語義信息的相似度圖
基於attention的機制,我們設計了一種新的跟蹤框架-TransT。它包含三個部分,分別是特征提取、特征融合和預測頭部
特征提取-提取模板和搜索區域的特征。
像以前的Siamese Tracker一樣,用修改版的ResNet50來分別對模板和搜索區域提取特征。再將兩組特征放入基於Transformer的特征融合網絡進行融合。
特征融合網絡-對特征進行增強和融合
特征融合網絡包括基於self-attention的ECA模塊和基於cross-attention的CFA模塊。ECA進行全局信息的聚合,CFA進行搜索區域與模板的特征融合。兩個ECA和兩個CFA組成一層特征融合層。特征融合層循環n次后(默認n=4),接一個額外的CFA來融合兩個分支的特征圖輸出最終的特征。最后,在輸出融合后的特征向量組的每個向量上,再用(簡單的多層感知機)預測頭部來分別進行前背景的二分類和邊界框的回歸,得到結果。再通過后處理和執行度選出最好的一個框作為最終的結果。
用簡潔的結構取得了很好的跟蹤性能,並且可以達到實時的速度
具體來說:
- ECA是一個基於Multi-Head Self-Attention的殘差模塊。對單個分支的特征進行增強。
- CFA是一個基於Multi-Head Cross-Attention的殘差模塊。對搜索區域和模板兩個分支的特征進行特征融合。FFN用來增強擬合能力。
- ECA和CFA相較於correlation計算來說,輸出的是加權后的特征,而並非correlation運算那樣,輸出一張沒有語義信息的相似度圖,保留了豐富的語義信息。而且還可以建立遠距離特征之間的依賴,整合全局信息。
不采用Transformer的原始結構?
Transformer模型中采用了 encoer-decoder 架構
-
encoder,包含self-attention層和前饋神經網絡,self-attention能幫助當前節點不僅僅只關注當前的詞,從而能獲取到上下文的語義。
-
decoder在這兩層中間還有一層attention層,幫助當前節點獲取到當前需要關注的重點內容。
在decoder端輸入搜索區域特征,在encoder端輸入模板特征,cross-attention只對encoder端的輸入加權,對於跟蹤來說顯然是不合理的,所以改成了
特征融合網絡結構,特征融合網絡可以看作是變體的Transformer實驗分析
- 一次跟蹤中attention score可視化
說明:高亮點代表attention關注的空間位置,特征融合層默認循環四層,對應圖像的一列,每列對應兩個ECA和兩個CFA,即兩個self-attention和兩個cross-attention。
分析:把attention map可視化,可以看到,隨着特征融合層的深入,attention會逐漸找出目標,並關注於關鍵信息。self-attention會更關注於目標中心,而cross-attention則更關注於邊界信息。 - 跟蹤結果可視化
說明:綠色框-真值框,紅色框-TransT預測框,藍色框-Ocean算法預測框,黃色框-DIMP算法預測框,右側-attention map的可視化
分析:TransT對於遮擋的表現還是比較好的,這歸功於attention對於全局信息的整合,更易找到一個全局最優解,把斑馬的整體框出來。 - 實驗結果
TransT在LaSOT,TrackingNet,GOT-10k這三個大規模數據集上,比以前的算法都取得了一個較大的提升,與此同時TransT可以達到46fps,而特征融合層循環兩次的TransT,在達到較高性能的同時,能達到更快的速度-66fps
在LaSOT的不同場景下,TransTN4和TransTN2都比之前的算法好一些;
在NFS,OTB,UAV這三個小尺度數據集上也達到了很好的性能
消融實驗中,首先探究了后處理的影響。Siamese Tracker的預測值通過寬高度懲罰,余弦窗懲罰還有邊界框平滑三個后處理輔助知情度來選擇。這里引入了三個超參,由於Siamese Tracker對於后處理的超參很敏感,調參費時,這導致了Siamese Tracker在復現時的困難。而TransT只使用了余弦窗懲罰這一個后處理,並且只有一個測試時的超參,在參數確定好后無需再調整超參。這里我們直接將后處理去掉(TransT-np),可以觀察到,后處理對於性能的影響並不大。我們也與原版的Transformer做了對比,可以看到原版Transformer的性能要差一些,但與以前的算法相比性能也是比較高的,這也印證了用attention代替correlation的出發點
也探究了ECA和CFA模塊與correlation的消融實驗。如果去掉ECA模塊,性能會下降但不會下降很多;而如果把CFA換回correlation,對性能的影響很大;如果把ECA,CFA都去掉換回correlation,性能會下降更多,而且后處理的影響會很大,這說明沒有attention整合全局信息,網絡只能更多的依靠后處理中的先驗信息
總結:提出了一個新的基於Transformer的跟蹤框架,以解決以往Siamese Tracker中correlation的瓶頸,提出了一個完全離線,實時,高性能的跟蹤器TransT
未解決的問題:
干擾項同時出現
超出搜索區域- TMT
使用Transformer來加強特征 - STARK
拼接搜索區域和模板的特征,提升跟蹤速率
角邊界框預測模塊使得回歸更加准確
- 一次跟蹤中attention score可視化
單目標跟蹤發展趨勢
1. 融合檢測來實現跟蹤成為主流
2. 現有的算法如SiamMask來預測mask實現像素級的跟蹤
3. 大規模數據集的出現使得深度學習的性能得到充分發揮
4. 隨着跟蹤算法的發展,對子領域的研究逐漸得到擴展,如RGBT,RGBD,LT
主流跟蹤算法和長時跟蹤總結
知名學者
Philip Torr
Martin Danelljan