目标跟踪学习系列十: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还没有问题,高一点版本的都还行,只是你要换掉里面的附加库等等(这个就是一般的opencv的工程的基本操作)。

但是Eigen如果使用的是高版本的代码就有问题了。

出现这样的错误:fatal error C1189: #error :  The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved
to Eigen/Core.  我的做法是找到代码的位置,将这句话注释掉。就是这一段:

#ifndef EIGEN2_SUPPORT

#error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.

#endif

另外还有一个 M_pi的定义问题,自己也在前面定义一下就行了。

同时还有一个 cwise().min(x2).sum()也会出错。改成.cwiseMin(x2).sum();就行了。

好了这样调整一下就可以了。但是我没有实验的数据有的话给个链接吧!哈哈,希望可以帮到你!

iker Cross

2014. 10. 15

时间: 2024-10-11 22:13:31

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

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(2011 ICCV)

看来人机交互不是我想象的那么简单的,还是要花很多的功夫来打基础的.于是再来学习Tracking相关的一些文章算法. 在认真的学习了压缩跟踪(CT)以后,确实觉得自己对Tracking有了比较好的了解.但是看了在测试集上面的效果,被欺骗了原来CT的效果在真实的摄像头上面是很差劲的.唯一的优点就是快. 因此,还得回来学习一些其他的精度比较高的方法!这里选择了Struck.是大牛学长推荐的.同时本文使用了非线性的SVM算法,也想顺便的学习一下. 文章代码的位置:http://www.samhare.n

目标跟踪学习系列九: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为要

目标跟踪学习笔记2

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

Castle学习系列(十)---Windsor框架类注册

上篇已经学习了Windsor的快速入门,框架的配置只需要两步,本篇学习下这个两步配置针对特定场景的自定义的配置,我只学习了代码的配置,对于XML的配置可以参考官方文档http://docs.castleproject.org/Windsor.XML-Registration-Reference.ashx.   安装的配置 安装的配置比较简单,无非是寻找安装类,并执行安装并获取容器,所有的安装类都需要继承自IWindsorInstaller,此接口规定了方法如下: void Install(IWi

Quartz.NET学习系列(十二)--- Quartz.NET集群

Quartz.NET提供了集群的配置,这个集群并不能达到负载均衡的效果,而仅仅提供了故障转移的功能,主要场景是:两个节点的Quartz.NET任务服务器同时连接到另一个节点的数据库服务器,当一个任务服务器宕机时,另一个任务服务器会启动. 集群的主要配置如下: properties["quartz.jobStore.clustered"] = "true"; 总的代码如下: [PersistJobDataAfterExecution] [DisallowConcurr

MVC3+EF4.1学习系列(十)----MVC+EF处理树形结构

通过前几篇文章 我们处理了 一对一, 一对多,多对多关系 很好的发挥了ORM框架的做用 但是 少说了一种 树形结构的处理, 而这种树形关系 我们也经常遇到,常见的N级类别的处理, 以及经常有数据与类别挂钩.今天主要写下EF处理树形结构以及 MVC如何展示树形结构. 前面几篇的例子 一直用的是一个例子,内容是连贯的.这篇是完全单独的~ 先来说下工作中会遇到的常见场景 针对这几个场景来处理~ 1.类别 a.类别可以有无限级别 b.类别的最末端 不确定是第几级 某个节点 可以到二级 其他的节点 有可能