代码来源:http://www.robots.ox.ac.uk/~joao/
如果下载不了,这里是百度云下载链接:https://pan.baidu.com/s/1kTggtYi2iOjNY3wFFn7Vyw
论文:High-Speed Tracking with Kernelized Correlation Filters.
核化相关滤波目前较为流行,便试着跑一下作者João F. Henriques提供的matlab代码,一开始各种不成功,在网上也没有解答。下面把我跑成功的经验和大家分享。
运行环境
win8.1+matlabR2014a
准备工作
将代码下载并解压至任意位置,如果本机中没有video数据集的话需要到http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html,作者提供的download_video.m实在是不好用。注意下载的文件的内容,解压的一级目录必须包含img文件夹和groudtruth_rect.txt文件,前者是视频序列,后者提供了target和准确路径用于评估。下面以我下载的Basketball数据集为例。
下面需要在run_tracker.m中修改路径
base_path = 'E:\tracker_release2\data\Benchmark\';
这里Benchmark为Basketball的上一级目录。
按理说然后直接输入run_tracker();就可以跑了,但是出现了如下错误
Error in precision_plot (line 40)
figure('Number','off', 'Name',['Precisions - ' title])
在show_video.m中有这一段代码
%create window
[fig_h, axes_h, unused, scroll] = videofig(num_frames, @redraw, [], [], @on_key_press); %#ok, unused outputs
set(fig_h, 'Number','off','Name', ['Tracker - ' video_path])
估计是matlab版本问题我直接将‘Number‘,’off’删去,同时precision_plot.m中如下
if show == 1,
figure('Number','off' ,'Name',['Precisions - ' title])
plot(precisions, 'k-', 'LineWidth',2)
xlabel('Threshold'), ylabel('Precision')
end
也将number和off删掉这样基本就搞定了。
3.结果
新建m文件输入run_tracker();点击运行。
然后大家就可以仔细研究一下代码啦~欢迎留言与我讨论~