• 目标跟踪评估绘图(3):ubuntu18.04在MATLAB2016b下的vot-toolkit配置,绘制VOT数据集的EAO评估图,与其他算法进行比较


    本文的视频讲解目标跟踪_OTB数据集和VOT数据集评估图的绘制

    博主电脑配置:
    CPU:酷睿i9-9900kf,
    显卡:RTX2070S,
    gcc版本:7.5.0,
    以下实验在MATLAB2016b平台上运行。

    一、工具包准备

    vot-toolkit工具包

    git clone https://github.com/votchallenge/vot-toolkit
    
    • 1

    trax编译工具

    git clone https://github.com/votchallenge/trax
    
    • 1

    ncc的MATLAB、Python等测试包

    git clone https://github.com/votchallenge/integration
    
    • 1

    或者百度网盘
    链接: https://pan.baidu.com/s/1qOctNOgplErnukjmbblrAA
    密码: iwf9

    二、文件夹创建

    2.1 解压并在vot-toolkit文件夹中新建native文件夹,将刚刚下载的trax整个文件放入native文件夹内

    在这里插入图片描述

    2.2 解压并将integration中所有文件(matlab,native,python三个文件夹)放入到放入/vot-toolkit/tracker/examples/

    在这里插入图片描述

    2.3 在vot-toolkit中新建一个vot_workspace文件夹

    在这里插入图片描述

    2.4 下载好VOT2016数据集

    自己预先下载,省时间,记住路径,后面设置

    三、trax编译

    首先进入trax文件内,改成自己路径
    
    cd /home/m1309/ProjectFiles/vot/vot-toolkit/native/trax
    
    一步一步输入指令:
    mkdir build
    
    cd build 
    
    cmake ..
    
    make
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    四、在MATLAB生成文件

    4.1 打开matlab,找到vot-toolkit文件夹并运行toolkit_path.m

    在这里插入图片描述

    4.2 修改数据集路径

    修改vot-toolkit/workspace/workspace_load.m里面第142行 sequences_directory =‘/path/to/vot2016’,指向你的数据集路径sequences_directory =‘/home/ch/ProjectFiles/vot/VOT2016’;
    在这里插入图片描述

    4.3 运行workspace_create.m文件

    先打开vot-toolkit/workspace/workspace_create.m文件,然后再进入刚刚创建的vot_workspace文件夹,运行workspace_create.m

    在这里插入图片描述
    命令行依次输入5,ncc, 1,就会出现左侧的文件
    在这里插入图片描述在这里插入图片描述

    五、对生成的文件进行测试及解决错误

    5.1 设置tracker_ncc.m

    在/VOT/vot-toolkit/vot_workspace打开tracker_ncc.m:设置路径如下(注意路径指向自己的文件夹位置)

    1、注释error语句*
    设置下面3行代码中的路径为自己文件夹的路径
    2、tracker_label = ['ncc'];
    3、tracker_command = generate_matlab_command('ncc', {'/home/m1309/ProjectFiles/vot/vot-toolkit/tracker/examples/matlab'});
    4、tracker_linkpath = {'/home/m1309/ProjectFiles/vot/vot-toolkit/native/trax/build'}; % A cell array of custom library directories used by the tracker executable (optional)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    5.2 错误一

    运行run_test.m仍然出错

    Tracker execution interrupted: Invalid MEX-file '/home/m1309/ProjectFiles/vot/vot-toolkit/native/traxclient.mexa64': /usr/local/MATLAB/R2016b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/ubuntu/VOT/vot-toolkit/native/traxclient.mexa64).
    TraX support not detected.
    
    • 1
    • 2

    问题出在libstdc++.so.6这个上面,需要重新建立正确的链接,并重启Matlab即可解决。

    cd /usr/local/MATLAB/R2016b/sys/os/glnxa64  # Matlab对应路径
    sudo mv libstdc++.so.6.0.25 bak-libstdc++.so.6.0.25
    sudo mv libstdc++.so.6 bak-libstdc++.so.6
    sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 ./
    sudo ln -sf ./libstdc++.so.6.0.25 ./libstdc++.so.6
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注意看自己文件的版本libstdc++.so.6.0.25
    在这里插入图片描述

    5.3 错误二

    再次运行,仍然报错
    在这里插入图片描述

    解决办法:
    打开tracker/tracker_run.m,第38行

    % connection = ‘standard’;
    注释掉,修改为下述语句(注意:复制过去后,引号改为英文引号)

    connection = 'socket';
    
    • 1

    在这里插入图片描述

    5.4 运行run_test.m

    再接着运行run_test.m,然后用鼠标点他就可以动了,点一下动一下。

    在这里插入图片描述

    5.5 完整运行

    想要整个跑完的就运行run_experiments.m。这个vot会在一个视频上跑多次测试,如果只想一个视频跑一次就在[sequences, experiments] = workspace_load();
    下面一行添加下列语句(分号改为英文分号),表示跑一次:

    experiments{1,1}.parameters.repetitions = 1;
    
    • 1

    在这里插入图片描述

    六、 与其他算法结果对比

    下载vot2016其他算法结果
    
    data.votchallenge.net/vot2016/vot2016_results.zip
    
    • 1
    • 2
    • 3

    将其中几个比较熟悉的算法放在一起results文件,进行测试
    在这里插入图片描述

    对run_analysis.m文件进行更改

    1 注释掉error语句
    2  trackers = tracker_list('CCOT', 'deepMKCF', 'DeepSRDCF', 'DSST2014', 'HCF', 'KCF2014', 'MAD', 'Staple');
    
    • 1
    • 2

    在这里插入图片描述

    在这里插入图片描述
    进入images文件夹中打开图片
    在这里插入图片描述

    测试其他vot数据集也是一样的过程,只有导入数据集的路径不一样。

  • 相关阅读:
    闺蜜和我,我和闺蜜
    FastAPI 学习之路(二十九)使用(哈希)密码和 JWT Bearer 令牌的 OAuth2
    M1 Mac:支持 USB-C,但不完全支持
    研发效能生态完整图谱&DevOps工具选型必看
    RabbitMQ-消息模型
    并发编程——重入锁ReentrantLock
    【读书笔记】《0day安全》第二章:栈溢出的原理和实践
    去中心化身份DID(研究)
    计算机组成原理——指令系统の选择题整理
    Cookie、Session、Token三者的区别
  • 原文地址:https://blog.csdn.net/Hankerchen/article/details/119864502