BACF使用OTB工具
环境:win10+i7+matlab2021b
1、下载好代码,配置好相应的依赖
论文地址:https://arxiv.org/abs/1703.04590
作者提供的代码地址:http://www.hamedkiani.com/uploads/5/1/8/8/51882963/bacf_toupload.zip
似乎打不开了,本人上传了一份:忘记哪里下载的BACF算法
其他的配置过程就不写了(已经配好了,懒得动了,以后有机会再补充)
2、配置OTB
下载好OTB测试工具,然后把配置好的文件夹修改名字,改成BACF
,放到tracker_benchmark_v1.0\trackers
目录下。
进行如下改动:
- 修改文件
run_BACF.m
:
把文件run_BACF.m
修改名字成:run_BACF_tracker.m
修改函数接口如下:
function results = run_BACF_tracker(seq, video_path, lr, visualization)
修改如下代码内容:
%针对OTB测试工具进行修改
% params.no_fram = seq.en_frame - seq.st_frame + 1;
params.no_fram = seq.endFrame - seq.startFrame + 1;
params.seq_st_frame = seq.startFrame;
params.seq_en_frame = seq.endFrame;
% ADMM parameters, # of iteration, and lambda- mu and betha are set in
% the main function.
params.admm_iterations = 2;
params.admm_lambda = 0.01;
% Debug and visualization
params.visualization = visualization;
- 新建
run_BACF.m
文件,内容如下:
%函数用于设置基本参数
% res_path 和 bSaveImage主要是保存的图片,即BB框画框图
function res = run_BACF(seq, res_path, bSaveImage)
%把'base'工作区的变量subS赋值给seq,不写也行
seq = evalin('base', 'subS');%在基本空间中插入subS
%% 跟踪器主要设置
learning_rate = 0.013; % you can use different learning rate for different benchmarks.
% 加入可视化控件
visualization = 0;
% 输入、输出都是笛卡尔坐标系:[x,y,width,heigh]
%修改文件路劲,让其能够运行起来
video_path = seq.path;
video_path(end) = [];
results = run_BACF_tracker(seq, video_path, learning_rate, visualization);
%%%%%%%%%%%%% 增加 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if bSaveImage
imwrite(frame2im(getframe(gcf)),[res_path num2str(frame) '.jpg']);
end
res.type = 'rect';
res.res = results.res;
res.fps = results.fps;
%assignin(WS,'name',V) ,其中,WS为工作空间名称,'name'为变量名,V是为该变量指派的值
assignin('base', 'res', res);%这个不写也没问题,和上面的意思一样
disp(['fps: ' num2str(results.fps)])
end
然后其他的配置别人都写了,参考:
1、【OTB使用介绍一】tracker_benchmark_v1.0小白使用配置OTB100
2、目标跟踪tracker_benchmark_v1.0的配置
接着就可以愉悦搞事情了: