本文为原创,转载请注明出处:http://blog.csdn.net/autocyz/article/details/44490009

Fast Compressive Tracking

(高速压缩跟踪)

尽管眼下有非常多种的跟踪算法,可是因为姿态的变化、光照的变化、障碍物等原因的存在。导致非常多算法的鲁棒性不好。

眼下比較主流的跟踪算法有两种。generative  tracking algorithms(生成跟踪算法)和discriminative algorithms(判别跟踪算法)。

生成跟踪算法。顾名思义边生成边跟踪。即对这一帧的样本进行学习。将学习的结果作为下一帧的分类器,达到边学习跟踪,边跟踪边学习的效果。这样的跟踪算法的缺点是在视频的前几帧。样本量较少。因此大部分的算法要求视频中目标在视频的前面变化不大。假设目标变化较大。会产生漂移现象。

判别算法觉得跟踪就是一个二分类器的问题,其目的是要找到一个将目标从背景中区分出的边界。

可是这样的算法仅仅用了一个正样本和少量的负样本来跟新分类器。当特征模板含有噪声或者位置偏离时。便会出现漂移现象。

作者的算法:

作者论文中主要过程例如以下:

1、获取目标区域特征

为了获取图像的多尺度特征表达,经常将输入图片与不同空间的高斯滤波器进行卷积。

而在实际的运用过程中,高斯滤波器的运算量较大,所以一般採用矩形框取代高斯滤波器。经证明。这样的取代不会影响特征检測的性能。并且其还可以极大的加快检測的速度。

对于一个W*H的样本,矩形框的选取方法例如以下:

这里的w和h分别代表矩形框的的width和height。

将这些矩形框分别和输入图像进行卷积的效果例如以下:

每个输入图片(W*H)和不同大小的矩形框进行卷积的结果的到的仍旧是一个(W*H)的矩阵,可是为了方便将这些特征进行融合整理。将这个(W*H)的矩阵转换为一个含有(W*H)元素的列向量。

而一个输入的样本图片共同拥有(w*h)个卷积结果,将这(w*h)个列向量连接,就变成了一个含有(w*h)2个元素的列向量。

这个列向量的长度一般能够达到106~1010。对于如此高维的特征,显然会带来相当大的计算量。故作者找到了一种非常好的降维方法。

2、获取稀疏測量矩阵

压缩感知的理论指出,对于一个可压缩的信号,比如原始图片或者视频,一小部分随机生成的线性数据可以最大程度的保留原信号中的显著信息,而且可以从这一小部分随机信号将原信号非常好的复现。压缩感知理论中另一个比較专业的名次来形容前面所说的“可压缩信号”——K-sparse 信号。

有了这个理论作为依托,那么我们就行先获取目标的复杂高维特征。再用压缩感知的理论将特征进行降维。作者採用的方法就是用稀疏随机測量矩阵(R)将原信号进行降维。显然。对于随意的K-sparse信号,我们都希望这个稀疏矩阵R可以将当中的显著信息提取出来。而且将这个K-sparse信号从高维映射到低维空间。

那么,怎样寻找这个稀疏矩阵R。使其可以满足我们的要求。

实际上,要寻找这个稀疏矩阵。必须满足一个性质,即“约束等距性”。

一个典型的满足约束等距性的随机稀疏矩阵就是高斯随机矩阵。

经证明,当ρ=1、3时,这个矩阵是满足约束等距性的。另外,注意到当ρ=3时,有三分之二的数据是0,因此不须要计算。

将这个m*n的稀疏矩阵与原高维向量(m维)相乘,可得到一个低维向量(n维)。这就是即可降维的结果。

3、用稀疏測量矩阵对特征进行降维处理

从图中能够看出随机稀疏矩阵对高维向量进行降维的过程。图中稀疏矩阵中黑色的为正数,灰色为负数,白色为0。大致能够看出这个稀疏矩阵是很稀疏的,非零项较少,明显能够降低数据处理量。

而降维后的向量v,当中的每一个元素是向量x中相应R非零项的和,其包括的是多个局部信息的和。

4、用贝叶斯分类器进行分类

这里的V就是特征向量,p(y=1)和p(y=0)分别代表正负样本的先验概率。实际上p(y=1)=p(y=0)。经证明,高维随机向量的随机映射总是满足负荷高斯分布的。所以这里的p(vi|y=1)和p(vi|y=0)是符合高斯分布的。其參数为(λ>0。是学习參数):

这是三个不同的低维空间特征所获得积分图分布。

这是衡量正负样本好坏的积分图分布图。

程序中的步骤:

一、第一帧图像过来:

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

版权声明:本文博主原创文章。博客,未经同意不得转载。

