这是本人第一篇博客,是基于各种大神的基础上写的,若有雷同或相似之处,还望见谅,因为有时候看大神们的博客还是有些疑问,所以这里面包含了一些我自己的或综合大神们的想法,大家一起进步~参考的博客论文会附在后面~有疑问的可以留言讨论!


基于压缩的实时目标追踪(CT)

一.预备知识
压缩感知测量矩阵
压缩感知指出,只要信号是可压缩的或者在某一变换域上是稀疏的,那么就可以用一个与变换基不相关的测量矩阵将变换所得的高维信号投影到低维空间上,然后通过求解一个优化问题从少量观测(投影)中高概率重构出原始信号,已经验证,这样的投影包含了重构信号的足够多的信息。
(1)随机投影
对于一个随机矩阵R,其每一行都包含从高维图像空间x到低维空间v的单位长度的投影数据。即:
v = Rx
这里基于压缩的实时目标追踪(CT)基于压缩的实时目标追踪(CT)基于压缩的实时目标追踪(CT),且n≪m!
(2)随机观测矩阵
一个典型的满足RIP准则的测量矩阵是随机高斯矩阵基于压缩的实时目标追踪(CT),矩阵元素基于压缩的实时目标追踪(CT)。但是当m的维数足够大时,随机高斯矩阵还是比较稠密的,其运算和存储消耗还是比较大的,因此原文采用了一个非常稀疏的随机测量矩阵,矩阵元素定义为:
基于压缩的实时目标追踪(CT)
Achlioptas证明上式s取2或3时,矩阵满足RIP准则。这个矩阵非常容易计算,因为它只需要一个均匀随机数发生器,而且当s=3时这个矩阵,非常稀疏,那么有2/3的矩阵元素不用计算。如果s=3,那么矩阵元素有1/6的概率为√3,有1/6的概率为-√3,有2/3的概率为0。原文中,x∈R^m,取s=m/4,则矩阵R的每一行只需要计算c(小于4)个元素的值。所以它的计算复杂度为O(cn)。只需要存储R的非零元素即可,所以所需存储空间比较少。
二.模型引入
由于姿态变化、光照变化、遮挡和运动模糊等的存在,建立出高效的鲁棒的目标追踪外观模型十分具有挑战性。结合压缩感知理论,一种简单高效且与数据无关的的追踪算法被提出,通过建立基于多尺度图像特征空间提取特征的外观模型。该外观模型采用非自适应的随机投影来保持目标的图像特征空间的结构,采用一个非常稀疏的测量矩阵来提取外观模型的特征,并且采用相同的稀疏测量矩阵压缩前景目标和背景的样本。追踪任务被转化为在压缩域中在线更新的朴素贝叶斯分类器的二进制分类。
原文用一个满足RIP准则的非常稀疏的测量矩阵,使得图像特征空间有效的投影到低维的压缩子空间。为了追踪,正负样本投影(即压缩)采用相同的稀疏测量矩阵,并通过一个简单的朴素贝叶斯分类器在线学习区分。因为基于压缩域中的特征提取使得目标可以很好地被表示,而且通过朴素贝叶斯分类器,我们使用特征将目标从周围的背景中分离开来,因此我们的外观模型既是生成的又是判别的。
三.CT算法
原文所提出的压缩跟踪算法(CT)实时运行,在效率、准确性和鲁棒性方面对具有挑战性的当前最先进追踪器具有良好的性能。假定在第一帧的时候,追踪窗口已经确定。对于每一帧,我们在当前目标位置和远离目标中心的位置采集正样本和负样本,来更新分类器。为了预测下一帧的目标位置,我们在当前目标位置附近绘制一些样本,并确定出最大的分类分数的样本。图1给出基于压缩的实时目标追踪算法的主要组成部分:
基于压缩的实时目标追踪(CT)
(1)t帧时,通过采样得到若干张目标(正样本)和背景(负样本)的图像片,然后利用多尺度矩形滤波器对其进行变换,再通过稀疏测量矩阵(对应代码的Featureweight函数)对多尺度图像特征进行降维,然后通过降维后的特征(包括目标和背景,属二分类问题)去训练朴素贝叶斯分类器。
(2)t+1帧时,在上一帧跟踪到的目标位置的周围采样n个扫描窗口(避免去扫描整幅图像),通过同样的稀疏测量矩阵对其降维,提取特征,然后用第t帧训练好的朴素贝叶斯分类器进行分类,分类分数最大的窗口就认为是目标窗口。这样就实现了从t帧到t+1帧的目标跟踪。
对于每一个样本基于压缩的实时目标追踪(CT),处理尺度问题,原文将z和多尺度基于压缩的实时目标追踪(CT)的矩形滤波器集的卷积来表示z,其中
基于压缩的实时目标追踪(CT)
i和j分别代表矩形滤波器的宽和高,然后将每个滤波后的图像表示成基于压缩的实时目标追踪(CT)的列向量,然后将这些向量组合成一个非常高维的多尺度图像特征向量基于压缩的实时目标追踪(CT)基于压缩的实时目标追踪(CT)。然后用稀疏随机矩阵R去投影x到一个低维空间的向量基于压缩的实时目标追踪(CT)。随机矩阵R只需离线计算一次,并在整个跟踪过程中保持不变。我们只需要存储R中的非零项和输入图像的滤波器位置。然后通过积分图计算R稀疏测量下的矩阵特征,得到v。低维特征基于压缩的实时目标追踪(CT)中的每个元素基于压缩的实时目标追踪(CT)都是不同尺度不同空间的分布矩形特征的线性组合,由于测量矩阵中的系数可正可负,因此压缩特征计算相关的强度差(像素点RGB差值)和广义haar特征很相似。
图2给出n×m维的稀疏矩阵将高维图像空间的x∈R^m压缩成一个低维向量v的图示。
基于压缩的实时目标追踪(CT)
其中矩阵R中,黑灰白分别代表矩阵元素为负、正和零。蓝色箭头代表测量矩阵R的一行的一个非零元素感知x中的一个元素,等价于一个方形窗口滤波器和输入图像某一固定位置的灰度卷积。每个白色小方块内的灰度值的和表示该区域的特征,利用积分图法求解很简单。
原文中,大量的类haar特征集合被一个非常稀疏的测量矩阵压缩感知,而CS理论保证算法提取的特征包含原图像的几乎所有的信息,因此在压缩域中对投影特征分类不会带来维度灾难。
朴素贝叶斯分类及更新
对于每个样本z∈R^m,其低维表示是基于压缩的实时目标追踪(CT),m≫n,假设v中所有元素独立分布,采用朴素贝叶斯分类器建模。
基于压缩的实时目标追踪(CT)
假设一致先验有,p(y=1)=p(y=0)=0.5,并且y∈{0,1}是一个代表(sample label)样本标签的二值变量,y=0代表负样本,y=1代表正样本。又因为高维随机向量的随机投影几乎都是高斯分布的,因此分类器H(v)中的条件分布基于压缩的实时目标追踪(CT)基于压缩的实时目标追踪(CT)服从高斯分布,其中的四个参数为(基于压缩的实时目标追踪(CT)),并且
基于压缩的实时目标追踪(CT)
上式的标量参数是逐步更新的:
基于压缩的实时目标追踪(CT)
其中,λ>0是一个学习参数,
基于压缩的实时目标追踪(CT)
基于压缩的实时目标追踪(CT)
上述方程可以用最大似然估计求解。
感谢 http://www.mamicode.com/info-detail-529588.html 介绍的关于程序的步骤,首先就是第一帧需要我们自己确定,可以通过规定矩形框坐标或者选择用鼠标框出目标的方式,步骤照搬过来如下:
一、第一帧图像过来:
1、手工的标记需要跟踪的区域,这个区域是一个矩形框;
2、根据标记区域的信息,随机产生矩形框,用来当做类Haar特征的提取模板;
3、以当前帧目标区域为中心,以4个像素点为半径,取出共计45个正样本,在以8为内半径,30为外半径的圆环中随机选取50个负样本;
4、计算原图像的积分图;
5、根据积分图和前面所得的类Haar特征提取模板,提取正负样本的特征;
6、更新贝叶斯分类器,获取新的分类器。

