TLD跟踪算法介绍

TLD跟踪算法介绍

TLD(Tracking-Learning-Detection)是一种长时视频对象跟踪算法,首先要在视频一帧中指明对象位置,Tracking完成在视频的每一帧中跟踪对象;Dtection完成对象外形与轮廓最小化塑造,需要时用来修正跟踪对象; Learning完成对Detection的量化评估,通过机器学习方法来减低与避免Detection再发生类似错误,常用为P-N 专家学习方法,P是负责估算漏检测模型、N是负责虚警率模型估算。以上几个就是TLD算法简单概述。下面是TLD算法的相关细节。

跟踪(Tracking)

长时跟踪算法常见的有两种方法一种是基于移动跟踪,另外一种是基于对象检测,一般来说基于对象检测的算法计算耗时都会比基于跟踪的算法长。跟踪主要是通过算法来预测对象移动,一般来说跟踪需要一个初始化标定,然后就会很快速的计算得到移动对象的平滑轨迹,另外一方面跟踪容易导致每帧之间都会产生累积误差,最终的结果就是导致算法错误而让跟踪对象跑出相机可视范围之内。对象跟踪主要任务是预估对象移动,常见的方法有基于光流、轮廓、关键特征点、人工模型等。常见的对象跟踪方法有两类

  • 基于连续帧的对象移动
  • 模板跟踪,其中模板有可以分为静态与自适应模板两种

检测(Detection)

TLD时候工作的对象检测方法常见的有两种

  • 局部图像特征。基于特征的方法主要是分为如下三个子步骤

基于特征的方法,要求首先知道跟踪对象的几何位置

  • 基于滑动窗口

基于滑动窗口的方法对输入每帧图像进行不同窗口尺寸的扫描,检测每个窗口下覆盖图像区域(Patch)是否包含待检测目标。为了达到实时检测的效果,滑动窗口通常采用级联分类策略与积分图快速计算方法。通常图像中背景窗口数目远远大于对象窗口数目,级联分类器通过不同Stage在早期拒绝超过大多数的背景区域,对剩下的区域(Patch)进行更加深入的特征匹配实现对象分类。基于级联分类器方法都要求离线或者在线的一定数量样本训练,然后才可以使用。

学习(Learning)

可以将跟踪数据分类提供给检测器,用来提供下一帧的跟踪精度,同时还可以重新初始化检测器,从而避免跟踪过程频繁失败的情况发生。学习方法应该满足如下条件

  • 当跟踪失败时候,要处理相应的视频流帧图像
  • 绝对不能在视频帧中没有跟踪对象的情况下降低检测精度
  • 满足实时计算条件

对象学习的方法分为两类

  • 机器学习(Machine Learning)常见的方法有EM、Self-Learning、Co-Training等半监督学习方法。
  • P-N学习(P-N Learning),是一种现在学习方法,目的是提供TLD过程中的检测环节性能,在每帧视频流中,通过估算当前的检测准确率与错误率,然后更新检测器,避免错误的进一步发生。

总结与更多信息

跟TLD关系最密切的一个跟踪算法是Median Flow跟踪算法,而这两个算法的作者拥有同一个作者(Zdenek Kalal),TLD跟踪阶段常见的是基于光流或者Median Flow实现。OpenCV3.1.0在扩展模块中有TLD与Median Flow跟踪算法实现,此外OpenTLD是个开发源代码的c++ TLD算法库,想进一步研究的可以去深入读一下。TLD最适合在跟踪对象被遮挡,不连续出现情况下,进行长时跟踪的应用场合。

本文分享自微信公众号 - OpenCV学堂(CVSCHOOL)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-03-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能

理解卷积

原文作者:Christopher Olah

1.1K140
来自专栏ATYUN订阅号

Python机器学习的练习三:逻辑回归

在这篇文章中,我们将把我们的目标从预测连续值(回归)变成分类两个或更多的离散的储存器(分类),并将其应用到学生入学问题上。假设你是一个大学的管理人员,你想要根据...

61840
来自专栏算法channel

TensorFlow 指标列,嵌入列

一般地,机器学习、深度学习 feed 进来的数据要求为数值型。如果某列取值为字符型,需要做数值转换,今天就来总结下 TensorFlow 中的指标列和嵌入列。

21830
来自专栏AI科技大本营的专栏

干货 | 深度详解ResNet及其六大变体

编译 | 图普科技 本文由图普科技工程师编译自《An Overview of ResNet and its Variants》。 从AlexNet[1]在201...

56860
来自专栏AI科技评论

获奖无数的深度残差学习,清华学霸的又一次No.1 | CVPR2016 最佳论文

图像识别的深度残差学习————联合编译:李尊,陈圳、章敏 摘要 在现有基础下,想要进一步训练更深层次的神经网络是非常困难的。我们提出了一种减轻网络训练负担的残差...

643120
来自专栏张耀琦的专栏

【机器学习入门系列】简介

本文深入浅出地介绍了什么是机器学习以及机器学习所研究的内容与机器学习的三大步骤;并举例深度学习、有监督学习、半监督学习、迁移学习、无监督学习、结构化学习、增强学...

1.4K00
来自专栏数据科学与人工智能

【算法】循环神经网络RNN

小编邀请您,先思考: 1 RNN和LSTM有什么异同? 2 RNN的输入和输出分别是什么? 3 如何用Python实现RNN? 传统的机器学习方法,如SVM、l...

42350
来自专栏wym

模板运算和常见滤波操作

首先我们把所有图像看作矩阵。 模板一般是nxn(n通常是3、5、7、9等很小的奇数)的矩阵。模板运算基本思路:将原图像中某个像素的值,作为它本身灰度值和其相邻...

18420
来自专栏数据科学学习手札

(数据科学学习手札39)RNN与LSTM基础内容详解

  循环神经网络(recurrent neural network,RNN),是一类专门用于处理序列数据(时间序列、文本语句、语音等)的神经网络,尤其是可以处理...

30640
来自专栏IT派

从香农熵到手推KL散度:一文带你纵览机器学习中的信息论

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 信息论是应用数学的一个分支,主要研究的是对一个信号包含信息的多少进行量化。它最初被发明是用来...

37180

扫码关注云+社区

领取腾讯云代金券