目标跟踪学习系列八:Struck:Structured Output Tracking with Kernels(2011 ICCV)

看来人机交互不是我想象的那么简单的,还是要花很多的功夫来打基础的。于是再来学习Tracking相关的一些文章算法。

在认真的学习了压缩跟踪(CT)以后,确实觉得自己对Tracking有了比较好的了解。但是看了在测试集上面的效果,被欺骗了原来CT的效果在真实的摄像头上面是很差劲的。唯一的优点就是快。

因此,还得回来学习一些其他的精度比较高的方法!这里选择了Struck。是大牛学长推荐的。同时本文使用了非线性的SVM算法,也想顺便的学习一下。

文章代码的位置:http://www.samhare.net/research  表示我还没进去,但是我找到了其他地方的。

总体的说一下这篇论文的创新点:

1. 采用分类较准确的SVM分类,效果应该会比贝叶斯,adaboost好;但速度方面应该不行(我们可以在这个方面改进);

2. 没有直接输出预测的标签,而是输出object的各种transformations。然后从中选出最好的变换;

3. 对于训练的样本不是采用CT一类的离object很近的就是正,很远就是负。而是计算overlap,大于某个阈值的认定为正样本,小于某个阈值的认为是负样本。而在这个中间的标签认为是0;

4.使用高斯核函数;

5. 支持向量(support vector)的个数有限制。那种对权重影响最小的support vector就丢掉。

这篇论文的细节我还要对照论文代码在看一下,希望通过这篇论文能够让我知道精度比较高的Tracking的基本的处理方式是什么。最好是让我可以在现在我熟悉的框架里面去修改。另一个方面,能够让我知道SVM在CV里面是怎么用的。

再者,我最终的目标不变,我要做人机交互!欢迎共同探讨!

iker不断的更新。

时间: 2024-10-01 02:21:12

目标跟踪学习系列八:Struck:Structured Output Tracking with Kernels(2011 ICCV)的相关文章

Struck: Structrued Output Tracking with Kernels 论文笔记

Main idear Treat the tracking problem as a classification task and use online learning techniques to update the object model Main Innovative Points 1 Based on structured output prediction (Structured SVM), in which the task is directly predict the ch

目标跟踪学习系列十:Struck:Structured Output Tracking with Kernels 代码调试

本来想看完代码再详细的写的.但是有人问了就先贴出来吧!代码调试中会遇到的一些的问题. 首先,你没有代码的话可以在这里下载:http://download.csdn.net/detail/u012192662/8042147 然后需要安装opencv(我想如果你是做这个应该有的):Eigen;http://download.csdn.net/detail/u012192662/8042155 作者的代码使用的是 OpenCV v2.1 and Eigen v2.0.15.opencv还没有问题,高

目标跟踪学习系列九:Struck:Structured Output Tracking with Kernels头文件代码框架

我们先来看一下整个的头文件的构成: 其中: config.h :   配置头文件,里面定义了一个类:class Config.主要定义的是特征的类型,核函数的类型等等. Features.h:定义了一个Class Features .里面定义了int 型的m_featureCount//特征计数Eigen::VectorXd m_featVec 存储特征的向量.其中使用了inline内联函数(inline 说明这个函数是内联的,在编译过程中内联函数会直接被源代码替换,提高执行效率 如果类中的某个

目标跟踪学习笔记1

首先提供几篇关于粒子滤波算法的博客:http://www.cnblogs.com/yangyangcv/archive/2010/05/23/1742263.html 这篇博客比较通俗易懂,简单的介绍了粒子滤波的基本工作思想和步骤.http://www.cnblogs.com/lwbaptx/archive/2011/10/20/2218419.html这篇博客用的是opencv1.0,实现的功能是用粒子滤波跟踪鼠标轨迹,有视频演示,效果还不错.http://blog.csdn.net/yang

目标跟踪学习笔记_1(opencv中meanshift和camshift例子的应用)

在这一节中,主要讲目标跟踪的一个重要的算法Camshift,因为它是连续自使用的meanShift,所以这2个函数opencv中都有,且都很重要.为了让大家先达到一个感性认识.这节主要是看懂和运行opencv中给的sample并稍加修改. Camshift函数的原型为:RotatedRect CamShift(InputArray probImage, Rect& window, TermCriteria criteria). 其中probImage为输入图像直方图的反向投影图,window为要

Linux学习系列八:操作网口

一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在Linux下网口是一个经常使用的接口,由于Linux具备成熟完备的网络通信协议栈,底层驱动厂家也都提供好了,所以使用起来相对方便的多.本篇对Linux下网口使用做个简单总结,希望对大家有所帮助. 内容主要包括使用buildroot来是实现ssh功能,UDP通信的例子,以及实际中容易犯的一个错误. 原

目标跟踪学习笔记2

上次已经初步体验了下particle filter,直接用别人的代码,见我前面的博文http://www.cnblogs.com/tornadomeet/archive/2012/03/18/2404817.html 一开始是内存出错,后面干脆自己学了下particle filter滤波的原理,把代码认真看了一遍,然后自己从头敲了遍代码,虽然运行时不再出现内存溢出等bug,但是没有跟踪效果. 这次的代码和上次一样,有跟踪效果,不过不理想.依旧是参照博主:http://blog.csdn.net/

Angular学习系列八:调用服务方法

1:创建服务:ng g service services/request 2:使用rxjs就需要在service 中引用: import { Observable } from 'rxjs'; 3:在组件中引用服务: import { RequestService } from '../../services/request.service'; constructor(public req: RequestService) 4:学习目标:调用服务方法,使用回调方法获取服务方法,使用异步promi

MVC3+EF4.1学习系列(八)-----利用Repository and Unit of Work重构项目

项目最基础的东西已经结束了,但是现在我们的项目还不健全  不利于测试 重复性代码多   层与层之间耦合性高  不利于扩展等问题.今天的这章 主要就是解决这些问题的.再解决这些问题时,自己也产生了很多疑问,理解的也并不是很透彻 ,希望我的疑问能在这里得到解答~~ 一.模式介绍 1.Repository 在<企业架构模式>中,通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调.还有请大家参考这个  P OF EAA详细介绍 然后说下我对这个的感觉和疑问   怎么都觉得这个Re