在【OTB使用介绍一】中,简单的讲解了如何运行OTB,这次主要详细介绍OTB的一些设置以及得到的结果图。
在OTB的量化评价指标中,有OPE、TRE、SRE三种,可由perfPlot.m得到。
视频图像的可视化bounding boxes是由drawResultBB.m得到
而main主要作用是跑跟踪算法的代码,并将运行跟踪算法返回的结果存放在result文件夹下。具体在哪个文件夹下,通过下面这行代码决定。(结果的存放形式是mat)
%运行main后得到的结果将存在此路径下(不修改就是在results文件夹的CVPR13下,可以自由修改),
finalPath = ['./results/results_' evalType '_CVPR13/'];
evalType就是选择跑OPE、TRE、SRE三种中的一种。如下所示
%'OPE','SRE','TRE' 选择不同的评价标准, 初始为TRE
%这里你想得到什么结果就修改为什么评价标准
evalType='TRE';
这里做一下说明,OPE是一次成功率,TRE(20次)和SRE(12次)都是多次的。其中TRE的第一次结果其实就是OPE的结果,所以你可以跑一次TRE和一次SRE就够了。main中的修改差不多就是这些。
修改完main后运行就得到了结果。结果展示如下
这个是result文件夹的results_TRE_CVPR13里面的CSK的basketball.mat文件
点开第一个可以看到这些
其中res中的数据就是跟踪算法运行的结果,725是basketball序列的帧数,第一行就是第一帧,4列表示的是(x, y ,w, h),这里x和y表示的是目标位置的中心,w和h就是目标框的宽和高。在后面将自己的代码加入到OTB中时候,要特别注意不要把w和h写反了。anno是人工标注的信息,也就是后面评价指标的参照数据。
接下来是perfPlot.m ,作用是画出各种曲线图,也就是原论文中的各种成功率图和各种精度图。图片保存在figs文件夹下。
evalTypeSet = {'SRE', 'TRE', 'OPE'};
这行代码控制的是出几种图,可以只 保留你想出的图,其他的删除。
rankingType = 'threshold';%AUC, threshold
这里原来是AUC,只能出成功率(success)图,要想出精度(precision)图的话,需要修改为threshold。这样就可以两种图都出。
注意,源码注释中的threshold拼写有误。改正即可。
修改完这些就可以运行perfPlot.m了。
最后就是drawResultBB.m,这个得到的视频中跟踪算法的结果保存在tmp文件夹的img中。如图所示
这个m文件的运行需要有SRE的结果,因此运行前,需要先选择SRE并运行一下main文件。
之后就可以得到这样的结果图。
pathRes = '.\results\results_SRE_CVPR17\';% The folder containing the tracking results
即在该文件夹中,有相应的mat文件。
【OTB使用介绍二】在这里就结束了,【OTB使用介绍三】中介绍如何将你的算法加入到OTB中并和其他算法进行比较。