linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我

文章目录

    • 通用步骤
    • matlab版本配置
    • python版本配置(与matlab版本配置基本相同,我只介绍不同点)
    • 总结

vot-toolkit是vot challenge官方发布的,用来测试跟踪器在VOT数据集上表现的工具。最近在做这方面的实验就顺便配置了一下,下面是我配置的步骤方法,分为matlab跟踪器版本和python跟踪器版本。

通用步骤

因为配置matlab和python版本的开始操作几乎一样,所以放在这部分进行阐述。具体步骤使用数字1,2,3,…代表前后次序

  1. 从github上下载vot-toolkit的源码和trax库(建立各种语言跟踪器与vot-toolkit之间的传输协议,以方便对不同语言写的tracker进行统一分析),网址为:

    vot-toolkit:  https://github.com/votchallenge/vot-toolkit
    trax:  https://github.com/votchallenge/trax
    
  2. 解压vot-toolkit.zip和trax.zip获得vot-toolkit和trax文件。打开vot-toolkit文件并创建新文件夹native,之后将trax文件放入native文件内,所以现在路径为:vot-toolkit/native/trax,如下所示(下图native文件内其他内容是之后编译形成的)。

    linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第1张图片

  3. 打开tracker/examples/READMEmd文件,点击该文件中最后的’separate repository’,下载示例ncc、python_ncc跟踪器代码。如下所示。
    linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第2张图片

  4. 将下载后的示例跟踪器代码文件放到tracker/examples文件中,如下所示。

    linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第3张图片

  5. 进行工作环境的配置

    1. 运行toolkit-path.m文件,将路径添加到matlab中

    2. 运行workspace/workspace_create.m文件,创建工作环境。运行结果如下图所示。

      linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第4张图片

      第一个选项是用来选择要进行测试的数据集,第二个选项是用来设置你的跟踪器名称,第三个选项是用来选择要测试的跟踪器代码是由什么语言编写(matlan选择1,python选择2)。之后按回车键会进行编译,尽量选择负责编译的gcc、g++版本为“4.9.x”,不然之后运行代码可能会报错。编译效果如下所示。

    linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第5张图片

  6. 当编译完成后,会出现如下几个文件,其中tracker_our中的our就是之前我们设置的跟踪器名称:

    linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第6张图片

matlab版本配置

当进行通用步骤操作后,可以进行matlab版本和python版本的配置了。下面介绍matlab版本配置操作。

  1. 打开上图中出现的tracker_our.m,其实这个m文件是一个接口文件,连接要测试的跟踪器代码。打开后的界面如下所示。

linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第7张图片

  • 注释掉第二行的error,这是一个提醒你要进行接口配置的语句,既然咱们已经开始配置了,所以要注释掉,否则报错。

  • 在函数tracker_label=[]中填入跟踪器标签,用来定义最后生成跟踪结果图上跟踪结果的名称

  • 进行接口函数tracker_command=generate_matlab_command()的设置,比如我们进行示例跟踪器ncc的测试。示例跟踪器ncc的路径为tracker/examples/matlab/ncc.m,如下所示。

linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第8张图片

 那接口函数中的两个参数分别设置为`tracker_commnad=genarate_matlab_command("ncc","/tracker/examples/matlab")`,其中``代表电脑上vot-toolkit的绝对路径。观察这两个参数可以发现,其实接口函数就是输入要测试跟踪器代码的绝对路径。
  • 最后写完成之后的界面为:

    linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第9张图片

  1. 检测跟踪器是否连接成功

    • 运行tracker_our,观察是否运行无误。如果有问题,一般是路径问题,这时候再运行一下toolkit_path.

    • 运行run_test,报错。报错提示为无法下载test测试集。这时因为matlab无法连接网络造成的,复制报错提示中下载test测试集的网址,单独在浏览器上进行下载。下载完成后,将test测试集解压并放入vot-toolkit-master/sequences注意这个文件夹最后是由s结尾的)中,如下所示。

      linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第10张图片

    • 再次运行run_test,运行成功,如下所示:

    linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第11张图片

    • 随便选择其中的一个序列,如surfing。按3,之后回车。得到下列结果:

linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第12张图片

 这时候你按一下鼠标,就进行一帧的跟踪,毕竟这只是测试跟踪器是否能够进行。如果出现,上面的图片就说明跟踪器连接成功,可以进行测试分析。
  1. 跟踪器性能测试

    • 运行run_experiments,出现unable to establish connection. traX support not detected错误提示。这时可能由两个问题造成:初始化时间过长和trax连接方式不正确。于是打开tracker/tracker_run文件,进行如下修改(第32行的timeout改为·timeout=3000000,第39行的connection改为socket):

      linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第13张图片

    • 再次运行run_experinments,成功。如下所示:

      linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第14张图片

  2. 跟踪器性能分析:

    • 修改run_analysis,将第11行修改为下面的形式:

      linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第15张图片

      之所以这样修改是因为我们只测试了一个叫‘our’的跟踪器,result文件内只有’our’跟踪器的测试结果,如下所示:

      在这里插入图片描述

    • 运行run_analysis,得到reports文件,文件内的形式如下所示:

      linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第16张图片

    • 点开index.html或者其他html文件,获得跟踪结果分析图。

      linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第17张图片

python版本配置(与matlab版本配置基本相同,我只介绍不同点)

  1. 通用步骤中运行workspeace_create创建环境的时候选择python编译语言,之后进行编译。

  2. 打开native/trax文件,创建bulid文件。之后操作如下:

    cd build
    cmake ..
    make 
    

    这个操作是编译trax库,使trax可以与python跟踪器连接起来,即python中的import trax有效。

    最后形成的目录如下所示:

linux中vot-toolkit测试工具使用,超详细,一看就会,不会请扇我_第18张图片

  1. 最后,打开tracker_our,进行接口函数的配置。以示例跟踪器python_ncc为例。主要修改tracker_commandtracker_linkpath两个函数。修改后的界面如下所示:

在这里插入图片描述
在这里插入图片描述

  1. 之后,运行run_test,如果没问题,尽可以进行测试、分析啦。工具的配置也就完成了!

总结

  1. vot-toolkit中很多都已经高度集成了,只需要修改几行代码就可以运行程序。但是其中会遇到各种配置问题,最明显的就是trax的连接问题。
  2. 初始化时间设置和连接方式设置一定要记得修改,不然无法报错。
  3. 如果有必要,我会写一篇介绍如何处理问题的文章,或者你们遇到什么问题也可以私信我。
    kit中很多都已经高度集成了,只需要修改几行代码就可以运行程序。但是其中会遇到各种配置问题,最明显的就是trax的连接问题。
  4. 初始化时间设置和连接方式设置一定要记得修改,不然无法报错。
  5. 如果有必要,我会写一篇介绍如何处理问题的文章,或者你们遇到什么问题也可以私信我。
  6. 别人代码写的非常好,希望有一天自己也可以写出这样的代码工具。

你可能感兴趣的:(程序,笔记,git,github,神经网络,深度学习,pytorch)