经过了几天的折腾,终于是把vot测试工具的matlab版调通了。python版的会在接下来的文章中展现(如果能调通的话)。因为这几天看了一圈下来,感觉对这个工具的使用介绍的都不是很好,大部分都是把test测试完就结束了,不深入,自己遇到的问题也都没有答案,所以就索性写一下。
配置环境
Unbuntu16.0.4LTS,matlab2016b,gcc4.9。
配置过程
1.首先需要注意的是把从github下载的vot-toolkit的路径放在英文文件夹下,不要出现中文字符,以避免不必要的麻烦(因为matlab可能会不识别,从而报出一些奇奇怪怪的错误),同时matlab的语言也要设置成英文。如我的是这样:/home/csthitachi/vot-toolkit-master
2. 在vot-toolkit-master里新建一个文件夹取名native,下载trax,并把trax存进native里。trax去这里下载https://github.com/votchallenge/trax
3. 打开matlab,将文件夹定位到vot-toolkit-master下。运行toolkit_path.m,将路径加载到matlab中。
4. 打开workspace,并运行worksapce_create.m。按顺序进行。我输入的分别是1,ncc,1。意思是,运行test数据集,跟踪算法为ncc,编译matlab下的vot。此时会编译mex。如果报错,请检查gcc版本是否适合,不适合可以进行降级。我系统本身自带的是gcc5.4,有警告但是也可以编译成功。有些人则反映直接报错。
5. 编译成功之后,就可以看到一个文件run_ncc.m。这个是用来测试的官方自带跟踪算法。看17行tracker_command=generate_matlab_command那里,ncc.m保存在‘vot-toolkit-master/tracker/exalples/matlab’下。如果你的不是这样就修改,并用%注释掉第2行的error将来如果要测试自己的算法,可以把它拷贝到里来。当然也可以修改这个路径为你的算法地址。运行run_text.m进行测试了,这里是三个测试数据:motocross,sunshade,surfing。**注意这个测试图片自己是不能跑动画的,需要点一下才能进入下一帧。**在这个地方我以为是系统的opengl不兼容,改用硬件支持,matlab直接崩溃了。
6. 之后就可以运行run_experiment.m了。这个运行完,会有结果存在workspace/results里。按单个测试集名称存放,里面是txt文件和value文件。
7. 运行这个当然你还是一头雾水什么都看不出来是吧。感觉和论文里的人家画的那些图是不是完全没有关系。因为要有关系,需要运行一下这个run_analyis.m。这个是为了比较我们的算法和官方测试的算法的,结果就是论文里的那些图。首先,需要下载官方数据集vot2016。你可以把他放在vot-toolkit-master/workspace/sequences里,也可以修改worksapce下的worksapce_load.m的第142行,让路径指向你数据集存放的位置。注意路径里不要有中文。然后去vot网站下载其他算法的结果vot2016_results。并把这几个算法结果和我们的算法结果放在一个文件夹下。也就是workspace/results下。
8. 要比较哪几个,就在这里写哪几个的名字,然后运行。需要注意的是:先要跑完完整的vot数据集,而不是用官方的那三个测试样例去做对比,不然报错。vot2016提取码:i1ox
- 对比的结果存放在worksapce/reports下。对比图是以html格式保存的。
10. 写这篇博客的时候,对比结果出来了,但是还是有报错。证明还有些问题没有理清楚。所以有机会还是会更新的。也希望有懂的同学能够把遇到的坑补充一下。(在vot2018上没有报此错误,所以这可能是某个跟踪算法有较大的问题导致的,就先不管了)