Visual Tracker Benchmark配置使用自己算法教程

計算機視覺中,Visual tracker benchmark是一個相當於比較標準一般的存在,可以對比每個算法在相同的基準之下的性能。這個在CVPR 2013的時候發表的,下面是原文鏈接:
Online Object Tracking: A Benchmark (CVPR 2013)
http://faculty.ucmerced.edu/mhyang/papers/cvpr13_benchmark.pdf
官方鏈接:
http://cvlab.hanyang.ac.kr/tracker_benchmark/index.html
在2015年的時候數據集由原來的50個序列擴充到現在的100個。
現在多數使用的是Benchmark V1.0來運行測試所有tracking的結果,在官網下載完代碼之後,裏面已經存在了關於各種tracker在不同數據集上的結果了。

想要驗證自己的tracker在這個基準上的結果,說來非常的簡單。
直接的方法:
首先將代碼先拷到benchmark_v1.0/tackers/這個文件夾下,你會發現裏面已有好幾個算法的代碼文件夾了。
這邊注意了,我就是這樣的,沒有注意把代碼拷貝進去之後要自己寫一個調用函數,benchmark在運行的時候調用我們的算法的函數,就是每個tracker文件夾當中的run_trackers名字,這個一定要有,格式也很簡單,參照其他的算法應該很容易就能寫出來了。

第二步是:到benchmark_v1.0/util/configTrackers.m這個函數中,在trackers1這個結構體中添加上你的代碼的名字,比如:struct(‘name’,’KCF’,’namePaper’,’KCF’),…。
如果只想運行自己的算法結果,就把整個文件代碼註釋掉,重寫:

function trackers=configTrackers
 trackers=[{struct('name','算法名字','namePaper','算法名字')}];

第三步是:運行main_running.m函數。這個時候就是等待了,等待過程還是很漫長的,這個根據自己的算法的運行速度。等所有結果跑完了之後,結果就保存在results文件夾裏面,可以打開看一下,會有各個序列集對應自己算法名字的結果文件存在。
PS:這邊如果提示error,所有序列集都是error的話,就是你以前配置錯誤了,跑出來結果是空的,這個時候去results文件夾裏面把以前錯誤的結果刪除掉,重新運行就沒問題了。

第四步是:運行perfPlot.m函數,根據你運行出來的結果畫出可視化的曲線。如果這邊報錯問價找不到什麼的,點到錯誤的地方把路徑修改一下就應該沒有什麼問題的。

這個過程當中你可能會遇到一些問題:第一個會是路徑的問題,這個需要你更改的路徑有configTrackers.m和configSeqs.m裏面的路徑,對應修改就可以了。還有一點就是在修改configTrackers.m的時候,你可能添加一個自己的tracker到已知的結構體當中會遇到運行main_running函數時出現錯誤,這個時候嘗試單獨把自己的tracker作爲一個結構體,把其他的算法都註釋掉,只剩下自己的tracker然後試試,因爲這個時候其他的tracker結果都已經保存下來了,只需要自己的tracker的結果出來就好了。

其他的應該就沒什麼問題了!

————————————————————————————————————————————


出現的問題總結:
1、自己選的run_tracker.m當中有錯誤,沒能正確調用自己的跟蹤算法, 仔細檢查是否調用正確,可以在mainrunning.m當中144行左右找到 eval(funcName);,單步調試,看看是否能進入到自己的函數當中。


2、”未定義函數或變量v1_setup“
這個錯誤是因爲需要安裝一個包,在這裏下載,配置好之後把路徑添加進去,直接點錯誤進去就在上面添加就好了。
暫時收集到大家問的比較多的就是這兩個。有什麼問題歡迎隨時說來問。

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