目标跟踪系列十一:Exploiting the Circulant Structure of Tracking-by-detection with Kernels代码思路
Tracking学习系列原创,转载标明出处: http://blog.csdn.net/ikerpeng/article/details/40144497
这篇文章非常赞啊!非常有必要将其好好的学习,今天首先记录它的代码思路(具体的推导过程后面会给出的)。
首先,这篇文章使用的决策函数是一个结构风险最小化的函数:
这个函数中:前面是一个损失函数,损失函数里面的f(x)就是最后要求的判别函数;后面是一个结构化的惩处因子。对于SVM分类器来讲就是合页损失函数(Hinge loss)。可是实际上,採用核函数的最小二乘法(Regularized Least Squares(RLS) with Kernels)也能够相同的达到这种效果。于是文章就採用了这个方案来求解这个Function。得到的结果是:
详细的细节后面再说。这里主要说代码的思路。
首先: 读入视频文件,得到groundtruth信息,也就得到了object的位置和大小的信息;然后得到一个在目标框图内目标的分布函数(高斯的分布,这一点我不是非常明确,和公式里面不一样);
接下来: 读入第一张图片,转化为灰度图,对框内的数据进行窗体滤波的处理,得到一个边缘效应比較小的数据。而且这个数据是被归一化到-0.5~05的;
然后:     通过以上数据求得核函数K;然后利用K再求出f(x)须要用到的 alpha(就是上面公式里面的c);(值得注意的是这里对于这两个重要的參数的求解都是从Fourier
 Domain求得的,这里是本文的一个创新点,也是速度如此快的原因)
接下来: 对于后面的每一帧图像, 先转化为灰度图像,然后用hann窗预处理好输入的数据;接下来结合上一帧图像的信息再次计算K;然后由如今的alpha和K来计算出响应值,选出响应值最大的位置。(值得注意的是这里计算的出来的响应值是待处理的Frame里面的每个可能的目标区域)
最后: 依据响应值最大的位置来计算如今的K,然后更新alpha。然后处理下一帧图像。(同一时候也要看到,计算响应值和更新alpha所用到的K的计算的方式是不一样的。代码里面,计算响应值的K是目标和待检測的目标img进行卷积的,而更新的时候是目标和自己卷积的)
存在的问题(慢慢的解决掉):
1. alpha里面的Y究竟是什么?依照原来的公式应该是标签的,但终于怎么成了一个高斯的分布?(好像有点懂了,由于他不是像别人那样直接给目标标签定为1或者是0,而是一个确信度,难道这就是回归的思想 O(∩_∩)O哈哈~)
1' 一直没有对alpha里面的y进行更新的原因?(事实上和位置无关,仅仅和框的大小有关,有木有发现!)
2. 为什么这就代表了一个image里面全部的块和这个的响应值勒?
3. 加hann窗对数据处理的原因?
iker Cross
2014.10.17
目标跟踪系列十一:Exploiting the Circulant Structure of Tracking-by-detection with Kernels代码思路的更多相关文章
- Exploiting the Circulant Structure of Tracking-by-Detection with Kernels(二)
		
之前给导师汇报时,主要是论文涉及公式的一些推导
 - 目标跟踪之ECO:Efficient Convolution Operators for Tracking
		
一. 相关滤波算法总结 作者首先分析了 影响相关滤波算法效率 和 导致过拟合 的几个原因: 1)Model Size (模型大小) 包括两个方面: - 模型层数,对应多分辨率 Sample,比如多层 ...
 - 挑战目标跟踪算法极限,SiamRPN系列算法解读
		
商汤科技智能视频团队首次开源其目标跟踪研究平台 PySOT.PySOT 包含了商汤科技 SiamRPN 系列算法,以及刚被 CVPR2019 收录为 Oral 的 SiamRPN++.此篇文章将解读目 ...
 - KCF目标跟踪方法分析与总结
		
KCF目标跟踪方法分析与总结 correlation filter Kernelized correlation filter tracking 读"J. F. Henriques, R. ...
 - 目标跟踪之相关滤波:CF及后续改进篇
		
一. 何为相关滤波? Correlation Filter 最早应用于信号处理,用来描述两个信号之间的相关性,或者说相似性(有点像早期的概率密度),先来看定义: 对于两个数据 f 和 g,则两个信号的 ...
 - [AI开发]目标跟踪之行为分析
		
基于视频结构化的应用中,目标在经过跟踪算法后,会得到一个唯一标识和它对应的运动轨迹,利用这两个数据我们可以做一些后续工作:测速(交通类应用场景).计数(交通类应用场景.安防类应用场景)以及行为检测(交 ...
 - 目标跟踪_MeanShift
		
找到一些关于目标跟踪的资料 http://blog.csdn.net/jinshengtao/article/details/30258833 http://blog.sina.com.cn/s/bl ...
 - TLD目标跟踪算法
		
1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...
 - 目标跟踪之Lukas-Kanade光流法
		
转载自:http://blog.csdn.net/u014568921/article/details/46638557 光流是图像亮度的运动信息描述.光流法计算最初是由Horn和Schunck于19 ...
 
随机推荐
- POJ 1459 最大流 第二题
			
http://poj.org/problem?id=1459 也是网络流的基础,只是虚拟出一个源点和终点,对应的生产值和消费值就加到与源点和终点的边上,然后做一次bfs就好了. #include &l ...
 - SQL函数-stuff()
			
select stuff(列名,开始位置,长度,替代字符串) 用于删除指定长度的字符串,并可以在指定长度的地方插入新的字符: 在指定长度的地方添加新的字符
 - Codeforces Round #240 (Div. 2) 题解
			
A: 1分钟题,往后扫一遍 int a[MAXN]; int vis[MAXN]; int main(){ int n,m; cin>>n>>m; MEM(vis,); ; i ...
 - BZOJ3569: DZY Loves Chinese II(线性基构造)
			
Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以修能. 遂降临于OI界,欲以神力而凌♂辱众生. 今Dzy有一魞歄图, ...
 - 在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试
			
原文:在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布, ...
 - P2P进入整顿期,平衡风险和收益之间的矛盾是关键
			
毫无疑问,P2P网贷进入了其诞生以来最为关键的整顿期,随着大量提现困难.跑路的P2P平台被曝光之后.行业对P2P网贷的发展也多了几分慎重.少了几分浮躁.只是,P2P网贷所面临的问题正是其它不论 ...
 - RvmTranslator6.5 is released
			
RvmTranslator6.5 is released eryar@163.com RvmTranslator can translate the RVM file exported by AVEV ...
 - Eclipse上开发IBM Bluemix应用程序
			
林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要解说了怎样使用安装EclipseIBM Bluemix插件.并在Eclipse ...
 - 将Firefox设置为使用远程DNS
			
将Firefox设置为使用远程DNS 原文 https://www.my-proxy.com/blog/firefox-remote-dns 测试当前在用DNS https: ...
 - Docker+Jenkins持续集成
			
Docker+Jenkins持续集成 使用etcd+confd实现容器服务注册与发现 前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇 ...