OTB测试之Visual Tracker Benchmark v1.0全过程配置流程---后续《二》

今天把一个修改的算法写了个接口在OTB上跑,期间参考的这个博客专栏(这位同学可以说是总结的非常全了)

https://blog.csdn.net/devil_08

OTB测试之Visual Tracker Benchmark v1.0全过程配置流程---后续《二》

 

这一次因为新算法加入了深度特征,所以跑起来要用到之前的vlfeat_toolbox外还用到了matconvnet,这里有一个问题,在OTB-2013中怎样使用两个工具箱?自己写的接口里面是不addpath这两个的,所以写到main_running里面,运行中显示error,也许是跑上一个优化算法太顺利,导致这一次,出了很多问题,解决的一大利器是使用工作区检查,配合断点分析,我们算法跑起来失败后,退出调试,matlab默认布局下右面的工作区会显示出好多数据,我们双击前列的那个error,就可以查看4个celll,其中有具体的错误原因,我们可以一个一个地Debug;

OTB测试之Visual Tracker Benchmark v1.0全过程配置流程---后续《二》

 

  下面说说自己遇到的其他问题:

1、尝试将script vl_nnconv作为函数执行,这个大多数人单独运行算法时都会碰到,我没有碰到,但是帮别人运行图像匹配的一个算法时我遇到了,当时是换了个matconvnet的版本解决了问题,现在又遇到,我单独跑了一下算法是可以的,但是在matconvnet里就不行了,仔细分析了下应该是函数重名导致的,后来在别的博客上也有别人这样说,所以我就把tracker文件夹下whisky算法的external包括里面的matconvnet都移了出去防止与目录下包含的其他函数重名,这样这个问题就解决了,也有人说把.m文件发到它那个Matlab文件夹之外,这样也可以,因为提示出错的那个函数和一个.m文件重名了;

2、第二个就是提示vlfeat_toolbox下的一个文件出了问题,因为也是函数的问题,我干脆把vlfeat_toolbox也从评测的trackers文件夹下移了出去到外面,然后一定要注意顺序,运行main_running前先运行vlfeat_toolbox的vl_setup,再运行matconvnet里的compilenn,这样才能保证算法顺利运行;

     在stack overflow上找到了类似的问题:

     OTB测试之Visual Tracker Benchmark v1.0全过程配置流程---后续《二》

     OTB测试之Visual Tracker Benchmark v1.0全过程配置流程---后续《二》

3、注意自己接口也就是run_whisky下面函数函数调用参数一定要和调用的函数里的参数一直,函数名也要写对;

4、写自己接口定义参数时不要忘了把enable GPU 该为false状态,因为自己的算法加速了所以使用深度特征也很快,这里不使用GPU编译;

 

 

其他的发现了再慢慢更新,先写这些。