Visual Tracker Benchmark简易教程

来源:互联网 发布:传奇数据库添加物品 编辑:程序博客网 时间:2024/05/18 18:43

Visual Tracker Benchmark使用总结

一·简单介绍

  Visual Tracker Benchmark是一个认可度比较高的评估单目标跟踪算法的标准,里面的主要有两个方面的图像评估标准:precision_plot 和 success_plot,可以通过三种方式对图像进行评估:OPE,TRE,SRE.具体介绍可以参见:http://blog.csdn.net/hjl240/article/details/52453030 其中,success_plot进行评估时不一定要取0.5作为阈值,对于ALOV数据集是采用0.5作为阈值的。而对于OTB来说,是求取success_plot 曲线下面的面积最为最终的success_plot 分数的。

二·使用教程

  首先,在benchmark的代码文件tracker_benchmark_v1.0中想了解整个框架,先读README.txt文件,接下来介绍的也就是里面的东西。对里面的一些重要函数以及文件夹作用进行介绍:
1.anno文件:主要存储的是数据集的bounding box。
2.figs文件:存储的是一些实验跑出的图片,就是各种属性的准确度或者成功率图。
3.perfMat文件:存储最终用于画图的mat文件。
4.results文件:存储的每个trackers的跟踪结果的mat文件和perfMat不一样,这个是相对于bounding box的跟踪框数据。
5.trackers文件:里面包含各种你需要对比的跟踪算法;要简单了解可以看trackers.txt文件
6.util文件:里面包含各种重要的函数
7.tmp文件:存储的跟踪数据集
  接下来是对自己的trackers 的设置:
1.最主要的是main_running.m函数,可以参见http://blog.csdn.net/mingbujingren/article/details/51204380
补充一些知识,其中的evalType变量可以选择OPE,TRE,SRE三种评估方式,而产生的mat文件就存储在results文件夹中,当看到某个mat文件为空的时候说明对应trackers算法有误没有把结果存入.mat文件中,这个时候要把空的mat文件删除掉,然后检查对应trackers的错误之处,接着再跑main_running才有用。
2.trackers的设置可以先看下里面已有的一些跟踪算法是怎么设置的,一般是调用的run_对应的tracker名称.m,这个函数是自己加的。最后返回的results一定要是cell型而不是struct 型。
3.画图就用的是perfPlot函数:画准确率图:metricTypeSet选择overlap,rankingType选择AUC
画成功率图:metricTypeSet选择error,rankingType选择threshold
4.configTrackers函数:里面要加入你自己相比较的trackers算法的名称,比葫芦画瓢,看着上面的给自己的trackers取一个名字就可以了。
  当你对程序理解后,你会发现其实如果有对一个算法的mat文件,直接放在results对应文件夹里面就可以跑了,前面费了那么大的周折无非是为了产生对应算法的结果.mat文件。为此,给大家推荐一个存储了很多对应results的网址:https://github.com/foolwood/benchmark_results
里面的百度云有各种算法的results,然后你会发现怎么有TRE,SRE没有OPE,其实OPE蕴含在TRE中,当你懂了TRE是怎么个操作法儿时就知道为什么OPE蕴含在TRE中了。