OTB(visual tracker benchmark) 的基礎環境配置


OTB是我們tracking領域常常用到的一個評估數據集,常用的有OTB50(2013年)和OTB100(2015年),下面就來演示一下如何讓一個tracker(通常是一個文件夾的形式)在下載下來之后能成功運行於OTB-2013的平台上。

原料:1、matlab(有時候會涉及到matconvnet的使用, matlab盡量用新一點版本的)

2、OTB-2013平台(http://cvlab.hanyang.ac.kr/tracker_benchmark/benchmark_v10.html)

3、sequences(測試的視頻集,需要一個個視頻點進去下載,最后一起放到一個命名為sequences的文件夾中)(http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html)

一、OTB框架基本介紹

 在解壓完壓縮包之后我們得到一個名為tracker_benchmark_v1.0(這里我重命名為tracker_benchmark_test)的文件夾,再把下載的測試視頻集放在sequences的文件夾中,將其一起放在命名為OTB的文件夾中,如圖:

我們先看一下tracker_benchmark_test里的不同文件夾的作用,如圖是OTB平台的工作目錄:

1、main_running : 平台運行的入口。

2、trackers: OTB平台里會內置一些tracker,另外我們可以自己下載tracker統統放置在trackers這個文件夾里。

3、util: 里面的configTrackers和configSeqs是用來配置tracker和視頻文件的。

4、anno: 里面存放的是groundtruth,OTB2013和2015的區別就在anno里的文件數目了,還有就是sequences里的視頻數目。

5、results:一般結果會保存在這個文件夾。

6、perfPlot是對results里tracking的結果進行評估的函數。

6、figs和perfmat是perfPlot評估之后的結果存放的位置。

 二、測試一個tracker

首先准備一個tracker(最好是有現成的適配OTB版本的tracker),我們這里使用的是STAPLE,這是2016年cvpr的一篇工作,code下載地址: https://github.com/bertinetto/staple,將其重命名為staple之后拷貝到trackres目錄下,如圖:

 

(1)打開util下的configTrackers.m配置所有的trackers(這里只有一個測試用的staple),將其他trackers注釋掉,然后自己寫一個struct,里面只有一個staple,如圖:

注意:這里tracker的命名要和trackers文件夾中實際的 run_xxxx 保持一直(包括大小寫),因為OTB在運行main_running這個函數的時候將會按照configTrackers.m里的命名規則尋找tracker中對應的 run_xxxx 的函數運行,比如我們這里是 run_Staple。

(2)打開util下的configSeqs.m配置所有的視頻(這里為了測試我們只選用幾個視頻,將seqIVT和seqOther注釋掉,只留下seqVTD),然后注意對於每個視頻的struct要另外設置它的訪問路徑,原先下載的路徑都是d:\data_seq\soccer\,我們改成自己電腦里的實際路徑,如圖:

(3)接着把matlab的工作路徑設置到tracker_benchmark_test中,打開main_running.m, 注釋第9行(不知道是啥), 第20行evalType改成OPE (OPE,SRE,TRE是三種不同的評價方式,我們這里使用OPE),第27行finalPath是tracking結果保存的路徑,我們這里填寫['./results/results_' evalType '_CVPR13/staple/'], 我們嘗試運行 main_running.m 函數。。。等待片刻會發現剛剛用來保存結果的路徑下面多了幾個mat,如圖:

 

三、評估一個tracker

評估一個tracker我們通常需要修改兩個函數:perfplot 和 genPerfMat,perfplot函數是評估tracker時候的入口函數,在配置好configTrackers.m 和 configSeqs.m 時直接運行它即可。不過,得注意設置一下genPerfMat函數里的路徑(這是perfplot用來調用進行初始化的函數),在 genPerfMat.m 的第9行,如圖:

路徑跟 main_running 當時設置的保存路徑時一致的,相當於用剛剛的結果當作輸入。

然后再配置一下 perfplot 里的保存路徑,在第94行,這是評估結果的保存路徑,另外,需要再加一段代碼用來第一次創建目錄,后面的評估指標 evalTypeSet 把三個改成一個OPE,如圖:

可以對比一下修改前和修改后,然后在 perfPlot 里點擊運行,會出現一共12張圖,第1張圖是總的結果,后面的11張圖是不同類型視頻的評估結果,我們往往最關注第1張圖。

 至此就是配置OTB平台的最基本步驟,通過這種方式可以快速的對一個tracker進行評價,當然要對tracker進行調參還需要對OTB平台有更深入的了解,這里就不加以詳細敘述了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM