1. 程式人生 > >【技術向】KCF目標跟蹤演算法Matlab程式碼執行指南

【技術向】KCF目標跟蹤演算法Matlab程式碼執行指南

核化相關濾波目前較為流行,便試著跑一下作者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();點選執行。
這裡寫圖片描述
這裡寫圖片描述

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