Visual Tracker Benchmark

Posted Youngshuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Tracker Benchmark相关的知识,希望对你有一定的参考价值。

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

如果要验证自己的算法在这个数据集上的效果,其实特别简单:

直接的方法:

首先将代码先拷到OTB_ROOT_PATH/tackers/这个文件夹下,你会发现里面已有好几个算法的代码文件夹了。

第二步是:到OTB_ROOT_PATH/util/configTrackers.m这个函数中,在trackers1这个结构体中添加上你的代码的名字,比如:struct(‘name‘,‘KCFDP‘,‘namePaper‘,‘KCFDP‘),...。

第三步是:运行main_running.m函数。 

具体的例子可以参考:https://github.com/masa-nudt/KCFDP

这个作者介绍如何用OTB跑作者自己的算法

间接的方法:

比较笨的方法就是:当我需要验证自己的结果的时候,我只需要将自己算法的结果保存成作者放在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函数。

 

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

 

 

以上是关于Visual Tracker Benchmark的主要内容,如果未能解决你的问题,请参考以下文章

visual studio 2017 编译v140 TRACKER : error TRK0005: Failed to locate: "CL.exe". 系统找不到指定的文件

FastDFS公网访问配置详解

论文阅读Learning to Rank Proposals for Siamese Visual Tracking

怎么检测tracker服务器有效?

ru tracker可以在国内用吗

Golang中的benchmark