OTB(visual tracker benchmark) 的基础环境配置
OTB是我们tracking领域常常用到的一个评估数据集,常用的有OTB50(2013年)和OTB100(2015年),下面就来演示一下如何让一个tracker(通常是一个文件夹的形式)在下载下来之后能成功运行于OTB-2013的平台上。
原料:1、matlab(有时候会涉及到matconvnet的使用, matlab尽量用新一点版本的)
2、OTB-2013平台(http://cvlab.hanyang.ac.kr/tracker_benchmark/benchmark_v10.html)
3、sequences(测试的视频集,需要一个个视频点进去下载,最后一起放到一个命名为sequences的文件夹中)(http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html)
一、OTB框架基本介绍
在解压完压缩包之后我们得到一个名为tracker_benchmark_v1.0(这里我重命名为tracker_benchmark_test)的文件夹,再把下载的测试视频集放在sequences的文件夹中,将其一起放在命名为OTB的文件夹中,如图:
我们先看一下tracker_benchmark_test里的不同文件夹的作用,如图是OTB平台的工作目录:
1、main_running : 平台运行的入口。
2、trackers: OTB平台里会内置一些tracker,另外我们可以自己下载tracker统统放置在trackers这个文件夹里。
3、util: 里面的configTrackers和configSeqs是用来配置tracker和视频文件的。
4、anno: 里面存放的是groundtruth,OTB2013和2015的区别就在anno里的文件数目了,还有就是sequences里的视频数目。
5、results:一般结果会保存在这个文件夹。
6、perfPlot是对results里tracking的结果进行评估的函数。
6、figs和perfmat是perfPlot评估之后的结果存放的位置。
二、测试一个tracker
首先准备一个tracker(最好是有现成的适配OTB版本的tracker),我们这里使用的是STAPLE,这是2016年cvpr的一篇工作,code下载地址: https://github.com/bertinetto/staple,将其重命名为staple之后拷贝到trackres目录下,如图:
(1)打开util下的configTrackers.m配置所有的trackers(这里只有一个测试用的staple),将其他trackers注释掉,然后自己写一个struct,里面只有一个staple,如图:
注意:这里tracker的命名要和trackers文件夹中实际的 run_xxxx 保持一直(包括大小写),因为OTB在运行main_running这个函数的时候将会按照configTrackers.m里的命名规则寻找tracker中对应的 run_xxxx 的函数运行,比如我们这里是 run_Staple。
(2)打开util下的configSeqs.m配置所有的视频(这里为了测试我们只选用几个视频,将seqIVT和seqOther注释掉,只留下seqVTD),然后注意对于每个视频的struct要另外设置它的访问路径,原先下载的路径都是d:\data_seq\soccer\,我们改成自己电脑里的实际路径,如图:
(3)接着把matlab的工作路径设置到tracker_benchmark_test中,打开main_running.m, 注释第9行(不知道是啥), 第20行evalType改成OPE (OPE,SRE,TRE是三种不同的评价方式,我们这里使用OPE),第27行finalPath是tracking结果保存的路径,我们这里填写['./results/results_' evalType '_CVPR13/staple/'], 我们尝试运行 main_running.m 函数。。。等待片刻会发现刚刚用来保存结果的路径下面多了几个mat,如图:
三、评估一个tracker
评估一个tracker我们通常需要修改两个函数:perfplot 和 genPerfMat,perfplot函数是评估tracker时候的入口函数,在配置好configTrackers.m 和 configSeqs.m 时直接运行它即可。不过,得注意设置一下genPerfMat函数里的路径(这是perfplot用来调用进行初始化的函数),在 genPerfMat.m 的第9行,如图:
路径跟 main_running 当时设置的保存路径时一致的,相当于用刚刚的结果当作输入。
然后再配置一下 perfplot 里的保存路径,在第94行,这是评估结果的保存路径,另外,需要再加一段代码用来第一次创建目录,后面的评估指标 evalTypeSet 把三个改成一个OPE,如图:
可以对比一下修改前和修改后,然后在 perfPlot 里点击运行,会出现一共12张图,第1张图是总的结果,后面的11张图是不同类型视频的评估结果,我们往往最关注第1张图。
至此就是配置OTB平台的最基本步骤,通过这种方式可以快速的对一个tracker进行评价,当然要对tracker进行调参还需要对OTB平台有更深入的了解,这里就不加以详细叙述了。