研究生课程论文《光流法运动目标跟踪》课程名称s姓名学号专业任课教师教师评阅意见:论文成绩评阅日期课程论文提交时间:年月日摘要本文实现了对运动目标的跟踪检测,重点研究金字塔Lucas-Kanade算法,在研究基于特征点的目标跟踪的一般方法,即采用改进的Harris角点提取点的方法。实验结果表明先采用Shi-Tomasi算法比Harris算法提取角点效果更好,之后用金字塔光流进行跟踪。关键词运动目标跟踪Lucas-KanadeShi-Tomasi改进Harris1.引言近些年,模式识别领域的图像处理已经成为一个支柱,其中,动态目标的识别跟踪已经被研究者应用到工程上,而运动目标跟踪算法的优劣直接影响着运动目标跟踪的稳定性和精确性。本文主要是运动光流法等算法对运动目标进行跟踪。目标特征点的跟踪是计算机视觉中的一个基本而极具挑战性的研究课题,该课题在人机互动(HCI),目标识别,目标运动等领域有着非常重要的应用。虽然对运动目标跟踪算法能够完成对运动目标的可靠跟踪,大多数都存在处理数据量大,运算复杂等问题。因此,研究具有高精度且运算简单的目标检测与跟踪算法是图形跟踪迫切需要解决的问题,目前基于特征和光流的图像跟踪方法受到了极大的关注。2.运动目标检测算法运动目标检测技术是目标自动检测、识别与跟踪的基础,也是实现进一步处理视频编码、目标跟踪、目标分类及行为理解等的关键技术。基于视频或序列图像的分析一般可分为四个步骤:(1)运动目标的检测与提取,(2)运动目标的分类,(3)运动目标的跟踪,(4)运动目标的行为理解与分析,如图1所示。图像序列运动检测目标分类目标跟踪行为理解图1分析过程在计算机视觉处理中,运动目标检测技术处于中层处理级别,它是指在一个视频或者图像中,对需要研究的并且是处于运动状态的目标和背景进行分离,对于行为理解,行为分析等其他技术的研究,运动目标检测也是一种有效的方法。目标检测要依据运动目标的主要特性,例如时间特性、边缘形状特性、颜色灰度特性、矢量特性等等。时间特性、区域作为视频序列时间差分和图像分割的基础,是运动目标最基本的特性。目标运动时在形状、大小、刚度等方面的差异称为形态特征,利用形态特征对运动目标检测,难点是对小目标的检测。3.光流法1950年,Gibuson首先提出了光流的概念,所谓光流就是指图像表现运动的速度。物体在运动的时候之所以能被人眼发现,就是因为当物理运动时,会在人的视网膜上形成一系列的连续变化的图像,这些变化信息在不同时间,不断的流过眼睛视网膜,就好像一种光流过一样,故称之为光流。光流场是一种二维(2D)的瞬时速度场,在景物可见点中,三维(3D)速度矢量在成像表面上形成的投影就是2D速度场矢量。光流包含了观测物体的运动变化信息,同时还含有景物三维结构的信息。在许多问题的研究中,光流都起着重要作用,在计算机视觉的较高层视觉算法中,光流是一个比较重要的输入,可以实现诸如目标分割、识别、跟踪、机器人导航以及形状信息恢复等重要的任务;通过二维物体表面上的光流来研究三维结构和运动,是计算机视觉研究领域内一项很有意义和挑战的任务;在其它领域的应用中,光流信息的作用也是很明显的,例如心脏手术后,对病人心脏波动的监测、海洋及大气过程的研究和预测等。所以看出,光流的研究不仅仅计算机视觉中,也在其他有关研究领域中是一个重要部分。光流法是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类:(1)基于区域或者基于特征的匹配方法;(2)基于频域的方法;(3)基于梯度的方法;简单来说,光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”。光流的研究是利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的“运动”。研究光流场的目的是为了从图片序列中近似得到不能直接得到的运动场。3.1运动场与光流场在图像中,运动场是由每个点的运动速度矢量构成的。当运动目标在相机前运动,或者相机在物体不同的时候运动时,就可以获得响应的图像变化,利用这些变化可以获得相机和运动目标之间的相对运动,也可以获得场景内多个目标之间的关系。运动场,物体在三维真实世界中的运动;光流场,是运动场在二维图像平面上的投影。具体比较如图2.图2光流场与运动场比较光流场的目的是找到图片中每个像素点的速度向量:),(uvu,需要注意的是,这里的速度是个矢量,不仅有运动大小信息,还包括运动的方向信息。根据前面提到的光流的微小运动和亮度恒定这两个假设,我们可以得到:),,(),,(dttdyydxxItyxI,该式用一阶泰勒级数展开,我们将得到:dttIdyyIdxxItyxIdttdyydxxI),,(),,(,即:0xdtIdyIdxIty,令dtdxu,dtdyv,那么:tyIvIuIx,即:tuvyIIIx,假设在(u,v)的一个小的局部领域内,亮度是恒定的,那么:,即:buA。3.2光流的计算方法从不同的分析角度引入不同的约束条件,就会导致产生不同的光流计算方法。目前应用较为普遍的光流计算方法主要有以下四种:1)基于梯度的方法2)基于匹配的方法3)基于相位的方法4)基于能量的方法基于时空梯度的光流算法也称为微分法,是一种最常用的计算方法,根据时变图像灰度的梯度函数,梯度算法得到图像中每个像素点的运动矢量。基于匹配的方法就是在图像序列的顺序图像之间,搜索与相对像素点最拟合的位移,这个位移就是最终需要的速度矢量。基于相位的方法在光流的计算中引入了相位信息,在带通调谐滤波器的输出中,利用与等相位轮廓垂直的瞬时运动可以确定分速度。a.Horn-Schunck经典光流场计算方法b.Lucas-Kanade方法3.3光流法原理光流法用于目标检测的原理:给图像中的每个像素点赋予了一个速度矢量,这样就形成了一个运动矢量场。在某一特定时刻,图像上的点与三维物体上的点一一对应,这种对应关系可以通过投影来计算得到。根据各个像素点的速度矢量特征,可以对图像进行动态分析。如果图像中没有运动目标,则光流矢量在整个图像区域是连续变化的。当图像中有运动物体时,目标和背景存在着相对运动。运动物体所形成的速度矢量必然和背景的速度矢量有所不同,如此便可以计算出运动物体的位置。需要提醒的是,利用光流法进行物体检测时,计算量较大,无法保证实时性和实用性。光流法用于目标跟踪的原理:1)对一个连续的视频帧序列进行处理;2)针对每一个视频序列,利用一定的目标检测方法,检测可能出现的前景目标;3)如果某一帧出现了前景目标,找到其具有代表性的关键特征点;4)对之后的任意两个相邻视频帧而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标;如图3所示,假设已有H(x,y),I(x,y)两个图片,如何计算H到I像素点之间的运动?显然,对于H中特定的像素点,我们应该在I图片中对应位置的周围来寻找像素值一致或者接近一致的像素点。如此一来,不难发现,解决此类问题,一般有两个关键的假设:(1)颜色一致(2)微小运动;即,每个像素点,都不会产生较大的运动偏移。图3偏移过程再如下图4所示,H中的像素点(x,y)在I中的移动到了(x+u,y+v)的位置,偏移量为(u,v)。图4偏移量4.实验结果分析我们选取了几组视频进行测试,分别是:简单静态背景下的人、复杂静态背景下的骑车的小孩、简单动态背景下树叶的抖动、复杂背景下橄榄球运动员。效果如下列4组图片效果对比。图54组图的比较可以看出光流法算法的效果在静态背景下的效果最好,效果随着背景的复杂、多变,算法的效果会减弱。可以看出,金字塔光流算法计算出来的光流值不仅可以达到一定的精确度,得到密集、一致且矢量较长的光流场,而且在时间开销上比较小,可以在一定程度上满足系统的跟踪的要求。5.结束语运动目标检测与跟踪是机器视觉研究领域的重要方向,在军事和民用领域都有广泛的应用。本文对运动目标检测和跟踪的常用方法进行了分类介绍和深入研究,选择基于光流法的运动目标检测和跟踪算法,光流法的优点是检测精度高,能完整直接的获取目标运动参数。但是,对于光流法实时性的研究还十分浅显,仍有许多问题难以解决,仍然需要不断的改进和优化算法。参考文献[1]TheclassicarticlebyB.LucasandT.Kanade,AniterativeimageregistrationtechniquewithanapplicationtostereovisioninInt.JointConferenceinArtificialIntelligence,pp.674-679,1981,thatdescribestheoriginalfeaturepointtrackingalgorithm.[2]ThearticlebyJ.ShiandC.Tomasi,GoodFeaturestoTrackinIEEEConferenceonComputerVisionandPatternRecognition,pp.593-600,1994,thatdescribesanimprovedversionoftheoriginalfeaturepointtrackingalgorithm.