二、非第一帧图像过来:
1、以前一帧目标区域为中心,以25个像素点为半径,逐个遍历,可以获得大约1100个待分类区域;
2、得到这些待分类区域的积分图,用前面产生的Haar-like特征模板提取这些待分区域的Haar特征。得到特征向量;
3、用贝叶斯分类器对这些待分类区域对进行分类,选出最有可能是目标的矩形框,作为当前跟踪结果;
4、重复步骤一中的3、4、5、6。

四、实验结果:
包含光照变化,表情变化,侧脸,遮挡等,采用的是论文给的数据,部分实验结果如图:
基于压缩的实时目标追踪(CT)基于压缩的实时目标追踪(CT)
基于压缩的实时目标追踪(CT)基于压缩的实时目标追踪(CT)
基于压缩的实时目标追踪(CT)基于压缩的实时目标追踪(CT)
基于压缩的实时目标追踪(CT)基于压缩的实时目标追踪(CT)
………………………………..
我们可以看出,矩形框的大小是不变的,因为是在线实时追踪的,难免会有偏移现象,但真的是很佩服算法的提出者啊!

http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm
http://blog.csdn.net/zouxy09/article/details/8118360
http://www.mamicode.com/info-detail-529588.html
http://www4.comp.polyu.edu.hk/~cslzhang/CT/eccv_ct_camera.pdf

相关文章: