论文地址:https://arxiv.org/pdf/1611.09224.pdf
代码地址:https://github.com/martin-danelljan/ECO
ECO:(Efficient Convolution Operators for Tracking)是CVPR2017的一篇基于相关滤波的文章,本文主要对其matlab版本配置运行进行介绍,并简要分析其跟踪原理,分享自己的一些心得。
运行软件:
MATLAB 2016a以上版本
Visual stdio 2015以上版本
MinGW-w64 C/C++
一、matlab代码运行
1、matconvnet下载
下载地址:https://github.com/vlfeat/matconvnet
下载后放置到external_libs/matconvnet/目录下
2、PDollar Toolbox下载
下载地址:https://github.com/pdollar/toolbox
下载后放置在external_libs/pdollar_toolbox/目录下
3、预训练模型imagenet-vgg-m-2048.mat下载
下载地址:https://www.vlfeat.org/matconvnet/pretrained/
如果点击出现乱码,无法下载,建议换个浏览器下载
在feature_extraction/目录下新建文件夹networks,并将下载的网络放置底下
之后在matlab命令行窗口
1、输入mex -setup,
2、根据提示输入mex -setup C++,
3、进入到matconvnet安装目录cd external_libs/matconvnet/,
4、输入addpath matlab,即将matconvnet底下的matlab路径添加至变量中
5、运行install.m文件
完成ECO的安装
6、运行demo_ECO.m,实现目标的跟踪。
7、sequences文档说明
1.img文件夹内图像的名字按顺序编写,而且一定是4位,比如0001.jpg.
- groundtruth_rect.txt中每行四个数的含义:205 151 17 50
依次是:跟踪区域左上角的x坐标,跟踪区域左上角的y坐标,跟踪区域宽度(x方向),跟踪区域高度(y方向)
- groundtruth_rect.txt行数与图片数一致,因为读取的图片数是依照行数得到的
8、代码
clc
clear all
close all
% Add paths
setup_paths();
video_path = 'sequences/V-typeArc';
[seq, ground_trth] = load_video_info(video_path);
% Run ECO
results = testing_ECO_HC(seq);
Fps=results.fps;
Position=results.res;
%%%%%%%%%对Position后处理,得到跟踪区域的中心点和四个角点%%%%%%%
nFrame=size(Position,1);
featurePointSeries=zeros(nFrame,2); %%%%两列分别是y坐标和x坐标
for i=1:nFrame
featurePointSeries(i,1)=Position(i,1)+(Position(i,3)/2);
featurePointSeries(i,2)=Position(i,2)+(Position(i,4)/2);
end
sequence_path = [video_path,'/'];
%%将数据导入到txt中
fid=fopen([sequence_path 'featurePointECO.txt'],'w+');
for i=1:nFrame
fprintf(fid,'%g\t',featurePointSeries(i,1)); %写入数据后换行
fprintf(fid,'%g\n',featurePointSeries(i,2));
end
fclose(fid);
文章来源:公众号:机器人视觉