TLD源码解析-tldGenerateFeatures

来源:互联网 发布:淘宝店网址手机打开 编辑:程序博客网 时间:2024/06/13 12:48

本文为tldGenerateFeatures.m的代码附上注释


function f = tldGenerateFeatures(nTREES, nFEAT, show)%产生pixel comparison并显示SHI = 1/5;SCA = 1;OFF = SHI;x = repmat(ntuples(0:SHI:1,0:SHI:1),2,1);  %x:4x36的数组x = [x x + SHI/2];  %x:4x72k = size(x,2);   %k=72r = x; r(3,:) = r(3,:) + (SCA*rand(1,k)+OFF);  %r:4x72第三行加随机量l = x; l(3,:) = l(3,:) - (SCA*rand(1,k)+OFF); %l:4x72第三行减随机量t = x; t(4,:) = t(4,:) - (SCA*rand(1,k)+OFF); %类似b = x; b(4,:) = b(4,:) + (SCA*rand(1,k)+OFF);%类似x = [r l t b];  %x:4x288 idx = all(x([1 2],:) < 1 & x([1 2],:) > 0,1);  %取出所有1,2行小于1大于0.1的列,相应idx[i]=1x = x(:,idx); %取出所有idx[i]=1的列组成新的xx(x > 1) = 1;  %大于1的赋1x(x < 0) = 0;numF = size(x,2);  %计算新x的列数 164x = x(:,randperm(numF)); %随机排列这16列x = x(:,1:nFEAT*nTREES); %取特征对数*随机树数个列13*10=130列 4*130x = reshape(x,4*nFEAT,nTREES); %变为52*10并输出  1、2行为一个坐标 3、4行为一个坐标,两个坐标行成一个特征对,论文里称为pixel comparisonsf.x = x;                 %输出f.x中为f.type = 'forest';% showif nargin == 3    %只有当第三输入参量赋值且不为0时才输出显示这些特征点,并且在每一对之间连线if show    for i = 1:nTREES        F = 1+99*reshape(f.x(:,i),4,[]);  %f.x的每一列为一个tree里的特征对,这里取出一列重排为4*13 并*99+1保证不出现0        img = zeros(100,100);        imshow(img);                line(F([1 3],:),F([2 4],:),'linewidth',1,'color','w');        pause(.05);    endendend


其中ntuples方法的理解,使用一个小例子就明白了。

例如:ntuples([1 2],[1,2,3]),输出如下。ans =      1     1     1     2     2     2     1     2     3     1     2     3


参考文献:

  1. TLD取经之路(4)-- 始于足下--tldInit.m中涉及到的相关函数

0 0