把OpenCV上的光流法,meanshift和camshift算法等看完学习之后,突然间想去查查文献,看看现在关于目标跟踪的一些主流算法,下面就简单的总结下。
运动目标跟踪就是在一段视频序列图像中的每幅图像中实时的找到所感兴趣的运动目标。在目标跟踪的研究上,大致上可以看出有两种研究思路:
a.不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标;
b.依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标。
围绕这样的两种思路,学者们提出了很多算法,但是在算法的鲁棒性、准确性和普适性还不是特别的理想。运动目标跟踪的难点主要在于:
a.复杂背景干扰:在对目标进行跟踪时,往往会受到许多不同的背景的干扰。比如纹理复杂的背景可能会使基于边缘的跟踪器失效;或者是背景中与目标颜色相似的物体可能使基于颜色的跟踪器偏离真正的目标。
b.目标外观的变化:视频目标跟踪通常是在非控制条件下进行的,许多因素都会导致目标外观的变化,比如:光照变化,目标的形变等,因此要想对目标进行长时间的跟踪,就需要合理的处理这些变化,同时能够针对这些变化提出有效的观测似然函数,这个难度就很大。
c.遮挡问题:被跟踪的目标在运动过程中可能会被其他物体部分遮挡或全部遮挡,如何解决遮挡问题,这部分的研究一直是视频跟踪领域的研究的热点之一。
d.计算的有效性:视频跟踪是以帧速率进行的,这必然涉及到对大量的图像数据进行处理,要想进行实时处理,也要面临很大的数据处理问题。
对于不依赖先验知识的目标跟踪来讲,运动检测是实现跟踪的第一步。运动检测即为从序列图像中将变化区域从背景图像中提取出来。运动目标检测根据目标和摄像机之间的关系,可以分为静态背景下运动检测和动态背景下运动检测。下面简单的罗列下,如果感兴趣的话,可以查阅相关文献对照。
静态背景
1.背景差分法
2.帧间差分法
3.光流法
动态背景跟踪
1.基于区域的跟踪算法
2.基于特征的跟踪算法
3.基于轮廓的跟踪算法
上面就是大致的写了下算法分类的标准,其实这部分的算法有很多,都有特定的适用条件,我还在看相关的文献。