Real-Time Compressive Tracking(CT) 札记

转载 2013年12月04日 09:30:56

Real-Time compressive Tracking, Kaihua Zhang, ECCV2012

这篇论文由香港理工大学张开华发表在2012年的ECCV之上,论文附有数据对比及代码。

cvchina:    http://www.cvchina.info/2012/07/31/real-time-compressive-tracking/comment-page-1/#comments

个人主页及代码下载;  http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm

优酷跟踪效果:http://v.youku.com/v_show/id_XNDMzODcxNjcy.html 


        下面分享一下个人对于(Compressive Tracking)CT的个人观点,文章中与当前很多前沿技术做了效果对比,包括PAMI2012上的著名的TLD。但理论研究与实际工程应用差距巨大。

下面我们根据代码,来分析一下CT的主要算法步骤,因本人水平有限,欢迎拍砖。

论文中的流程图


在 t 帧中首先在目标周围选择正样本,距离目标较远处选择负样本,对正负样本分别进行多尺度滤波而进行压缩获得正负特征以此来训练分类器。


在 t+1 帧中,在上一帧的目标位置周围选取可能的目标框,而后提取特征利用分类器选取得分最高者进行输出作为当前帧的框图。


首先,在第一帧中圈出目标位置。进行初始化。

[html] view plaincopy
  1. void CompressiveTracker::init(Mat& _frame, Rect& _objectBox)  
  2. {  
  3.     // compute feature template  
  4.     HaarFeature(_objectBox, featureNum);  
  5.   
  6.     // compute sample templates  
  7.     sampleRect(_frame, _objectBox, rOuterPositive, 0, 1000000, samplePositiveBox);  
  8.     sampleRect(_frame, _objectBox, rSearchWindow*1.5, rOuterPositive+4.0, 100, sampleNegativeBox);  
  9.   
  10.     integral(_frame, imageIntegral, CV_32F);  
  11.   
  12.     getFeatureValue(imageIntegral, samplePositiveBox, samplePositiveFeatureValue);  
  13.     getFeatureValue(imageIntegral, sampleNegativeBox, sampleNegativeFeatureValue);  
  14.     classifierUpdate(samplePositiveFeatureValue, muPositive, sigmaPositive, learnRate);  
  15.     classifierUpdate(sampleNegativeFeatureValue, muNegative, sigmaNegative, learnRate);  
  16. }  

HaarFeature函数主要目的在与产生多尺度滤波器。此函数中会随机生成50次,每次 2 或 3 个选择框。 而论文当中多次强调的压缩矩阵R应该就是此矩阵。此矩阵在初始化时生成,跟踪过程当中不再变化。而其高斯性稀疏性是通过随机产生实现的。

而后 SampleRect 用于产生 正负样本,其中的各个参数及论文中所提更新过程中的α和β。


Intergral是对图像进行积分化,生成积分图,方便计算Haar特征。

getFeatureValue即分别获得所获取正样本 负样本的Haar特征。每维特征有50维。对应前面取到的压缩矩阵R。

而后进行分类器的初始化,分类器采用朴素贝叶斯分类器。更新过程采用论文当中的如下公式。至此,则已完成分类器的初始化。

 

