代碼來源: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();點擊運行。
然後大家就可以仔細研究一下代碼啦~歡迎留言與我討論~