计算机视觉跟踪算法: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阶矩)等于其现在的权重。
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阶矩)等于其现在的权重。
相关文章推荐
- 计算机视觉CV 之 CMT跟踪算法分析一
- (六)计算机视觉的知识、CamShitf算法、运动分析和物体跟踪Video
- 计算机视觉CV 之 CMT跟踪算法分析四
- 计算机视觉中,目前有哪些经典的目标跟踪算法
- 计算机视觉CV 之 CMT跟踪算法分析3
- 计算机视觉CV 之 CMT跟踪算法分析二
- 计算机视觉之跟踪算法——相关滤波器Correlation Filter
- 【计算机视觉】跟踪算法及相关主页
- 【碎片知识(6)· 计算机视觉基础】基于背景提取的目标跟踪算法
- 计算机视觉 之 在iOS上测试跟踪算法Visual Object Tracking Algorithm
- 捕食者物体跟踪算法:未来的计算机操作界面
- 计算机视觉算法源码
- [计算机视觉:算法与应用]学习笔记一:图像形成
- 【计算机视觉】一步一步实现人脸或特定物体的跟踪(1)——利用CamShift来跟踪
- 计算机视觉——算法与应用
- 【计算机视觉】stitching_detail算法介绍
- (未开始)计算机视觉算法与应用_第五章_分割
- 基于感知哈希的视觉目标跟踪算法代码
- 【计算机视觉】基于局部二值相似性模式(LBSP)的运动目标检测算法
- 流行的视觉跟踪算法