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目标跟踪算法理解

作者个人主页:http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm Compressive Tracking目标跟踪算法特点是实现非常简单,主要多一些积...
  • gguuookkaaii1234
  • gguuookkaaii1234
  • 2015年09月05日 10:44
  • 603

《Real-Time Compressive Tracking》论文理解

这是Kaihua Zhang发表在ECCV2012的paper,paper的主题思想是利用满足压缩感知(compressive sensing)的RIP(restricted isometry pro...
  • pbypby1987
  • pbypby1987
  • 2015年05月11日 10:29
  • 1441

Compressive Tracking(CT)

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

Real-Time Compressive Tracking 论文笔记

采用压缩感知做的跟踪,实时性非常好,论文笔记
  • lanbing510
  • lanbing510
  • 2014年10月24日 00:38
  • 1940

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

文章:Real-time compressIve tracking K Zhang, L Zhang, MH Yang - Computer Vision–ECCV 2012, 2012...
  • u012192662
  • u012192662
  • 2014年04月18日 10:38
  • 3560

快速压缩跟踪(fast compressive tracking)(CT)算法剖析

Fast Compressive Tracking (快速压缩跟踪) 虽然目前有很多种的跟踪算法,但是由于姿态的变化、光照的变化、障碍物等原因的存在,导致很多算法的鲁棒性不好。 目前比较主流的跟踪算法...
  • autocyz
  • autocyz
  • 2015年03月20日 12:46
  • 4373

Compressive Tracking——CT跟踪

感谢香港理工大学的Kaihua Zhang,这是他即将在ECCV 2012上出现的paper:Real-time Compressive Tracking。 这里是他的介绍: 一种简单高效地基于...
  • sujunzy666
  • sujunzy666
  • 2015年01月13日 13:22
  • 786

Real-Time Compressive Tracking

压缩跟踪Compressive Tracking zouxy09@qq.com http://blog.csdn.net/zouxy09           好了,学习了解了稀疏感知的理论知识...
  • sillyboy1104
  • sillyboy1104
  • 2013年12月06日 10:50
  • 843

Real-time Compressive Tracking

实时压缩跟踪 Real-time Compressive Tracking         http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.ht...
  • u011607473
  • u011607473
  • 2014年01月17日 18:06
  • 1206

Tracking算法学习之Compressive Tracking——Real-Time Compressive Tracking

原文地址:【http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm】部分理解借鉴于【http://blog.csdn.net/zouxy09/article...
  • qq_22201697
  • qq_22201697
  • 2016年08月02日 19:25
  • 289
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Real-Time Compressive Tracking(CT) 札记
举报原因:
原因补充:

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