在 以后若干 帧中,

  1. void CompressiveTracker::processFrame(Mat& _frame, Rect& _objectBox)  
  2. {  
  3.     // predict  
  4.     sampleRect(_frame, _objectBox, rSearchWindow,detectBox);  
  5.     integral(_frame, imageIntegral, CV_32F);  
  6.     getFeatureValue(imageIntegral, detectBox, detectFeatureValue);  
  7.     int radioMaxIndex;  
  8.     float radioMax;  
  9.     radioClassifier(muPositive, sigmaPositive, muNegative, sigmaNegative, detectFeatureValue, radioMax, radioMaxIndex);  
  10.     _objectBox = detectBox[radioMaxIndex];  
  11.   
  12.     // update  
  13.     sampleRect(_frame, _objectBox, rOuterPositive, 0.0, 1000000, samplePositiveBox);  
  14.     sampleRect(_frame, _objectBox, rSearchWindow*1.5, rOuterPositive+4.0, 100, sampleNegativeBox);  
  15.   
  16.     getFeatureValue(imageIntegral, samplePositiveBox, samplePositiveFeatureValue);  
  17.     getFeatureValue(imageIntegral, sampleNegativeBox, sampleNegativeFeatureValue);  
  18.     classifierUpdate(samplePositiveFeatureValue, muPositive, sigmaPositive, learnRate);  
  19.     classifierUpdate(sampleNegativeFeatureValue, muNegative, sigmaNegative, learnRate);  
  20. }  
在前一帧目标周围选择若干候选位置,在当前帧的积分图中对每个候选位置提取 Haar 特征,选取分类器得分最高者作为输出。 

而后在新的位置周围按照前述方式对分类器进行更新。 


CT实时性确实是一个很大的诱惑性。因为他只在目标周围进行选择,而且特征及分类器设计都十分简单。 这也导致其出现相应的问题。

当然这是几乎所有跟踪算法都无法避免的的问题。

1.当目标大部分被遮挡时,跟踪结果会立即出错。比如在跟踪行人时,如果出现另外的人擦肩而过,则完全跟踪到另外的人身上。

2.当目标离开视野再度出现时,不可能跟踪到。

3.该方法没有解决尺度问题。当目标由远及近或者反之,尺度都是一样的。

而以上三个问题TLD中都已经涉及解决。

4. CT主要的优点在于其实时性,论文中经过与诸方法比较,时间仅次于TLD,满足实时性要求。

相关文章推荐

Real-Time Compressive Tracking(CT) 札记

Real-Time compressive Tracking, Kaihua Zhang, ECCV2012 这篇论文由香港理工大学张开华发表在2012年的ECCV之上,论文附有数据对比及代码。 ...

Real-Time Compressive Tracking

  • 2015-07-02 11:34
  • 18.12MB
  • 下载

目标跟踪学习系列七:Real-time compressIve tracking(压缩跟踪)学习

文章:Real-time compressIve tracking K Zhang, L Zhang, MH Yang - Computer Vision–ECCV 2012, 2012

《Real-Time Compressive Tracking》论文理解

这是Kaihua Zhang发表在ECCV2012的paper,paper的主题思想是利用满足压缩感知(compressive sensing)的RIP(restricted isometry pro...

Real-Time Compressive Tracking阅读与分析

知识点 压缩感知 如果信号在某一个正交空间具有稀疏性(即可压缩性),就能以较低的频率(远低于奈奎斯特采样频率)采样该信号,并可能以高概率精确的重建该信号。 简单来说:可以用一个随机感知矩阵...

real-time compressive tracking 所感

最近在学习张开华教授的real-time compressive tracking这篇文章,记录下自己体会。 算法的工程网址:http://www4.comp.polyu.edu.hk/~cslzha...

Real-Time Compressive Tracking

压缩跟踪Compressive Tracking zouxy09@qq.com http://blog.csdn.net/zouxy09           好了,学习了解了稀疏感知的理论知识...

Compressive Tracking(CT)

前段时间学习了一下压缩跟踪算法,现在就自己学习的经验做一下总结,希望对大家的学习有一定的帮助。 本文将分为三个部分作为讲解。 1.为什么要学习这个算法(也即是这个算法有什么优点)? 压缩跟踪...

CT-压缩跟踪Compressive Tracking

转自:http://blog.csdn.net/zouxy09/article/details/8118360 Real-time Compressive Tracking简称CT 官网网址:ht...

Compressive Tracking——CT跟踪

感谢香港理工大学的Kaihua Zhang,这是他即将在ECCV 2012上出现的paper:Real-time Compressive Tracking。 这里是他的介绍: 一种简单高效地基于...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)