VOT-2016 代码评测工具的使用说明

2018-10-14 09:37:04

VOT-2016 官网:http://www.votchallenge.net/vot2016/

评测代码链接:https://github.com/votchallenge/vot-toolkit

用到的工具: https://codeload.github.com/votchallenge/trax/zip/master

参考博文:

https://blog.csdn.net/sgfmby1994/article/details/78776465

https://blog.csdn.net/yao1131/article/details/78783236

Some Important Files: 

1. Pre-trained pyMDNet models (pre-trained on VOT or OTB dataset and testing for OTB and VOT, respectively):

  链接: https://pan.baidu.com/s/1ImnL8HHLdzgt6JyMYhk0YQ 提取码: bafq

2. pyMDNet code running successfully on VOT-2016 dataset:

  链接: https://pan.baidu.com/s/11yTqfUSq8FmzdRviWITr7Q 提取码: c54h

  warning:you need to install pyTorch 2.0 according to:

sudo pip install http://download.pytorch.org/whl/cu80/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl

1. 第一步执行:toolkit_path.m

2. 第二部执行:workspace_create.m

>> workspace_create
Select one of the available experiment stacks:
1 - test
2 - vot2013
3 - vot2014
4 - vot2015
5 - vot2016
6 - vot2017
7 - vot2018
8 - votlt2018
9 - vottir2015
10 - vottir2016
Selection: 5
Input an unique identifier for your tracker: attentionMDNet
Is your tracker written in any of the following languages?
1 - "Matlab"
2 - "Python"
3 - "C/C++"
4 - "Octave"
5 - "None of the above"
Selected option: 1
Verifying native components ...
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。
使用 'Microsoft Visual C++ 2013 Professional' 编译。
MEX 已成功完成。

***************************************************************************

The VOT workspace has been configured
Please edit the tracker_attentionMDNet.m file to configure your tracker.
Then run run_test.m script to make sure that the tracker is working.
To run the experiments execute the run_experiments.m script.

***************************************************************************

【注意】在这个过程中,有可能遇到 trax 的错误:

Downloading TraX source from: https://github.com/votchallenge/trax/archive/master.zip

Please wait ... Unable to unpack TraX source code.

这个时候,我们可以手工下载解压这个软件,放到下图这个路径下:

要么就是你当前的 gcc 版本不匹配导致的,出现如下所示的错误,建议你将 gcc 换成 gcc-4.8 版本,然后重新编译就可以了。怎么换?建议看看这个博文:https://www.cnblogs.com/wangxiaocvpr/p/5385961.html

>> run_experiments
Initializing workspace ...
Checking for toolkit updates on GitHub.
Verifying native components ...
Loading sequences ...
Testing TraX protocol support for tracker run_vot.
Tracker execution interrupted: Invalid MEX-file '/home/vot-toolkit/native/traxclient.mexa64': /usr/local/MATLAB/R2017a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/vot-toolkit/native/traxclient.mexa64).
TraX support not detected.
Error using tracker_load (line 128
)
Tracker has not passed the TraX support test.
Error in run_experiments (line 8)
tracker = tracker_load('run_vot');

这个步骤执行完毕后,会生成几个文件,如下所示:

3. 打开 tracker_attentionMDNet.m,我们可以看到默认的代码如下:

change the code into the following style:

step-1. command the second line;

step-2. change the line 17 according to your own tracker and path. and do not forget to add a '/' at the end of the file path.

4. open the run_experiments.m  and run this script. It will begin to download the VOT-2016 dataset, just hold on ...

>> run_experiments
Initializing workspace ...
Checking for toolkit updates on GitHub.
Verifying native components ...
Loading sequences ...
Downloading sequence dataset "VOT2016 Challenge" with 60 sequences.
Downloading sequence "bag" ...
Downloading sequence "ball1" ...
...

when the dataset is downloaded, it shown me the following errors:

Testing TraX protocol support for tracker attentionMDNet.
Tracker execution interrupted: Unable to establish connection.
TraX support not detected.
Error using tracker_load (line 127)
Tracker has not passed the TraX support test.

