使用CPU测试CFNet

Windows10使用CPU测试CFNet

End-to-end representation learning for Correlation Filter based tracking

论文地址:https://arxiv.org/abs/1704.06036v1
源码地址:https://github.com/bertinetto/cfnet

测试环境

Windows10, Matlab 2018b, MatConvNet v1.0beta25,Visual Studio 2017, CPU i5-8400

安装MatConvNet

官方网站:http://www.vlfeat.org/matconvnet/

  1. 下载源文件

  2. 打开Matlab, 输入以下指令

    mex -setup,然后点击弹出的mex -setup C++
    cd D:\Projection\MatConvNet\matconvnet-1.0-beta25\matconvnet-1.0-beta25 %切换到下载源文件的目标
    addpath matlab %将matlab文件添加到搜索路径中
    vl_compilenn %开始编译
    

    若Matlab报错,出现找不到cl.exe的问题,找到你的VS目录将C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64目录添加至系统环境变量中

  3. 出现下列图片,表明安装成功,不放心的话可以运行vl_testnn测试一下。

使用CPU测试CFNet_第1张图片

修改cfnet-master程序

  1. 打开目录cfnet/src/tracking/,将env_paths_tracking.m.example, startup.m.example改成.m文件,然后打开它们修改相应的路径
    在这里插入图片描述在这里插入图片描述
    将run_tracker_evaluation.m中15行注释掉,37行改为
	% run_params.dataset = 'validation';
	% dirs = dir(fullfile(tracker_params.paths.eval_set_base, run_params.dataset));
	dirs = dir(tracker_params.paths.eval_set_base);
  1. 打开load_video_info_votformat.m修改你相应ground_truth的路径以及对应的读取方式,这里是我处理的方式
   base_path = 'D:/Dataset/无人机视频/UAV123_10fps/anno/UAV123_10fps';
   groundtruth_path = choose_txt(base_path);
   f = fopen(groundtruth_path);
   ground_truth = textscan(f, '%f %f %f %f', 'Delimiter', {',','\t','\b'});  %[x, y, width, height]
   ground_truth = cat(2, ground_truth{:});
   fclose(f);
  1. 默认没有窗口显示图像,所以在tracker.m文件中16行将visualization 改为true。因为我们要使用CPU,所以在17行与39行找到p.gpus与p.init_gpu,修改为以下代码
	p.visualization = true;
	
	p.gpus = [];
	p.init_gpu = false;
  1. 打开运行文件run_*_evaluation.m,将“all”改为你视频序列文件夹的名字

若出现以下报错
使用CPU测试CFNet_第2张图片
将tracker.m文件173行该为

	scoreId = net_x.getVarIndex('score');

若无文件路径问题,程序就可以运行啦,运行结果

你可能感兴趣的:(使用CPU测试CFNet)