zoukankan      html  css  js  c++  java
  • [转]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.11opencvuildx64vc12in (设置为自己opencv的安装路径,注销计算机使得环境变量生效)

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

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

      

      c. 提示没有FSPECIAL函数  

      --solution:更改为fspecial

    3. TLD算法流程图:


    ---------------------
    作者:universe
    来源:CNBLOGS
    原文:https://www.cnblogs.com/universe42/p/4498061.html
    版权声明:本文为作者原创文章,转载请附上博文链接!

  • 相关阅读:
    字符串练习题
    算法题
    readLine()
    grep家族
    java_IO
    集合框架
    常用类
    异常
    Mysql 图形工具 Navicat
    Mysql内置功能《一》流程控制
  • 原文地址:https://www.cnblogs.com/vilogy/p/12893167.html
Copyright © 2011-2022 走看看