vot-toolkit-python的使用

  • 前言
  • 下载和安装
    • 备用方案
  • 测试官方的样例tracker
    • initialize
      • 初始化文件夹和下载数据集
      • 修改trackers.ini文件
    • test
    • evaluate
    • analysis
  • 参考

前言

可能VOT官方心里是这么想的:你们这群连工具都配不好的菜鸡,不配使用我们的数据集。就你们这个技术,更不必参与比赛。

这个数据集的Python版教程,一个是写的过于简略,一个没有及时更新,一些东西已经不对应了。不过人家最开始的Matlab教程写的还挺好,但现在Python兴起,用Matlab研究跟踪的人越来越少了。

下面内容,没必要指出和官方的区别在哪。我直接写一份正确的教程。标红的地方,都是我踩过的坑。

下载和安装

假设你的电脑可以翻墙或者现在恰好可以畅通无阻的访问Github,那我推荐你直接执行以下命令,确实是下载安装一条龙服务

pip install git+https://github.com/votchallenge/vot-toolkit-python

备用方案

那要这台电脑连不到Github呢?
也就是如何离线安装。达到和pip install git+url同样的效果,需要分三步:

  1. 想办法下载官方工具包,拷贝到当前电脑(服务器)上
    Download Zip或者

    git clone https://github.com/votchallenge/toolkit.git
    
  2. 安装所需环境
    进入文件夹目录下(文件夹我重命名为“vot_toolkit”)

    cd vot_toolkit
    pip install -r requirements.txt
    
  3. 安装这个库
    python setup.py install
    

附:如果你以这种方式,可以查看./build/lib/vot/utilities/cli.py下面的输入参数的含义。 这是vot-toolkit定义输入参数的地方。

为了方便,我粘贴出来放在这

    parser = argparse.ArgumentParser(description='VOT Toolkit Command Line Utility', prog="vot")parser.add_argument("--debug", "-d", default=False, help="Backup backend", required=False, action='store_true')parser.add_argument("--registry", default=".", help='Tracker registry paths', required=False, action=EnvDefault, \separator=os.path.pathsep, envvar='VOT_REGISTRY')subparsers = parser.add_subparsers(help='commands', dest='action', title="Commands")test_parser = subparsers.add_parser('test', help='Test a tracker integration on a synthetic sequence')test_parser.add_argument("tracker", help='Tracker identifier', nargs="?")test_parser.add_argument("--visualize", "-g", default=False, required=False, help='Visualize results of the test session', action='store_true')test_parser.add_argument("--sequence", "-s", required=False, help='Path to sequence to use instead of dummy')workspace_parser = subparsers.add_parser('initialize', help='Setup a new workspace and download data')workspace_parser.add_argument("--workspace", default=os.getcwd(), help='Workspace path')workspace_parser.add_argument("--nodownload", default=False, required=False, help="Do not download dataset if specified in stack", action='store_true')workspace_parser.add_argument("stack", nargs="?", help='Experiment stack')evaluate_parser = subparsers.add_parser('evaluate', help='Evaluate one or more trackers in a given workspace')evaluate_parser.add_argument("trackers", nargs='+', default=None, help='Tracker identifiers')evaluate_parser.add_argument("--force", "-f", default=False, help="Force rerun of the entire evaluation", required=False, action='store_true')evaluate_parser.add_argument("--persist", "-p", default=False, help="Persist execution even in case of an error", required=False, action='store_true')evaluate_parser.add_argument("--workspace", default=os.getcwd(), help='Workspace path')analysis_parser = subparsers.add_parser('analysis', help='Run analysis of results')analysis_parser.add_argument("trackers", nargs='*', help='Tracker identifiers')analysis_parser.add_argument("--workspace", default=os.getcwd(), help='Workspace path')analysis_parser.add_argument("--format", choices=("html", "latex", "pdf", "json", "yaml"), default="html", help='Analysis output format')analysis_parser.add_argument("--name", required=False, help='Analysis output name')analysis_parser.add_argument("--workers", default=1, required=False, help='Number of parallel workers', type=int)analysis_parser.add_argument("--nocache", default=False, required=False, help="Do not cache data to disk", action='store_true')pack_parser = subparsers.add_parser('pack', help='Package results for submission')pack_parser.add_argument("--workspace", default=os.getcwd(), help='Workspace path')pack_parser.add_argument("tracker", help='Tracker identifier')