Error in run_experiments (line 8)
tracker = tracker_load('attentionMDNet');

according to this blog:  https://blog.csdn.net/HUSTbest_/article/details/80248610

==>>> Ok, now let's compile this tracker first and check if it can success? yes, it indeed successfully run.

跑别人的算法成功了,但是自己的算法,还是不行啊。为什么呢?我们再仔细看下这个成功运行的 tracker,这个文件夹里面有一个 vot.m 函数,但是我们自己的跟踪算法文件夹中,却没有这个!god, damn it!

OK,知道是怎么回事了,就可以拷贝一份到我们自己的算法文件夹中就行了。执行后,发现可以正常进行 Trax 的通信了。

但是,这只是其中的一个步骤,我们必须得修改我们的代码,以使得满足 VOT 评测的格式以及运行方式。来,深呼吸,一步一步来:

reference bloghttps://blog.csdn.net/aiqiu_gogogo/article/details/79454997

But we still find following errors when rewrite the code according to the reference tracker: 

>> run_experiments
Initializing workspace ...
Verifying native components ...
WARNING: No configuration for tracker VOT_mdnet found
93 context = iterate(experiments, trackers, sequences, 'iterator', iterator, 'context', context);
Experiment baseline
Tracker VOT_mdnet
Sequence bag
Repetition 1
Tracker execution interrupted: First argument must be a string
Error using traxclient
First argument must be a string

