目标跟踪tracker_benchmark_v1.0的配置

tracker_benchmark_v1.0的配置


不使用tracker_benchmark_v1.0工具自己保存OTB数据集格式结果参考:OTB数据集和VOT数据集融合跟踪算法接口示例_博博有个大大大的Dream-CSDN博客_otb数据集


目录

一、代码及依赖库下载

二、运行测试代码

三、画Precision和Success曲线

四、画跟踪效果图

至此,所有步骤全部配置完,配置的好的版本百度云下载地址如下 :


一、代码及依赖库下载

1、下载Object Tracking Benchmark工具:tracker_benchmark_v1.0.zip

下载地址:Visual Tracker Benchmark

2、下载OTB100数据集:

建议使用百度云下载: 目标跟踪数据集OTB、VOT下载_博博有个大大大的Dream-CSDN博客_otb50数据集

注:tracker_benchmark_v1.0初始用的是虽然是OTB50的数据集,但是程序中拓展了一些OTB100的图像序列,所以,我们下载数据集时,应该用OTB100的数据集,否则会有一些图像序列无法找到。

3、下载vlfeat工具包

下载地址:VLFeat - Home

二、运行测试代码

4、打开main_running.m,更改vlfeat工具包所在路径,将20行改为 evalType='OPE'; %'OPE','SRE','TRE'(我们只测试OPE)

4、打开util目录下的configSeqs.m,更改读取图像序列路径(数据集下载地址:目标跟踪数据集OTB、VOT下载_博博有个大大大的Dream-CSDN博客_otb50数据集

数据集所在路径可以通过“Ctrl+F”选择替换,但是更深一层路径img\需要一个一个地添加,工作量大。提供百度云下载地址,直接使用即可:链接:https://pan.baidu.com/s/1ZFW1fffaDcUq9lkhfyk8Lw  提取码:kb72

5、打开util目录下的configTrackers.m,更改测试目标跟踪算法(此处用ICCV2017跟踪算法BACF为例)

 6、在trackers路径下新建BACF文件夹,并且将算法代码放入文件夹中(BACF代码下载和配置地址:ICCV2017跟踪算法BACF的配置(Learning Background-Aware Correlation Filters for Visual Tracking)_博博有个大大大的Dream-CSDN博客

7、打开run_BACF.m

(1)更改31行为:

params.learning_rate       = 0.013;        % learning rate

(2)更改46-48行为:

params.no_fram = numel(params.s_frames);
%params.seq_st_frame = seq.st_frame;
%params.seq_en_frame = seq.en_frame;

8、简单说明

(1) 当我们在configTrackers.m中配置算法名称为BACF时,主程序会跳转到trackers\BACF\run_BACF.m来执行我们的跟踪代码。举一反三,如果我们的算法名称为XXX,主程序则会跳转到trackers\XXX\run_XXX.m来执行我们的跟踪代码。

(2)跟踪代码run_XXX.m参考以下格式:

function results=run_XXX(seq, video_path, bSaveImage)

%获取图像序列
s_frames = seq.s_frames;

%存放每一帧目标框的位置
rect_position = zeros(numel(s_frames), 4);

%循环处理每一帧图像
for frame = 1:numel(s_frames),
	%load image
	im = imread(s_frames{frame});
	if size(im,3) > 1,
		im = rgb2gray(im);
	end
    %你的跟踪代码

end

%返回的跟踪结果
results.type = 'rect';
results.res = rect_position;%each row is a rectangle
results.fps = fps;

9、运行main_running.m,最终结果保存在results\results_OPE_CVPR13目录下

注: 如果不想显示实时跟踪效果,加快运算速度,可以更改run_BACF.m的56行为params.visualization = 0;

三、画Precision和Success曲线

10、将results\results_OPE_CVPR13中生成跟踪结果mat文件拷贝到results\results_SRE_CVPR13和results\results_TRE_CVPR13文件夹中

11、打开perfPlot.m

(1)更改103行为:

evalTypeSet = 'OPE';

注:不要加中括号写成evalTypeSet = {'OPE'},否则会报错。

(2)更改105行为:

rankingType = 'threshold';%AUC, threshod

注:不要直接复制105行后面的threshod,因为作者粗心写错了,中间少了一个“l”。

(3)更改140行为:

for j=1:1

(4)更改142行为:

evalType = evalTypeSet;%SRE, TRE, OPE

12、运行perfPlot.m,得到12张Precision和12张Success图,结果保存在tracker_benchmark_v1.0\figs\overall目录中

注:如果更新算法得到新的跟踪结果mat文件,在plot之前,请务必先删除 tracker_benchmark_v1.0\perfMat\overall目录下的所有.mat文件,否则数据将不会更新。

 13、多个算法对比

更改util\configTrackers.m为:

function trackers=configTrackers
trackersNew={
    struct('name','SMS','namePaper','SMS'),...
    struct('name','CT','namePaper','CT'),...
    struct('name','TLD','namePaper','TLD'),...
    struct('name','CSK','namePaper','CSK'),...
    struct('name','BACF','namePaper','BACF')};
trackers = trackersNew;

运行perfPlot.m

四、画跟踪效果图

14、运行drawResultBB.m,跟踪结果保存在tracker_benchmark_v1.0\tmp\imgs目录中

15、更改 util\configTrackers.m可以添加对比算法,更改util\configSeqs.m可以控制需要画图的图像序列

16、去除保存边框

原始代码保存的图像如下,存在厚厚的边框,不助于论文排版

更改drawResultBB.m的116行为:

q=get(gca,'position');
q(1)=0;%设置左边距离值为零
q(2)=0;%设置右边距离值为零
set(gca,'position',q);
[m,n,flag]=size(img);
imwrite(frame2im(getframe(gcf,[0,0,n,m])), [pathSave  num2str(i) '.png']);
%imwrite(frame2im(getframe(gcf)), [pathSave  num2str(i) '.png']);

再次运行drawResultBB.m,得到保存图像

至此,所有步骤全部配置完,配置的好的版本百度云下载地址如下 :

链接:https://pan.baidu.com/s/1eCFfoUtlSGM98YJlwpFT3w 
提取码:xexv(注:为了减小文件大小,里面不包含BACF及所有对比算法的结果)

  • 27
    点赞
  • 138
    收藏
    觉得还不错? 一键收藏
  • 84
    评论
评论 84
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值