TLD目标跟踪算法

1. 简介

TLD目标跟踪算法是Tracking-Learning-Detection算法的简称。这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出。TLD将传统的视频跟踪算法的跟踪模块(Tracker)与检测模块(Detector)结合起来,同时加入了学习(Learning)的过程,使得跟踪的效果更佳稳定、可靠。目前算法作者Zdenek Kalal已经拿着这个算法开了公司,最新的版本已经更新到TLD 2.1。在github上作者给出了TLD源码的1.0版本。作者的开源代码是基于matlab的,也有人给出了c++实现,但是运行速度非常慢。

什么是跟踪模块(Tracker)与检测模块(Detector)呢?说白了,Tracker就是根据目标物体在视频流前面的帧中的位置,来预测其在当前帧中的位置;Detector就是在当前帧中根据目标物体的先验信息(形状色彩/灰度、各种特征等),来检测目标物体在当前帧中的位置。作者在2011年发表的文章中Tracker使用的是median flow tracker,detector则是一个级联分类器。对于当前帧i,通过Integrator将tracker与detector的输出结果进行判断整合,最终输出一个目标物体的位置,或者目标物体在i中不存在。TLD算法的突破在于其Learning模块,在不断预测的过程中不断更新正、负样本库,用于后续帧中目标物体的位置检测。

Zdenek Kalal自己录制了TLD算法的演示视频,效果很赞。在成功编译TLD源码并在一些视频跟踪的数据库中运行后发现TLD的跟踪效果确实很不错,并实现了实时跟踪。

 

2. 源码编译

编译环境: win7 64 bit, matlab2014b, visual studio 2012 64bit compiler,  opencv2.4.11

编译过程参考作者源码的wiki

若遇到问题有可能是下面几种情况:

  a. opencv环境变量的设置问题

  --solution:系统环境变量PATH中添加 C:\opencv2.4.11\opencv\build\x64\vc12\bin (设置为自己opencv的安装路径,注销计算机使得环境变量生效)

  b. compile.m中libpath与include的配置问题  

  --solution:配置参考下面的图片(注意libpath与include最后一定要添加反斜杠!)

  

  c. 提示没有FSPECIAL函数  

  --solution:更改为fspecial

 

3. TLD算法流程图:

转载于:https://www.cnblogs.com/universe42/p/4498061.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值