TLD视觉跟踪算法(转)
TLD算法好牛逼一个,这里有个视频,是作者展示算法的效果,http://www.56.com/u83/v_NTk3Mzc1NTI.html。下面这个csdn博客里有人做的相关总结,感觉挺好的,收藏了!下面有个Compressive Tracking的网址,提供的代码很少,但实时性很好,matlab代码下下来就能用。
以下博文转自:http://blog.csdn.net/windtalkersm/article/details/8018980
TLD是一种算法的简称,原作者把它叫做Tracking-Learning-Detection。搞视觉的人看到这个名字都会吓一跳,很ambitious的计划。是09年的工作,不算太久,不过也不太新。网上关于这个的资源其实很多,很大程度和作者开放源代码有关。
学习过程中碰到的第一个问题就是资源太多---当然是相对这个领域而言,一般能找到一个忠实再现算法的源码就已经很好了。所以把找到的list一下,虽然有点浪费时间,希望可以对其他人有所帮助。具体的细节就不多说了,有很多很棒的分析也列在下面,比如zouxy09写的源码注释,实在不能再详细了。如果硬要找茬,那就是大段的文字让人头晕,也没怎么排版。我倒想画几个简单的图补充一下,不知有什么好点的画图程序推荐(latex, or GNUPlot?没用过)
源代码资源:
1. 原作者 Zdenek Kalal
作者主页: http://info.ee.surrey.ac.uk/Personal/Z.Kalal/
源代码页: https://github.com/zk00006/OpenTLD
编程语言:Matlab + C
2. Alan Torres版
源代码页:https://github.com/alantrrs/OpenTLD
实现语言:C++
3. arthurv版
源代码页:https://github.com/arthurv/OpenTLD
实现语言:C++
注:和上面的没有发现任何区别
4. jmfs版
源代码页:https://github.com/jmfs/OpenTLD
实现语言:C++
注:和上面两个没有区别,只不过加入了VS2010工程文件,理论上可以直接在Windows下编译通过。不过opencv检测不到作者的webcam(!!!),所以他用了另一个VideoInput类来handle摄像头输入。
- This is an adaptation of arthurv's fork of OpenTLD (https://github.com/arthurv/OpenTLD) to be immeadiately runnable in Visual Studio 2010.
5. Georg Nebehay版 (终于有个不一样的了。。。。)
源代码页:http://gnebehay.github.com/OpenTLD/
注1:这个的好处是提供可执行文件下载(Ubuntu 10.04和Windows)。BUT, as you would expect,基本上到了你的机器上都跑不了。还是自己老老实实build吧。
注2:这个版本需要安装Qt。不过好像作者关掉了Qt的选项(相关代码还在),所以可以编译,但无法显示结果
注3:CSDN下载上有个“openTLD Qt 版“,就是这个版本。不过加了VS的工程文件---在我的机器上还是不能PnP, don't bother
http://download.csdn.net/download/muzi198783/4111915
6. Paul Nader版(又一个Qt 版!)
QOpenTLD: http://qopentld.sourceforge.net/
源代码页: http://sourceforge.net/projects/qopentld/
注1:需要OpenCV和Qt。 原系统要求Qt 4.3.7OpenCV 2.2。
注2:Windows和Linux下都提供了编译工程或makefile。估计也是唯一一个移植到Android平台下的TLD!
7. Ben Pryke版(又一个student project!)
源代码页:https://github.com/Ninjakannon/BPTLD
注:依然是Matlab+C/C++的混合实现。亮点是有很详细的Documentation(8页),介绍了算法的理解和实现细节。可以帮助理解原算法
博客资源(中文):
1. 庖丁解牛TLD (yang_xian521)
http://blog.csdn.net/yang_xian521/article/details/6952870
注1:从文章看作者是基于原作者的matlab版分析的。从函数名看上面的2/3/4应该是matlab--->C++的"直译",函数名都没变。这样最好,可以和下面的对照着看,同时学matlab和C++
2. TLD(Tracking-Learning-Detection)学习与源码理解 (zouxy09)
http://blog.csdn.net/zouxy09/article/details/7893011
注1:用的是<<arthurv版>>,前面说过,不能再详细了!
注2: 下面三个是从这篇copy的
3. 《再谈PN学习》:
http://blog.csdn.net/carson2005/article/details/7647519
4. 《比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍》
http://blog.csdn.net/carson2005/article/details/7647500
5. 《TLD视觉跟踪技术解析》
http://www.asmag.com.cn/number/n-50168.shtml
想说的话:
1. 分享:前段时间把 TLD::init(...)看完了,本想一鼓作气,其他的事太多只好放下。不过我对detection和tracking比较熟,init中已经把learning作了一遍,看懂了剩下的就容易了。现在重新捡起,无意中发现了zouxy09的注释,省了太多力气,半天就看完了。很多细节不用自己去抠--- 我们常抱怨这资源那文档太少,羡慕老外能力强,动作快,和他们愿意分享关系太大。经常看到一些不错的文章收藏起来,过几天去看居然删了!
可以理解可能是开公司要保密,但如果害怕别人知道了自己的思路就做不下去,那还是不要在这个领域做了。算法只是思想,谁也垄断不了。算法也一定是不断更新的,抱着一个算法不放也存活不了几年。原作者也基于这个技术开公司了,也没见他们基于这个限制别人使用。SIFT,SURF都patent了也没听说赚了大钱,kinect告诉你算法也实现不了。要保密的是实现细节
2. 比较:终于看完了实现,总的感觉这个算法还是更象工程应用(engineering)而不是理论突破(也不能要求太多了是不是)。感觉这么结合后并不一定会比单个的跟踪(tracking)或检测(detection-by-classification)模块作的更好,毕竟还是没有解决外观(appearence)和尺度(scale)变化这两个根本难题。不过这种框架反而应该在实际中非常实用,因为----------可调的参数太多了!
TLD相信很多人都试过了,实时性很多人都在抱怨,而且拿到自己的视频上总要调些参数效果才好。
比较起来更喜欢今年ECCV上Kaihua Zhang的Compressive Tracking:理论高深的吓人(开玩笑),源码简单的吓人。而且是目前为止我试过的off-the-shelf的tracker中跟踪效果最好的,不用调任何参数,绝对实时----代码那么少,想不实时都难吧(顺便说一句作者的blog就在上面提到过)。这才是做研究的方法,有个强大的理论做支撑,实现可以很简单却不会影响效果。所以如果搞数学的人愿意做应用,很多人都会下岗
http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm
另一个PWP(Pixel-Wise Posteriors),publish时间和TLD差不多,性能看上去也很美,不过作者说要开源,一直没有兑现。是个遗憾。个人觉得level set对部分遮挡效果应该很好,做到实时也不是难事
http://www.robots.ox.ac.uk/~cbibby/research_pwp.shtml
3. 总结:TLD其实是一个非常合适的入门和进阶算法:
a. 有理论,有高质量的paper(BMVC, CVPR, ICPR, 最后PAMI)
b. 有源代码!Matlab, C++, Windows, Linux, .....你还想要啥?
c. 有不同大牛小牛分享的详细的介绍和详细的代码注释(几乎每一行都解释到了)!
4. 牵涉面广,涉及到detection, tracking, classifcation,传统的视觉技术就是这么硬梆梆的划分的三大类。研究完了对每一部分多少能有点心得。
The End
楼下评论给的网址也很好啊: http://blog.csdn.net/zouxy09/article/details/7893022
TLD视觉跟踪算法(转)的更多相关文章
- paper 140:TLD视觉跟踪算法(超棒)
我是看了这样的一个视频:http://www.56.com/u83/v_NTk3Mzc1NTI.html 然后在准备针对TLD视觉跟踪算法来个小的总结. 以下博文转自:http://blog.csdn ...
- TLD视觉跟踪算法
TLD算法好牛逼一个,这里有个视频,是作者展示算法的效果,http://www.56.com/u83/v_NTk3Mzc1NTI.html.下面这个csdn博客里有人做的相关总结,感觉挺好的,收藏了! ...
- TLD目标跟踪算法
1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...
- TLD(Tracking-Learning-Detection)一种目标跟踪算法
原文:http://blog.csdn.net/mysniper11/article/details/8726649 视频介绍网址:http://www.cvchina.info/2011/04/05 ...
- 时空上下文视觉跟踪(STC)算法的解读与代码复现(转)
时空上下文视觉跟踪(STC)算法的解读与代码复现 zouxy09@qq.com http://blog.csdn.net/zouxy09 本博文主要是关注一篇视觉跟踪的论文.这篇论文是Kaihua Z ...
- 比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍
转自:http://blog.csdn.net/carson2005/article/details/7647500 TLD(Tracking-Learning-Detection)是英国萨里大学的一 ...
- Video Target Tracking Based on Online Learning—TLD单目标跟踪算法详解
视频目标跟踪问题分析 视频跟踪技术的主要目的是从复杂多变的的背景环境中准确提取相关的目标特征,准确地识别出跟踪目标,并且对目标的位置和姿态等信息精确地定位,为后续目标物体行为分析提供足 ...
- 时空上下文视觉跟踪(STC)算法
论文原文以及Matlab代码下载 算法概述 而STC跟踪算法基于贝叶斯框架,根据跟踪目标与周围区域形成的的时空关系,在图像低阶特征上(如图像灰度和位置)对目标与附近区域进行了统计关系建模.通过计算置信 ...
- 视觉目标跟踪算法——SRDCF算法解读
首先看下MD大神2015年ICCV论文:Martin Danelljan, Gustav Häger, Fahad Khan, Michael Felsberg. "Learning Spa ...
随机推荐
- gameUnity 0.15 beta 网络游戏框架
增加了 换人 和换衣服 ,加入了动画事件.beta版本 0.15测试版本 目前就到此,正式版本 会在7月底 和 0.2版本一起推出.届时,换装系统 将不仅仅是 换装备,而是有 换装后 打怪的体验,更 ...
- java 对象流
TV.java import java.io.*; public class TV implements Serializable{ String name; int price; public vo ...
- HDU 4685 Prince and Princess(二分匹配+强联通分量)
题意:婚配问题,但是题目并不要求输出最大匹配值,而是让我们输出,一个王子可以与哪些王妃婚配而不影响最大匹配值. 解决办法:先求一次最大匹配,如果有两个已经匹配的王妃,喜欢她们两个的有两个或者以上相同的 ...
- rpm命令说明
RPM命令常用参数 RPM的常规使用方法为rpm-?package.rpm,其中-?为操作参数(更多信息,请查阅帮助$manrpm): -q在系统中查询软件或查询指定rpm包的内容信息-i在系统中安装 ...
- 数据的软删除-管理员的CRUD
数据的“软删除”---把数据真正删除在某些时候会有问题.IsDeleted字段,false表示不删除,而是让用户可以看到,true表示是软删除,用户看不到. 一个表引用另外一张表的时候一定要引用主键. ...
- HDU 5534 完全背包
Partial Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)To ...
- MVC3在页面上获取当前控制器名称、Action名称以及路由参数
获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); 获取Action名称: ViewContext.Ro ...
- MC34063+MOSFET扩流 12V-5V 折腾出了高效率电路(转)
源:http://www.amobbs.com/thread-5484710-1-1.html 从网上找到一些MC34063扩流降压电路图,一个个的试,根本达不到我的基本要求,全都延续了34063的降 ...
- PAT (Advanced Level) 1022. Digital Library (30)
简单模拟题. 写的时候注意一些小优化,小心TLE. #include<iostream> #include<cstring> #include<cmath> #in ...
- CodeForces 616B Dinner with Emma
水题 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; +; ...