您的位置:首页 > 其它

Visual Tracker Benchmark 傻瓜式教程(一)

2016-04-20 21:38 232 查看
Online Object Tracking:A Benchmark 吴毅
用我自己的算法在benchmark上跑的步骤和遇到的问题:

步骤:

下载完benchmark后会看到在文件中包含4个.m文件,main_running.m、perfPlot.m、genPerfMat.m、drawResultBB.m

 

1 把自己的算法放到benchmark的文件夹trackers中。

2 打开main_running.m文件,在14和16行
分别打开configSeqs.m文件和configTrackers.m文件。configSeqs.m写的是放图片集的名称和位置,需要根据自己图片序列集存放的位置进行修改,名称也需要注意一下,例如:原名称是david_c,

可是我的数据集的名称是david,我的路径是D:\data_seq\David\img\,多了一个img,因为img中放的是图片。

 

configTrackers.m文件中放的是所有的算法,在trackers1这个结构体中添加上你的代码的名字,比如:struct('name','KCFDP','namePaper','KCFDP'),...。

 

3 最重要的一步就是需要写一个将自己算法的输入输出对接到benchmark中的脚本run_tracker.m文件,打开其他算法时会发现每个算法中都会有run_tracker.m文件,例如run_CT.m
 run_CSK.m

这步很简单,参照其它算法 例如:run_CT.m对比CT.m文件 看到第一行的输入和最后一行的输出进行了统一,

function results=run_CT(seq, res_path, bSaveImage)

 

results.res=res;

results.type='rect';

results.fps=(seq.len-1)/duration;

disp(['fps: ' num2str(results.fps)])

 

输入:Seq代表着输入的图片,要将算法中输入的图片用Seq来代替

输出:res代表跟踪位置type 类型

 

做完上述三步后,运行main_running.m函数。对于mainrunning函数是主函数,这个函数的作用是(1)能够将视频分割成20段,以验证TRE。(2)若是SRE,则可以在空间改变初始位置,一共12组

运行完main_running.m函数,得到的结果是在文件夹results中的results_SRE_CVPR13和results_TRE_CVPR13。

如果想画各种精度曲线的话,就可以运行perfPlot.m文件,这个函数调用genPerMat函数得到需要的精度数据以及错误率(DP,OP),然后放到perfMat\overall\文件中,画出来的图保存在figs\overall\文件夹下。运行perfPlot.m会调用生成的结果results_SRE_CVPR13和results_TRE_CVPR13,以此画出结果

画各种tracker算法在图像上的效果(bounding boxes),可以调用drawResultBB.m函数,就可以实现。

更多详情 请看傻瓜式教程二
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: