目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置

近期运行CVPR2020的AutoTrack代码时,发现这篇文章只在UAV数据集上测试,而没有在OTB数据集上测试,因此,想着自己运行AutoTrack,测试其在OTB数据集上的性能表现。

本文内容

    • 一、OTB数据集下载
    • 二、下载vlfeat工具包
    • 三、Visual Tracker Benchmark v1.0下载
    • 四、代码运行
    • 五、根据结果绘制Precision和Success曲线
    • 六、跟踪效果对比图
    • 附录:OTB2015与OTB2013运行的差异

一、OTB数据集下载

OTB数据集下载地址:http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html
这边推荐一个自动下载的代码,具体参考博客Visual Tracker Benchmark v1.0全过程配置方法,测试跟踪序列OTB50/OTB100的分享
注:代码运行可能会报错(如下图),但不影响下载,再次运行代码,可继续正常下载
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第1张图片
另外有百度网盘会员的朋友可以考虑去网盘上下载,参考博客:https://blog.csdn.net/qq_17783559/article/details/82079220

二、下载vlfeat工具包

下载地址:https://www.vlfeat.org/index.html
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第2张图片

三、Visual Tracker Benchmark v1.0下载

下载地址:http://cvlab.hanyang.ac.kr/tracker_benchmark/benchmark_v10.html
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第3张图片
Visual Tracker Benchmark v1.0内容简介----摘自博客Visual Tracker Benchmark v1.0全过程配置方法,测试跟踪序列OTB50/OTB100

  1. main_running.m是用来在测试集上跑跟踪代码的,跑出的结果存在results文件夹中;
  2. perfPlot.m用来把测试结果画出图来,就是benchmark网上的图的效果,如果你第一次下载tracker_benchmark_v1.0的测试代码,可以先运行perfPlot.m就可以直接画出漂亮的图。只不过这些图是已有的跟踪算法和测试结果,作者都保存在results文件夹里面了;
  3. drawResultBB.m用于画每个帧上不同跟踪器的边界框的主函数。
  4. anno注释文件(边界框和属性)的目录; anno文件夹底下的attr有每个跟踪序列的属性,由11个数字(0代表没有,1代表有)分别表示11种属性----'illumination_variations' 'out-of-plane_rotation' 'scale_variations' 'occlusions' 'deformation' 'blur' 'abrupt_motion' 'in-plane_rotation' 'out-of-view' 'background_clutter' 'low_resolution'
  5. initOmit 包含由于遮挡或目标超出视野而被省略的用于跟踪初始化的帧的注释 的目录;
  6. rstEval 包含了很多用于计算跟踪性能或者画出结果的脚本的目录;
  7. trackers 包含了很多跟踪器代码的目录,里面有20多个跟踪代码,有matlab版,也有c++版;
  8. tmp 用来存放临时结果或者日志文件的目录;
  9. results包含了所有已有跟踪算法的测试结果;
  10. util 包含主函数里用到的脚本的目录(主要就是这个文件夹里的文件需要改)。

四、代码运行

4.1 打开main_running.m,修改vlfeat工具包的路径位置----本文路径如下,根据自己下载的vlfeat路径自行修改
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第4张图片
4.2 main_running.m第20行,改成OPE
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第5张图片
4.3打开util/configSeqs.m,更改数据集路径
原始代码中的数据集是OTB2013的,上文下载的是OTB2015的(相比2013,2015对2013进行了扩充,即2015包含了2013的全部视频序列,2013数据集有的,2015一定有,2015有的,2013可能没有),如果只是想测试OTB2013,只需修改路径,路径写到/img/,如下所示,但如果要测试OTB2015的效果,需要添加部分数据集信息,可参考文末的附录。
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第6张图片

