paper 140:TLD视觉跟踪算法(超棒)

时间:2021-10-10 02:34:31

我是看了这样的一个视频:http://www.56.com/u83/v_NTk3Mzc1NTI.html 然后在准备针对TLD视觉跟踪算法来个小的总结.

以下博文转自: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

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

最后 总结:TLD其实是一个非常合适的入门和进阶算法:

a. 有理论,有高质量的paper(BMVC, CVPR, ICPR, 最后PAMI)

b. 有源代码!Matlab, C++, Windows, Linux, .....你还想要啥?

c. 有不同大牛小牛分享的详细的介绍和详细的代码注释(几乎每一行都解释到了)!

4. 牵涉面广,涉及到detection, tracking, classifcation,传统的视觉技术就是这么硬梆梆的划分的三大类。研究完了对每一部分多少能有点心得。

最后,这是上一位博主写的文章,我也是直接摘过来了,就是希望能得到更多的推广吧,视觉跟踪算法需要更多新鲜的活力注入:http://blog.sina.com.cn/s/blog_6163bdeb0102eh7b.html