测试官方的样例tracker

分为四步,主要难在initialize:

initialize

初始化环境,并进行配置,以vot2016为例

初始化文件夹和下载数据集

  1. 任意地方新建一个空文件夹,比如名为vot-test,进入

    cd vot-test
    vot initialize vot2016
    

    此时或自动初始化该文件夹并下载数据集。文件结构为

    sequences文件夹下就是对应的vot2016视频序列,每个视频对应一个文件夹

    因此每个initialize只能对应一个数据集。

  2. 如果之前已经下载好了数据集,在初始化文件夹时执行以下命令,不再重复下载数据集。

    cd vot-test
    vot initialize vot2016 --nodownload
    

    按照上文sequences的文件夹格式重命名数据集。
    注意大小写,VOT2016和vot2016不同

修改trackers.ini文件

相当于告诉vot关于tracker的信息

  1. 下载官方样例,我们只用python文件夹下面的python_ncc.pyvot.py

    需要把vot.py重命名,否则和已安装的vot工具包冲突

    比如重命名为vot_py.py
    同时把python_ncc.py中的import vot改为import vot_py as vot

  2. 配置trackers.init
    严格按照以下格式写

    [pytest]
    label = pytest
    protocol = traxpython
    command = python_ncc.py
    paths = /media/HardDisk_new/wh/others/pysot-master/vot-test/
    env_PATH = /home/wh/anaconda3/envs/others/bin/python;${PATH}
    

    千万不要在每行后加注释,会报错。command后面不要加‘.py’,在文件结构复杂情况下会报错。

test

执行

vot test pytest

会看到以下信息(结尾部分),恭喜你测试成功!

Updating on frame 49/49
@@TRAX:frame "file:///tmp/vot_dummy_50_640_480/color/00000050.jpg"
@@TRAX:state "395.0000,167.0000,100.0000,113.0000" "confidence=0.9970868825912476"
Stopping tracker
@@TRAX:quit
Test concluded successfuly

如果只能测一轮,并看到

Error during tracker execution: Server terminated the session

在trackers.ini中添加下面一行,即可解决
restart = true

evaluate

一般来说测试成功后,vot-toolkit和代码的配置就没问题了。执行,在vot2016上进行评估

vot evaluate pytest

运行结束后会得到一个results的文件夹

analysis

vot analysis pytest --nocache

运行结束后会得到一个analysis的文件夹,包含刚运行的分析结果文件夹,找到report.html,即为结果。

参考

  1. vot-toolkit-python运行