4.4打开util/configTrackers.m
源代码给了十几个跟踪器,但这些跟踪器在OTB2013的运行结果都已保存在result底下,不需要再跑一遍,可直接注释,修改如下:
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第7张图片
4.5 将跟踪代码放在trackers文件夹底下
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第8张图片
4.6 运行main_running.m
可能出现所有结果都是error的情况,如下:
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第9张图片
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第10张图片
出现这种问题主要原因是run_AutoTrack没写好,调用run_AuotoTrack失败,main_running.m主要工作步骤如下:

  1. seqs=configSeqs;读取测试数据集的信息
  2. trackers=configTrackers;读取待测试跟踪算法的结构体
  3. 判断anno文件夹底下是否含有对应数据集的groundtruth
  4. 判断results底下是否有results_OPE_CVPR13,没有的话进行创建,用于保存跟踪算法的跟踪结果
  5. 第134行创建命令funcName = ['res=run_' t.name '(subS, rp, bSaveImage);'];比如此处为:res=run_AutoTrack(subS, rp, bSaveImage);
    目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第11张图片
    打开run_AutoTrack,m,开头如下,保证run_AutoTrack,m能被main_running.m调用
    目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第12张图片
  6. 第140行cd(['./trackers/' t.name]);进行trackers/AutoTrack/文件夹底下
  7. 第144行eval(funcName);该命令执行res=run_AutoTrack(subS, rp, bSaveImage);此时开始调用跟踪算法
  8. run_AutoTrack返回跟踪结果,main_running.m结尾如下,返回的result应包含如下信息到res中,用于存储跟踪结果。
    在这里插入图片描述

问题解决思路:
本文原始的run_AutoTrack部分内容如下
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第13张图片
而输入seq结构体内容如下
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第14张图片
可以发现没有seq.video_path等内容,从而导致接口调用失败
解决方法:
首先,将results_OPE_CVPR13文件夹删除, 因为之前运行虽然error,但仍然产生了一系列空的mat文件,运行main_running.m时会检测是否存在这些mat文件,不删除的话,将不会调用tracker
改动如下:保证seq的内容都取得到
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第15张图片
在此运行main_running.m,可正常调用run_AutoTrack
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第16张图片

五、根据结果绘制Precision和Success曲线

success曲线主要是跟踪预测包围框和groundtruth的包围框的重叠比例来绘制的,并跟踪AUC(曲线下的面积)来对跟踪器排序
precision曲线主要是预测目标位置与groundtruth的目标位置之间的距离度量(对应的横坐标即像素数量)
将results\results_OPE_CVPR13中生成跟踪结果mat文件拷贝到results\results_SRE_CVPR13和results\results_TRE_CVPR13文件夹中
打开perfPlot.m,修改如下

103行 evalTypeSet = 'OPE';105行 rankingType = 'threshold';%AUC, threshod (如果参数是源程序中的‘AUC’的话  跑出来的图是只有成功率图(success)而没有精度图(precision))140for j=1:1142行 evalType = evalTypeSet;%SRE, TRE, OPE

可能出现的问题:未定义函数或变量 ‘calcRectInt’。
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第17张图片
解决方法:
在代码前面,加入addpath(’./rstEval’);
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第18张图片
为了将不同算法跟踪效果进行对比,修改configTrackers.m如下,要对比的跟踪算法可以自选
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第19张图片
运行结果:一共24张曲线图
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第20张图片
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第21张图片

六、跟踪效果对比图

运行drawResultBB.m,显示不同跟踪算法的效果图,seqs=configSeqs;用来修改显示效果的数据集;
configTrackers.m用来确定显示哪几种算法的跟踪效果,即下图中有多少个跟踪框
目标跟踪之OTB数据集下载及Visual Tracker Benchmark v1.0配置_第22张图片

参考博客
Visual Tracker Benchmark v1.0全过程配置方法,测试跟踪序列OTB50/OTB100
目标跟踪数据集OTB、VOT下载
目标跟踪tracker_benchmark_v1.0的配置

附录:OTB2015与OTB2013运行的差异

如果要运行OTB2015,需注意以下几个环节

  1. configSeqs.m的配置,下面是我参考大佬的一篇博客写的,视频序列路径需要写到img/,如有疑惑的可以到该大佬博客观看,该博客给出模板,省了不少功夫,表示感谢!
  2. anno文件夹底下groundtruth的添加,anno底下只有OTB2013的groundtruth,需要将2015补充的几十个视频序列的groundtruth添加进入,并命名为跟踪序列的名字,这个groundtruth我整理好了,可以到网盘下载:
    链接:https://pan.baidu.com/s/1A3_Pj4gBX3Giz9GJ4HOeJQ
    提取码:idj7
  3. anno底下的attr属性文件的添加,需要根据新补充视频序列是否有照明变化等情况进行统计,得到11个0/1,制成txt(都在上面网盘中)

