mil跟踪算法matlab,几种目标跟踪算法性能比较
這是我自己的跟蹤算法
%%******************************************* 實驗設(shè)置 *********************************************%%
clc;
clear all;
%%******Change 'title' to choose the sequence you wish to run******%%
%title = 'animal';
% title = 'board';
% title = 'car11';
%title = 'caviar';
title = 'faceocc2';
% title = 'girl';
% title = 'jumping';
% title = 'panda';
% title = 'shaking';
% title = 'singer1';
% title = 'stone';
%*************************************************************
addpath('./Affine Sample Functions');
trackparam;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? % 初始位置和仿射參數(shù)
opt.tmplsize = [32 32];? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? % [高度 寬度]? ?? ?opt:初始參數(shù)
sz = opt.tmplsize;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?%sz: 跟蹤框的大小
n_sample = opt.numsample;
param0 = [p(1), p(2), p(3)/sz(2), p(5), p(4)/p(3), 0];? ?? ?? ?? ?%param: 仿射參數(shù)? ?? ?? ?? ? param0: 最初的仿射參數(shù)
p0 = p(4)/p(3);? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???%p0:aspect ratio in the first frame?在第一幀中的從橫比?
param0 = affparam2mat(param0);? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?%轉(zhuǎn)換仿射參數(shù)?((2x3矩陣))
param = [];
param.est = param0';
%%****************** 為判別分類器獲得獲得正負(fù)模板*******************%%
num_p = 50;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?% 正模板數(shù)量
num_n = 200;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???% 負(fù)模板數(shù)量
[A_poso A_nego] = affineTrainG(dataPath, sz, opt, param, num_p, num_n, forMat, p0);
A_pos = A_poso;
A_neg = A_nego;
patchsize = [6 6];? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???% obtain the dictionary for the SGM?為生成模型獲得字典?
patchnum(1) = length(patchsize(1)/2 : 2: (sz(1)-patchsize(1)/2));
patchnum(2) = length(patchsize(2)/2 : 2: (sz(2)-patchsize(2)/2));
Fisize = 50;
[Fio patcho] = affineTrainL(dataPath, param0, opt, patchsize, patchnum, Fisize, forMat);
Fi = Fio;
temp = importdata([dataPath 'datainfo.txt']);? ?? ?? ?? ?? ?? ?? ? %DataInfo: 寬度, 高度, 幀數(shù)
num = temp(3);? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?%總的幀數(shù)
paramSR.lambda2 = 0;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? %?optional, elastic-net parameter, 0 by default可選的、彈性網(wǎng)絡(luò)、默認(rèn)為0
paramSR.mode = 2;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???%?(optional, adds positivity constraints on the coefficients, , by default: 2)
alpha_p = zeros(Fisize, prod(patchnum), num);? ?? ?? ?? ?? ?? ?? ?? ?? ? %輸出系數(shù)?
result = zeros(num, 6);
%%******************************************* 跟蹤 *********************************************%%
for f = 1:num
f? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???%框架比
img_color = imread([dataPath int2str(f) forMat]);? ?? ?? ?%載入第一幀
if size(img_color,3)==3
img? ? ? ? = rgb2gray(img_color);? ?? ?? ?? ?? ?? ? %將彩色圖片轉(zhuǎn)為灰色圖片
else
img? ? ? ? = img_color;? ?? ?? ?? ?? ?? ?? ?? ?? ? %灰色圖片
end
%%----------------- 基于稀疏的判別分類器 (SDC) ----------------%%
gamma = 0.4;
[wimgs Y param] = affineSample(double(img), sz, opt, param);? ? %??draw N candidates with particle filter
%得出N個粒子濾波的候選目標(biāo)
YY = normVector(Y);? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?% 歸一化
AA_pos = normVector(A_pos);? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? %歸一化正模板
AA_neg = normVector(A_neg);? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? %歸一化負(fù)模板
%%-----------------% 特征選擇??----------------%%
P = selectFeature(AA_pos, AA_neg, paramSR);? ?? ?? ?? ?? ?? ???%? ???獲得投影矩陣
YYY = P'*YY;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? % project the original feature space to the selected feature space
%把原特征空間投影到選擇特征空間
AAA_pos = P'*AA_pos;
AAA_neg = P'*AA_neg;
paramSR.L = length(YYY(:,1));? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???% represent each candidate with training template set代表每一個候選訓(xùn)練模板集
%(param.L :optional, maximum number of elements of each decomposition)
paramSR.lambda = 0.01;
beta = mexLasso(YYY, [AAA_pos AAA_neg], paramSR);
beta = full(beta);
rec_f = sum((YYY - AAA_pos*beta(1:size(AAA_pos,2),:)).^2);? ?? ?% the confidence value of each candidate
rec_b = sum((YYY - AAA_neg*beta(size(AAA_pos,2)+1:end,:)).^2);
con = exp(-rec_f/gamma)./exp(-rec_b/gamma);
%%----------------- Collaborative Model ----------------%%
likelihood = con;%似然函數(shù)
[v_max,id_max] = max(likelihood);
param.est = affparam2mat(param.param(:,id_max));
result(f,:) = param.est';
displayResult_sf;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???% 顯示在每一幀的跟蹤結(jié)果
%%----------------- 更新方案 ----------------%%
upRate = 6;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? %每隔6幀更新負(fù)模板集
if rem(f, upRate)==0
[A_neg] = updateDic(dataPath, sz, opt, param, num_n, forMat, p0, f);
end
end
%%******************************************* 保存并顯示跟蹤結(jié)果 *********************************************%%
save([ title '.mat'], 'result');
要怎么才能把這個算法和IVT/IPCA Tracker、L1? ?Tracker、PN? ?Tracker、VTD??Tracker、MIL??Tracker、Frag Tracker進(jìn)行比較顯示出這樣的效果
Girl_rs_0062.jpg (37.58 KB, 下載次數(shù): 8)
2015-5-22 22:11 上傳
總結(jié)
以上是生活随笔為你收集整理的mil跟踪算法matlab,几种目标跟踪算法性能比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP中怎样实现正负数的相加,PHP 求
- 下一篇: python watchdog占用,py