TLD跟踪算法介绍

article/2025/9/22 4:39:21

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

TLD跟踪算法介绍

41fee61faff5e57e207c722490397efd.png

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

跟踪(Tracking)

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

  • 基于连续帧的对象移动

  • 模板跟踪,其中模板有可以分为静态与自适应模板两种

检测(Detection)

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

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

    930266ef3da12d15504259b4baf20ece.png

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

  • 基于滑动窗口

基于滑动窗口的方法对输入每帧图像进行不同窗口尺寸的扫描,检测每个窗口下覆盖图像区域(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最适合在跟踪对象被遮挡,不连续出现情况下,进行长时跟踪的应用场合。

下载1:OpenCV-Contrib扩展模块中文版教程在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。交流群欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

http://chatgpt.dhexx.cn/article/ZRwW12FM.shtml

相关文章

TLD之学习篇(四)

TLD之学习篇(四) TLD之扯淡篇(一)、 TLD之检测篇(二) 、 TLD之跟踪篇(三) 这一部分是TLD算法的核心之处,有了前面两篇的铺垫,终于可以毫无顾忌的说说这一部分…

TLD简单配置

TLD的C配置 首先声明debug速度太慢,换成release,具有实时性。 Opencv版本 3.4.1 这里我们随机下载的版本,使用的arthurv版本 链接 后面我也会免费上传一份 操作步骤 新建vs工程项目 将src文件和include文件拷贝进项目中, 修改run_tld.cp…

TLD

http://blog.csdn.net/carson2005/article/details/7647500 TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传…

TLD(0)

一、TLD简介以及资源 其实TLD早在去年我就有听说了,之后看了一些视频,感觉很厉害哦。视频如下: 原作者演示的视频:http://www.tudou.com/programs/view/lQ3hPWFSefw/?resourceId0_03_05_03 其他人做得视频: http://v…

TLD之跟踪篇(三)

TLD之跟踪篇(三) TLD之扯淡篇(一)、 TLD之检测篇(二) 、 TLD之学习篇(四) 目标跟踪的一般思想是跟踪目标中关键点。TLD也是跟踪点(但不是跟踪SIFT之类的关键点&#xff0…

项目中tld文件使用

原理及作用: TLD术语解释:标签库描述文件,如要在JSP页面中实现JSP标签,必须首先定义实现标签的类,然后在标签库描述文件(TLD)中 将写好的类映射成JSP标签,最后在JSP文件中使用定义好的标签&a…

什么是.tld文件

TLD术语解释:标签库描述文件. 如要在JSP页面中实现JSP标签,必须首先定义实现标签的类,然后在…

Tracking-Learning-Detection原理分析

转自http://johnhany.net/2014/05/tld-the-theory/ Tracking-Learning-Detection(TLD)是Zdenek Kalal提出的一种对视频中单个物体长时间跟踪的算法。我主要会根据他在2010年发表的论文《Tracking-Learning-Detection》来分析TLD算法的原理。该项目的首页…

TLD算法简介

TLD算法简介 TLD(Tracking-Learning-Detection)是 Zdenek Kalal 等人于 2009 至2012 年期间提出的单目标、长时间图像跟踪算法。与传统的单一跟踪算法相比,TLD 跟踪算法融合了跟踪器、检测器和学习模块三个部分,既能够对连续运动目…

行列式的逆序数定义

行列式的逆序数定义是一个直接定义,但并不直观。在实际计算中很少直接使用。因为计算逆序数的时间复杂度总是O(N^2), 总的时间复杂度确实O(n!), 所以计算机也不是用这个算法来计算的。 这个定义的好处是可以看清行列式的大概结构,用于定性计算&#xff0…

ACM 逆序对(逆序数)总结

最近做题遇到几次逆序数了,今天总结一下,以后遇到了再也不怕了。 首先说明一下什么是逆序数,下面是百度的定义: 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么…

排列的逆序数

百度百科: 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。也就是说,对于n个不同的元素,先规定各元素之…

逆序数算法

原题 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序…

C语言计算逆序数

从键盘任意输入一个3为整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由其百位1、十位2、个位3,然后计算3*1002*101 321,并输出321。 输入格式要…

迁移率随载流子浓度变化

载流子迁移率随载流子浓度变化,弱场下几乎保持恒定,然而随着载流子浓度变大,迁移率开始下降 从上面的公式可以得出,在浓度很小的时候,迁移率保持在最大值,当浓度比参考浓度大很多的时候,迁移率…

半导体器件物理 2022.10.13

漂移电流由两部分组成 扩散电流 扩散电流漂移电流就是总的电流,在实际问题中漂移电流远远大于扩散电流 空间电荷限制电流,对于本征半导体和一些绝缘体里面的电流,我们的作业 我们首先忽略我们的扩散电流,只考虑扩散电流 电流密度…

半导体材料参数介绍-很有用

上期文章我们最后提到了半导体参数,之所以专门挑一篇文章来说,因为它确实比较重要,可以让我们明白当前各种半导体材料的优势与劣势的原因。 不仅如此,还可以让我们明白一些东西,特别是二极管和三极管的一些特性。 其实…

silvaco-mobility models(1)

1.前一阶段的问题 大概接触了一段时间的silvaco,根据《InP基PIN开关二极管结构设计与制备》这篇文章提供的结构和一些简单的参数进行仿真。因为已经工作,没有老师在自己摸索,学习期间看到很多人写的心得或理解,或多或少都对我有所…

研究蛋白和DNA的相互作用—EMSA(凝胶迁移或电泳迁移率实验),可用于DAP-seq后续验证

技术简介 凝胶迁移或电泳迁移率实验(EMSA,Electrophoretic Mobility Shift Assay)是研究DNA结合蛋白和其相关的DNA结合序列相互作用的技术,可用于定性和定量分析。可用于DAP-seq后续验证实验。 EMSA实验,基于生物素标记探针与对应…

网络迁移学习率调整思路

在将HRNet从PyTorch框架向MindSpore迁移的过程中,由于初始学习率的选择不好,导致了最终精度没有达到预期要求。 文末有总结。 具体实验过程如下: 实验过程 优化器:SGD 初始学习率:0.01 学习率调整策略:p…