Visual Tracker Benchmark 傻瓜式教程(一)

发布于:2023-07-27 ⋅ 阅读:(155) ⋅ 点赞:(1)

Online Object Tracking:A Benchmark 吴毅

用我自己的算法在benchmark上跑的步骤和遇到的问题:

步骤:

下载完benchmark后会看到在文件中包含4.m文件,main_running.mperfPlot.mgenPerfMat.mdrawResultBB.m

 

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

2 打开main_running.m文件,在1416行 分别打开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_CVPR13results_TRE_CVPR13

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

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


更多详情 请看傻瓜式教程二


网站公告

今日签到

点亮在社区的每一天
去签到