[目标跟踪]vot-toolkit-python的使用相关推荐

  1. Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)

    本博客翻译搬运自https://www.learnopencv.com/object-tracking-using-opencv-cpp-python,用于初入目标跟踪的新手学习,转贴请注明! 使用O ...

  2. python opencv kcf_pybind11—目标跟踪demo(KCF,python version)

    前言 pybind11功能强大,将C++ 程序包装为python接口,对于不太熟悉C++的同学只需要调用python接口即可,方便实用.之前的一系列pybind11文章大多数是基础的用法,本人学习py ...

  3. ccot 目标跟踪全称_Siamese:CVPR 2019 接收论文作者为你解读视频跟踪领域 | CVPR 2019...

    雷锋网(公众号:雷锋网) AI 科技评论按,本文作者 Qiang Wang,原载于知乎,雷锋网获得授权转载. 今年的 CVPR 的结果已经完全公布,我参与的两篇文章 SiamMask 和SiamRPN ...

  4. 【CV】SiamFC:用于目标跟踪的全卷积孪生网络

    论文名称:Fully-Convolutional Siamese Networks for Object Tracking 论文下载:https://arxiv.org/abs/1605.07648 ...

  5. VOT Toolkit工具使用说明(Python版)

    VOT Toolkit工具使用说明(Python版) 一. 工具链接 vot-toolkit python版 github链: https://github.com/votchallenge/tool ...

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

    本文的视频讲解目标跟踪_OTB数据集和VOT数据集评估图的绘制 博主电脑配置: CPU:酷睿i9-9900kf, 显卡:RTX2070S, gcc版本:7.5.0, 以下实验在MATLAB2016b平 ...

  7. python目标跟踪精度曲线图_目标跟踪配置(三)-评价指标-benchmark(更新中,关注请收藏。。。)...

    目标跟踪基础与智能前沿 关注上方公众号,回复下方安装过程中对应关键字,获得对应安装包. 本文持续更新中- 连载可关注知乎专栏"目标跟踪基础与前沿" 文章目录 [ 目标跟踪基础与智能 ...

  8. 飞桨Tracking目标跟踪库开源!涵盖业界主流的VOT算法,精准检测动态目标轨迹...

    点击左上方蓝字关注我们 如何精准理解运动目标的行为呢?一起看看下面的视频,感受VOT技术的神奇吧! 从短视频中可以发现,视频中的目标是运动的,且不断变化.对于物体遮挡.形变.背景杂斑.尺度变换.快速运 ...

  9. 目标跟踪——OTB平台的Python版tracker使用

    注意:由于OTB不像VOT那样有Python代码接口,所以我是用Pysot测试平台实现OTB评测功能. 方法:先安装Pysot在系统上,Windows和Linux(Ubuntu发行版)都可以,我是用W ...

  10. 基于Python和OpenCV的目标跟踪学习教程 Object Tracking using Python and OpenCV

    实现12种不同的算法来跟踪视频和网络摄像头中的对象! 你会学到: 使用Python和OpenCV跟踪视频和网络摄像头中的对象 理解跟踪算法的基本直觉 实现12种跟踪算法 了解对象检测和对象跟踪之间的区 ...

最新文章

  1. 委托、lamda表达式..委托概念-匿名函数-泛型委托-Lamda表达式-多播委托
  2. 一文读懂JDK7,8,JD9的HashMap,HashTable,ConcurrentHashMap及他们的区别
  3. Codeforces Round #541 (Div. 2) C.Birthday
  4. 图像分类数据库_图像分类器-使用僧侣库对房屋房间类型进行分类
  5. 苹果怎么关闭系统自动更新_你经过我的同意了吗?论手机系统自动更新
  6. Spring----JmsTemplate
  7. tomcat上传文件,重新加载后删除以及在web.xml中配置全局路径
  8. 使用Maven导出war包
  9. to load JavaHL Library解决方法
  10. Python input()和raw_input()的区别
  11. iOS包重签名工具,ipa文件重签名,快速签名,SignTool签名工具,好用的签名工具,App重签名
  12. python画微信公众号首图
  13. 95%以上的日常办事启用电子签章,你都体验过哪些?
  14. Android Studio修改工程项目名称以及修改包名
  15. 三器六垢_本初行者劉暢友居士浅谈如何学佛(三)
  16. 配置七牛云cdn加速
  17. 2023面试官常考的前端面试题
  18. SPA、MPA 的优缺点
  19. html的选项卡切换,纯css选项卡切换
  20. 判断子序列(C语言)

热门文章

  1. 可视化绘图技巧100篇分析篇(二)-生存曲线(LM曲线)(补充篇)
  2. 出行即服务MaaS精华主题汇总(至2022年12月06日)
  3. 【§樱花小道xp电脑主题下载§美化】
  4. IT--上帝的诅咒!!!
  5. 联想电脑摄像头上小锁解决办法
  6. python 自动登录网站_Windows系统中Python实现每日定时自动登录签到
  7. 爬虫技术——抓取滴滴打车优惠券
  8. 深澜portal认证协议参数分析及模拟登陆的golang实现
  9. 京东显示服务器繁忙是黑号吗,测试京东账号 是否是黑号
  10. 工信部网站备案信息查询