现在,评价一个算法的性能主要从两个方面:
1、看其在数据集上的效果如何?
2、与其他跟踪算法的比较有何优势?
都说算法在刷数据集,其实如果能够在这些标准数据集上分数刷得很高,该算法应该也具有一定的泛化能力。
常用的数据集有:
如果有一个算法在几个数据集上都刷得很高,无疑是跟踪领域福音,从此没有人再敢再刷这些数据集,然后发论文了吧。
一、OTB50和OTB100:http://cvlab.hanyang.ac.kr/tracker_benchmark/
性能评价方法[1]:
OPE:
1、mean precision(precision plot) :预测的中心位置与实际的中心位置小于20px的帧数占总帧数的百分比。
大部分算法都在方法上刷的很高。
2、IoU(success plot):预测的bounding box 与 实际的bounding box的交并比。
第二个评价标准更为苛刻。因为只有预测的位置和预测的尺度都准的情况下,其分数才会高。
Robustness Evalution:
TRE:Temporal Robustnes Evaluation,改变第一帧的帧顺序。
SRE:改变ground truth的bounding box 的尺度或者旋转ground truth 的bounding box。
实验方法:
整体上:在所有序列上的性能,如OTB50,VOT2016等。
定量分析:可用不同属性,但是都是难度较大的序列来测试算法的性。。
定性分析:OTB数据集分为11个属性,如遮挡,快速移动,光照变化等。在各个属性上.
算法没有100%。自从有了深度学习方法,很多计算机视觉问题都有了大突破,然而,在IMAGENET上的图像分类或LFW的人脸识别准确率还是没有到达100%,退一步说,即使到了100%,也只能说在某个数据集上达到了100%,换个数据集可能就不行了,再退一步说,即使在某几个数据集都达到了100%,实际应用中可能又不行了,因为现实情况非常复杂,有很多不可控因素,不是几个数据集就能囊括的。跟踪算法也是算法,算法就是算法,没有最好,只有更好。
在OTB出现之前,各个算法可以说是各说各的,几个算法很难那在一起做比较,所以都是看该算法的创新点。
在标准数据集出来之后,各个算法有了可以比较的基础;但是又出现了一个新的情况:刷数据集,在数据集上分数很高。如果该数据集是动态的还好说,但是OTB是静态的。
看论文,看算法,不仅要看其性能,更要看其创新点。
二、每年(13/14/15/16/17/18)的VOT竞赛[2]数据集:http://www.votchallenge.net/
13年:16个短视频序列,top,left,w,h
14年:25个短视频序列,x1,y1,x2,y2,x3,y3,x4,y4
15年:60个短视频序列,x1,y1,x2,y2,x3,y3,x4,y4
16年:在15年的基础上改进了ground truth。
17年:同16年
18年:等待中。。。
参考文献:
[1] Y. Wu, J. Lim, and M.-H. Yang. Online object tracking: A benchmark. In CVPR, 2013.
网友评论