VOT-2016 代码评测工具的使用说明
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 blog: https://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 代码评测工具的使用说明的更多相关文章
- Python实现代码统计工具——终极加速篇
Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...
- Java8 Stream性能如何及评测工具推荐
作为技术人员,学习新知识是基本功课.有些知识是不得不学,有些知识是学了之后如虎添翼,Java8的Stream就是兼具两者的知识.不学看不懂,学了写起代码来如虎添翼. 在上篇<Java8 Stre ...
- C和指针 第十八章 性能评测工具gprof
linux平台下的gprof评测工具可以对程序进行分析,需要在编译时加上-pg选项,如上一章的二叉树代码: gcc -pg main.c ArrayBinaryTree.h ArrayBinaryTr ...
- RubyCritic:一款不错的检测代码质量工具
关注代码质量是高效开发必须要做的一件事,那么在 Ruby 开发的过程中,是否有什么好的代码质量检测工具呢?下面由 Ruby 工程师路英瑞介绍一下 RubyCritic--一款还不错的代码质量检测工具. ...
- TCP协议的性能评测工具 — Tcpdive开源啦
Github地址:https://github.com/fastos/tcpdive 为什么要开发Tcpdive 在过去的几年里,随着移动互联网的飞速发展,整个基础网络已经发生了翻天覆地的变化. 用户 ...
- 好代码是管出来的——.Net中的代码规范工具及使用
上一篇文章介绍了编码标准中一些常用的工具,本篇就具体来介绍如何使用它们来完成代码管理. 本文主要内容有: Roslyn简介 开发基于Roslyn的代码分析器 常用的基于Roslyn的代码分析器 在.N ...
- Python实现C代码统计工具(三)
目录 Python实现C代码统计工具(三) 声明 一. 性能分析 1.1 分析单条语句 1.2 分析代码片段 1.3 分析整个模块 二. 制作exe Python实现C代码统计工具(三) 标签: Py ...
- Net中的代码规范工具及使用
Net中的代码规范工具及使用 https://www.cnblogs.com/selimsong/p/9209254.html 上一篇文章介绍了编码标准中一些常用的工具,本篇就具体来介绍如何使用它们来 ...
- SonarQube代码评审工具简介
SonarQube是一个代码评审工具,可以完成对多种类型代码的扫描,并生成报告.本文是一个简单的扫描Java代码的使用说明. 该工具主要分为两个部分: 服务端:用来保存和展示扫描结果. 客户端:或者说 ...
随机推荐
- SpringMVC框架笔记02_参数绑定返回值文件上传异常处理器JSON数据交互_拦截器
目录 第1章 高级参数的绑定 1.1 参数的分类 1.2 数组类型的参数的绑定 1.3 集合类型的参数的绑定 第2章 @RequestMapping的用法 2.1 URL路径映射 2.2 请求方法限定 ...
- 爬虫之cookie与代理
一, 基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达 ...
- python面试总结4(算法与内置数据结构)
算法与内置数据结构 常用算法和数据结构 sorted dict/list/set/tuple 分析时间/空间复杂度 实现常见数据结构和算法 数据结构/算法 语言内置 内置库 线性结构 list(列表) ...
- 【转】spring 自定义注解(annotation)与 aop获取注解
首先我们先介绍Java自定义注解. 在开发过程中,我们实现接口的时候,会出现@Override,有时还会提示写@SuppressWarnings.其实这个就是Java特有的特性,注解. 注解就是某种注 ...
- Django之路——3 Django的路由层
django不得不说是个很强大的框架,当前端给了我们一堆网页的时候,我们在考虑怎么去让这些页面与调用视图的函数配对的时候,而django则给我们提供了强大路由分发功能,让我们不在花时间浪费在这些事情上 ...
- DT二次开发之-采购页面加入好看的倒计时
加入采购页面倒计时,个人感觉挺漂亮的,做下笔记. <span id="timer" ></span> {if $totime} <script typ ...
- 区别和认识.net四个判等方法
概要 本方介绍.net如何判断两个对象是否相等 .Net有四个判等函数 1)Object.ReferenceEquals 2)Object.Equals 3)对象实例的Equals 4)==操作符 这 ...
- Java设计模式的6大原则
Java设计模式的6大原则 1.开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭.在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果.简单来 ...
- python - 栈与队列(只有代码)
1. 栈: - 后进先出 class Stack(object): def __init__(self): self.stack = [] def peek(self): return self.st ...
- react 面试指南
------------恢复内容开始------------ 什么是声明式编程 声明式编程是一种编程范式,它关注的是你要做什么,而不是如何做.它表达逻辑而不显式地定义步骤.这意味着我们需要根据逻辑的计 ...