目標跟蹤基礎與智能前沿
關注上方公衆號,回覆下方安裝過程中對應關鍵字,獲得對應安裝包。
本文持續更新中…
連載可關注知乎專欄“目標跟蹤基礎與前沿”
文章目錄
- 開端介紹
- 1、工具包配置
- 2、評價指標
- ================ 2.1 ==== OTB benchmark ================
- ================ 2.2 ==== VOT benchmark ================
- 1、參數
- 中心誤差 Center Error
- 區域重疊:Region Overlap
- 跟蹤長度:Tracking Length
- 失敗率:Failure Rate
- 混合測量:Hybrid Measures
- Expect Average Overlaprate
- 2、圖表
- ============ 2.3 ==== Object Tracking Benchmark ============
- ============ 2.4 ==== Got-10k ============
- 3、數據集介紹
開端介紹
VOT
VOT13、VOT14、VOT15、VOT16,每一次都有很大變化,VOT13只有16組序列,而當時OTB-50剛剛出來,所以VOT13沒多大影響力,VOT14比VOT13增加樣本集至25組,並且重新標註了樣本,選取多邊形區域進行標註,能反映出OTB反映不了的問題,這才收到大家的關注,不過大家當時還是看OTB多一些。VOT15擴充樣本集至60組,並開設了tir熱成像跟蹤子系列,其評價方法也有改變,VOT15開始火起來了。到VOT16,沒有對樣本集做修改,只是使用了自動標註樣本的方法對樣本重新標註,VOT已經成了跟蹤領域頂會必須拿出的指標了。
現在做跟蹤必須要拿VOT中的評價標準說明問題,它與OTB比起來更加好用,更能反映問題。
1、工具包配置
1.1 OTB安裝
OTB 怎麼用OTB
OTB使用教程
這裏解釋一下幾個在使用中可能需要進行更改的文件夾。
anno : 標註好的視頻序列的位置數據
第一個anno文件夾,就是標註好的視頻序列的位置數據,默認下載下來的只有OTB2013中視頻序列的標註數據,要想測試OTB2015就需要找到OTB2015的標註數據將anno文件夾進行替換。很顯然,沒有標註好的數據就不能測試得到算法的跟蹤精度及成功率。
figs : 繪圖生成保存的路徑
第二個figs文件夾,你將自己算法在數據庫上跑完之後,運行了perfPlot.m文件畫完圖之後,生成的圖片就會存在這個文件夾裏。
results: 算法測試的結果文件
第三個results文件夾,保存的是你算法測試的結果文件,文件命名爲“視頻序列名_算法名.mat”,當你算法在數據庫裏跑完後這個文件夾裏會找到對應的文件,有一點值得注意的是,當你之後運行perfPlot.m文件畫圖報錯時,很有可能是你的算法有瑕疵,導致一些測試結果文件是空文件,所以你要注意results裏對應算法結果文件中大小爲1kb的文件,也許就是空文件。
perfMat : 運行了perfPlot.m 畫圖的記錄文件,重新生成需要刪除
第四個perfmat文件夾,是你運行了perfPlot.m畫圖文件之後生成的記錄文件,所以當你新增或者更改了需要畫圖的算法時,最好把這個文件夾裏overall裏的所有文件刪除,否則可能會畫出之前保存的圖片而不進行新圖的繪製。
main_running.m : 主程序,運行之後可在rusult查看結果
main_running.mat文件就是主程序,設置完成需要測試的算法,在哪些視頻序列上進行測試後,運行這個文件,等他跑完就可以在results文件夾裏看到跟蹤結果文件了。
utility : 包含了程序需要調用的函數
utility文件夾,裏面包含了程序需要調用的函數,其中需要我們更改的函數有兩個,configSeqs.m文件,這個文件是設置你需要在哪些視頻序列上進行測試。configTrackers.m文件,這個文件是設置你需要測試哪些跟蹤算法。
- configSeqs.m文件,這個文件是設置你需要在哪些視頻序列上進行測試。
- configTrackers.m文件,這個文件是設置你需要測試哪些跟蹤算法。
drawResultBB.m文件是將你選擇的所有算法的跟蹤結果框(bounding_box)顯示在同一張圖片上的文件,運行這個文件首先需要把自己的算法在數據庫上跑一遍,也就是要有results文件夾裏要有算法跟蹤結果文件。
perfPlot.m文件是將跟蹤結果繪製成精度圖或者成功率圖的文件,這個的前提也是你要把算法在數據庫裏跑一遍,results文件夾裏要有對應的跟蹤結果文件。
trackers文件夾,你必須把你需要測試的算法的代碼放在這個文件夾裏,並寫好接口文件(run_算法名.m)。
1.2 VOT安裝
1.3 matlab 安裝
2、評價指標
================ 2.1 ==== OTB benchmark ================
時間魯棒性
OTB對時間魯棒性的測試是通過將視頻序列在時間軸上平均找出20個點作爲起點,終點還是原來的最後一幀,這樣通過對20段視頻序列運行算法,繪製平均的重疊率圖或者像素誤差圖,這樣就完成了空間魯棒性的測試
空間魯棒性
空間魯棒性和時間魯棒性一樣,取一段視頻的第一幀,以真實位置稍作偏移,就是說測試初始化位置有偏差的目標序列,這樣測試12段(8個方向,四個尺度),這樣就可以得到12和視頻序列的評價成功率曲線,也就是空間魯棒性曲線。
1、 參數
平均像素誤差Average Pixel Error(APE)
平均像素誤差是根據預測目標中心位置和真實位置的像素距離作爲誤差值,該值越大說明誤差越大。最後結果是對視頻序列所有幀取平均值。
平均重疊率Average Overlap Rate(AOR)
平均重疊率O是以面積來衡量的
2、圖表
VOT 和 OTB 的區別
VOT2013-2016官方鏈接:www.votchallenge.net/howto/
OTB和VOT區別:OTB包括25%的灰度序列,但VOT都是彩色序列,這也是造成很多顏色特徵算法性能差異的原因;兩個庫的評價指標不一樣,具體請參考論文;VOT庫的序列分辨率普遍較高,這一點後面分析會提到。對於一個tracker,如果論文在兩個庫(最好是OTB100和VOT2016)上都結果上佳,那肯定是非常優秀的(兩個庫調參你能調好,我服,認了~~),如果只跑了一個,個人更偏向於VOT2016,因爲序列都是精細標註,且評價指標更好(人家畢竟是競賽,評價指標發過TPAMI的),差別最大的地方,OTB有隨機幀開始,或矩形框加隨機干擾初始化去跑,作者說這樣更加符合檢測算法給的框框;而VOT是第一幀初始化去跑,每次跟蹤失敗(預測框和標註框不重疊)時,5幀之後重新初始化,VOT以short-term爲主,且認爲跟蹤檢測應該在一起不分離,detecter會多次初始化tracker。
================ 2.2 ==== VOT benchmark ================
精度 EAO · Expect Average Overlap Rate 預期平均重疊
VOT 中使用EAO
魯棒性
魯棒性使用跟蹤算法跟丟目標的次數來衡量
精度和魯棒性的相關性最弱。
1、參數
中心誤差 Center Error
中心誤差標準值 考慮目標中心位置的誤差,該方法具有明顯的缺點,就是無法衡量目標尺度變化的影響。
另外,目標中心的意義有時候不是很明確(如下圖)。
誤差來自, 誰和誰之間?
區域重疊:Region Overlap
區域的重疊率是使用重疊面積的比例進行衡量的。
在區域重疊指標上,我們一般使用有效幀的重疊率做平均。除此之外,我們還可以使用重疊率閾值以上幀的比例作爲標準:
跟蹤長度:Tracking Length
基於中心位置誤差的,從跟蹤開始到中心像素誤差下降到閾值以下的(幀數)長度定義爲跟蹤長度。
失敗率:Failure Rate
在視頻跟蹤處理的一段序列中,當重疊率低於閾值可以被表示爲
混合測量:Hybrid Measures
定義了幾種混合各種參數的指標,Combined Tracking Performance Score (CoTPS)
Expect Average Overlaprate
2、圖表
(AUC)曲線 · area-under-the-curve
(EAO) · Expect Average Overlap Rate 預期平均重疊
是用來評價性能的,精度的衡量方式是平均重疊率。
EOA · ??
EFO · Equivalent Filter Operations
EFO是用來衡量速度的指標,以往我們談速度,都需要談硬件,再說fps,但是通過EFO指標可以減少硬件差異帶來的影響。
首先測試該機器在600×600圖像上,對每個像素進行30×30濾波的時間。
然後將跟蹤算法耗時除以該機器上進行以上濾波操作的時間,這樣得到的值就是EFO值,最大程度的減少了硬件的影響。
是VOT2014提出來的一個衡量tracking速度的新單位,在利用vot-toolkit評價tracker之前,先會測量在一個600600的灰度圖像上用3030最大值濾波器進行濾波的時間,以此得出一個基準單位,再以這個基礎單位衡量tracker的速度,以此減少硬件平臺和編程語言等外在因素對tracker速度的影響。
============ 2.3 ==== Object Tracking Benchmark ============
精度 Precesion Plot: Euclidean distance between the center locations.
Precesion Plot: Euclidean distance between the center locations.
precesion plot(精度測算)主要指的是預測位置中心點與benchmark中標註的中心位置間的歐式距離,是以像素爲單位進行的計算。計算方式比較簡單,在進行目標跟蹤時我們主要會得到兩個參數:跟蹤目標左上角的座標和scale的大小。
Success Plot:
success plot(成功率測算)主要指的是預測目標所在benchmark的重合程度。通過success plot,我個人覺得對scale和precision都有了數值上的描述。
魯棒性
· OPE: one-pass evaluation;
· TRE: temporal robustness evaluation (different start frame);
· SRE:spatial robustness evaluation (four center shifts and four corner shifts).
其中OPE即爲普通方法,TRE、SRE爲測試魯棒性方法。