Visual Tracker Benchmark
直接的方法:
首先将代码先拷到benchmark_v1.0/tackers/这个文件夹下,你会发现里面已有好几个算法的代码文件夹了。
这边注意了,我就是这样的,没有注意把代码拷贝进去之后要自己写一个调用函数,benchmark在运行的时候调用我们的算法的函数,就是每个tracker文件夹当中的run_trackers名字,这个一定要有,格式也很简单,参照其他的算法应该很容易就能写出来了。
第二步是:到benchmark_v1.0/util/configTrackers.m这个函数中,在trackers1这个结构体中添加上你的代码的名字,比如:struct(‘name’,’KCF’,’namePaper’,’KCF’),…。
第三步是:运行main_running.m函数。
这个过程当中你可能会遇到一些问题:第一个会是路径的问题,这个需要你更改的路径有configTrackers.m和configSeqs.m里面的路径,对应修改就可以了。还有一点就是在修改configTrackers.m的时候,你可能添加一个自己的tracker到已知的结构体当中会遇到运行main_running函数时出现错误,这个时候尝试单独把自己的tracker作为一个结构体,把其他的算法都注释掉,只剩下自己的tracker然后试试,因为这个时候其他的tracker结果都已经保存下来了,只需要自己的tracker的结果出来就好了。
比较笨的方法就是:当我需要验证自己的结果的时候,我只需要将自己算法的结果保存成作者放在results文件夹中的mat数据的样子。
下面具体讲讲:
打开文件夹会发现很多子文件夹和四个主要的函数;依次是drawResultBB.m, genPerfMat.m , main_running.m 和perfPlot.m 函数。
对于mainrunning函数是主函数,这个函数的作用是能够将视频分割成20段,以验证TRE。同时,能够对第一帧的ground_truth进行一定的变换(一共12种),从而验证SRE。最后可以在这个里面将自己的代码加进去,从而能够按照特定的形式保存好tracking的results,简而言之就是能够实现所有的效果。
而想画各种tracker算法在图像上的效果(bounding boxes),可以调用drawResultBB.m函数,就可以实现:drawing bounding boxes (BBs) of different trackers on each frame
如果想画各种精度曲线的话,就可以调用perfPlot函数,这个函数调用genPerMat函数得到需要的精度数据以及错误率(DP,OP),然后放到perfMat\overall\文件中,画出来的图保存在figs\overall\文件夹下。
同时作者画出了29个tracker方法中10个方法的结果,采用的是rankNum=10这个参数来设置的,从中选取前10个结果最好的。rankingtype采用的是AUC的方法。
另外需要注意的参数是evalTypeSet = {'OPE'};%{'SRE', 'TRE', 'OPE'};
还是和drawResultBB一样,genPerfMat在生成数据的时候访问的是results/文件夹,所以我们需要将结果保存成标准的格式并且放到对应的文件夹中。
然后讲各个文件夹的作用:anno文件夹放的是51个测试视频的ground_truth。figs用来存放上面说的drawResultBB.m画出来的图片。initOmit是每一个视频不能够用来初始化的帧,这些帧一般都是target比较模糊。perfMat用来存放genPerMat的结果。results存放的是作者已经跑好的不同数据集上不同算法的结果。rstEval存放的是一些评价函数。tmp存放临时变量,trackers存放这个各种tracking算法的源码或者exe文件。util中的函数最有用,也是最可能需要修改的。比如configSeqs.m和configTrackers.m函数。
对于util文件夹我们需要衡量那些个数据集就去函数configSeqs中取修改参数,如果要比较那些算法就去config
Visual Tracker Benchmark的更多相关文章
- [Object Tracking] Overview of algorithms for Object Tracking
From: https://www.zhihu.com/question/26493945 可以载入史册的知乎贴 目标跟踪之NIUBILITY的相关滤波 - 专注于分享目标跟踪中非常高效快速的相关滤波 ...
- Matlab Script to pre-process UAV123 tracking dataset
Matlab Script to pre-process UAV123 tracking dataset 2019-11-08 09:43:11 Official project page: http ...
- Datasets for Data Mining and Data Science
https://github.com/mattbane/RecommenderSystem http://grouplens.org/datasets/movielens/ KDDCUP-2012官网 ...
- visual studio 2017 编译v140 TRACKER : error TRK0005: Failed to locate: "CL.exe". 系统找不到指定的文件
原因可能是vs2017中配置v140 的编译命令路径有问题 解决方案: 用vs2017的在线安装程序,选择修改 进去后选择单个组建,在编译器.生成工具和运行时里面把vc++2015.3…… 打钩的取消 ...
- Correlation Filter in Visual Tracking系列一:Visual Object Tracking using Adaptive Correlation Filters 论文笔记
Visual Object Tracking using Adaptive Correlation Filters 一文发表于2010的CVPR上,是笔者所知的第一篇将correlation filt ...
- Summary on Visual Tracking: Paper List, Benchmarks and Top Groups
Summary on Visual Tracking: Paper List, Benchmarks and Top Groups 2018-07-26 10:32:15 This blog is c ...
- 关于视觉跟踪中评价标准的相关记录(The Evaluation of Visual Tracking Results on OTB-100 Dataset)
关于视觉跟踪中评价标准的相关记录(The Evaluation of Visual Tracking Results on OTB-100 Dataset) 2018-01-22 21:49:17 ...
- Resources in Visual Tracking
这个应该是目前最全的Tracking相关的文章了 一.Surveyand benchmark: 1. PAMI2014:VisualTracking_ An Experimental Sur ...
- 论文笔记:目标追踪-CVPR2014-Adaptive Color Attributes for Real-time Visual Tracking
基于自适应颜色属性的目标追踪 Adaptive Color Attributes for Real-Time Visual Tracking 基于自适应颜色属性的实时视觉追踪 3月讲的第一篇论文,个人 ...
随机推荐
- Django1.9开发博客(10)- 全文搜索
Django本身不提供全文检索的功能,但django-haystack为其提供了全文检索的框架. django-haystack能为Django提供whoosh,solr,Xapian和Elastic ...
- jquery异步加载json格式的数据
1.直接使用$.getJSON()方法是加载不了与静态界面同级别的本地的json后缀的文件. 2.解决办法:将json后缀的文件改为js后缀,这样就相当于加载了一个js文件. 解决办法:用$.getS ...
- 转-Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案
前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说 ...
- js实现继承
js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式1.使用对象冒充实现继承(该种实现 ...
- 介绍开源的.net通信框架NetworkComms框架之九 合并DLL
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- iOS开发Swift篇—(八)函数(2)
iOS开发Swift篇—(八)函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 func sum(num1: Int ...
- The storage wars: Shadow Paging, Log Structured Merge and Write Ahead Logging
The storage wars: Shadow Paging, Log Structured Merge and Write Ahead Logging previous: Seek, and yo ...
- WCF 断点不会命中
VS的调试模式改为Debug 工具—选项—调试—常规中的‘要求源文件和原始版本完全匹配’的勾去掉
- 5、Linux下面桌面的安装
搭建本地yum仓库的方法 http://www.cnblogs.com/lql123/p/5952788.html 1.yum grouplist (列出yum仓库里的软件组列表) .y ...
- 利用Arduino快速制作Teensy BadUSB
0×00 介绍 本文想以较简单的方式,叙述Arduino版BadUSB的制作过程.我知道在这之前已经有很多前辈都写过相关的文章,但小白可能还有点迷糊,所以这篇文章是快速带大家入门了解,我也是菜B大神不 ...