附:configSeqs.m

function seqs=configSeqs
seqVTD={struct('name','soccer','path','D:\Matlab2018a\appdata\Datasets\OTB100\soccer\img\','startFrame',1,'endFrame',392,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','matrix','path','D:\Matlab2018a\appdata\Datasets\OTB100\matrix\img\','startFrame',1,'endFrame',100,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','ironman','path','D:\Matlab2018a\appdata\Datasets\OTB100\ironman\img\','startFrame',1,'endFrame',166,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','deer','path','D:\Matlab2018a\appdata\Datasets\OTB100\deer\img\','startFrame',1,'endFrame',71,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','skating1','path','D:\Matlab2018a\appdata\Datasets\OTB100\skating1\img\','startFrame',1,'endFrame',400,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','shaking','path','D:\Matlab2018a\appdata\Datasets\OTB100\shaking\img\','startFrame',1,'endFrame',365,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','singer1','path','D:\Matlab2018a\appdata\Datasets\OTB100\singer1\img\','startFrame',1,'endFrame',351,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','singer2','path','D:\Matlab2018a\appdata\Datasets\OTB100\singer2\img\','startFrame',1,'endFrame',366,'nz',4,'ext','jpg','init_rect', [0,0,0,0])};
 
seqIVT={struct('name','carDark','path','D:\Matlab2018a\appdata\Datasets\OTB100\carDark\img\','startFrame',1,'endFrame',393,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','car4','path','D:\Matlab2018a\appdata\Datasets\OTB100\car4\img\','startFrame',1,'endFrame',659,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','david2','path','D:\Matlab2018a\appdata\Datasets\OTB100\david2\img\','startFrame',1,'endFrame',537,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...    
    struct('name','sylvester','path','D:\Matlab2018a\appdata\Datasets\OTB100\sylvester\img\','startFrame',1,'endFrame',1345,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','trellis','path','D:\Matlab2018a\appdata\Datasets\OTB100\trellis\img\','startFrame',1,'endFrame',569,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','fish','path','D:\Matlab2018a\appdata\Datasets\OTB100\fish\img\','startFrame',1,'endFrame',476,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','mhyang','path','D:\Matlab2018a\appdata\Datasets\OTB100\mhyang\img\','startFrame',1,'endFrame',1490,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','david','path','D:\Matlab2018a\appdata\Datasets\OTB100\david\img\','startFrame',300,'endFrame',770,'nz',4,'ext','jpg','init_rect', [0,0,0,0])};
 
seqOther={struct('name','coke','path','D:\Matlab2018a\appdata\Datasets\OTB100\coke\img\','startFrame',1,'endFrame',291,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','bolt','path','D:\Matlab2018a\appdata\Datasets\OTB100\bolt\img\','startFrame',1,'endFrame',350,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','boy','path','D:\Matlab2018a\appdata\Datasets\OTB100\boy\img\','startFrame',1,'endFrame',602,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','dudek','path','D:\Matlab2018a\appdata\Datasets\OTB100\dudek\img\','startFrame',1,'endFrame',1145,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','crossing','path','D:\Matlab2018a\appdata\Datasets\OTB100\crossing\img\','startFrame',1,'endFrame',120,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','couple','path','D:\Matlab2018a\appdata\Datasets\OTB100\couple\img\','startFrame',1,'endFrame',140,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','football1','path','D:\Matlab2018a\appdata\Datasets\OTB100\football1\img\','startFrame',1,'endFrame',74,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','jogging-1','path','D:\Matlab2018a\appdata\Datasets\OTB100\jogging\img\','startFrame',1,'endFrame',307,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','jogging-2','path','D:\Matlab2018a\appdata\Datasets\OTB100\jogging\img\','startFrame',1,'endFrame',307,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','doll','path','D:\Matlab2018a\appdata\Datasets\OTB100\doll\img\','startFrame',1,'endFrame',3872,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','girl','path','D:\Matlab2018a\appdata\Datasets\OTB100\girl\img\','startFrame',1,'endFrame',500,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','walking2','path','D:\Matlab2018a\appdata\Datasets\OTB100\walking2\img\','startFrame',1,'endFrame',500,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','walking','path','D:\Matlab2018a\appdata\Datasets\OTB100\walking\img\','startFrame',1,'endFrame',412,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','fleetface','path','D:\Matlab2018a\appdata\Datasets\OTB100\fleetface\img\','startFrame',1,'endFrame',707,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','freeman1','path','D:\Matlab2018a\appdata\Datasets\OTB100\freeman1\img\','startFrame',1,'endFrame',326,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','freeman3','path','D:\Matlab2018a\appdata\Datasets\OTB100\freeman3\img\','startFrame',1,'endFrame',460,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','freeman4','path','D:\Matlab2018a\appdata\Datasets\OTB100\freeman4\img\','startFrame',1,'endFrame',283,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','david3','path','D:\Matlab2018a\appdata\Datasets\OTB100\david3\img\','startFrame',1,'endFrame',252,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','jumping','path','D:\Matlab2018a\appdata\Datasets\OTB100\jumping\img\','startFrame',1,'endFrame',313,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','carScale','path','D:\Matlab2018a\appdata\Datasets\OTB100\carScale\img\','startFrame',1,'endFrame',252,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','skiing','path','D:\Matlab2018a\appdata\Datasets\OTB100\skiing\img\','startFrame',1,'endFrame',81,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','dog1','path','D:\Matlab2018a\appdata\Datasets\OTB100\dog1\img\','startFrame',1,'endFrame',1350,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','suv','path','D:\Matlab2018a\appdata\Datasets\OTB100\suv\img\','startFrame',1,'endFrame',945,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','motorRolling','path','D:\Matlab2018a\appdata\Datasets\OTB100\motorRolling\img\','startFrame',1,'endFrame',164,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','mountainBike','path','D:\Matlab2018a\appdata\Datasets\OTB100\mountainBike\img\','startFrame',1,'endFrame',228,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),... 
    struct('name','lemming','path','D:\Matlab2018a\appdata\Datasets\OTB100\lemming\img\','startFrame',1,'endFrame',1336,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','liquor','path','D:\Matlab2018a\appdata\Datasets\OTB100\liquor\img\','startFrame',1,'endFrame',1741,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','woman','path','D:\Matlab2018a\appdata\Datasets\OTB100\woman\img\','startFrame',1,'endFrame',597,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','faceocc1','path','D:\Matlab2018a\appdata\Datasets\OTB100\faceocc1\img\','startFrame',1,'endFrame',892,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','faceocc2','path','D:\Matlab2018a\appdata\Datasets\OTB100\faceocc2\img\','startFrame',1,'endFrame',812,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','basketball','path','D:\Matlab2018a\appdata\Datasets\OTB100\basketball\img\','startFrame',1,'endFrame',725,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','football','path','D:\Matlab2018a\appdata\Datasets\OTB100\football\img\','startFrame',1,'endFrame',362,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','subway','path','D:\Matlab2018a\appdata\Datasets\OTB100\subway\img\','startFrame',1,'endFrame',175,'nz',4,'ext','jpg','init_rect', [0 0 0 0]),...    
    struct('name','tiger1','path','D:\Matlab2018a\appdata\Datasets\OTB100\tiger1\img\','startFrame',1,'endFrame',354,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','tiger2','path','D:\Matlab2018a\appdata\Datasets\OTB100\tiger2\img\','startFrame',1,'endFrame',365,'nz',4,'ext','jpg','init_rect', [0,0,0,0])};
 

seqOTB49_100={struct('name','Biker','path','D:\Matlab2018a\appdata\Datasets\OTB100\Biker\img\','startFrame',1,'endFrame',142,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Bird1','path','D:\Matlab2018a\appdata\Datasets\OTB100\Bird1\img\','startFrame',1,'endFrame',408,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Bird2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Bird2\img\','startFrame',1,'endFrame',99,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurBody','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurBody\img\','startFrame',1,'endFrame',334,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurCar1','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurCar1\img\','startFrame',247,'endFrame',988,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurCar2','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurCar2\img\','startFrame',1,'endFrame',585,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurCar3','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurCar3\img\','startFrame',3,'endFrame',359,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurCar4','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurCar4\img\','startFrame',18,'endFrame',397,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurFace','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurFace\img\','startFrame',1,'endFrame',493,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurOwl','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurOwl\img\','startFrame',1,'endFrame',631,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Board','path','D:\Matlab2018a\appdata\Datasets\OTB100\Board\img\','startFrame',1,'endFrame',698,'nz',5,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Bolt2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Bolt2\img\','startFrame',1,'endFrame',293,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Box','path','D:\Matlab2018a\appdata\Datasets\OTB100\Box\img\','startFrame',1,'endFrame',1161,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Car1','path','D:\Matlab2018a\appdata\Datasets\OTB100\Car1\img\','startFrame',1,'endFrame',1020,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Car2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Car2\img\','startFrame',1,'endFrame',913,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Car24','path','D:\Matlab2018a\appdata\Datasets\OTB100\Car24\img\','startFrame',1,'endFrame',3059,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','ClifBar','path','D:\Matlab2018a\appdata\Datasets\OTB100\ClifBar\img\','startFrame',1,'endFrame',472,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Coupon','path','D:\Matlab2018a\appdata\Datasets\OTB100\Coupon\img\','startFrame',1,'endFrame',327,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Crowds','path','D:\Matlab2018a\appdata\Datasets\OTB100\Crowds\img\','startFrame',1,'endFrame',347,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Dancer','path','D:\Matlab2018a\appdata\Datasets\OTB100\Dancer\img\','startFrame',1,'endFrame',225,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Dancer2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Dancer2\img\','startFrame',1,'endFrame',150,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...   
    struct('name','Diving','path','D:\Matlab2018a\appdata\Datasets\OTB100\Diving\img\','startFrame',1,'endFrame',215,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Dog','path','D:\Matlab2018a\appdata\Datasets\OTB100\Dog\img\','startFrame',1,'endFrame',127,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','DragonBaby','path','D:\Matlab2018a\appdata\Datasets\OTB100\DragonBaby\img\','startFrame',1,'endFrame',113,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Girl2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Girl2\img\','startFrame',1,'endFrame',1500,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Gym','path','D:\Matlab2018a\appdata\Datasets\OTB100\Gym\img\','startFrame',1,'endFrame',767,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human2\img\','startFrame',1,'endFrame',1128,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human3','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human3\img\','startFrame',1,'endFrame',1698,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human4','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human4\img\','startFrame',1,'endFrame',667,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human5','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human5\img\','startFrame',1,'endFrame',713,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human6','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human6\img\','startFrame',1,'endFrame',792,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human7','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human7\img\','startFrame',1,'endFrame',250,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human8','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human8\img\','startFrame',1,'endFrame',128,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human9','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human9\img\','startFrame',1,'endFrame',305,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Jump','path','D:\Matlab2018a\appdata\Datasets\OTB100\Jump\img\','startFrame',1,'endFrame',122,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','KiteSurf','path','D:\Matlab2018a\appdata\Datasets\OTB100\KiteSurf\img\','startFrame',1,'endFrame',84,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Man','path','D:\Matlab2018a\appdata\Datasets\OTB100\Man\img\','startFrame',1,'endFrame',134,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Panda','path','D:\Matlab2018a\appdata\Datasets\OTB100\Panda\img\','startFrame',1,'endFrame',1000,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','RedTeam','path','D:\Matlab2018a\appdata\Datasets\OTB100\RedTeam\img\','startFrame',1,'endFrame',1918,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Rubik','path','D:\Matlab2018a\appdata\Datasets\OTB100\Rubik\img\','startFrame',1,'endFrame',1997,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Skater','path','D:\Matlab2018a\appdata\Datasets\OTB100\Skater\img\','startFrame',1,'endFrame',160,'nz',4,'ext','jpg','init_rect', [0,0,0,0])...
    struct('name','Skater2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Skater2\img\','startFrame',1,'endFrame',435,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Skating2-1','path','D:\Matlab2018a\appdata\Datasets\OTB100\Skating2\img\','startFrame',1,'endFrame',473,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Skating2-2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Skating2\img\','startFrame',1,'endFrame',473,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Surfer','path','D:\Matlab2018a\appdata\Datasets\OTB100\Surfer\img\','startFrame',1,'endFrame',376,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Toy','path','D:\Matlab2018a\appdata\Datasets\OTB100\Toy\img\','startFrame',1,'endFrame',271,'nz',4,'ext','jpg','init_rect',[0,0,0,0])...
    struct('name','Trans','path','D:\Matlab2018a\appdata\Datasets\OTB100\Trans\img\','startFrame',1,'endFrame',124,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Twinnings','path','D:\Matlab2018a\appdata\Datasets\OTB100\Twinnings\img\','startFrame',1,'endFrame',472,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Vase','path','D:\Matlab2018a\appdata\Datasets\OTB100\Vase\img\','startFrame',1,'endFrame',271,'nz',4,'ext','jpg','init_rect', [0,0,0,0])};
 
seqOTB50={struct('name','Basketball','path','D:\Matlab2018a\appdata\Datasets\OTB100\Basketball\img\','startFrame',1,'endFrame',725,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Biker','path','D:\Matlab2018a\appdata\Datasets\OTB100\Biker\img\','startFrame',1,'endFrame',142,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Bird1','path','D:\Matlab2018a\appdata\Datasets\OTB100\Bird1\img\','startFrame',1,'endFrame',408,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurBody','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurBody\img\','startFrame',1,'endFrame',334,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurCar2','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurCar2\img\','startFrame',1,'endFrame',585,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurFace','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurFace\img\','startFrame',1,'endFrame',493,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','BlurOwl','path','D:\Matlab2018a\appdata\Datasets\OTB100\BlurOwl\img\','startFrame',1,'endFrame',631,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','bolt','path','D:\Matlab2018a\appdata\Datasets\OTB100\bolt\img\','startFrame',1,'endFrame',350,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Box','path','D:\Matlab2018a\appdata\Datasets\OTB100\Box\img\','startFrame',1,'endFrame',1161,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Car1','path','D:\Matlab2018a\appdata\Datasets\OTB100\Car1\img\','startFrame',1,'endFrame',1020,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','car4','path','D:\Matlab2018a\appdata\Datasets\OTB100\car4\img\','startFrame',1,'endFrame',659,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','carDark','path','D:\Matlab2018a\appdata\Datasets\OTB100\carDark\img\','startFrame',1,'endFrame',393,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','carScale','path','D:\Matlab2018a\appdata\Datasets\OTB100\carScale\img\','startFrame',1,'endFrame',252,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','ClifBar','path','D:\Matlab2018a\appdata\Datasets\OTB100\ClifBar\img\','startFrame',1,'endFrame',472,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','couple','path','D:\Matlab2018a\appdata\Datasets\OTB100\couple\img\','startFrame',1,'endFrame',140,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Crowds','path','D:\Matlab2018a\appdata\Datasets\OTB100\Crowds\img\','startFrame',1,'endFrame',347,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','david','path','D:\Matlab2018a\appdata\Datasets\OTB100\david\img\','startFrame',300,'endFrame',770,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','deer','path','D:\Matlab2018a\appdata\Datasets\OTB100\deer\img\','startFrame',1,'endFrame',71,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Diving','path','D:\Matlab2018a\appdata\Datasets\OTB100\Diving\img\','startFrame',1,'endFrame',215,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','DragonBaby','path','D:\Matlab2018a\appdata\Datasets\OTB100\DragonBaby\img\','startFrame',1,'endFrame',113,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','dudek','path','D:\Matlab2018a\appdata\Datasets\OTB100\dudek\img\','startFrame',1,'endFrame',1145,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','football','path','D:\Matlab2018a\appdata\Datasets\OTB100\football\img\','startFrame',1,'endFrame',362,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','freeman4','path','D:\Matlab2018a\appdata\Datasets\OTB100\freeman4\img\','startFrame',1,'endFrame',283,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','girl','path','D:\Matlab2018a\appdata\Datasets\OTB100\girl\img\','startFrame',1,'endFrame',500,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human3','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human3\img\','startFrame',1,'endFrame',1698,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human4','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human4\img\','startFrame',1,'endFrame',667,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human6','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human6\img\','startFrame',1,'endFrame',792,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Human9','path','D:\Matlab2018a\appdata\Datasets\OTB100\Human9\img\','startFrame',1,'endFrame',305,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','ironman','path','D:\Matlab2018a\appdata\Datasets\OTB100\ironman\img\','startFrame',1,'endFrame',166,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Jump','path','D:\Matlab2018a\appdata\Datasets\OTB100\Jump\img\','startFrame',1,'endFrame',122,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','jumping','path','D:\Matlab2018a\appdata\Datasets\OTB100\jumping\img\','startFrame',1,'endFrame',313,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','liquor','path','D:\Matlab2018a\appdata\Datasets\OTB100\liquor\img\','startFrame',1,'endFrame',1741,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','matrix','path','D:\Matlab2018a\appdata\Datasets\OTB100\matrix\img\','startFrame',1,'endFrame',100,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','motorRolling','path','D:\Matlab2018a\appdata\Datasets\OTB100\motorRolling\img\','startFrame',1,'endFrame',164,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Panda','path','D:\Matlab2018a\appdata\Datasets\OTB100\Panda\img\','startFrame',1,'endFrame',1000,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','RedTeam','path','D:\Matlab2018a\appdata\Datasets\OTB100\RedTeam\img\','startFrame',1,'endFrame',1918,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','shaking','path','D:\Matlab2018a\appdata\Datasets\OTB100\shaking\img\','startFrame',1,'endFrame',365,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','singer2','path','D:\Matlab2018a\appdata\Datasets\OTB100\singer2\img\','startFrame',1,'endFrame',366,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','skating1','path','D:\Matlab2018a\appdata\Datasets\OTB100\skating1\img\','startFrame',1,'endFrame',400,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Skating2-1','path','D:\Matlab2018a\appdata\Datasets\OTB100\Skating2\img\','startFrame',1,'endFrame',473,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Skating2-2','path','D:\Matlab2018a\appdata\Datasets\OTB100\Skating2\img\','startFrame',1,'endFrame',473,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','skiing','path','D:\Matlab2018a\appdata\Datasets\OTB100\skiing\img\','startFrame',1,'endFrame',81,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','soccer','path','D:\Matlab2018a\appdata\Datasets\OTB100\soccer\img\','startFrame',1,'endFrame',392,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','Surfer','path','D:\Matlab2018a\appdata\Datasets\OTB100\Surfer\img\','startFrame',1,'endFrame',376,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','sylvester','path','D:\Matlab2018a\appdata\Datasets\OTB100\sylvester\img\','startFrame',1,'endFrame',1345,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','tiger2','path','D:\Matlab2018a\appdata\Datasets\OTB100\tiger2\img\','startFrame',1,'endFrame',365,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','trellis','path','D:\Matlab2018a\appdata\Datasets\OTB100\trellis\img\','startFrame',1,'endFrame',569,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','walking2','path','D:\Matlab2018a\appdata\Datasets\OTB100\walking2\img\','startFrame',1,'endFrame',500,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','walking','path','D:\Matlab2018a\appdata\Datasets\OTB100\walking\img\','startFrame',1,'endFrame',412,'nz',4,'ext','jpg','init_rect', [0,0,0,0]),...
    struct('name','woman','path','D:\Matlab2018a\appdata\Datasets\OTB100\woman\img\','startFrame',1,'endFrame',597,'nz',4,'ext','jpg','init_rect', [0,0,0,0])};
 
seqs=[seqIVT,seqVTD,seqOther]; %OTB-2013
%seqs=[seqIVT,seqVTD,seqOther,seqOTB49_100,seqOTB50];   %OTB-2015

你可能感兴趣的:(目标跟踪)