Error in tracker_run (line 78)
data = traxclient(tracker.command, callback, ...

Error in experiment_supervised (line 71)
data = tracker_run(tracker, @callback, data);

Error in tracker_evaluate (line 57)
[files, metadata] = experiment_function(tracker, sequence, directory, parameters, scan);

Error in workspace_evaluate>execute_iterator (line 128)
tracker_evaluate(event.tracker, event.sequence, event.experiment);

Error in iterate (line 69)
context = iterator(event, context);

Error in workspace_evaluate (line 93)
context = iterate(experiments, trackers, sequences, 'iterator', iterator, 'context', context);

Error in run_experiments (line 10)
workspace_evaluate(tracker, sequences, experiments);

==>>  How to solve ???  This maybe caused by your own code. you need to re-write the code and make it compactable with VOT evaluation tools.

When evaluation, you just run the run_analysis.m:

% This script can be used to perform a comparative analyis of the experiments in the same manner as for the VOT challenge
% You can copy and modify it to create a different analyis
addpath('/media/wangxiao/49cd8079-e619-4e4b-89b1-15c86afb5102/aaai_2019/aaai2019_attentionTracking/vot-toolkit'); toolkit_path; % Make sure that VOT toolkit is in the path
[sequences, experiments] = workspace_load();
% error('Analysis not configured! Please edit run_analysis.m file.'); % Remove this line after proper configuration
trackers = tracker_list('run_vot_V2'); % TODO: add more trackers here
workspace_analyze(trackers, sequences, experiments, 'report_AAAI2019_pyMDNet_AttentionV2', 'Title', 'Report for vot2016');

Then you can find the generated evaluation report as shown in above figures.

VOT-2016 代码评测工具的使用说明的更多相关文章

  1. Python实现代码统计工具——终极加速篇

    Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...

  2. Java8 Stream性能如何及评测工具推荐

    作为技术人员,学习新知识是基本功课.有些知识是不得不学,有些知识是学了之后如虎添翼,Java8的Stream就是兼具两者的知识.不学看不懂,学了写起代码来如虎添翼. 在上篇<Java8 Stre ...

  3. C和指针 第十八章 性能评测工具gprof

    linux平台下的gprof评测工具可以对程序进行分析,需要在编译时加上-pg选项,如上一章的二叉树代码: gcc -pg main.c ArrayBinaryTree.h ArrayBinaryTr ...

  4. RubyCritic:一款不错的检测代码质量工具

    关注代码质量是高效开发必须要做的一件事,那么在 Ruby 开发的过程中,是否有什么好的代码质量检测工具呢?下面由 Ruby 工程师路英瑞介绍一下 RubyCritic--一款还不错的代码质量检测工具. ...

  5. TCP协议的性能评测工具 — Tcpdive开源啦

    Github地址:https://github.com/fastos/tcpdive 为什么要开发Tcpdive 在过去的几年里,随着移动互联网的飞速发展,整个基础网络已经发生了翻天覆地的变化. 用户 ...

  6. 好代码是管出来的——.Net中的代码规范工具及使用

    上一篇文章介绍了编码标准中一些常用的工具,本篇就具体来介绍如何使用它们来完成代码管理. 本文主要内容有: Roslyn简介 开发基于Roslyn的代码分析器 常用的基于Roslyn的代码分析器 在.N ...

  7. Python实现C代码统计工具(三)

    目录 Python实现C代码统计工具(三) 声明 一. 性能分析 1.1 分析单条语句 1.2 分析代码片段 1.3 分析整个模块 二. 制作exe Python实现C代码统计工具(三) 标签: Py ...

  8. Net中的代码规范工具及使用

    Net中的代码规范工具及使用 https://www.cnblogs.com/selimsong/p/9209254.html 上一篇文章介绍了编码标准中一些常用的工具,本篇就具体来介绍如何使用它们来 ...

  9. SonarQube代码评审工具简介

    SonarQube是一个代码评审工具,可以完成对多种类型代码的扫描,并生成报告.本文是一个简单的扫描Java代码的使用说明. 该工具主要分为两个部分: 服务端:用来保存和展示扫描结果. 客户端:或者说 ...

随机推荐

  1. IDEA远程连接和上传文件到服务器

    公司电脑是win,所以远程控制服务器就不能用之前自己笔记本ubuntu自带的终端了. 后来在万能的群友的提醒下,IDEA本身就自带了远程功能,摸索了一下,使用IDEA连接服务器并且可以上传文件了. 这 ...

  2. SELinux 权限设置

    SELinux 权限设置 一.SELinux简介 SELinux全称是Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开发的GP ...

  3. Minio对象存储

    目录 Minio对象存储 1.概述 2.功能特性 3.2.多节点 3.3.分布式 4.分布式minio集群搭建 4.1.集群规划 4.3.编写集群启动脚本(所有节点) 4.4.编写服务脚本(所有节点) ...

  4. Vue中mapMutations映射方法的问题

    今天又被自己给蠢到,找了半天没发现问题.大家看下代码. mutation-types.js 里我新增了一个类型.INIT_CURRENTORDER export const GET_USERINFO ...

  5. test20190729 夏令营NOIP训练14

    40+100+0=140. 基因光线 黑大帅统治古古怪界后,一直在玩一种很奇葩的游戏.在一个二维平面上,他先复制了n个小A,把他们放在不同的位置,然后射出一条ax+by+c=0的基因光线,宽度为d,即 ...

  6. CH6301 疫情控制

    6301 疫情控制 0x60「图论」例题 描述 H国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1号城市是首都,也是树中的根节点. H国的首都爆发了一种危害性极高的传染病. ...

  7. python - django (request 获取 访问者的 IP)

    使用 Django 获取访问者的 IP if request.META.get('HTTP_X_FORWARDED_FOR'): ip = request.META.get("HTTP_X_ ...

  8. 什么是ARP协议?

    ARP协议,全称“Address Resolution Protocol”,中文名是地址解析协议, 使用ARP协议可实现通过IP地址获得对应主机的物理地址(MAC地址). 在TCP/IP的网络环境下, ...

  9. python模块之psutil

    一.模块安装 1.简介 psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息. ...

  10. 一个简单的setTimeout的问题

    经常使用 setTimeout,并且自己认为也算比较熟悉这个函数的用法. 不过今天碰到了,突然发现自己没有意识到这个问题.于是作为一个记录点,进行巩固一下. var timer = window.se ...