目標跟蹤入門
paper:
Deep visual tracking: Review and experimental comparison(Pattern Recognition, 2018)注意:該鏈接是論文的官網,下載需要收費
資源下載鏈接:https://download.csdn.net/download/u011609063/12006350
需要積分下載,這個好像是csdn強制性的,默認是5個積分,沒有地方修改,我也是無語
1. 介紹
在目標跟蹤中,存在許多挑戰,例如
- Illumination Variation(光照變化)
- Scale Variation(尺度變化)
- Occlusion(遮擋)
- Deformation(形變)
- Motion Blur(運動模糊)
- Fast Motion(快速移動)
- In-Plane Rotation(平面內旋轉)
- Out-of-Plane Rotation(平面外旋轉)
- Out-of-View(出視野)
- Background Clutters(背景干擾)
- Low Resolution(低分辨率)
下面兩幅圖片可以更直觀的反映問題
作者回顧了目前(2018年之前)基於深度學習的頂級跟蹤算法,並且在數據集上對這些算法進行測試,企圖解決以下問題:
- 在基於深度學習的跟蹤算法中,它們有什麼聯繫和區別
- 爲什麼深度學習適用於visual tracking
- 如何更好融合深度網絡以及目標跟蹤未來發展的方向
在OTB-100、TC-128和VOT2015數據集上測試了這些算法並且分析之後發現:
- 使用CNN能更好的從背景中找出跟蹤目標,並且使用CNN模型進行模板匹配時速度更快
- 使用網絡提取的深度特徵的跟蹤器比使用淺層手工標註的特徵的跟蹤器效果更好
- 對於CNN模型,使用多個卷積層的特徵會比使用單個卷積層的特徵性能更好
- 使用端到端網絡的深度跟蹤器會比僅使用特徵提取網絡的跟蹤器更魯棒
- 在網絡訓練時,對具有視頻信息的網絡進行預訓練,並在線對其進行後續觀測的微調
2. 背景和相關工作
2.1 目標跟蹤的基本概念
目標跟蹤是從真實場景中跟蹤任何目標。目標跟蹤由運動模型和觀測模型組成,根據觀測模型可以將跟蹤算法分爲生成式方法和判斷式方法。結構如下
運動模型: 基於對當前當前幀的估計,該模型會產生一些在當前幀可能包含的目標候選區或者anchor boxes
觀測模型: 對候選區域的的特徵進行分析,來確定該區域是否爲目標區域
生成式方法: 搜索和跟蹤目標最相似的區域作爲跟蹤結果,包括模板匹配法、子空間法、稀疏表示法等
判別式方法: 訓練一個分類器去區分目標與背景,選擇置信度最高的候選樣本作爲跟蹤結果,包括boosting、SVM、樸素貝葉斯法、隨機森林法、多示例學習法、度量學習法、結構化學習法、潛在變量學習法、相關濾波法等
2.2 基於深度學習的算法
越來越多的研究人員開始研究深度學習,並且在大部分計算機視覺領域取得了巨大成功,例如圖片分類、目標檢測、預測分割、邊緣檢測、目標跟蹤。
具體的基於深度學習的算法請自行閱讀論文。
3. 基於深度學習的目標跟蹤
現有的跟蹤算法可以按照以下方式分類。
說明:
- FEN表示feature extration network
- EEN表示end-to-end network
- online表示在線學習,每學習一個樣本就更新參數,可以理解爲batch_size爲1
- not online表示脫機學習,每學習一批樣本才更新參數,可以理解爲batch_size大於1
算法詳情請看原論文
4. 實驗和分析
4.1 評價標準
本論文中使用的評價標準
-
precision plots of OPE
作用: 一個序列中所有幀的平均中心位置誤差被用於慨括跟蹤算法對該序列的總體性能。精確度圖能夠顯示出評估的位置在給定的準確值的閾值距離之內的幀數佔總幀數的百分比。該評價標準針對一個序列
計算:-
計算pixel error
dis表示誤差
(x_1, y_1)表示anchor box的中心座標
(x_2, y_2)表示ground truth的中心座標 -
判斷某幀是否被正確預測
1表示正確預測,0表示錯誤預測
dis表示第1步計算的結果,即pixel error
表示閾值,一般爲20 -
統計該序列中正確預測的幀數n
T表示該序列的總幀數
right表示該幀是否被正確預測,即第二步中的結果 -
計算該閾值下的precision
n表示正確預測的總幀數
T表示該序列中總的幀數 -
繪製Precision plots of OPE
設置不同的閾值,重複第2-4步計算對應的precision,將它們以座標點形式存儲下來,然後繪圖。下圖是一個樣例
-
-
average precision scores
閾值爲20時對應的precision -
success plots of OPE
作用: 反映算法在一系列幀中的跟蹤性能,也叫AUC圖
計算:- 計算單幀IOU,也叫單幀accuracy
G表示ground truth
A表示anchor box
|·|表示該區域內像素點的個數
也可以理解爲G和A相交的面積除以G和A相併的面積 - 判斷該幀是否正確預測
- 統計所有序列的總幀數T和正確預測的幀數n
sequence_frames表示該序列的總幀數
m表示待測序列的總數
right是通過第2步計算出來的結果 - 計算該閾值下的success rate
n表示正確預測的總幀數
T表示待測序列的總幀數 - 繪製Success plots of OPE
設置不同的閾值,重複第2-4步計算對應的success rate,將它們以座標點形式存儲下來,然後繪圖。下圖是一個樣例
- 計算單幀IOU,也叫單幀accuracy
-
average success rate scores
閾值爲0.5時對應的success rate -
AR
-
EAO
- 將所有序列按照長度分類
- 令待測tracker在長度爲Ns的序列上測試,得到每一幀的accuracy
- 對該序列所有幀的accuracy進行平均,得到該序列上的accuracy,即
- 使用該tracker對所有長度爲Ns的序列都跑一遍,在求平均。即
- 即該tracker在長度爲Ns序列上的EAO值
-
EFO
- 測試該機器在600 * 600圖像上對每個像素進行30 * 30濾波的時間
- 跟蹤算法耗時除以第一步的時間即EFO值
4.2 分析
請看原論文
5. 未來發展方向
5.1 深度學習算法存在的缺點
- 有很多多餘的深度特徵,限制了速度和準確率
- 大多數網絡使用VGG提取特徵
- 缺失訓練樣本
- 模型的遷移能力(transfer ability of model)
5.2 深度學習算法發展方向
- 減少冗餘特徵
- 提出更多網絡結構
- 訓練樣本缺失可以花更多精力集中在無監督或弱監督學習
- 利用強化學習或生成對抗網絡生成更多樣例可以提高性能
- 在跟蹤中使用單樣本學習(one-shot learning)