关于mean shift视频目标跟踪算法的设计与实现-----中期报告
- 格式:doc
- 大小:64.00 KB
- 文档页数:8
《目标跟踪算法综述》篇一一、引言目标跟踪作为计算机视觉领域中的一项关键技术,近年来在安防、无人驾驶、医疗影像处理等领域得到了广泛的应用。
其目的是通过一系列的图像处理和计算方法,实时准确地检测并跟踪特定目标。
本文将对当前主流的目标跟踪算法进行全面而详细的综述。
二、目标跟踪算法的发展历程早期的目标跟踪算法主要是基于滤波的跟踪算法,如均值漂移法等。
这些算法简单易行,但难以应对复杂多变的场景。
随着计算机技术的进步,基于特征匹配的跟踪算法逐渐兴起,如光流法、特征点匹配法等。
这些算法通过提取目标的特征信息,进行特征匹配以实现跟踪。
近年来,随着深度学习技术的发展,基于深度学习的目标跟踪算法成为了研究热点。
三、目标跟踪算法的主要分类与原理1. 基于滤波的跟踪算法:该类算法主要利用目标在连续帧之间的运动信息进行跟踪。
常见的算法如均值漂移法,通过计算当前帧与模板之间的差异来寻找目标位置。
2. 基于特征匹配的跟踪算法:该类算法通过提取目标的特征信息,在连续帧之间进行特征匹配以实现跟踪。
如光流法,根据相邻帧之间像素运动的光流信息来计算目标的运动轨迹。
3. 基于深度学习的跟踪算法:该类算法利用深度学习技术,通过大量的训练数据学习目标的特征信息,以实现准确的跟踪。
常见的算法如基于孪生网络的跟踪算法,通过学习目标与背景的差异来区分目标。
四、主流目标跟踪算法的优缺点分析1. 优点:基于深度学习的目标跟踪算法能够学习到目标的复杂特征信息,具有较高的准确性和鲁棒性。
同时,随着深度学习技术的发展,该类算法的跟踪性能不断提升。
2. 缺点:深度学习算法需要大量的训练数据和计算资源,且在实时性方面存在一定的挑战。
此外,当目标与背景相似度较高时,容易出现误跟或丢失的情况。
五、目标跟踪算法的应用领域及前景目标跟踪技术在安防、无人驾驶、医疗影像处理等领域具有广泛的应用前景。
例如,在安防领域,可以通过目标跟踪技术实现对可疑目标的实时监控;在无人驾驶领域,可以通过目标跟踪技术实现车辆的自主导航和避障;在医疗影像处理领域,可以通过目标跟踪技术实现对病灶的实时监测和诊断。
视频检测和运动目标跟踪方法总结目前常用的视频检测方法可分为如下几类:光流法,时域差分法,背景消减法,边缘检测法,运动矢量检测法[2]。
一、光流法光流法[1]是一种以灰度梯度基本不变或亮度恒定的约束假设为基础对运动目标进行检测的有效方法。
光流是指图像中灰度模式运动的速度,它是景物中可见的三维速度矢量在成像平面上的投影,表示了景物表面点在图像中位置的瞬时变化,一般情况下,可以认为光流和运动场没有太大区别,因此就可以根据图像运动来估计相对运动。
优点:光流不仅携带了运动目标的运动信息,而且还携带了有关景物三维结构的丰富信息,它能够检测独立运动的对象,不需要预先知道场景的任何信息,并且能够适用于静止背景和运动背景两种环境。
缺点:当目标与背景图像的对比度太小,或图像存在噪音时,单纯地从图像灰度强度出发来探测目标的光流场方法将会导致很高的虚警率。
且计算复杂耗时,需要特殊的硬件支持。
二、时域差分法时域差分法分为帧差法和改进的三帧双差分法。
1.帧差法帧差法[8]是在图像序列中的相邻帧采用基于像素点的时间差分, 然后阈值化来提取出运动区域。
视频流的场景具有连续性,在环境亮度变化不大的情况下,图像中若没有物体运动,帧差值会很小;反之若有物体运动则会引起显著的差值。
优点:时域相邻帧差法算法简单,易于实现,对背景或者光线的缓慢变化不太敏感,具有较强的适应性,能够快速有效地从背景中检测出运动目标。
缺点:它不能完全提取运动目标所有相关像素点,在运动实体内部不容易产生空洞现象。
而且在运动方向上被拉伸,包含了当前帧中由于运动引起的背景显露部分,这样提取的目标信息并不准确。
2.三帧双差分法三帧双差分法与相邻帧差法基本思想类似,但检测运动目标的判决条件上有所不同。
三帧双差分较两帧差分提取的运动目标位置更为准确。
三、背景消减法背景消减法[4]是将当前帧与背景帧相减,用阈值T判断得到当前时刻图像中偏离背景模型值较大的点,若差值大于T则认为是前景点(目标);反之,认为是背景点,从而完整的分割出目标物体。
基于结合Mean-shift的Kalman多运动目标视频车辆检测器算法摘要:传统的车辆检测器算法虽然简单快速,但依然存在许多误触发的问题,在此背景下,本文首先介绍了传统的mean shift跟踪算法和kalman跟踪算法,然后提出了解决多目标跟踪问题的结合mean shift的kalman跟踪算法,最后将此算法和传统的算法进行了实验对比和优缺点的分析。
关键词:mean-shift;kalman;车辆检测器中图分类号:tp291 文献标识码:a 文章编号:1007-9599 (2011) 22-0000-02kalman multiple moving targets video vehicle detector algorithm based on mean-shiftkang nan(computer college,sichuan university,chengdu610064,china)abstract:conventional vehicle detection algorithm is simple and fast,but there are still many problems,in some condition it will make lots of mistakes.this paper firstly describes mean-shift tracking algorithm and kalman tracking algorithm,and then proposed to solve the problem ofmulti-target tracking with a method of merging bothmean-shift and kalman algorithm.at the end of this paper,icompare this algorithm with the traditional algorithm and give the comparative advantages for experimental analysis.keywords:mean-shift;kalman;vehicle detector目前,国内许多公司的车辆检测器的设计都比较简单,其核心算法只是对相邻图像帧做帧间差,一旦相邻帧之间的差值到一定的阈值,就认为有运动物体闯入,然后就向车牌识别器发送触发信号,这种车辆检测器检测速度快,但会出现大量的误触发现象,进而会大大增加车牌识别器、中心数据处理系统的数据处理负担和模块间的网络通信负担,浪费大量的系统资源。
均值漂移Mean Shift均值漂移(Mean Shift)00均值漂移是一种有效的统计迭代算法。
均值漂移算法是一种基于密度梯度上升的非参数方法,通过迭代运算找到目标位置,实现目标跟踪。
它显著的优点是算法计算量小,简单易实现,很适合于实时跟踪场合;但是跟踪小目标和快速移动目标时常常失败,而且在全部遮挡情况下不能自我恢复跟踪。
通过实验提出应用核直方图来计算目标分布,证明了均值漂移算法具有很好的实时性特点。
Mean Shift 简介Mean Shift 这个概念最早是由Fukunaga等人[1]于1975年在一篇关于概率密度梯度函数的估计中提出来的,其最初含义正如其名,就是偏移的均值向量,在这里Mean Shift是一个名词,它指代的是一个向量,但随着Mean Shift理论的发展,Mean Shift的含义也发生了变化,如果我们说Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束.然而在以后的很长一段时间内Mean Shift并没有引起人们的注意,直到20年以后,也就是1995年,另外一篇关于Mean Shift的重要文献[2]才发表.在这篇重要的文献中,Yizong Cheng对基本的Mean Shift算法在以下两个方面做了推广,首先Yizong Cheng定义了一族核函数,使得随着样本与被偏移点的距离不同,其偏移量对均值偏移向量的贡献也不同,其次Yizong Cheng还设定了一个权重系数,使得不同的样本点重要性不一样,这大大扩大了Mean Shift的适用范围.另外Yizong Cheng指出了Mean Shift可能应用的领域,并给出了具体的例子.Comaniciu等人[3][4]把Mean Shift成功的运用的特征空间的分析,在图像平滑和图像分割中Mean Shift都得到了很好的应用. Comaniciu等在文章中证明了,Mean Shift算法在满足一定条件下,一定可以收敛到最近的一个概率密度函数的稳态点,因此Mean Shift算法可以用来检测概率密度函数中存在的模态.Comaniciu等人[5]还把非刚体的跟踪问题近似为一个Mean Shift最优化问题,使得跟踪可以实时的进行.在后面的几节,本文将详细的说明Mean Shift的基本思想及其扩展,其背后的物理含义,以及算法步骤,并给出理论证明.最后本文还将给出Mean Shift在聚类,图像平滑,图像分割,物体实时跟踪这几个方面的具体应用.Mean Shift 的基本思想及其扩展基本Mean Shift给定d维空间中的n个样本点,i=1,…,n,在点的Mean Shift向量的基本形式定义为:k表示在这n个样本点中,有k个点落入区域中.我们可以看到是样本点相对于点的偏移向量,(1)式定义的Mean Shift向量就是对落入区域中的k个样本点相对于点的偏移向量求和然后再平均.从直观上看,如果样本点从一个概率密度函数中采样得到,由于非零的概率密度梯度指向概率密度增加最大的方向,因此从平均上来说, 区域内的样本点更多的落在沿着概率密度梯度的方向.因此,对应的, Mean Shift向量应该指向概率密度梯度的方向如上图所示, 大圆圈所圈定的范围就是 ,小圆圈代表落入区域内的样本点,黑点就是Mean Shift的基准点 ,箭头表示样本点相对于基准点的偏移向量,很明显的,我们可以看出,平均的偏移向量会指向样本分布最多的区域,也就是概率密度函数的梯度方向从前面关于Mean Shift和概率密度梯度的关系的论述,我们可以清楚的看到,Mean Shift算法本质上是一个自适应的梯度上升搜索峰值的方法,如下图所示,如果数据集服从概率密度函数f(x),给定一个如图初始点,Mean Shift算法就会一步步的移动,最终收敛到第一个峰值点.从这张图上,我们可以看到Mean Shift至少有如下三方面的应用:(1)聚类,数据集中的每一点都可以作为初始点,分别执行Mean Shift算法,收敛到同一个点算作一类;(2)模态的检测,概率密度函数中的一个峰值就是一个模态,Mean Shift在峰值处收敛,自然可以找到该模态.(3)最优化,Mean Shift可以找到峰值,自然可以作为最优化的方法,Mean Shift算法进行最优化的关键是要把最优化的目标转化成Mean Shift 隐含估计的概率密度函数.[1]The Estimation of the Gradient of a Density Function, with Applications in Pattern Recognition (1975)[2]Mean shift, mode seeking, and clustering (1995)[3]Mean Shift: a robust approach toward feature space analysis (2002)[4]Real-time tracking of non-rigid objects using mean shift (2000)[5]Mean-shift Blob Tracking through Scale Space (2003)[6]An algorithm for data-driven bandwidth selection(2003) 从直观上看,如果样本点从一个概率密度函数中采样得到,由于非零的概率密度梯度指向概率密度增加最大的方向,因此从平均上来说, 区域内的样本点更多的落在沿着概率密度梯度的方向.因此,对应的, Mean Shift向量应该指向概率密度梯度的方向。
基于均值偏移算法的双摄像机目标跟踪均值偏移算法(Mean Shift Algorithm)是一种非参数的密度估计方法,被广泛应用于目标跟踪领域。
它通过计算目标的颜色直方图和梯度直方图,使用迭代方法寻找样本点密度最大的区域,从而确定目标的位置。
在双摄像机目标跟踪中,通常需要首先对目标进行初始化,并在后续的帧中进行跟踪。
初始化可以通过在第一帧中手动选取目标区域来完成,也可以使用先进的目标检测算法进行自动初始化。
以下是基于均值偏移算法实现双摄像机目标跟踪的具体步骤:1.初始化:在第一帧中,选择目标区域作为初始窗口,并计算该区域的颜色直方图和梯度直方图。
将这些直方图作为目标的颜色和纹理特征。
2.特征匹配:在下一帧中,根据当前目标位置,确定窗口的位置。
使用均值偏移算法计算窗口内样本点的密度,并找到最大密度点作为新的目标位置。
同时,根据新的目标位置,更新窗口的大小。
3.视差计算:由于使用了双摄像机,可以通过计算两个摄像机之间的视差来获得目标的深度信息。
使用立体匹配算法,将左摄像机和右摄像机的图像进行匹配,并计算视差图。
根据视差图中的目标位置,更新目标的深度信息。
4.三维重建:根据目标的深度信息和在左摄像机图像中的位置,可以进行三维重建。
将目标在左摄像机图像中的位置和深度信息转换为三维坐标,并根据立体几何关系计算目标在右摄像机图像中的位置。
从而获得目标的三维坐标。
5.目标跟踪:在下一帧中,根据当前目标的位置和三维坐标,确定窗口的位置和大小,并使用均值偏移算法计算新的目标位置。
同时,根据新的目标位置,更新目标的深度信息和三维坐标。
6.结果展示:通过将目标的位置和三维坐标与原始图像进行叠加,可以实时展示目标的位置和运动轨迹。
同时,可以将三维坐标转换为世界坐标,并在三维空间中对目标位置进行可视化。
基于均值偏移算法的双摄像机目标跟踪不仅考虑了目标的颜色和纹理特征,还利用了双摄像机的优势进行深度估计和三维重建,从而提高了目标跟踪的精度和准确性。
Camshift原理camshift利用目标的颜色直方图模型将图像转换为颜色概率分布图,初始化一个搜索窗的大小和位置,并根据上一帧得到的结果自适应调整搜索窗口的位置和大小,从而定位出当前图像中目标的中心位置。
分为三个部分:1--色彩投影图(反向投影):(1).RGB颜色空间对光照亮度变化较为敏感,为了减少此变化对跟踪效果的影响,首先将图像从RGB空间转换到HSV空间。
(2).然后对其中的H分量作直方图,在直方图中代表了不同H分量值出现的概率或者像素个数,就是说可以查找出H分量大小为h的概率或者像素个数,即得到了颜色概率查找表。
(3).将图像中每个像素的值用其颜色出现的概率对替换,就得到了颜色概率分布图。
这个过程就叫反向投影,颜色概率分布图是一个灰度图像。
2--meanshiftmeanshift算法是一种密度函数梯度估计的非参数方法,通过迭代寻优找到概率分布的极值来定位目标。
算法过程为:(1).在颜色概率分布图中选取搜索窗W(2).计算零阶距:计算一阶距:计算搜索窗的质心:(3).调整搜索窗大小宽度为;长度为1.2s;(4).移动搜索窗的中心到质心,如果移动距离大于预设的固定阈值,则重复2)3)4),直到搜索窗的中心与质心间的移动距离小于预设的固定阈值,或者循环运算的次数达到某一最大值,停止计算。
关于meanshift的收敛性证明可以google相关文献。
3--camshift将meanshift算法扩展到连续图像序列,就是camshift算法。
它将视频的所有帧做meanshift 运算,并将上一帧的结果,即搜索窗的大小和中心,作为下一帧meanshift算法搜索窗的初始值。
如此迭代下去,就可以实现对目标的跟踪。
算法过程为:(1).初始化搜索窗(2).计算搜索窗的颜色概率分布(反向投影)(3).运行meanshift算法,获得搜索窗新的大小和位置。
(4).在下一帧视频图像中用(3)中的值重新初始化搜索窗的大小和位置,再跳转到(2)继续进行。
视频追踪课程设计一、课程目标知识目标:1. 学生能理解视频追踪的基本原理,掌握相关的理论知识。
2. 学生能掌握视频追踪的主要技术和方法,了解各自的优缺点。
3. 学生能了解视频追踪技术在现实生活中的应用,提高对信息技术学科的认识。
技能目标:1. 学生能够运用所学知识,使用相关软件进行视频追踪操作。
2. 学生能够分析视频追踪过程中出现的问题,并提出相应的解决策略。
3. 学生能够通过小组合作,完成一个简单的视频追踪项目。
情感态度价值观目标:1. 学生对视频追踪产生兴趣,培养主动探究的精神。
2. 学生在小组合作中,学会与他人沟通、协作,培养团队精神。
3. 学生了解视频追踪技术在遵守法律法规和道德伦理的前提下进行,培养正确的价值观。
课程性质:本课程为信息技术学科的一节实践性课程,旨在让学生通过动手操作,掌握视频追踪技术。
学生特点:六年级学生对信息技术有一定的基础,对新事物充满好奇心,具备一定的动手能力和团队协作能力。
教学要求:教师需结合学生特点,采用任务驱动、小组合作等教学方法,引导学生主动探究,确保课程目标的实现。
在教学过程中,注重理论与实践相结合,关注学生个体差异,提高学生的信息技术素养。
通过课程目标的分解,使学生在学习过程中实现具体的学习成果,为后续的教学设计和评估奠定基础。
二、教学内容本课程依据课程目标,结合教材内容,组织以下教学大纲:1. 视频追踪基本原理- 视频追踪的定义与作用- 视频追踪的基本流程与环节2. 视频追踪技术与方法- 常用视频追踪算法介绍(如:Mean-Shift、Kalman滤波等)- 特征提取与匹配方法- 追踪性能评价指标3. 视频追踪应用案例分析- 视频监控- 无人驾驶- 人脸识别4. 实践操作- 使用OpenCV等软件进行视频追踪操作- 小组合作完成一个简单的视频追踪项目5. 视频追踪技术在实际应用中的注意事项- 法律法规与道德伦理- 技术局限性及应对策略教学内容安排与进度:第1课时:视频追踪基本原理与流程第2课时:常用视频追踪技术与方法第3课时:视频追踪应用案例分析第4课时:实践操作(上)第5课时:实践操作(下)及项目展示第6课时:视频追踪技术在实际应用中的注意事项教学内容与教材关联性:本教学内容以教材中关于视频追踪的相关章节为基础,结合实际案例,拓展学生视野,提高实践能力。
《目标跟踪算法综述》篇一一、引言目标跟踪是计算机视觉领域的一个重要研究方向,广泛应用于视频监控、智能驾驶、人机交互等众多领域。
随着深度学习技术的发展,目标跟踪算法的性能得到了显著提升。
本文将对目标跟踪算法进行综述,包括其发展历程、基本原理、现有方法及优缺点,以及未来的研究方向。
二、目标跟踪算法的发展历程目标跟踪算法的发展历程大致可以分为三个阶段:基于特征的跟踪、基于模型的方法和基于学习的跟踪。
早期基于特征的跟踪主要依靠提取目标的特征进行匹配和跟踪;基于模型的方法则是根据目标的外观、运动等特征建立模型进行跟踪;随着深度学习技术的发展,基于学习的跟踪算法成为主流,利用大量的训练数据学习目标的特征,实现高精度的跟踪。
三、目标跟踪算法的基本原理目标跟踪算法的基本原理是通过提取目标的特征,在连续的图像帧中寻找目标的位置。
具体而言,算法首先在初始帧中提取目标的特征,然后在后续帧中根据一定的策略寻找与该特征相似的区域,从而实现目标的跟踪。
四、现有目标跟踪算法的分类与介绍1. 基于特征的跟踪算法:该类算法主要依靠提取目标的特征进行匹配和跟踪,如SIFT、SURF等。
这些算法在光照变化、尺度变化等场景下具有一定的鲁棒性。
2. 基于模型的方法:该方法根据目标的外观、运动等特征建立模型进行跟踪,如支持向量机(SVM)、随机森林等。
这类方法对于动态背景和部分遮挡等情况具有一定的适应性。
3. 基于学习的跟踪算法:随着深度学习技术的发展,基于学习的跟踪算法成为主流。
该类算法利用大量的训练数据学习目标的特征,实现高精度的跟踪。
典型的算法包括基于孪生网络的Siamese跟踪器和基于区域的目标跟踪方法等。
这些方法在精度和鲁棒性方面都取得了显著的提升。
五、目标跟踪算法的优缺点分析各类目标跟踪算法具有各自的优缺点:基于特征的跟踪算法在计算效率和准确性之间取得平衡;基于模型的方法对于复杂场景的适应性较强;基于学习的跟踪算法在处理复杂背景和遮挡等情况下表现出较高的鲁棒性。
河北工业大学城市学院本科毕业设计(论文)中期报告毕业设计(论文)题目:基于Mean-Shift的视频目标跟踪算法的设计与实现专业(方向):网络工程学生信息:学号:088302 姓名:坎启娇班级:网络C081班指导教师信息:教师号:02019 姓名:侯向丹职称:副教授报告提交日期:2012年4月30号1.前言1.1选题的背景运动目标的检测与跟踪是应用视觉领域[1]的一个重要的课题。
目标跟踪涉及到图像处理、模式识别、人工智能以及自适应控制多领域问题的综合解决,其中对于复杂背景(或环境)下的图像处理一直是视觉信息处理和理解的难点。
在实际应用中,复杂的现场环境以及跟踪应用的实时性要求,对算法都提出了更高的要求。
因此,研究复杂背景下运动目标的检测和跟踪的课题有重要意义。
本文的研究目的是建立一个视频图像监控系统,根据目标的运动方向,系统将目标锁定在视野中。
目标跟踪是在一段视频序列中寻找与指定目标最相似的部分,是计算机视觉的一个重要研究内容。
它在视频监控、人机界面、增强现实、基于目标的视频压缩等众多领域中有着广泛的应用。
1.2运动目标跟踪算法1.2.1常见的运动目标跟踪算法目前视频目标跟踪方法[2]大体上可以分为基于区域匹配的目标跟踪、基于轮廓的匹配跟踪、基于特征的匹配跟踪、基于模型的跟踪,以及基于运动特性的跟踪。
下面详细介绍这五类算法。
(1)基于区域匹配跟踪区域匹配跟踪的基本思想是:预先通过人为的方法或图像分割的方法得到包含目标的模板,然后在后续的视频序列中运用相关匹配准则进行目标的匹配跟踪。
决定区域匹配跟踪效果好坏最主要的因素就是匹配度量和搜索算法的选取。
最常用的相关准则是平方和准则法(SSD),颜色法、形状法等。
优点:提取了较完整的目标模板,因此相对其它跟踪算法能得到更多的图像信息,当目标未被遮挡时跟踪精度高且稳定,因而广泛应用于小目标的跟踪或对比度比较差的目标跟踪。
缺点:需要进行全图搜索,因此计算量较大。
另外,如果目标由于旋转、光线及运动等原因发生变化,尤其是出现了大面积的遮挡现象时可能找不到匹配点而产生错误匹配,这是需要克服的问题之一。
(2)基于轮廓匹配跟踪轮廓匹配跟踪基本思想是:提取运动目标的边缘轮廓作为模板,对后续的视频序列每帧图像都进行二值化并且根据图像信息自动连续地更新边缘轮廓并跟踪。
常见的基于轮廓匹配的跟踪算法有:Kass在1987年提出的主动轮廓模型,又称为Snake 模型;基于Hausdorff距离的轮廓跟踪算法[3]。
Snake模型是一种采用主动轮廓目标提取的动态算法,它基于二维样条函数的动态生长来实现边缘检测与连接。
Snake模型在构造能量函数时考虑了主动轮廓线的内部能量、图像作用力产生的能量和外部限制力产生的能量,使初始轮廓在外力和内力的作用下向目标边缘轮廓逼近。
Snake模型非常适合可变形目标的跟踪,如对运动细胞的跟踪。
Osher等人提出的基于水平集方法的主动轮廓模型,克服了Snake 模型对初始轮廓选取的敏感问题,非常适合多目标跟踪。
基于Hausdorff距离的轮廓跟踪算法通过计算Hausdorff距离来反映初始模板和当前目标各象素的匹配程度,它能够根据模板来对目标进行平移、缩放变换,提高了匹配的准确性。
(3) 基于特征匹配跟踪无论是刚体运动目标还是非刚体运动目标,它们都存在各自的个体特征。
视频序列相邻帧在较短的采样时间间隔内,这些个体特征在运动形式上具有平滑性和连贯性,因此可以用纹理、颜色、形状、灰度等个体特征来对运动目标进行跟踪。
基于特征匹配跟踪采用运动目标的某些局部特征作为跟踪对象。
优点:在目标被部分遮挡的情况下只要被选取的特征未消失,仍可以实现跟踪。
缺点:当目标运动状态比较复杂时,如非匀加速运动或曲线运动,此时目标的特征提取就比较困难;目标在运动过程中不可避免会存在遮挡或暂时消失的情况,此时简单的基于部分特征的方法就很难继续跟踪;如何选取运动目标最有效的特征也是难点之一。
(4) 基于模型跟踪基于模型的跟踪就是通过先验知识来获得目标模型从而实现跟踪,通常目标模型有线图型、2D模型、3D模型。
可采用长方体对车辆进行三维建模来获得车辆的运动速度。
也可采用多摄像头来跟踪人体运动目标,对人体的3D模型进行运动估计,该方法基于时空域联合来分析人体的轮廓特征,在遇到大面积遮挡时仍能保持较好的跟踪效果。
优点:既适合刚体目标跟踪也适合非刚体目标跟踪,而且跟踪效果不受观测角度的影响。
即使在复杂环境中,目标发生遮挡的情况下,利用模型的先验知识也可以较好地得到跟踪结果。
缺点:由于运动分析的精度取决于几何模型的精度,而获得运动目标的精确几何模型非常困难;而且计算量大,实时性差,不太适合实时应用场合。
(5) 基于运动特性的目标匹配跟踪基于运动特性的目标匹配跟踪实质上是一种运动预测的跟踪方法,根据目标的运动规律进行建模。
把运动目标在较短时间间隔内运动描述为匀速直线运动或匀加速直线运动。
通过建立的运动模型预测目标在下一帧中的位置,然后以这个位置为中心在附近的领域内搜索目标最佳位置。
经典的运动估计算法有基于光流场、卡尔曼滤波、扩展卡尔曼滤波、粒子滤波等。
通过对目标的运动估计可以缩小目标的搜索范围,提高目标的跟踪速度,非常适合于实际应用。
1.2.2 基于Mean-Shift的目标跟踪算法本文重点介绍了特征匹配跟踪算法中的Mean-Shift跟踪算法。
在众多的跟踪算法中,Mean-Shift算法由于其理论严格、实现简单和较好的跟踪性能,近年来受到广泛的关注。
本文的主要研究对象就是基于Mean-Shift的目标跟踪算法。
Mean-Shift算法是一种基于特征概率密度统计的建模方法。
Mean-Shift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过不断迭代Mean-Shift向量使得算法收敛于目标的真实位置,从而达到跟踪的目的。
在跟踪过程中,目标区域通常由用户在视频序列的第一帧中选定,并建立相应的目标直方图。
根据Bhattacharyya相似度,Mean-Shift算法在后续帧中迭代地搜索目标模型的最佳候选区域。
优点:(1)算法计算量不大,在目标区域已知的情况下完全可以做到实时跟踪;(2)采用核函数直方图模型,对边缘遮挡、目标旋转、变形和背景运动不敏感。
缺点:(1)缺乏必要的模板更新;(2)跟踪过程中由于窗口宽度大小保持不变,当目标尺度有所变化时,跟踪就会失败;(3)当目标速度较快时,跟踪效果不好;(4)直方图特征在目标颜色特征描述方面略显匮乏,缺少空间信息;Mean-Shift算法主要是用在单张影像上。
而Cam-shift算法利用Mean-Shift算法的方()0120120,y h x y g w h x y g w x x m k kn i i i n i i i i G h -⎥⎥⎦⎤⎢⎢⎣⎡-⎥⎥⎦⎤⎢⎢⎣⎡-=∑∑==法,对影像串联进行分析,是Mean-Shift 算法的改进,称连续自适应的Mean-Shift 算法[4]。
2. 编程语言及编程环境编程语言:VC++、OpenCV编程环境:Visual Studio 20083. Mean-Shift 算法3.1 Mean-Shift 算法的基本思想Mean-Shift 跟踪算法通常是基于目标区域的颜色概率分布直方图的。
将颜色空间分成m个索引子空间, 计算目标初始模板和候选区域的颜色概率分布直方图m u u q q ,,2,1}ˆ{ˆ⋅⋅⋅==和m u u y p y p,,2,1)}(ˆ{)(ˆ⋅⋅⋅==初始模板与候选目标区域的相似度用Bhattacharyya 系数来衡量,即()()∑==m 1u ˆˆˆu u q y p y ρ。
其几何含义是m 维单位矢量q ˆ和()y p ˆ夹角的余弦值,显然当()y ρˆ越大时匹配程度就越高,即当前帧目标与初始帧目标最相似。
因此对()y ρˆ求极值,即得到Mean-Shift 向量:(公式1) 因此连续的迭代y1->y0,将会收敛于局部极大值,即满足y1=y0的固定点,也就是说Mean-Shift 是一个连续迭代过程,使达到当前帧目标最优位置。
3.2Mean-Shift 算法迭代步骤Mean-Shift 算法是一种寻找局部极值的方法。
作为一种直观上的理解是它一步一步爬向最高点即爬山算法.而怎么个爬法,用计算出的重心作为下一步窗口的中心,直到窗口的位置不再变化。
下面从Mean-Shift 向量的定义出发来讨论Mean-Shift 算法具体计算步骤。
首先对Mean-Shift 向量(公式1)右边的第一项记为()x M G h ,,即()∑∑==⎥⎥⎦⎤⎢⎢⎣⎡-⎥⎥⎦⎤⎢⎢⎣⎡-=k k n i i i n i i i i G h h x y g w h x y g w x x M 120120, (公式2) Mean-Shift 算法就是按以下三个步骤连续迭代计算。
(1)计算Mean-Shift 向量()x M G h ,. (2)把()x M G h ,的值赋给x.(3)判断是否满足()ε<-i G h x x M ,,若是则结束循环,否则继续执行(1)。
因此上面的步骤就是使Mean-Shift 向量不断地沿着概率密度的梯度方向移动,移动的步长不仅与梯度的大小有关也与该点的概率密度有关。
在密度大的地方移动的步长小些,密度小的地方移动的步长就大些。
4. Cam-Shift 算法Cam-Shift 算法,即“Continuously Adaptive Mean-Shift ”算法[5],是一种运动跟踪算法。
它是一个基于Mean-Sift 的改进算法。
将Mean-Shift 算法扩展到连续图像序列(一般都是指视频图像序列),这样就形成了Cam-Shift 算法。
它首次由Gary R.Bradski 等人提出和应用在人脸的跟踪上,并取得了不错的效果。
由于它是利用颜色的概率信息进行的跟踪,使得它的运行效率比较高。
4.1 Cam-Shift 算法原理Cam-Shift 利用目标的颜色直方图模型将图像转换为颜色概率分布图,初始化一个搜索窗的大小和位置,并根据上一帧得到的结果自适应调整搜索窗口的位置和大小,从而定位出当前图像中目标的中心位置。
它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。
我把这个算法分解成三个部分,便于理解:(1)Back Projection 计算(2)Mean-Shift 算法(3)Cam-Shift 算法4.1.1 Back Projection 计算计算Back Projection 的步骤:(1) 计算被跟踪目标的色彩直方图。
在各种色彩空间中,只有HSV 空间(或与HSV 类似的色彩空间)中的H 分量可以表示颜色信息。