【技术向】KCF目标跟踪算法Matlab代码运行指南

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_27318881/article/details/52873376

代码来源: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代码,一开始各种不成功,在网上也没有解答。下面把我跑成功的经验和大家分享。

  1. 运行环境

    win8.1+matlabR2014a

  2. 准备工作
    将代码下载并解压至任意位置,如果本机中没有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();点击运行。
这里写图片描述
这里写图片描述

然后大家就可以仔细研究一下代码啦~欢迎留言与我讨论~


猜你喜欢

转载自blog.csdn.net/sinat_27318881/article/details/52873376
今日推荐