SiamFC++:Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines


這是曠視(Megvii)2020年發表AAAI的一篇論文
論文地址:SiamFC++
代碼地址:code

從題目看出此論文提出來魯棒且精確跟蹤的目標估計Guidelines,題眼就是Guidelines
視覺跟蹤問題需要在給定目標下,同時有效的執行分類和精確的目標狀態估計(也就是得到bbox),基於仔細的分析視覺跟蹤問題的特性(one unique characteristic of generic object tracking is that no prior knowkedge(object class) about the object,as well as its surrounding environment),提出的Guidelines 如下:

G1:decompositon of classification and state estimation(needing classification and target state estimation branch)
G2:non-ambiguous scoring(classification score without ambiguity)也就是說分類的分數是目標存在的置信score,而不是預定義的設置,像anchor box
解釋:In other words,our SiamFC++ directly views locations as training samples,while the anchor-based counterparts,which consider the location on the input image as the center of multiple anchor boxes,output multiple classification score at the same location and regress bounding box with respect to these anchor boxes,leading to ambiguous matching between anchor and object.we empirically show that the ambiguous matching could result in serious issues. In our per-pixel prediction fashion, only one prediction is made at each pixel on the final feature map. Hence it is clear that each classification score directly gives the confidence that the target is in the sub-window of the corresponding pixel and our design is free of ambiguity to this extent.
G3:prior knowledge-free(tracking without prior knowledge)依賴數據分佈的先驗信息(scale/ratio distribution)會降低泛化能力
G4:estimate quality score直接使用分類的置信度進行bbox選擇會降低跟蹤性能,因此需要一個獨立於分離的估計質量分數,ATOM 、Dimp 的第二branch就是使用這個guideline
改進:

因此在siamfc的基礎上加了一個用於精確目標估計的迴歸head,與分類head並列(G1),因爲預先定義的achor設置被移除,所以matching ambiguity(G2)和目標scale/ratio分佈(G3)被移除。最後增加了估計質量評估分支(G4)------這個開始不理解,你知道是什麼嗎?其實就是得到score , 也是目標位置,得到bbox,然後就是refine bbox,因爲pss輸入的是迴歸的值,從而refine目標位置。提高了跟蹤和泛化能力,並且速度可以達到90FPS,是第一個在數據集TrackingNet中達到75.4,ATOM是70.3

Introduction

跟蹤問題可以看出分類任務和估計任務的聯合,分類任務提供一個魯棒的粗略的目標位置,估計任務估計一個精確的目標狀態(bbox)。儘管現在的跟蹤器獲得了顯著的進步,但是他們的方法的第二個任務有很大的不同。

基於這個方面,以前的方法可以大體分爲三個方面:

1.DCF、SiamFC使用粗暴的multi-scale test,它是不準確,效率也不高,先驗假設是相鄰幀以固定速率進行目標scale/ratio changes
2.ATOM,通過梯度下降迭代refine多個初始化的bbox來估計目標的bbox( 缺點:heavy computation burden 、additional hyperparameters)
3.SiamRPN 通過引入RPN進行準確和有效的目標狀態估計,然而預定義的anchor設置不僅引入了模糊的相似性分數而且需要獲得數據分佈的先驗信息(這違反了目標跟蹤的spirit)。RPN迴歸預定義的anchor box和target location之間位置的偏移和大小(dx dy dw dh)
在這裏插入圖片描述

Related Works

Tracking Framework
Detection Framework(anchor-base,anchor-free

SiamFC++

框架圖如下:
在這裏插入圖片描述
在這裏插入圖片描述
先用Siamese backbone進行特徵提取
然後:
在這裏插入圖片描述
ψcls\psi_{cls} and ψreg\psi_{reg} after common feature extraction to adjust the common features into task-specific feature space.

那沒有RPN怎麼進行分類和迴歸呢?
classification:
feature map ψcls\psi_{cls} location (x,y)
input image corresponding location( x2\lfloor \frac{x}{2} \rfloor +xs, x2\lfloor \frac{x}{2} \rfloor +ys) s:stride
regression:
feature map ψreg\psi_{reg} location (x,y)
最後一層預測從對應位置(x2\lfloor \frac{x}{2} \rfloor +xs, x2\lfloor \frac{x}{2} \rfloor +ys)到真值bbox四個點的距離,表示爲:t\pmb{t}^\ast=(ll^\ast,tt^\astrr^\astbb^\ast)
因此對於location(x,y)迴歸目標計算如下:
在這裏插入圖片描述
(x0x_0, y0y_0) and (x1x_1, y1y_1) 是真值的左上和右下的座標。
fully-convolutional siamese trackers,where each pixel of the feature map directly corresponds to each translated sub-window on the search image due to its fully convolutional nature。
在這裏插入圖片描述
以上方法就避免了G2,G3(沒有使用anchor)
那最後一個呢?
我們並沒有考慮目標狀態估計質量,而是直接使用分類的score來挑選最後的box,這會導致定位精確度下降, classification confidence is not well correlated with the localization accuracy。
根據分析,一個sub-window中心的輸入pixel對 對應的輸出特徵pixel很重要比起其他,因此我們假設目標中心的特徵pixel比其他有一個更好的估計質量。所以在1x1卷積分類head添加了1x1卷積,輸出被支持估計PSS(Prior Spatial Score):
在這裏插入圖片描述
當然我們也可以用IOU來計算質量評估:
在這裏插入圖片描述
在這裏插入圖片描述
Training objective:
在這裏插入圖片描述
LclsL_{cls}表示focal loss用於分類的結果
LqualityL_{quality}表示BCE(二進制交叉熵用於質量的評估
LregL_{reg}表示IOU loss用於bbox result
assign cx,yc^\ast_{x,y} 1 to if (x, y) is considered as a positive sample, and 0 if as a negative sample.

Experiments

實現了兩個版本(不同的backbone architecture):
1.modified version of AlexNet
2.GoogleNet(和ResNet-50相當甚至更好)
Trainning data:
ILSVRC-VID/DET
COCO
Youtube-BB
LaSOT
GOT-10k( there is no class intersection between train and test subsets.)
對於視頻數據集,我們從VID,LaSOT,GOT-10k,提取圖像對,通過挑選間隔小於100的幀,5 for Youtube-BB。

training phase

for the AlexNet version:
600k image pairs for each epoch
凍結前三層卷積,fine-tune 後兩層卷積,使用zero-centered 的高斯分佈進行初始化。首先訓練我們的模型5 warm up epochs ,學習率從10710^{-7} to 2 x 10310^{-3} ,剩下的45個epochs使用餘弦退火學習率。在vot2018上達到160FPS
for the GoogLeNet version:
20 epochs(5 for warming-up,and 15 for training),在vot2018上達到90FPS
300k images pairs per epoch
在這裏插入圖片描述
逐漸增加數據集,應用head structure,應用質量評估。
the regression branch(0.094),
data source diversity (0.063/0.010),
stronger backbone (0.026)
better head structure (0.020)

與其他方法在不同數據集上的比較:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章