1. 程式人生 > >Visual Tracker Benchmark

Visual Tracker Benchmark

問題  1

1  在呼叫main.m跑TRE和SRE時,因為會生成相應的.mat資料檔案,如果跑完以後發現自己演算法生成的.mat檔案有問題,那麼要把該檔案刪除,待找到錯誤原因後,重新生成相應的.mat檔案。因為程式中寫的是如果已經存在了.mat檔案,例如已經存在car4_STC.mat檔案,即使該檔案中的資料有錯誤,但是重新跑時會預設該檔案中的資料寫完,不會重新寫入資料

問題  2

 benchmark中 一共有三個指標OPE、TRE和SRE,當前論文中需要列放的只是OPE結果圖,所以在畫曲線圖時只需要跑OPE即可,步驟:

(1)程式中的程式碼表示在:main_running.m中的20行

evalType='OPE';

(2)然後呼叫perfPlot.m畫精度曲線圖,因為只需要得到OPE結果圖,所以在perfPlot.m的103行修改為

evalTypeSet = 'OPE';

140行:

for j=1:length(evalTypeSet)

end

 需要註釋掉;因為只跑OPE所以不用迴圈了

142行修改為:

     evalType = evalTypeSet;%SRE, TRE, OPE

(3)做完上述(1)(2)後 呼叫perfPlot.m畫出來的曲線圖只有成功率圖,而並沒有精確度圖

這時需要做的是:

將105行修改為:

rankingType = 'threshold';(如果引數是源程式中的‘AUC’的話  跑出來的圖是隻有成功率圖(success)而沒有精度圖(precision))

修改完後 再跑一遍perfPlot.m,此時得到的影象既有success又有precision

問題 3

在跑完perfplot.m後,如果生成的曲線圖不正確或者不理想,想要重新畫曲線圖,此時需要把資料夾../perfMat/overall下的所有.mat檔案刪除,原因和問題1中的一樣

問題 4

我在跑TRE時,檢視我的演算法生成的.mat檔案,發現有些資料並沒有寫進去,本來每個.mat檔案中有20組資料,可是得到的結果中有的資料是空的,例如:

這個錯誤的原因我沒有找到,但是並不影響後面的工作。因為我想要的只是OPE結果,而每個.mat檔案中的第一列資料就是OPE的資料,而我跑出來的結果沒有缺失第一列資料的所以並沒有影響。(我猜測是跟蹤框出邊界了)

問題 5

(1)在大部分論文中附上的跟蹤結果圖都是隻有5、6個演算法的結果,而呼叫完drawResultBB.m得到的結果圖中有好多演算法的結果,很混亂(因為太多了),怎麼辦?

這時就需要人為的去標定 限定5、6種演算法去畫圖,具體步驟:

在drawResultBB.m檔案的15行後面加上:

trks = configTrcakers;

Aaa = [1 2 3 4 (選中的演算法的編號)........];

trks = trks(Aaa );

這樣的話程式只會跑Aaa中的幾個演算法。

同樣的方法適用於選擇想要的序列去跑(但是這種做法有點學術造假的嫌疑)

(2)得到的曲線圖,在benchmark中預設的是前10名演算法的結果,如果在和所有的演算法跑時你的演算法並沒有進到前10名,怎麼辦?

這個問題最好的解決方法是繼續優化演算法,在理論程式上下功夫,以達到演算法效果提高的目的。但是,有個小技巧(也有作弊的嫌疑),就是和(1)的解決方法一樣,選擇幾個菜的演算法,數目固定在10個,這樣的話你的演算法肯定在前10名裡邊!!!!

問題 6

文章中把資料集分為了11類,包括(illumination variation、low resolution等),但是可能你的演算法可能並不具備所有方面的能力,例如:out of view 超出視野 你的演算法並不具有再檢測的能力,這樣造成在做綜合測評時(perfplot.m),會影響整體成績,所以可以不測試這項(這樣做不算作弊,這個可以直接在論文中明說)

具體操作:

繼續用'out of view'來做例子

1 在perfplot.m檔案的第9行:

attName={'illumination variation'   'out-of-plane rotation' 'scale variation'   'occlusion' 'deformation'   'motion blur'   'fast motion'   'in-plane rotation' 'out of view'   'background clutter' 'low resolution'};

這個順序是固定的,而'out of view'是倒數第三個

將該項刪掉:

attName={'illumination variation'   'out-of-plane rotation' 'scale variation'   'occlusion' 'deformation'   'motion blur'   'fast motion'   'in-plane rotation'  'background clutter' 'low resolution'};

2 資料夾../anno/att下的一系列txt檔案,是11中屬性分類的標誌,順序是按照attName中的順序

例如:basketball.txt檔案中的是1,1,0,1,1,0,0,0,0,1,0

數字是1的說明basketball是屬於該類的,比如說basketball屬於光照變化、平面外旋轉、遮擋、變形、背景複雜5項。按照attName的順序對號入座即可

接著1中的操作,因為'out of view'是倒數第三個,那麼需要把att下的每一個txt檔案中的倒數第三個數字刪掉

例如:

Basketball.txt就變成 1,1,0,1,1,0,0,0,1,0

按照1、2操作完後,再跑perfplot.m,會發現得到的一系列圖中沒有'out of view'的圖了

 

本人感覺看完我這個文件,就能傻瓜式的跑benchmark了!!!!!
---------------------  
作者:mingbujingren  
來源:CSDN  
原文:https://blog.csdn.net/mingbujingren/article/details/51204463  
版權宣告:本文為博主原創文章,轉載請附上博文連結!