【技術向】KCF目標跟蹤算法Matlab代碼運行指南


代碼來源: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();點擊運行。
這裏寫圖片描述
這裏寫圖片描述

然後大家就可以仔細研究一下代碼啦~歡迎留言與我討論~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章