当前位置: 代码迷 >> 综合 >> OTB测试之Visual Tracker Benchmark v1.0全过程配置流程
  详细解决方案

OTB测试之Visual Tracker Benchmark v1.0全过程配置流程

热度:99   发布时间:2024-01-19 10:43:10.0

又到了日常debug的时间了,前人的工作都做的很好,像我这种咸鱼得以轻易得到一个标准知道自己的工作做得怎么样;

废话不多说,上流程:

  • 下载benchemark,解压,把自己的算法整体拷贝到解压后的trackers的文件夹里,改名字,就是自己给算法起个名字,这里起名叫whisky。
  • 进入自己的算法文件夹,写一个接口,所谓的接口也是这里的关键,这里要参考其他已有的几个trackers的接口,严格按照格式
  • 自己算法的run_XXZZ.m要和算法文件夹匹配,打开后里面的function XXZZ()自然要和自己的文件名对应;
  • 开头的funtion XXZZ(),括号内要严格按照seq, res_path, bSaveImage写,后面两个可能用不到,没关系,忽略;

         结尾一定要是 :

         这就是接口,就是所谓的标准格式;其他就是你原来的run_tracker.m,把主要的部分靠过来,你自己定义的参数都写对;

  • 打开/util/configTrackers.m这个函数,在trackers1这个结构体中添加上你的算法的名字,比如:
          struct(‘name’,’KCF1’,’namePaper’,’KCF1’);

      其实只要跑自己的就好了,把所有的算法都注释掉,自己定义个结构体,加上下面的格式:

     

  • 在configSeqs.m里配置序列,把路径和名字都改成自己的;
  • 运行main_running.m跑算法在所有序列上的结果;最后运行perfPlot.m画图。

      遇到各种问题不要泄气,我也是配置了一下午跑了一晚上,调着调着你就理解main_running.m里的各个东西了,然后萌萌的图就出来了。

特点

  1. 11种跟踪难点:光照变化 Illumination Variation,尺度变化 Scale Variation,遮挡 Occlusion,形变 Deformation,运动模糊 Motion Blur,快速运动 Fast Motion,平面内旋转 In-Plane Rotation,平面外旋转 Out-of-Plane Rotation,出视野(完全消失) Out-of-View,背景杂波(背景相似目标干扰) Background Clutters,低分辨率 Low Resolution。(注意,VOT中没有出视野这一情况,有遮挡但没有消失,任何时候目标的标注都追求真实准确,而OTB有目标完全消失的情况,这时候的标注框只是理论上的位置,猜的~~没法说错也没法说对;VOT的序列长度都比较短,即short-term,而OTB有long-term测试)
  2. 2种评价指标:Precision plot,指标是中心位置偏差 center location error,这个指标没法反映跟踪的尺度和大小是否准确,所以用的不多,我也基本不看这个;Success plot,指标是交叠比 overlap score,这个比较靠谱,VOT中的accuracy也是这个,大部分论文也只放这个结果,请大家只看这个就够了。
  3. 3种评价方式: one-pass evaluation (OPE) 一遍过评测,传统方式,第一帧给groundtruth,没有随机性的算法只跑一遍就可以了;temporal robustness evaluation (TRE)时域鲁棒性评测,加入时间干扰,从任意帧开始跟踪测试;spatial robustness evaluation (SRE)空域鲁棒性评测,给第一帧的groundtruth加干扰去初始化。我一般只看OPE,这个与TRE和SRE基本一致。(15'TPAMI中加入了Restart,跟踪失败下一帧马上重新初始化, 这个比较像VOT的重新初始化,不过VOT 5帧以后再初始化更科学合理,Restart的次数反映算法的robust,Restart次数越少、平均交叠比分数越高、说明算法越好)
  4. 例外情况:设想一下,有个算法非常非常差,跟一帧丢一帧,那它就会持续初始化,跑出来的结果有一半是groundtruth,会造成robust很低但accuracy比较高的情况;再设想一下,有个算法总是趋向于选择比较大的跟踪框,极限情况如果跟踪框一直是整个图像,那交叠比永远不可能为0,永远不会Restart,会造成accuracy很低但robust很高的情况;正常算法的accuracy和robust是比较均衡的,如果一高一低一定要当心。
  5. 在跟踪的贴吧里找到了讨论问题的帖子,还意外发现了知乎的王强大神,不过跟踪这一方面略冷清啊。
  6. 画图plot的那个文件里,runtype=  AUC 或者 Threshold,记得把这两个类型分别跑一下,作者的备注打错字了…大佬也有疏忽的时候。

以下各种参考,总有一个会帮到你:

https://blog.csdn.net/lcb_coconut/article/details/76512707

https://zhuanlan.zhihu.com/p/27542268

https://blog.csdn.net/sgfmby1994/article/details/53079434?locationNum=10&fps=1

https://blog.csdn.net/ms961516792/article/details/81385394   Ubuntu

https://www.jianshu.com/p/50cb5b94c609

https://www.zhihu.com/question/21599307/answer/140973765  这个图文并茂,知乎大佬

https://blog.csdn.net/crazyice521/article/details/51337783    这个总结也很全,建议看。

……

其他大同小异,不说了

  相关解决方案