目标跟踪 benchmark用法 添加、测试自己的代码

在目标跟踪领域,visual tracker benchmark给不同的算法提供一个基准,这个基准从2013年提出,基本上目标跟踪的论文中都用到了这个基准。

2013年论文链接:
Online Object Tracking: A Benchmark (CVPR 2013)
http://faculty.ucmerced.edu/mhyang/papers/cvpr13_benchmark.pdf

2015年论文链接。
Object Tracking Benchmark。
http://faculty.ucmerced.edu/mhyang/papers/pami16_object_tracking_benchmark.pdf

官方链接:
http://cvlab.hanyang.ac.kr/tracker_benchmark/

新版的OTB补充了50个video,加上过去的50个组成了100个video。
下载Benchmark V1.0,在result里面可以看到已经存在了关于各种tracker在不同数据集上的结果了。

添加、测试自己的代码

(假设自己编写的目标跟踪代码为KCF1)
1.首先将代码先拷到tackers/这个文件夹下,你会发现里面已有好多算法的代码文件夹了;
2. 打开/util/configTrackers.m这个函数,在trackers1这个结构体中添加上你的代码的名字,比如:
struct(‘name’,’KCF1’,’namePaper’,’KCF1’);
3. 修改自己的代码使其满足格式要求。
将自己的代码名字改为run_xxx.m格式,例如run_KCF1.m 。

代码开头必须是以下格式:

function results=run_KCF1(seq, res_path, bSaveImage)

Seq代表着输入的图片。

中间部分是自己目标跟踪的程序。

代码结尾格式:

results.type = 'rect';
results.res = rect_position;
results.fps = fps;

rect_position代表目标框左上角坐标。

4.运行main_running.m函数
将evalType分别改为’SRE’和’TRE’,运行main_running.m函数,
得到的结果是在文件夹results中的results_SRE_CVPR13和results_TRE_CVPR13。TRE结果的第一项其实就是OPE。

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python 的 `time` 模块提供了一个 `timeit` 函数,可以用于测试代码的性能。 `timeit` 函数接受三个参数: - `stmt`:要测试代码块,可以是一个字符串形式的语句,也可以是一个函数对象。 - `setup`:运行测试代码前需要执行的代码块,可以是一个字符串形式的语句,也可以是一个函数对象。 - `timer`:计时器函数,用于计算代码执行时间,默认为系统计时器。 基本的 benchmark 测试框架可以设计如下: ```python import timeit def benchmark(stmt, setup='pass', timer=timeit.default_timer): """ 测试代码执行时间的函数 :param stmt: 要测试代码块,可以是一个字符串形式的语句,也可以是一个函数对象 :param setup: 运行测试代码前需要执行的代码块,可以是一个字符串形式的语句,也可以是一个函数对象 :param timer: 计时器函数,用于计算代码执行时间,默认为系统计时器 :return: 测试结果,返回一个元组,包括执行时间和执行结果 """ t0 = timer() result = eval(stmt, globals(), locals()) t1 = timer() return t1 - t0, result ``` 使用这个 `benchmark` 函数可以测试单个代码块的执行时间,例如: ```python import numpy as np stmt = 'np.random.rand(1000)' setup = 'import numpy as np' result = benchmark(stmt, setup) print(result) ``` 输出结果类似: ``` (6.959999999997114e-05, array([0.56775618, 0.82598723, 0.33654756, ..., 0.18083606, 0.56682199, 0.33647645])) ``` 其第一个元素为代码执行时间,第二个元素为代码执行结果。您可以根据需要进行扩展,例如批量测试一组代码块的执行时间,或者进行多次测试取平均值等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值