Visual Tracker Benchmark配置使用自己算法教程
2016-05-07 14:40
405 查看
计算机视觉中,Visual tracker benchmark是一个相当于比较标准一般的存在,可以对比每个算法在相同的基准之下的性能。这个在CVPR 2013的时候发表的,下面是原文链接:
Online Object Tracking: A Benchmark (CVPR 2013)
http://faculty.ucmerced.edu/mhyang/papers/cvpr13_benchmark.pdf
官方链接:
http://cvlab.hanyang.ac.kr/tracker_benchmark/index.html
在2015年的时候数据集由原来的50个序列扩充到现在的100个。
现在多数使用的是Benchmark V1.0来运行测试所有tracking的结果,在官网下载完代码之后,里面已经存在了关于各种tracker在不同数据集上的结果了。
想要验证自己的tracker在这个基准上的结果,说来非常的简单。
直接的方法:
首先将代码先拷到benchmark_v1.0/tackers/这个文件夹下,你会发现里面已有好几个算法的代码文件夹了。
这边注意了,我就是这样的,没有注意把代码拷贝进去之后要自己写一个调用函数,benchmark在运行的时候调用我们的算法的函数,就是每个tracker文件夹当中的run_trackers名字,这个一定要有,格式也很简单,参照其他的算法应该很容易就能写出来了。
第二步是:到benchmark_v1.0/util/configTrackers.m这个函数中,在trackers1这个结构体中添加上你的代码的名字,比如:struct(‘name’,’KCF’,’namePaper’,’KCF’),…。
如果只想运行自己的算法结果,就把整个文件代码注释掉,重写:
第三步是:运行main_running.m函数。这个时候就是等待了,等待过程还是很漫长的,这个根据自己的算法的运行速度。等所有结果跑完了之后,结果就保存在results文件夹里面,可以打开看一下,会有各个序列集对应自己算法名字的结果文件存在。
PS:这边如果提示error,所有序列集都是error的话,就是你以前配置错误了,跑出来结果是空的,这个时候去results文件夹里面把以前错误的结果删除掉,重新运行就没问题了。
第四步是:运行perfPlot.m函数,根据你运行出来的结果画出可视化的曲线。如果这边报错问价找不到什么的,点到错误的地方把路径修改一下就应该没有什么问题的。
这个过程当中你可能会遇到一些问题:第一个会是路径的问题,这个需要你更改的路径有configTrackers.m和configSeqs.m里面的路径,对应修改就可以了。还有一点就是在修改configTrackers.m的时候,你可能添加一个自己的tracker到已知的结构体当中会遇到运行main_running函数时出现错误,这个时候尝试单独把自己的tracker作为一个结构体,把其他的算法都注释掉,只剩下自己的tracker然后试试,因为这个时候其他的tracker结果都已经保存下来了,只需要自己的tracker的结果出来就好了。
其他的应该就没什么问题了!
————————————————————————————————————————————
Online Object Tracking: A Benchmark (CVPR 2013)
http://faculty.ucmerced.edu/mhyang/papers/cvpr13_benchmark.pdf
官方链接:
http://cvlab.hanyang.ac.kr/tracker_benchmark/index.html
在2015年的时候数据集由原来的50个序列扩充到现在的100个。
现在多数使用的是Benchmark V1.0来运行测试所有tracking的结果,在官网下载完代码之后,里面已经存在了关于各种tracker在不同数据集上的结果了。
想要验证自己的tracker在这个基准上的结果,说来非常的简单。
直接的方法:
首先将代码先拷到benchmark_v1.0/tackers/这个文件夹下,你会发现里面已有好几个算法的代码文件夹了。
这边注意了,我就是这样的,没有注意把代码拷贝进去之后要自己写一个调用函数,benchmark在运行的时候调用我们的算法的函数,就是每个tracker文件夹当中的run_trackers名字,这个一定要有,格式也很简单,参照其他的算法应该很容易就能写出来了。
第二步是:到benchmark_v1.0/util/configTrackers.m这个函数中,在trackers1这个结构体中添加上你的代码的名字,比如:struct(‘name’,’KCF’,’namePaper’,’KCF’),…。
如果只想运行自己的算法结果,就把整个文件代码注释掉,重写:
function trackers=configTrackers trackers=[{struct('name','算法名字','namePaper','算法名字')}];
第三步是:运行main_running.m函数。这个时候就是等待了,等待过程还是很漫长的,这个根据自己的算法的运行速度。等所有结果跑完了之后,结果就保存在results文件夹里面,可以打开看一下,会有各个序列集对应自己算法名字的结果文件存在。
PS:这边如果提示error,所有序列集都是error的话,就是你以前配置错误了,跑出来结果是空的,这个时候去results文件夹里面把以前错误的结果删除掉,重新运行就没问题了。
第四步是:运行perfPlot.m函数,根据你运行出来的结果画出可视化的曲线。如果这边报错问价找不到什么的,点到错误的地方把路径修改一下就应该没有什么问题的。
这个过程当中你可能会遇到一些问题:第一个会是路径的问题,这个需要你更改的路径有configTrackers.m和configSeqs.m里面的路径,对应修改就可以了。还有一点就是在修改configTrackers.m的时候,你可能添加一个自己的tracker到已知的结构体当中会遇到运行main_running函数时出现错误,这个时候尝试单独把自己的tracker作为一个结构体,把其他的算法都注释掉,只剩下自己的tracker然后试试,因为这个时候其他的tracker结果都已经保存下来了,只需要自己的tracker的结果出来就好了。
其他的应该就没什么问题了!
————————————————————————————————————————————
出现的问题总结:
1、自己选的run_tracker.m当中有错误,没能正确调用自己的跟踪算法, 仔细检查是否调用正确,可以在mainrunning.m当中144行左右找到 eval(funcName);,单步调试,看看是否能进入到自己的函数当中。
2、”未定义函数或变量v1_setup“
这个错误是因为需要安装一个包,在这里下载,配置好之后把路径添加进去,直接点错误进去就在上面添加就好了。
暂时收集到大家问的比较多的就是这两个。有什么问题欢迎随时说来问。
相关文章推荐
- 效率高的Javscript字符串替换函数的benchmark
- TPC-H Benchmark
- 计算机视觉领域的牛人博客和有实力的研究机构
- apache benchmark 性能测试
- 阿里的100TB Sort Benchmark排序比雅虎快了一倍还多,我的看法
- 科研工作的关注点
- 最小外接矩形(MBR)
- 色彩量化评价指标 Quantitative measure methods for color quantization
- 图像处理的网址(转载)
- OpenCV学习笔记 第一篇 显示图像
- 图铭Android平台银行卡号识别系统
- 学习OpenCV第一课——认识、安装配置OpenCV(CodeBlocks)
- Kalman滤波
- 图像处理特征不变算子系列之KLT算子--GoodFeaturesToTrack(七)
- 《计算机视觉中的数学方法》笔记1 向量叉积的反对称矩阵表示
- Selective Search for Object Recognition
- 摄像测量相关
- Apache Benchmark修改,支持发送不同数据包
- Learning OpenCV Chapter3 初探OpenCV上
- 开通博客--for interest