目标跟踪算法(目标跟踪算法的发展现状)
目标跟踪算法
一般将目标跟踪分为两个部分:特征提取、目标跟踪算法。
其中提取的目标特征大致可以分为以下几种: 1) 以目标区域的颜色直方图作为特征,颜色特征具有旋转不变性,且不受目标物大小和形状的变化影响,在颜色空间中分布大致相同。
2) 目标的轮廓特征,算法速度较快,并且在目标有小部分遮挡的情况下同样有较好的效果。
扩展资料 目标跟踪的算法大致可以分为以下四种: 1) 均值漂移算法,即meanshift算法,此方法可以通过较少的迭代次数快速找到与目标最相似的位置,效果也挺好的。
但是其不能解决目标的遮挡问题并且不能适应运动目标的的形状和大小变化等。
对其改进的算法有camshift算法,此方法可以适应运动目标的大小形状的改变,具有较好的跟踪效果,但当背景色和目标颜色接近时,容易使目标的区域变大,最终有可能导致目标跟踪丢失。
2) 基于Kalman滤波的目标跟踪,该方法是认为物体的运动模型服从高斯模型,来对目标的运动状态进行预测,然后通过与观察模型进行对比,根据误差来更新运动目标的状态,该算法的精度不是特高。
3) 基于粒子滤波的目标跟踪,每次通过当前的跟踪结果重采样粒子的分布,然后根据粒子的分布对粒子进行扩散,再通过扩散的结果来重新观察目标的状态,最后归一化更新目标的`状态。
此算法的特点是跟踪速度特别快,而且能解决目标的部分遮挡问题,在实际工程应用过程中越来越多的被使用。
4) 基于对运动目标建模的方法。
该方法需要提前通过先验知识知道所跟踪的目标对象是什么,比如车辆、行人、人脸等。
通过对要跟踪的目标进行建模,然后再利用该模型来进行实际的跟踪。
该方法必须提前知道要跟踪的目标对象是什么,然后再去跟踪指定的目标,这是它的局限性,因而其推广性相对比较差。
目标跟踪算法
一般将目标跟踪分为两个部分:特征提取、目标跟踪算法。
其中提取的目标特征大致可以分为以下几种: 1) 以目标区域的颜色直方图作为特征,颜色特征具有旋转不变性,且不受目标物大小和形状的变化影响,在颜色空间中分布大致相同。
2) 目标的轮廓特征,算法速度较快,并且在目标有小部分遮挡的情况下同样有较好的效果。
扩展资料 目标跟踪的算法大致可以分为以下四种: 1) 均值漂移算法,即meanshift算法,此方法可以通过较少的迭代次数快速找到与目标最相似的位置,效果也挺好的。
但是其不能解决目标的遮挡问题并且不能适应运动目标的的形状和大小变化等。
对其改进的算法有camshift算法,此方法可以适应运动目标的大小形状的改变,具有较好的跟踪效果,但当背景色和目标颜色接近时,容易使目标的区域变大,最终有可能导致目标跟踪丢失。
2) 基于Kalman滤波的目标跟踪,该方法是认为物体的运动模型服从高斯模型,来对目标的运动状态进行预测,然后通过与观察模型进行对比,根据误差来更新运动目标的状态,该算法的精度不是特高。
3) 基于粒子滤波的目标跟踪,每次通过当前的跟踪结果重采样粒子的分布,然后根据粒子的分布对粒子进行扩散,再通过扩散的结果来重新观察目标的状态,最后归一化更新目标的`状态。
此算法的特点是跟踪速度特别快,而且能解决目标的部分遮挡问题,在实际工程应用过程中越来越多的被使用。
4) 基于对运动目标建模的方法。
该方法需要提前通过先验知识知道所跟踪的目标对象是什么,比如车辆、行人、人脸等。
通过对要跟踪的目标进行建模,然后再利用该模型来进行实际的跟踪。
该方法必须提前知道要跟踪的目标对象是什么,然后再去跟踪指定的目标,这是它的局限性,因而其推广性相对比较差。
自动跟踪的跟踪技术
自动跟踪信息处理由简单处理向图像信息处理方向发展,由点跟踪向点跟踪和图像处理技术相结合方向发展,充分利用目标图像信息,提高抗干扰性能。
电视跟踪器产生多个窗口,能同时跟踪视场内数字目标。
多目标跟踪采用先求出各个目标中心,然后求出多个目标中心形成多边形的中心进行跟踪,也能由人工指定需要的某个目标进行自动跟踪。
计算机视觉中,目前有哪些经典的目标跟踪算法
跟踪是一个很混乱的方向。
比如TLD、CT、Struct这些效果不错的Tracker其实都不是单纯的Tracker了。
09年的时候我记得比较流行的是Particle Filtering, 或者一些MeanShift/
CamShift的变形,比如特征变了,比如对问题的假设变了。
后来突然出现一些tracking by detection的方法,之前的很多朋友就觉得这是耍流氓。
比如TLD,严格的跟踪算法也许只是里面的Forward/
Backward Opitcal Flow的部分,但是效果很Impressive,所以不管怎样,一下就火了。
之后所谓的跟踪就不再是一个传统的跟踪问题,而是一个综合的工程问题。
online learning,random projection ,sparse learning的东西都加进来,大家其实到底是在做跟踪还是在做检测或者online learning,其实已经不重要,因为衡量的标准是你在某些public dataset上的精度。
但这些对实际的项目有没有帮助呢?这是个很有意思的地方,在很多时候,我们之所以需要跟踪算法,是因为我们的检测算法很慢,跟踪很快。
基本上当前排名前几的跟踪算法都很难用在这样的情况下,因为你实际的速度已经太慢了,比如TLD,CT,还有Struct,如果目标超过十个,基本上就炸了。
况且还有些跟踪算法自己drift掉了也不知道,比如第一版本的CT是无法处理drift的问题的,TLD是可以的,究其原因还是因为检测算法比较鲁棒啊……实际中我觉得速度极快,实现也简单的纯跟踪算法居然是NCC和Overlap。
NCC很简单,这个是对点进行的,对于区域也有很多变种,网上有一些相关的资源。
Overlap是我取的名字,一般用在视频里面,假如你的摄像头是静止的,背景建模之后出来的前景可以是一个一个的blob,对相邻两帧的blob检测是否Overlap就可以得到track。
在一些真实场景下,这个算法是非常有效的。
关于背景template的问题在真实的视频里面也是很好解决的。
坐在电脑前面调试代码tuning 各种阈值让跟踪算法在某一个视频帧下面不要drift的事情我是再也不想干了。
顺祝你2015幸福快乐。
计算机视觉中,目前有哪些经典的目标跟踪算法
貌似有人把跟踪(tracking)和计算机视觉中的目标跟踪搞混了。
前者更偏向数学,是对状态空间在时间上的变化进行建模,并对下一时刻的状态进行预测的算法。
例如卡尔曼滤波,粒子滤波等。
后者则偏向应用,给定视频中第一帧的某个物体的框,由算法给出后续帧中该物体的位置。
最初是为了解决检测算法速度较慢的问题,后来慢慢自成一系。
因为变成了应用问题,所以算法更加复杂,通常由好几个模块组成,其中也包括数学上的tracking算法,还有提取特征,在线分类器等步骤。
在自成一系之后,目标跟踪实际上就变成了利用之前几帧的物体状态(旋转角度,尺度),对下一帧的物体检测进行约束(剪枝)的问题了。
没错,它又变回物体检测算法了,但却人为地把首帧得到目标框的那步剥离出来。
在各界都在努力建立end-to-end系统的时候,目标跟踪却只去研究一个子问题,选择性无视"
第一帧的框是怎么来的"
的问题。
我想,目标跟踪的下一步应该是成为目标检测的一步,充分利用物体特性,建成一个视频中目标检测的大系统,而不是自成体系,只在自己的小圈子里做研究。
答主并非是做目标跟踪方向研究的,但导师在博士期间是做的这个方向,因此也跟着有所涉猎。
先匿了,如果有说的不对的地方,还请指正。