Visual Tracker Benchmark 教程

在visual tracking中,visual tracker benchmark 是为了给不同的算法提供一个基准。这个基准从2013年提出,应该是目前最火的benchmark了。
原始论文链接:
Online Object Tracking: A Benchmark (CVPR 2013)
http://faculty.ucmerced.edu/mhyang/papers/cvpr13_benchmark.pdf

后来2015年扩充到100库再版发表到TPAMI。
Object Tracking Benchmark。

http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7001050

官方链接:

http://cvlab.hanyang.ac.kr/tracker_benchmark/

我使用的是Benchmark V1.0来显示tracking的结果,在下载完代码之后,里面已经存在了关于各种tracker在不同数据集上的结果了。

当我需要验证自己的结果的时候,我只需要将自己算法的结果保存成作者放在results文件夹中的mat数据的样子。

下面具体讲讲:

打开文件夹会发现很多子文件夹和四个主要的函数;依次是drawResultBB.m, genPerfMat.m , main_running.m 和perfPlot.m 函数。

对于mainrunning函数是主函数,这个函数的作用是能够将视频分割成20段,以验证TRE。同时,能够对第一帧的ground_truth进行一定的变换(一共12种),从而验证SRE。最后可以在这个里面将自己的代码加进去,从而能够按照特定的形式保存好tracking的results,简而言之就是能够实现所有的效果。

而想画各种tracker算法在图像上的效果(bounding boxes),可以调用drawResultBB.m函数,就可以实现:drawing bounding boxes (BBs) of different trackers on each frame   
如果想画各种精度曲线的话,就可以调用perfPlot函数,这个函数调用genPerMat函数得到需要的精度数据以及错误率(DP,OP),然后放到perfMat\overall\文件中,画出来的图保存在figs\overall\文件夹下。
同时作者画出了29个tracker方法中10个方法的结果,采用的是rankNum=10这个参数来设置的,从中选取前10个结果最好的。rankingtype采用的是AUC的方法。
另外需要注意的参数是evalTypeSet = {'OPE'};%{'SRE', 'TRE', 'OPE'};
还是和drawResultBB一样,genPerfMat在生成数据的时候访问的是results/文件夹,所以我们需要将结果保存成标准的格式并且放到对应的文件夹中。

然后讲各个文件夹的作用:anno文件夹放的是51个测试视频的ground_truth。figs用来存放上面说的drawResultBB.m画出来的图片。initOmit是每一个视频不能够用来初始化的帧,这些帧一般都是target比较模糊。perfMat用来存放genPerMat的结果。results存放的是作者已经跑好的不同数据集上不同算法的结果。rstEval存放的是一些评价函数。tmp存放临时变量,trackers存放这个各种tracking算法的源码或者exe文件。util中的函数最有用,也是最可能需要修改的。比如configSeqs.m和configTrackers.m函数。

OK!!



对于util文件夹我们需要衡量那些个数据集就去函数configSeqs中取修改参数,如果要比较那些算法就去config


你可能感兴趣的:(tracker,Benchmark,Visual,Tracking)