高速压缩跟踪(fast compressive tracking)(CT)算法分析的更多相关文章

  1. 压缩跟踪Compressive Tracking

    好了,学习了解了稀疏感知的理论知识后,终于可以来学习<Real-Time Compressive Tracking>这个paper介绍的感知跟踪算法了.自己英文水平有限,理解难免出错,还望 ...

  2. Real-Time Compressive Tracking,实时压缩感知跟踪算法解读

    这是Kaihua Zhang发表在ECCV2012的paper,文中提出了一种基于压缩感知(compressive sensing)的单目标跟踪算法,该算法利用满足压缩感知(compressive s ...

  3. 压缩跟踪(CT)代码具体学习_模块1(样本的採集和扩充)

    本章主要具体解释的是compressive tracking框架中的第一部分:样本的採集和扩充部分. 在開始代码学习的前面,你须要知道的理论知识參见论文:Real-time Compressive T ...

  4. Correlation Filter in Visual Tracking系列二:Fast Visual Tracking via Dense Spatio-Temporal Context Learning 论文笔记

    原文再续,书接一上回.话说上一次我们讲到了Correlation Filter类 tracker的老祖宗MOSSE,那么接下来就让我们看看如何对其进一步地优化改良.这次要谈的论文是我们国内Zhang ...

  5. Improved dual-mode compressive tracking integrating balanced colour and texture features

    <改进的集成平衡颜色和纹理特征的双模压缩跟踪> 摘要:将跟踪问题视为分析目标和背景信息的分类问题的判别跟踪方法可以实现最先进的性能.作为一个高性能判别器,压缩跟踪近来受到很多关注.然而,当 ...

  6. Real-Time Compressive Tracking 论文笔记

    总体思想 1 利用符合压缩感知RIP条件的随机感知矩阵对多尺度图像进行降维 2 然后对降维的特征採用简单的朴素贝叶斯进行分类 算法主要流程 1 在t帧的时候,我们採样得到若干张目标(正样本)和背景(负 ...

  7. SQL Server 更改跟踪(Chang Tracking)监控表数据

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 主要区别与对比(Compare) 实现监控表数据步骤(Process) 参考文献(Refere ...

  8. 【转载,备忘】SQL Server 更改跟踪(Chang Tracking)监控表数据

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 主要区别与对比(Compare) 实现监控表数据步骤(Process) 参考文献(Refere ...

  9. Real-time Compressive Tracking

    这是RTC算法的文献blog Real-time Compressive Tracking Kaihua Zhang1, Lei Zhang1, Ming-Hsuan Yang2 1Dept. of ...

随机推荐

  1. Jndi使用好处,与简单实例【JBOSS】

    JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有 ...

  2. TP 控制器扩展_initialize方法实现原理

    参考网址:http://gongwen.sinaapp.com/article-59.html 控制器扩展接口 系统Action类提供了一个初始化方法_initialize接口,可以用于扩展需要,_i ...

  3. ID设计

    ID设计 在分布式系统中,经常需要使用全局唯一ID查找对应的数据.产生这种ID需要保证系统全局唯一,而且要高性能以及占用相对较少的空间. 全局唯一ID在数据库中一般会被设成主键,这样为了保证数据插入时 ...

  4. 字符串拼接 拆分 NameValueCollection qscoll = HttpUtility.ParseQueryString(result)

    string result = "sms&stat=100&message=发送成功"; string d = HttpUtility.ParseQueryStri ...

  5. HDU ACM 2586 How far away ?LCA-&gt;并查集+Tarjan(离线)算法

    题意:一个村子有n个房子,他们用n-1条路连接起来,每两个房子之间的距离为w.有m次询问,每次询问房子a,b之间的距离是多少. 分析:近期公共祖先问题,建一棵树,求出每一点i到树根的距离d[i],每次 ...

  6. 64地点 Windows 8/7 根据系统 32地点PLSQL 耦合 64 地点 Oracle 11g

    64地点 Windows 8/7 根据系统 32地点PL/SQL 耦合 64 地点 Oracle 11g     说明:安装后Oracle的 oci.dll 是64位的,而32位应用程序 PL/SQL ...

  7. HotSpot关联规则算法(2)-- 挖掘连续型和离散型数据

    本篇代码可在 http://download.csdn.net/detail/fansy1990/8502323下载. 前篇<HotSpot关联规则算法(1)-- 挖掘离散型数据>分析了离 ...

  8. Robotium原则的实施源代码分析

    从前面的章节<Robotium源代码分析之Instrumentation进阶>中我们了解到了Robotium所基于的Instrumentation的一些进阶基础.比方它注入事件的原理等,但 ...

  9. Androidclient和server第一种方法端数据交换

    网上有一个非常不同的情况来证明Android客户端和server如何结束的数据,但这些实施例大多相互作用更复杂,对于那些谁刚开始学习它是有害的,现在介绍一些简单的代码.逻辑清晰的互动样本,首先介绍本博 ...

  10. 玩转web之ajax(一)---使用表单的serialize()方法中文乱码解决

    有时候我们需要使用ajax提交去提交form的值,这样就需要使用serialize()去获取form的值,但这样获取的值如果有中文,会乱码,原因和解决方法如下: 原因:.serialize()自动调用 ...