您的位置:首页 > 理论基础

计算机视觉跟踪算法:L1 tracker

2014-04-22 13:29 141 查看
 L1 Tracker的主要思想是用第一帧和最近几帧得到的图像(特征)作为字典,然后加上许许多多个trivial templates,也就是一幅图像中只有一个白色像素点,其他的都是黑色。这样,将新得到的粒子滤波的candidate图像,利用L1最小二乘准则投影到这一组字典上。如果是前几个template的系数比较大,那么就说明可能是待跟踪的目标,如果是有很多个trivial
template的系数比较大,那么说明可能是背景。

具体的:

1.   首先,本算法也是一个基于粒子滤波的算法。在这其中加了一个速度的变量,而速度则是之前的若干帧的目标速度的均值。

2.   粒子滤波得到目标的candidate之后,将所有的candidate向之前保存的若干帧(template)以及一些人工构造的噪声(trivial templates)进行L1约束的稀疏投影,如果得到的系数集中在前面几个templates,那么说明这个candidate和目标相似度高,如果后面的trivial templates的系数也很多,说明这个candidate和目标相似度低。

3.   具体的相似度计算是通过稀疏投影之后的残差(也是一幅图像)来决定的。对于这幅残差图像的每一个像素,建立一个高斯模型(据说,可以证明,稀疏投影之后的残差就是符合高斯分布的),均值为0,方差人工设定。那么这个残差图像越大,高斯模型得到的概率值就越小,说明这个candidate就越不可能是目标。这样就量化了。

4.   trivial templates的选取是这样的:如果目标图像块含有N个像素,那么就构造2N个trivial template,前N个trivial templates只有一个像素是+1,其他像素全是0;后N个只有一个像素是-1,其他像素全部是0。之所以要设计后N个trivial templates,是因为对于前面的几个templates,由于正确的candidate应该和他们相像,所以他们的系数应该是正值(同时,这样也能防止跟踪到那种正好和目标像素值相反的图像块去),但是如果要求trivial
templates的系数也都为正值,就无法解释了。但是求解L1的时候,只限制一部分系数的正负是不好做到的,而限制全部系数的正负是容易做到的。因此,这里就采取了又构造N个和前N个trivial template正负号相反的模板,这样,就可以通过限定全部系数为正数来近似实现前面所说的理论了。

5.   模板更新:
a.    维持一个模板集T,里面的每一个模板都对应一个权重w
b.   由于L1的优化表达式的关系,模板的长度(||*||2)越大,这个模板就越重要,因此可以将模板的长度当做其自然权重v
c.    对于每次L1求出的系数a,系数越大的模板越重要,因此上述自然权重需要乘以exp(a)得到最终的权重w
d.   考察本帧跟踪得到的结果y和L1系数最大的模板的相似度(用向量的cos度量),如果该相似度小于某一值,那么就替换掉最终权重最小的那个模板,用本帧跟踪到的目标代替,权重使用所有权重的均值。
e.   更新完成过后,归一化权重,使的所有权重的平方和为1
f.     再调整权重的值,使其最大值不超过0.3,以免模板退化(有一个模板的权重值特别大)
g.   归一化模板t,使t的长度(2阶矩)等于其现在的权重。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: