关注上方公众号,回复下方安装过程中对应关键字,获得对应安装包。
本文持续更新中…
连载可关注知乎专栏“目标跟踪基础与前沿”
VOT13、VOT14、VOT15、VOT16,每一次都有很大变化,VOT13只有16组序列,而当时OTB-50刚刚出来,所以VOT13没多大影响力,VOT14比VOT13增加样本集至25组,并且重新标注了样本,选取多边形区域进行标注,能反映出OTB反映不了的问题,这才收到大家的关注,不过大家当时还是看OTB多一些。VOT15扩充样本集至60组,并开设了tir热成像跟踪子系列,其评价方法也有改变,VOT15开始火起来了。到VOT16,没有对样本集做修改,只是使用了自动标注样本的方法对样本重新标注,VOT已经成了跟踪领域顶会必须拿出的指标了。
现在做跟踪必须要拿VOT中的评价标准说明问题,它与OTB比起来更加好用,更能反映问题。
参考
第一个anno文件夹,就是标注好的视频序列的位置数据,默认下载下来的只有OTB2013中视频序列的标注数据,要想测试OTB2015就需要找到OTB2015的标注数据将anno文件夹进行替换。很显然,没有标注好的数据就不能测试得到算法的跟踪精度及成功率。
第二个figs文件夹,你将自己算法在数据库上跑完之后,运行了perfPlot.m文件画完图之后,生成的图片就会存在这个文件夹里。
第三个results文件夹,保存的是你算法测试的结果文件,文件命名为“视频序列名_算法名.mat”,当你算法在数据库里跑完后这个文件夹里会找到对应的文件,有一点值得注意的是,当你之后运行perfPlot.m文件画图报错时,很有可能是你的算法有瑕疵,导致一些测试结果文件是空文件,所以你要注意results里对应算法结果文件中大小为1kb的文件,也许就是空文件。
第四个perfmat文件夹,是你运行了perfPlot.m画图文件之后生成的记录文件,所以当你新增或者更改了需要画图的算法时,最好把这个文件夹里overall里的所有文件删除,否则可能会画出之前保存的图片而不进行新图的绘制。
main_running.mat文件就是主程序,设置完成需要测试的算法,在哪些视频序列上进行测试后,运行这个文件,等他跑完就可以在results文件夹里看到跟踪结果文件了。
utility文件夹,里面包含了程序需要调用的函数,其中需要我们更改的函数有两个,configSeqs.m文件,这个文件是设置你需要在哪些视频序列上进行测试。configTrackers.m文件,这个文件是设置你需要测试哪些跟踪算法。
目标跟踪配置二: ubuntu Matlab安装
OTB评估指标
OTBbenchmark 官网
OTB对时间鲁棒性的测试是通过将视频序列在时间轴上平均找出20个点作为起点,终点还是原来的最后一帧,这样通过对20段视频序列运行算法,绘制平均的重叠率图或者像素误差图,这样就完成了空间鲁棒性的测试
空间鲁棒性和时间鲁棒性一样,取一段视频的第一帧,以真实位置稍作偏移,就是说测试初始化位置有偏差的目标序列,这样测试12段(8个方向,四个尺度),这样就可以得到12和视频序列的评价成功率曲线,也就是空间鲁棒性曲线。
平均像素误差是根据预测目标中心位置和真实位置的像素距离作为误差值,该值越大说明误差越大。最后结果是对视频序列所有帧取平均值。
VOT2013-2016官方链接:www.votchallenge.net/howto/
OTB和VOT区别:OTB包括25%的灰度序列,但VOT都是彩色序列,这也是造成很多颜色特征算法性能差异的原因;两个库的评价指标不一样,具体请参考论文;VOT库的序列分辨率普遍较高,这一点后面分析会提到。对于一个tracker,如果论文在两个库(最好是OTB100和VOT2016)上都结果上佳,那肯定是非常优秀的(两个库调参你能调好,我服,认了~~),如果只跑了一个,个人更偏向于VOT2016,因为序列都是精细标注,且评价指标更好(人家毕竟是竞赛,评价指标发过TPAMI的),差别最大的地方,OTB有随机帧开始,或矩形框加随机干扰初始化去跑,作者说这样更加符合检测算法给的框框;而VOT是第一帧初始化去跑,每次跟踪失败(预测框和标注框不重叠)时,5帧之后重新初始化,VOT以short-term为主,且认为跟踪检测应该在一起不分离,detecter会多次初始化tracker。
VOT 中使用EAO
精度和鲁棒性的相关性最弱。
中心误差标准值 考虑目标中心位置的误差,该方法具有明显的缺点,就是无法衡量目标尺度变化的影响。
另外,目标中心的意义有时候不是很明确(如下图)。
误差来自, 谁和谁之间?
在区域重叠指标上,我们一般使用有效帧的重叠率做平均。除此之外,我们还可以使用重叠率阈值以上帧的比例作为标准:
基于中心位置误差的,从跟踪开始到中心像素误差下降到阈值以下的(帧数)长度定义为跟踪长度。
在视频跟踪处理的一段序列中,当重叠率低于阈值可以被表示为
定义了几种混合各种参数的指标,Combined Tracking Performance Score (CoTPS)
是用来评价性能的,精度的衡量方式是平均重叠率。
EFO是用来衡量速度的指标,以往我们谈速度,都需要谈硬件,再说fps,但是通过EFO指标可以减少硬件差异带来的影响。
首先测试该机器在600×600图像上,对每个像素进行30×30滤波的时间。
然后将跟踪算法耗时除以该机器上进行以上滤波操作的时间,这样得到的值就是EFO值,最大程度的减少了硬件的影响。
是VOT2014提出来的一个衡量tracking速度的新单位,在利用vot-toolkit评价tracker之前,先会测量在一个600600的灰度图像上用3030最大值滤波器进行滤波的时间,以此得出一个基准单位,再以这个基础单位衡量tracker的速度,以此减少硬件平台和编程语言等外在因素对tracker速度的影响。
Precesion Plot: Euclidean distance between the center locations.
precesion plot(精度测算)主要指的是预测位置中心点与benchmark中标注的中心位置间的欧式距离,是以像素为单位进行的计算。计算方式比较简单,在进行目标跟踪时我们主要会得到两个参数:跟踪目标左上角的坐标和scale的大小。
success plot(成功率测算)主要指的是预测目标所在benchmark的重合程度。通过success plot,我个人觉得对scale和precision都有了数值上的描述。
其中OPE即为普通方法,TRE、SRE为测试鲁棒性方法。
目标跟踪领域的数据集(Lasot,Got10k,TrackingNet, ImageNet-VID(ILSVRC 2015-VID))有多大
Train每个基本上都80GB以上,一个Test也有33G,一共是1061GB
OTB介绍
OTB 怎么用OTB
OTB怎么用
OTB使用教程