1、本科毕业设计(20届)视频中移动对象跟踪技术研究所在学院专业班级计算机科学与技术学生姓名学号指导教师职称完成日期年月I摘要【摘要】随着计算机技术的不断发展,计算能力得到了极大地提高,使得利用计算机实现人类的视觉功能成为目前计算机领域中最热门的课题之一。视频中移动对象跟踪(简称目标跟踪)是计算机视觉领域的一个分支,它在视频监控、人机界面等应用中有重要的意义。所谓移动对象跟踪技术,就是指对某个图像序列中的移动目标进行检测、提取和跟踪,获得移动目标的运动参数,如运动轨迹、位置、速度和加速度等。移动对象跟踪作为一个计算机视觉方面的热点,在这方面的研究,国内外的学者提出了许多的解决方案。然而目前提出的各
2、种方法也都还是有其各自特定的应用范围,还没有完全统一的跟踪技术。本文提出了一种结合均值漂移和带更新卡尔曼滤波器的移动对象跟踪算法。首先利用物体运动的性质来构造卡尔曼滤波系统模型,然后将其预测到的下一帧的目标中心位置作为均值漂移算法的初始迭代值。接着根据均值漂移得到的候选目标的中心位置来计算候选目标与模板目标之间的巴氏系数。根据巴氏系数的情况来更新卡尔曼滤波器的转化和测量噪声协方差矩阵。并在每次跟踪结束后都实时更新模板,这对目标形态的渐变有很好的鲁棒性。该算法的跟踪效果有很好的鲁棒性。它可以对被遮挡、快速移动,突然变速的移动对象有很好的跟踪效果。【关键词】均值漂移;卡尔曼滤波器更新;搜索窗口更新
3、;目标颜色模型更新。IIABSTRACT【ABSTRACT】WITHTHEDEVELOPMENTOFCOMPUTERTECHNOLOGY,COMPUTINGPOWERHASBEENGREATLYIMPROVED,MAKINGUSEOFCOMPUTERTOREALIZEOFHUMANVISUALFUNCTIONHASBECOMEONEOFTHEMOSTPOPULARTOPICSINCOMPUTERSCIENCETRACKINGMOVINGOBJECTSINTHEVIDEOOBJECTTRACKINGISABRANCHOFCOMPUTERVISION,WHICHHASALOTOFSIGNIFICA
4、NTAPPLICATIONSINTHEVIDEOSURVEILLANCE,HUMANMACHINEINTERFACEANDSOONTHESOCALLEDOBJECTTRACKINGREFERSTOTHEDETECTION,EXTRACTIONANDTRACKINGOFMOVINGTARGETSINIMAGESEQUENCESANDTHENOBTAINTHEMOTIONPARAMETERS,SUCHASTRAJECTORY,POSITION,VELOCITY,ACCELERATIONANDSOONASAHOTAREAOFCOMPUTERVISION,MANYSCHOLARSATHOMEANDAB
5、ROADPROPOSEDLOTSOFSOLUTIONSHOWEVER,THESEPROPOSEDMETHODSSTILLHAVETHEIROWNSPECIFICAPPLICATIONSTHETRACKINGTECHNOLOGYISNOTYETFULLYINTEGRATEDTHISPAPERPRESENTSACOMBINATIONOFMEANSHIFTANDKALMANFILTERWITHUPDATETRACKINGALGORITHMFORMOVINGOBJECTSFIRSTLY,ACCORDINGTOTHENATUREOFTHEMOVEMENTOFOBJECTSTOCONSTRUCTTHEKA
6、LMANFILTERMODEL,ANDTHENUSINGITTOPREDICTTHENEXTFRAMEOFTHEGOALSCENTERASTHEMEANSHIFTALGORITHMSINITIALITERATIONVALUETHENUSINGTHECANDIDATESCENTERCALCULATEDBYMEANSHIFTTOGETTHEBHATTACHARYYACOEFFICIENTBETWEENCANDIDATEANDTARGETMODELACCORDINGTOTHECASEOFBHATTACHARYYACOEFFICIENTTOUPDATETHEKALMANFILTERSCONVERSIO
7、NANDMEASUREMENTNOISECOVARIANCEMATRIXWITHUPDATINGTARGETMODELAFTERTHETRACKOFEACHFRAMEINREALTIME,THISALGORITHMISROBUSTTOGRADUALCHANGEOFTHETARGETTHISALGORITHMHASAGOODTRACKINGPERFORMANCETOTHEBLOCKED,QUICKLYMOVING,SUDDENLYSPEEDOFTARGET【KEYWORDS】MEANSHIFT;KALMANFILTERUPDATE;SEARCHWINDOWUPDATE;TARGETCOLORMO
8、DELUPDATINGIII目录摘要IABSTRACTII目录III1引言111课题的背景与意义112移动对象跟踪技术简介113国内外研究概况1131国内研究现状1132国外的研究现状214论文主要工作和论文组织结构22MEASHIFT算法概述及其在移动对象跟踪中的应用421MEANSHIFT简介422基本的MEANSHIFT423MEANSHIFT的扩展形式524扩展形式MEANSHIFT的算法步骤625MEANSHIFT算法在移动对象跟踪中的应用63KALMAN算法概述及其在移动对象跟踪中的应用831KALMAN滤波简介832移动对象跟踪中KALMAN滤波算法流程84基于MEANSHIFT
9、和KALMAN的移动对象跟踪算法1041搜索窗口的更新1042运动目标的提取10421背景差分法1043目标模板的更新1144卡尔曼滤波器参数的更新1145算法流程135视频中移动对象跟踪系统的实现1451系统主要界面1452主要功能实现16521MEANSHIFT中核函数计算的实现17522MEANSHIFT中彩色直方图核密度估计计算的实现17523MEANSHIFT中模板直方图的核估计计算的实现18524BHATTACHARYYA系数计算的实现19525MEANSHIFT迭代的实现19526卡尔曼滤波算法的实现20527卡尔曼滤波参数更新的实现21528跟踪系统主函数的实现21529鼠标选
10、取跟踪目标的实现2253跟踪系统流程图236实验结果257总结与展望3171总结31IV72展望31参考文献32致谢错误未定义书签。1引言11课题的背景与意义随着计算机技术的不断发展,计算能力得到了极大地提高,使得利用计算机实现人类的视觉功能成为目前计算机领域中最热门的课题之一1。视频中移动对象跟踪(简称目标跟踪)是计算机视觉领域的一个分支,它在视频监控、视频压缩与传输、电话会议、人机界面的应用中以及高技术武器装备方面都有重要的意义2,15。目前的一些目标跟踪算法中都有各自适用的情景,有些不能处理遮挡、速度突变、光线变化以及多目标干扰。12移动对象跟踪技术简介随着计算机技术不断的发展,电脑计算
11、能力得到了极大的提高,这使得利用计算机实现人类视觉功能成为目前计算机领域中最热门的课题之一1。所谓移动对象跟踪技术,就是指对某个图像序列中的移动目标进行检测、提取和跟踪,获得移动目标的运动参数,如运动轨迹、位置、速度和加速度等。这些可以应用到视频监控,导弹制导等的民用和军用领域。13国内外研究概况移动对象跟踪作为一个计算机视觉方面的热点,在这方面的研究,国内外的学者提出了许多的解决方案。然而目前提出的各种方法也都还是有其各自特定的应用范围,还没有完全统一的跟踪技术。在这方面的研究很多学者发表了很有价值的论文。131国内研究现状国内对移动对象跟踪技术有较多的研究,一些研究人员提出很多有效的跟踪算
12、法。杨杨、张田文10于2000年提出了一种基于特征光流的运动目标跟踪方法,跟踪过程中建立了角点、类及类形状模型的卡尔曼滤波模型,对目标的状态随时进行估计和预测,指导跟踪的进程,使得跟踪更加主动,减少了跟踪时间,提高了跟踪精度,并为目标遮挡和目标失锁等异常情况的处理提供了有效的工具。向卫军、韩根甲8与2003年在红外热成像领域成功地应用了一种基于模板匹配的目标跟踪算法。胡洪涛、敬忠良、李安平、胡士强6与2004年提出了一种在非高斯条件下基于粒子滤波的目2标跟踪。程建、杨杰9与2005年提出了均值漂移跟踪算法在红外目标中的应用,它在当前帧目标与目标模型的相似度低于给定的阈值,则进行模型更新。张宏志
13、、张金换、岳卉、黄世霖7与2006年提出了基于CAMSHIFT的目标跟踪算法,该文献中算法将图像由RGB颜色空间转化到HSV颜色空间进行后续处理,这减少了光照亮度变化对跟踪算法的影响。孙中森、孙俊喜、宋建中2与2007年提出了一种抗遮挡的运动目标跟踪算法,该文献中对处理遮挡的方法进行了一定的总结,还引入了目标遮挡因子来判断是否发生遮挡。胡建华、徐健健11与2007年提出了一种基于遗传算法和卡尔曼滤波的运动目标跟踪方法,这是一个很新的思路,由于遗传算法是一种新的全局优化搜索算法,采用非遍历寻优策略,有很好的实时性。熊玉梅、郭坚、陈一民5与2011年提出了一种搜索窗口可变的目标跟踪算法,该跟踪算法
14、关键之处就是需要根据预测前面得到的标志坐标,预测下一次标志将会出现的位置,并计算下一次的搜索窗口。曲巨宝,林宏基,梁洪涛,刘胜12与2011年提出的文献中比较了经典的卡尔曼滤波、粒子滤波以及MEANSHIFT算法的各自缺点,并提出了一种改进背景差分法与核宽自适应的MEANSHIFT算法相结合的目标跟踪算法,此算法采用灰度质心技术与核带宽自适应算法提高MEANSHIFT跟踪效率和鲁棒性。132国外的研究现状国外的主流的跟踪算法还是集中在对MEANSHIFT、粒子滤波,卡尔曼等算法的研究上。经典的卡尔曼滤波算法计算量大,构造模型困难,不适合复杂环境下的实时运动目标跟踪。经典的粒子滤波算法也因经过多
15、次迭代后,大量粒子只集中了较小的权值它们对后验概率的估计几乎不起作用。经典的MEANSHIFT算法缺乏模板更新与核带宽自适应功能,容易出现目标丢失情况。虽然MEANSHIFT算法有这样的缺点,但是它是一个无参数估计算法,硬件实现比较容易,加之采用核函数直方图建模,对边缘遮挡、目标旋转、变形和背景运动不太敏感。因此在目标跟踪算法中MEANSHIFT算法还是一个主流。另外在目标模板与候选模板之间相似度的计算一般都采用BHATTACHARYYA系数。文献14于2010年提出了结合自适应卡尔曼与MEANSHIFT的目标跟踪算法,该方法对真实复杂情况下连续帧中目标移动的跟踪有很好的鲁棒性,例如,由于遮挡
16、目标的部分消失或全部消失,快速移动的目标,移动目标的突然加速等。文献15提出了一种结合SIFT特征和MEANSHIFT的目标跟踪技术,为了获得相似性区域的最大似然估计,这两个评估方法的概率分布被计算出来用以寻找最大期望。这种相互支持的机制,使得即使在其中一个方法变得不稳定的时候也能保持跟踪的一致性。14论文主要工作和论文组织结构本论文的课题主要以移动对象跟踪技术研究为主题展开。提出了一种基于MEANSHIFT和KALMAN3的移动对象跟踪算法,在此算法中有涉及KALMAN参数的更新、目标颜色模板的更新以及搜索窗口的更新。这个算法对部分遮挡、突然加速、快速移动等有良好的跟踪效果。第一章介绍了该课
17、题的背景和意义,在此基础上,阐述了移动对象跟踪技术的基本原理,并参考了大量国内外文献资料,概括了国内外研究概况。第二章主要阐述了用于跟踪的MEANSHIFT算法,并讨论了它的优缺点。第三章介绍了卡尔曼滤波方法的通用形式,并建立线性系统模型用于跟踪,包括预测阶段和更新阶段。第四章介绍了本文提出的MEANSHIFT结合卡尔曼滤波实现移动对象跟踪的具体算法流程。并给出了原始MEANSHIFT跟踪和本论文算法跟踪的实验结果对比。第五章是全文总结以及未来展望。42MEASHIFT算法概述及其在移动对象跟踪中的应用21MEANSHIFT简介MEANSHIFT最早是由FUKUNAGA等人15于1975年提出
18、的。刚开始MEANSHIFT的提出并没有引起很大的关注。直到20年后,在1995年,另一篇关于MEANSHIFT的重要文献16的发表使得基本的MEANSHIFT在两个方面得到了扩展。YIZONGCHENG定义了核函数,使得随着样本点与被偏移点的距离不同,其偏移值对均值漂移向量的影响也不同。与此同时,YIZONGCHENG还定义了一个权重系数,使得根据样本点与被偏移点的距离的不同,样本点的权值也会不同。有了这两个的改进,这大大扩大了MEANSHIFT的适用范围。到目前为止,MEANSHIFT已经被很好地应用到图像分割、图像平滑和移动对象的跟踪中了。22基本的MEANSHIFT给定D维空间错误未找
19、到引用源。中的N个样本点错误未找到引用源。,I1,N,在X点的MEANSHIFT向量的基本形式为错误未找到引用源。1其中,错误未找到引用源。是半径为H的一个高维球区域,K表示在这N个样本点错误未找到引用源。中,有K个点落入错误未找到引用源。区域中。我们可以看到错误未找到引用源。是样本点错误未找到引用源。相对于点错误未找到引用源。的偏移向量,1式定义的MEANSHIFT向量错误未找到引用源。就是对落入错误未找到引用源。区域中的这K个样本点相对点X的偏移量求和然后再求平均。假设样本点错误未找到引用源。是从概率密度函数错误未找到引用源。中得到的,由于非0的概率密度梯度它是指向概率密度增加幅度最大的方
20、向,因此总的来说,错误未找到引用源。区域内的这些样本点更多的会落在概率密度梯度的方向。所以,MEANSHIFT向量错误未找到引用源。应该会指向概率密度梯度的方向。图示如下5图1MEANSHIFT示意图如上图所示,小圆代表落入错误未找到引用源。里的样本点错误未找到引用源。,大圆代表区域错误未找到引用源。,中间的实心黑点就是MEANSHIFT的基准点错误未找到引用源。,另外图中的箭头则表示样本点错误未找到引用源。相对基准点错误未找到引用源。的偏移向量,显而易见,,错误未找到引用源。会指向样本点分布最密集的区域(指向概率密度梯度方向)。23MEANSHIFT的扩展形式从1式我们可以看出,只要是落在错
21、误未找到引用源。中的样本点,无论它离错误未找到引用源。多远多近,对最终错误未找到引用源。的计算的权重都是一样的。然而我们知道,一般说来,离错误未找到引用源。越近的样本点对估计错误未找到引用源。的统计特性应该是越有效的。这里我们就需要引进核函数错误未找到引用源。(通常为单位均匀核函数或者单位高斯核函数)。即要实现在计算错误未找到引用源。时考虑距离的影响另外在这所有的样本点错误未找到引用源。中,它们的重要性并不是都一样的。因此引入一个权重函数错误未找到引用源。如此一来,基本的MEANSHIFT形式就可以扩展为错误未找到引用源。22式可简化为错误未找到引用源。324扩展形式MEANSHIFT的算法步
22、骤我们把3式右边的第一项记为错误未找到引用源。64则错误未找到引用源。5对于给定的初始点X,核函数错误未找到引用源。,权值函数错误未找到引用源。,误差错误未找到引用源。,MEANSHIFT算法循环执行下面三步,直到满足结束条件为止。1计算错误未找到引用源。2如果错误未找到引用源。,结束循环否则继续执行33把错误未找到引用源。赋给错误未找到引用源。,继续执行1由5式错误未找到引用源。可得上面的步骤的移动会指向概率密度梯度方向。计算的步长不仅仅与梯度大小有关,而且与该点概率密度也有关。若在密度大的地方,则更接近要寻找的概率密度峰值,此时MEANSHIFT算法的计算步长会小一些。然而,在密度小的地方
23、,计算步长就要大一些。这样在满足一定条件的情况下,该算法就一定会收敛到附近的峰值(即局部最优解)。25MEANSHIFT算法在移动对象跟踪中的应用定义函数错误未找到引用源。是像素错误未找到引用源。在量化的特征空间的索引号。我们用一个物体的灰度或色彩分布来描述这个物体,假设物体中心位于错误未找到引用源。,则该物体可以表示为错误未找到引用源。6其中错误未找到引用源。为核函数,即加权函数,错误未找到引用源。为KRONECKER函数,错误未找到引用源。为归一化常数。位于错误未找到引用源。的候选目标可以描述如下错误未找到引用源。7所以移动对象跟踪可以简化为寻找出最优的候选目标错误未找到引用源。,使得错误
24、未找到引用源。与错误未找到引用源。相似度最大。错误未找到引用源。与错误未找到引用源。的相似度可用BHATTACHARYA系数错误未找到引用源。来计算,即错误未找到引用源。8该系数越大,那么目标与候选目标就越相似。7公式8在候选目标位置错误未找到引用源。处的泰勒展开式为错误未找到引用源。9把式7带入到9式中,整理可得,错误未找到引用源。10其中,错误未找到引用源。对公式10右边的第二项,可以用MEANSHIFT算法求解。83KALMAN算法概述及其在移动对象跟踪中的应用31KALMAN滤波简介KALMAN滤波算法(以下简称KF)是匈牙利数学家与1960年提出的解决线性滤波与预测问题的新方法。KF
25、是根据K1时刻状态的估计值和K时刻状态的观测值来推出K时刻状态估计值的一种滤波方法。它是采用状态方程和递推方法来对K时刻的状态进行估计的。具体的算法流程图可简单的描述如下图2卡尔曼滤波算法简易流程图32移动对象跟踪中KALMAN滤波算法流程KALMAN滤波器是一个简单和常用的状态估计算法,能够比较准确地对目标的位置和速度做出预测。系统的状态方程和观测方程分别如下错误未找到引用源。11错误未找到引用源。12其中,错误未找到引用源。是状态转移矩阵,错误未找到引用源。和错误未找到引用源。是K时刻和K1时刻的状态矩阵,错误未找到引用源。是观测矩阵,错误未找到引用源。和错误未找到引用源。分别是状态和观测
26、对应的K1和K时刻的噪声序列矩阵,其方差矩阵分别为Q和R。设定系统的状态向量为14矩阵分别代表目标在X和Y轴上的位置和速度,观测状态向量矩阵错误未找到引用源。为12矩阵代表目标在X和Y轴上的位置。由于在本文算法中,观测值直接就是MEANSHIFT9迭代得到的值,所以就不必计算了。这样KALMAN滤波器算法的公式如下错误未找到引用源。13错误未找到引用源。14错误未找到引用源。15错误未找到引用源。16错误未找到引用源。17其中,错误未找到引用源。为状态一步预测,错误未找到引用源。为最优状态估计,错误未找到引用源。为滤波增益矩阵,错误未找到引用源。为一步预测误差方差矩阵,错误未找到引用源。为估计
27、误差方差矩阵。以上公式就是一般KALMAN滤波器中用到的公式。这些公式可以描述为下面的流程图图3移动对象跟踪中的KALMAN滤波算法流程图104基于MEANSHIFT和KALMAN的移动对象跟踪算法本文提出了一个针对静止背景中单运动目标跟踪的基于MEANSHIFT和KALMAN的移动对象跟踪算法。本章将具体阐述论文中涉及的技术细节以及算法流程。包括搜索窗口的更新,运动目标的提取,目标模板的更新,KALMAN参数的更新,以及整个算法流程示意图。41搜索窗口的更新搜索窗口的大小在移动对象跟踪的迭代过程中起着关键作用。如果搜索窗口过大,那么搜索窗内的过多背景区域会影响跟踪的结果。反之,如果搜索窗口过
28、小,那么由于搜索窗口内过少的运动目标的信息则可能会导致不能有效地进行跟踪。因此,我们就需要在算法执行的过程中保持搜索窗口的灵活可变。本论文采用的搜索窗口的更新方法是文献18中提出的。文献18分别以核窗框确定的搜索窗口做正负10增量修正后来进行跟踪,然后比较它们与原始搜索窗口得到的目标与候选目标之间的相似度。最后选择最大的BHATTAEHARYY系数对应的搜索窗口作为最佳的窗口大小。此方法对尺寸逐渐减小和逐渐增大的目标有很好的跟踪效果。但是对运动目标大小发生骤变的的跟踪效果很不好。42运动目标的提取目标检测是运动系统分析中的一个主要研究内容,它以目标识别为最终目的。目前主要的运动目标检测方法有以
29、下几种背景差分法、光流法,帧差法等。由于背景差分法和帧差法计算简单,实时处理效率高,所以在实时系统中大家更热衷于使用这两个方法。虽然背景差分法对于背景稳定的情况,检测效果很好。但是对于背景变化的场景,例如背景的抖动、背景中新物体的加入、光照的变化等情况都很敏感。421背景差分法背景差分法是目前目标检测中最常用的一种方法之一。它利用当前帧图像和背景图像的差分来检测运动目标的一种技术。往往将当前帧二值化图像与背景二值化图像相减,如果差值大于某一给定的阀值T,则认为此像素点为运动目标上的一点,阀值T的大小决定了目标检测算法灵敏度。11在理想的情况下,背景图像是完全静止的,而且除了运动区域的像素值发生
30、了变化之外,其余属于部分是保持不变的。传统的背景差分法可以简单地表示为错误未找到引用源。18错误未找到引用源。19其中,错误未找到引用源。、错误未找到引用源。、错误未找到引用源。分是当前帧、背景,前景二值化图像中点错误未找到引用源。的像素值。其中错误未找到引用源。的值为1代表是白色为运动目标像素点。为了尽量地减少噪声干扰,我在程序中加了一句代码。每次测试点错误未找到引用源。的值是否为1,如果是则设其动态矩阵的相应点值为RE,若否则判断点错误未找到引用源。的动态矩阵值是否为0若是则更新背景,如不是则将其减去1。其实这里的动态矩阵的设置就是为了实现背景发生变化的点持续了RE帧之后才让其更新背景。这
31、很好地避免了误将运动目标点当做背景点来更新。43目标模板的更新在移动对象跟踪过程中,由于光照、噪声、搜索窗口的变化等影响,目标是不断变化的。所以在移动对象跟踪期间不可避免地要进行目标模板的更新。本文采用相似性系数(BHATTAEHARYY系数)来决定是否进行模型更新。目标颜色模型更新公式为错误未找到引用源。20其中错误未找到引用源。是K时刻目标模板的颜色模型,错误未找到引用源。是K时刻预测的最佳匹配状态,错误未找到引用源。是K时刻候选目标与目标模板之间的相似度,错误未找到引用源。是设定的阀值。44卡尔曼滤波器参数的更新文献14提出在卡尔曼滤波算法中,测量误差协方差错误未找到引用源。和卡尔曼增益
32、成反比。随着协方差矩阵错误未找到引用源。趋向于0,卡尔曼增益的权重就会越来越大。在这种情况下,测量得到越来越多的信任,而预测结果得到越来越少的信任。另一方面,作为KF的先验估计误差协方差趋近于0,卡尔曼增益的权重就会变低。这样一来实际的测量会得到越来越少的信任,而预测的结果会得到越来越多的信任。因此,如果我们能够决定相信哪个系统就能得到近似的最优解。在此论文中,所谓卡尔曼滤波器参数的更新就是允许卡尔曼滤波器的估计参数错误未找到引用源。和错误未找到引用源。随着MEANSHIFT跟踪的BHATTAEHARYY系数的改变而改变。在MEANSHIFT目标跟踪算法中,BHATTAEHARYY系数估算了目
33、标模型和候选模型之间的相似度。如12果跟踪目标被其他物体或者背景遮挡,那么BHATTAEHARYY系数就会显著降低。因此我们定义一个阀值错误未找到引用源。去判断遮挡是否发生。假设当前帧K中MEANSHIFT的搜索结果是错误未找到引用源。,则巴氏系数错误未找到引用源。估算了目标模型与候选模型之间以错误未找到引用源。为中心的相似度。由于MEANSHIFT的搜索结果用于作为卡尔曼滤波器的测量值,在纠正过程中其BHATTAEHARYY系数用来调整自适应KALMAN的估计参数。如果BHATTAEHARYY系数大于阀值错误未找到引用源。那么就分别设定错误未找到引用源。和错误未找到引用源。为错误未找到引用源
34、。和错误未找到引用源。否则,可以合理地将错误未找到引用源。和错误未找到引用源。设为0和无穷大,这样卡尔曼增益就会变成0。为了使平滑时空变化,当前帧中的这些参数都通过时域滤波得到,错误未找到引用源。21其中错误未找到引用源。22错误未找到引用源。23C是一个大数常量,卡尔曼滤波器的后验估计就会接近它的预测值,错误未找到引用源。是遗忘参数。错误未找到引用源。越小那么错误未找到引用源。和错误未找到引用源。的更新就会越快。然后按照公式错误未找到引用源。24和公式错误未找到引用源。25来更新错误未找到引用源。和错误未找到引用源。矩阵。45算法流程以上介绍到的都是些技术细节原理,这节将介绍程序整体的一个算
35、法流程。(1)命名4个现实窗口分别是VEDIO、BACKGROUND、FOREGROUND、TRACKING窗口。(2)抓取视频的一帧(若这是第一帧则做好一些初始化工作)。(3)利用42中提到的背景差分法得到前景初始图像然后对其进行形态学滤波来达到去噪的效果,这就得到了FOREGROUND图像,并且查看是否需要更新BACKGROUND图像。(4)判断全局布尔型变量TRACK是否为真,若是则转到(5),不是则转到(1)(5)进入MEANSHIFT_TRACKER函数,预测的目标的中心位置由XINXK2DELTAT和YINXK3DELTAT得到。这利用了KALMAN预测得到的目标的速度,13XK2
36、和XK3分别是X和Y轴上的运动目标的速度,DELTAT为时间间隔。接着就是利用MEANSHIFT函数得到局部最优解,跟踪之。在此过程中利用41中提到的方法来更新搜索窗口。(6)进行KALMAN滤波预测目标的运动状态。(7)返回最优相似度,如果大于阀值错误未找到引用源。则利用43以及44中介绍到的方法来分别更新目标颜色模型和KALMAN系数。否则弹出目标跟踪丢失提示窗口。(8)显示VEDIO、BACKGROUND、FOREGROUND、TRACKING图像,然后返回(2)。5视频中移动对象跟踪系统的实现51系统主要界面VEDIO窗口用来播放监控录像视频14图4VEDIO窗口BACKGROUND窗
37、口用来显示二值化背景图像图5BACKGROUND窗口FOREGROUND窗口用来显示前景图像,供选择跟踪对象15图6FOREGROUND窗口MSKF_TRACKING窗口用来显示本文提出算法的跟踪结果图7MSKF_TRACKING窗口MS_TRACKING窗口用来显示原始的均值漂移算法的跟踪结果16图8MS_TRACKING窗口DOS命令行窗口用来显示当前帧数以及预测到的下一帧的目标的位置和速度图9DOS命令行窗口52主要功能实现这一节主要用来介绍主要功能函数的实现和思想。这里会涉及很多代码,为了尽可能的做到浅17显易懂,本节将不时地采用伪代码来阐述具体功能的实现。521MEANSHIFT中核
38、函数计算的实现函数原型INTCALCUEPANECHNIKOVKERNELINTWX,INTHY,FLOATKERNEL,FLOATC_K函数说明给定一个矩形,计算其各个像素的EPANECHNIKOV核输入参数INTWX,HY指定图像区域的半宽和半高输出参数FLOATKERNEL核权重,数组维数为2WX12HY1须在主函数中申请FLOATC_K上述权重的和(归一化系数)返回值该窗口中的总像素个数,如果返回值错误未找到引用源。为止。7若错误未找到引用源。,则停止;否则错误未找到引用源。转到步骤2。以上算法的限制条件是新目标中心需位于原目标中心的附近。所以原始的MEANSHIFT在物体快速运动的时
39、候有可能会丢失目标。526卡尔曼滤波算法的实现函数原型INTKALMANINTN,INTM,FLOATA,FLOATH,FLOATQ,FLOATR,FLOATY_K,FLOATX_K,FLOATP_K函数说明参数N整型变量,动态系统的维数(状态量个数)M整型变量,观测系统的维数(观测量个数)A单精度2维数组,NXN,系统状态转移矩阵H单精度2维数组,MXN,观测矩阵Q单精度2维数组,NXN,模型噪声W_K的协方差矩阵R单精度2维数组,MXM,观测噪声V_K的协方差矩阵Y_K单精度1维数组,MX1,观测向量序列X_K单精度1维数组,NX1,状态向量估计量序列。输入X_K1,返回X_K21P_K单
40、精度2维数组,NXN,存放误差协方差阵P_K1。返回时存放更新的估计误差协方差阵P_K输出X_K,P_K函数返回值若返回0,说明求增益矩阵过程中求逆失败;若返回非0,表示正常返回函数实现本函数的实现完全是根据文中公式13到17。527卡尔曼滤波参数更新的实现函数原型VOIDKALMAN_UPDATEINTSTYLE,FLOATSIMILAR,FLOATALFA函数说明KALMAN参数更新函数参数STYLE整型变量,1代表匹配正常情况下的KALMAN参数更新,2则代表没有正常匹配情况下的KALMAN参数更新。SIMILAR单精度变量,表示候选目标与模板目标之间的相似度。ALFA单精度变量,表示公
41、式21中的遗忘参数错误未找到引用源。函数实现本函数的实现完全是根据文中公式21到23。528跟踪系统主函数的实现函数原型FLOATTRACKERINTXIN,INTYIN,INTWIN,INTHIN,UNSIGNEDCHARIMAGE,INTW,INTH,INTXOUT,INTYOUT,INTWOUT,INTHOUT函数说明输入参数INTXIN,YIN输入目标区域的中心点INTWIN,HIN目标区域的半宽和半高UNSIGNEDCHARIMAGE图像数据,按从左至右,从上至下的顺序扫描,颜色排列次序RGB,RGB,22INTW,H图像的宽和高输出参数INTXOUT,YOUT检测得到的目标区域的中
42、心点INTWOUT,HOUT检测得到的目标区域的半宽和半高FLOATRHO_OUT求得的相关系数RHO返回值FLOATRHOBHATTACHARYYA系数函数实现依照45算法流程中的算法步骤来实现主函数。529鼠标选取跟踪目标的实现函数原型VOIDMOUSEHANDLERINTEVENT,INTX,INTY,INTFLAGS,VOIDPARAM函数说明输入参数INTX,Y鼠标位置INTEVENT事件类型函数实现根据前景二值化图像以及鼠标位置来获得矩形区域,并对跟踪系统进行初始化。限制条件目标大小要满足一定条件,不能太大也不能太小。2353跟踪系统流程图图10跟踪系统流程图246实验结果通过充分
43、的实验,证明了本论文算法的确比原始的均值漂移算法要稳健,在运动物体被部分遮挡、快速移动,突然加速的时候都表现的更为稳健。图11MS算法在534帧时的跟踪结果图12MS算法在588帧时的跟踪结果25图13MS算法在696帧时的跟踪结果以上三幅图是原始的均值漂移算法分别在534,588,696帧时对蓝色轿车的跟踪结果,蓝色轿车在696帧的时候停下了。图14本论文算法在534帧时的跟踪结果26图15本论文算法在588帧时的跟踪结果图16本论文算法在696帧时的跟踪结果这三幅图则是本论文算法在534,588,696帧时对蓝色轿车的跟踪结果,蓝色轿车在696帧的时候停下了。这说明本论文算法在一般情况下和
44、均值漂移算法一样都能实现对目标的有效跟踪。27图17MS算法在750帧时的跟踪结果图18MS算法在847帧时的跟踪结果28图19MS算法在2491帧时的跟踪结果以上三幅图是原始的均值漂移算法分别在750,847,2491帧时对白色面包车的跟踪结果,我们可以明显的看出在847帧的时候原始的均值漂移算法丢失了跟踪目标。图20本论文算法在750帧时的跟踪结果29图21本论文算法在847帧时的跟踪结果图22本论文算法在2491帧时的跟踪结果以上三幅图则是本论文算法分别在750,847,2491帧时对白色面包车的跟踪结果,我们可以明显的看出在847帧的时候本论文算法对目标进行了有效的跟踪,并且从2491
45、帧的跟踪结果中可以看出,本论文算法对部分遮挡也有较好的跟踪性能。307总结与展望71总结由实验结果可知,本文提出的移动对象跟踪算法在移动对象有部分遮挡、突然加速、快速运动的情景下都能有良好的鲁棒性。然而传统的MEANSHIFT算法在这些情况下的跟踪性能都较差。因此本论文提出的算法在这些方面加强了移动对象跟踪的连贯性和一致性。72展望不得不提出的是,本论文提出的算法也有跟踪目标丢失、跟踪出错的情况。尤其是在背景色和运动目标很相似的情况下,本论文提出的算法的性能就会下降很多。所以怎么去解决或者减少背景对跟踪的影响是本算法未来可以继续研究的方向。还有怎么更新搜索窗口、目标模板、KALMAN参数等都有
46、待进一步的研究以得到更好的跟踪性能。论文中采用的是颜色模型来描述目标模板,所以在背景和目标颜色模型极为相似的情况下就会很容易出现干扰的情况。31参考文献1侯志强,韩崇昭视觉跟踪技术综述N自动化学报,2006,32(4)1152孙中森,孙俊喜,宋建中,乔双一种抗遮挡的运动目标跟踪算法J光学精密工程,2007,15(2)153邵文坤,黄爱民,韦庆目标跟踪方法综述J影像技术,2006,1(1)144高浩军,杜宇人目标跟踪技术及应用前景J现代电子技术,2004,24(191)135熊玉梅,郭坚,陈一民视觉目标的识别及跟踪技术的研究J计算机应用与软件,2011,28(1)146胡洪涛,敬忠良,李安平,胡
47、士强非高斯条件下基于粒子滤波的目标跟踪N上海交通大学学报,2004,38(12)147张宏志,张金换,岳卉,黄世霖基于CAMSHIFT的目标跟踪算法J计算机工程与设计,2006,27(11)138向卫军,韩根甲计算机应用J基于模板匹配的目标跟踪算法在红外热成像跟踪技术上的应用,2003,29(5)149程建,杨杰一种基于均值移位的红外目标跟踪新方法N红外与毫米波学报,2005,24(3)1510杨杨,张田文一种基于特征光流的运动目标跟踪方法N宇航学报,2000,21,21811胡建华,徐健健一种基于遗传算法和卡尔曼滤波的运动目标跟踪方法J计算机应用,2007,2781312曲巨宝,林宏基,梁洪
48、涛,刘胜运动图像快速跟踪技术研究N重庆师范大学学报,2011,28(1)1513余静,游志胜自动目标识别与跟踪技术研究综述J计算机应用研究,2005,1121514LIXIAOHE,ZHANGTAIYI,SHENXIAODONG,SUNJIANCHENGOBJECTTRACKINGUSINGANADAPTIVEKALMANFILTERCOMBINEDWITHMEANSHIFTJOPTICALENGINEERING,2010,4921315ZHOUHUIYU,YUANYUAN,SHICHUNMEIOBJECTTRACKINGUSINGSIFTFEATURESANDMEANSHIFTJCOMPUT
49、ERVISIONANDIMAGEUNDERSTANDING,2009,11334535216KEINOSUKEFUKUNAGA,LARRYDHOSTETLERTHEESTIMATIONOFTHEGRADIENTOFADENSITYFUNCTION,WITHAPPLICATIONSINPATTERNRECOGNITIONJIEEETRANSACTIONSONINFORMATIONTHEORY,1975,IT21324017YIZONGCHENGMEANSHIFT,MODESEEKING,ANDCLUSTERINGJIEEETRANSACTIONSON32PATTERNANALYSISANDMACHINEINTELLIGENCE,1995,1779079918COMANICIUD,RAMESHV,MEERPKERNELBASEDOBJECTTRACKINGJIEEETRANSACTIONSONPATTERNANALYSISANDMACHINEINTELLIGENCE,2003,255564575