1、运动目标的监测与跟踪(曾辉 华南理工大学自动化学院 学号:200720111097)摘要: 对所要求的场景提出了一种 检测运动物体,跟踪运动物体的方法。用背景差分得到运动人体的区域, 通过卡尔曼滤波对人体进行跟踪,并 给出 实例关键词: 运动检测;运动跟踪;卡尔曼滤波1 概论视频图像分析主要是对运动图像序列进行分析处理,它通常涉及到运动检测、目标分类、目标跟踪及行为理解与描述几个过程。其中,运动目标检测与跟踪处于整个视觉监视系统的最底层,是视频图像分析中最基本的方法,是各种后续高级处理如目标分类、行为理解等的基础。视频图像指动态图像(moving-image),可以认为是随时间变化的静态图像序
2、列(Still-frame-image/picture-Sequence)。在静态图像中,信息密度随空间分布,且相对于时间为常量;而动态图像的空间信息密度特征随时间分布。所以,在视频图像的目标识别中,既有静态图像处理的特点,可以借用静态图像处理的一些方法;同时还有动态图像自身的特点,即动态图像连续帧之间的相关性。根据视频图像中摄像机和场景之间是否运动将物体的运动划分为四种模式:1 摄像机静止一目标静止,这实际上就是静态场景,对其处理方法就是静态图像中的处理方法。2.摄像机静止一目标运动,这是一类非常重要的动态场景,对其处理一般包括运动目标检测、目标特性估计等,主要用于预警、监视、目标跟踪等场合
3、。3.摄像机运动一目标静止,这主要用于机器人视觉导航、电子地图的自动生成以及三维场景理解等。4.摄像机运动一目标运动,这是运动物体的检测和跟踪最复杂的一种情况,但也是最普通的情况,目前关于这方面的研究还较少,理论还不够成熟。本试验中采用的物体运动模式为摄像机静止一目标运动模式 1一个运动物体跟踪系统的基本过程如下:1.在图像序列中检测出运动物体及运动区域2.对检测到的运动物体提取特征建立目标匹配模板3.计算目标的形心4.预测目标在下一时刻可能运动到的位置,确定目标在下一时刻的搜索范围5.在预测的搜索范围内,用前一时刻的模板进行匹配搜索,寻找最佳匹配位置,当在预测范围内未找到目标时需进行例外处理
4、。 22运动物体的检测方法运动目标的检测是一个重要、困难的研究课题,它除了能将运动分量和背景分量分割开,还能用检测出的运动块为以后的识别、分类以及行为分析提供感兴趣的区域。从分割的角度来看,运动物体检测被认为是视频对象的空间域分割。具体说来是指把序列图像中独立运动的区域逐帧检测分割出来。换言之,所谓运动物体检测,就是当场景中有新物体进入或者场景中有物体移动时,通过检测算法得知有物体出现,而分割则是把进入场景的物体从背景图像中分割出来。 4目前,对运动物体的检测和运动参数测量的研究方法主要有人工神经网络方法和图像处理方法。本文研究运用图像处理的方法进行运动物体的检测。该方法大体上可以分为四类:基
5、于帧间差分的方法、基于背景差分的方法、基于特征的方法和基于光流场的方法。 121 运动物体的常用检测方法运动物体检测通常采用差分图像的方法。差分图像一般有两种情况:1.当前图像与固定背景图像之间的差分,通常称为背景差分;2.当前连续两幅图像之间的差分,通常称为帧间差分。本试验采用背景差分的方法以获取运动物体。过程如下:开始选定背景图像将当前图像与背景图像做差分检测到运动区域结束图 1 背景差分的过程基于背景差分的方法是目前运动分割中最常用的一种方法,它是利用当前图像与背景图像的差分来检测运动区域的一种技术。该方法一般能够提供完全的特征数据,但对于动态场景的变化,如光照和外来无关事件的干扰等特别
6、敏感。22 灰度图像的背景提取运动目标检测和跟踪可以不直接使用原始彩色图像序列,而使用灰度图像序列,即将彩色视频图像序列转换成灰度图像序列,然后在灰度图像序列上提取背景。彩色图像转换成灰度图像彩色图像每个像素点在 RGB 空间中是一个三维矢量,每个分量分别代表红、绿、蓝三种颜色的灰度。最简单的将彩色图像转换成灰度图像的方法是将这三个分量取平均值。但是这种方法和人眼视觉感知不符。人眼感知红、绿、蓝三种颜色的权重是不一样的。JPEG 图像压缩格式采用的是 YUV 空间,YUV 空间是 RGB 空间的线性变换。转换公式是0.29.5870.14163.3YRUGVB R、G、B 分别表示红、绿、蓝三
7、种颜色分量的灰度值。Y 分量表示图像的亮度,这是符合人眼对颜色感知的。我们就以 Y 分量作为图像像素的灰度。将彩色像素转换为灰度像素的公式为GRAY=0.299R+0.587G+0.114B将彩色图像转换为灰度图像的算法如下:遍历彩色图像的每一个像素矢量,设矢量的红、绿、蓝三色分量值为 R、G、B,则输出的灰度图像的对应像素的值为 0.299R+0.587G 十 0.114B运动检测的目的是在图像序列中将前景运动区域从背景图像中提取出来。运动检测是运动物体分类、跟踪和行为理解的基础,该阶段处理结果的质量直接影响到以后处理的效果,所以运动检测在人体运动分析中的作用非常重要。然而,由于背景图像的动
8、态变化,如天气、光照、影子及混乱干扰等的影响,使得运动检测成为一项相当困难的工作。 1本实验中进行对象检测所使用的是背景相减(baekgroundsubtraetion)的方法,是目前运动分割中最常用的一种方法,它是利用当前图像与背景图像的差分来检测运动区域的一种技术,其主要工作过程如图所示:首先利用公式(1 一 1)计算背景图像与当前图像的差,然后对差分图像进行二值化,并对二值化后的图像进行连通性分析,当某一连通区域的面积(像素数) 大于一定的阈值,则认为检测到目标出现,并且认为这个连通的区域就为提取出的目标图像。图 2 基于背景相减的运动检测算法流程图(2-1)1(,),kkkDxyfbx
9、y(2-2)0, kkacgroundwheDxythresoldRfe该方法一般能够提供最完全的特征数据,但对于动态场景的变化,如光照和外来无关事件的干扰等特别敏感。最简单的背景模型是时间平均图像,大部分研究人员目前都致力于开发不同的背景模型,以期减少动态场景变化对于动态分割的影响。例如,Haritaoglu 等利用最小、最大强度值和最大时间差分值为场景中每个像素进行统计建模,并且进行周期性的背景更新;McKenna 等利用像素色彩和梯度信息相结合的自适应背景模型来解决影子和不可靠色彩线索对于分割的影响;Karmann 与 Brandt、Kilger 采用基于卡尔曼滤波(Kalmanfilt
10、ering)的自适应背景模型以适应天气和光照的时间变化 ;Stauffer 与 Grimson 利用自适应的混合高斯背景模型( 即对每个像素利用混合高斯分布建模) ,并且利用在线估计来更新模型,从而可靠地处理了光照变化、背景混乱运动的干扰等的影响。 2此外还有以下其他方法:时间差分方法(temporal difference)。时间差分是在连续的图像序列中两个或三个相邻帧之间采用基于像素的时间差分并且阈值化来提取图像中的运动区域,其基本过程如图 3 所示。首先,利用公式(1-3)计算第 k 帧图像与第 k 一 1 帧图像之间的差别,得到差分后的图像,然后对差分后的图像进行二值化,当差分图像中某
11、一像素值大于某一给定的阈值时,则认为该像素为前景像素,反之则认为是背景像素。在对差分图像二值化后得到,最后对进行连通性分析,当某一连通的区域的面积大于某一给定的阈值,则检测到目标,并认为该区域就为目标所占的区域。图 3 基于时间差分的检测算法流程图(2-3)1,kkkDxyffxy(2-4)0, kkbacgroundwheDxythresoldRfeLipton 等利用两帧差分方法从实际视频图像中检测运动目标,用于目标的分类与跟踪;一种改进的方法是利用三帧差分代替两帧差分,如 VSAM 开发了一种自适应背景相减与三帧差分相结合的混合算法,它能够快速有效地从背景中检测出运动目标。时间差分运动检
12、测方法对于动态环境具有较强的自适应型,但一般不能完全提取出所有相关的特征像素点,在运动实体内部容易产生空洞现象。光流(optiealflow)。基于光流方法的运动检测采用了运动目标随时间变化的光流特性。如 Meyer 等通过计算位移向量光流场来初始化基于轮廓的跟踪算法,从而有效地提取和跟踪运动目标,该方法的优点是在摄像机运动存在的前提下也能检测出独立的运动目标。然而,大多数的光流计算方法相当复杂,且抗噪性能差,如果没有特别的硬件装置则不能被应用于全帧视频流的实时处理。由于时间差分在运动实体内部容易产生空洞现象,并且很难精确地得到运动物体的轮廓信息;而光流方法时间开销比较大,且抗噪性能较差,在复
13、杂背景下也不适用; 背景相减是利用当前图像与背景图像的差分来检测速度快,并能够提供最完整的运动区域信息,缺点是对背景中的干扰比较敏感。 223 目标形心坐标的计算背景差分后图像已获得了运动目标的分割图,并将此图像进行了二值化处理,令目标区域像素灰度值为 255,其它区域为 0。要想获得运动物体的运动轨迹,或要预测运动物体在下一帧图像中的位置,必须计算出运动物体的形心坐标。24 对检测部分的讨论:本次实验检测的场景:两个朋友相互走近,并握手寒暄。在本实验中,为便于说明起见,从右走到左边的同学称为 A 同学,从左走到右边的同学称为 B 同学。本次检测部分的问题有如下一些:由于灰度图像序列进行背景差
14、分对光照的影响十分敏感,本实验中背景的光照强度分布并不是十分均匀,此外检测对象(运动的人体)与背景的对比并不十分强烈,进行检测时获取检测对象有一定的难度,主要体现在产生了许多的背景噪声,数量多,分布广,对检测对象图像干扰十分严重。处理中体现为进行二值化阈值处理时,处理过的二值化图像看上去效果不是很明显,检测对象(运动的人体)基本变形。此外,本实验中,A、B 同学的穿着对检测也有很大的影响。具体表现在:A 同学的穿着颜色、深度从上至下与背景的差别变化较为均匀,而 B 同学的穿着变化较大,上半身穿着浅颜色的衣服,与背景的差别较大,而腿部肤色与背景的差别较小,但穿着一双白色球鞋,与背景的对比十分鲜明
15、。结果,A 同学的检测结果较好,一般可以获得一个完整的检测对象,而 B 同学的检测结果不太好,所获得的检测对象往往不完整。本实验中还有一个特别的场景,即两位朋友在走近后握手寒暄,这一段过程也给检测带来了意想不到的麻烦,主要体现在 B 同学的检测上。该过程中,由于人体的阴影影响,检测对象(运动人体)所在的局部区域关照程度出现了局部变化,对于本身对比度变化较大的 B 同学有明显的干扰效果。此外,在此过程中 B 同学有被短暂遮挡的过程,这也给检测带来了很大的影响。具体体现为在第 110 及第 130 幅图像之间 B 同学的检测明显的与实际有不小的偏差。处理办法:本实验中先后采取了两种办法来对应这两个
16、问题。其一是打算对差分图像进行边缘检测,然后再进行填充;其二是选取合适的阈值,对差分图像直接进行二值化处理,然后对所得的检测对象进行膨胀处理。结果发现由于光照的影响,边缘检测效果十分不理想,有许多的假边缘;而按照第二种方法,选取合适的阈值后进行二值化,可以有效的滤除噪音,此后再进行膨胀操作,可以获取到较完整的检测对象,但所得的检测对象变形相当严重,已经无法获得与原检测对象相似的形状,仅能获取检测对象位置信息,除此之外难以获取检测对象的其他特征,此外本方法对阈值的把握有较高要求。另外,本实验堆所获得的二值图像还采取了阈值判定来检测对象,对图像中所占像素最大的两个区域判定为所要获得的检测对象,这样
17、与前面的二值化阈值处理结合起来基本上就能有效的滤除噪声干扰。 23运动物体跟踪31 跟踪简介序列图像中进行目标跟踪是计算机视觉、图像处理和模式识别领域里非常活跃的课题。所谓运动目标跟踪,就是在一段序列图像中的每幅图像中找到感兴趣的运动目标所处的位置。简单来说就是在下一帧图像中找到运动物体的确切位置。因为周围的环境是动态的,某一时刻所拍摄的图像和另一时刻的图像是不同的,因而视觉系统的一个初步任务在于将图像特征从一幅图像到另一幅图像匹配起来。这个过程就称为图像特征的跟踪(token tracking) 。在视频监视中运动目标跟踪的作用非常重要,因为它不但可以提供被监视目标的运动轨迹,也为进行场景中
18、运动目标的运动分析和场景分析提供了可靠的数据来源,同时运动目标的跟踪信息也反过来为运动目标的正确检测以及运动目标的识别提供了帮助。如果将所有图像重叠起来(即在图像坐标系下考虑问题) ,我们可以将第一幅图像的每个特征和后继图像中匹配的特征连接起来,这样对每个图像特征就得到一条轨迹(trajectory) 。因此,我们也可将“跟踪”重新定义为图像特征轨迹的估计。根据这个定义,特征跟踪可以认为是参数估计的一个特例。我们将会看到,参数估计理论确实构成了特征跟踪的基础。但是,特征跟踪所涉及的范围要比参数估计宽的多,例如统计决策理论(statistic decision theory)在特征跟踪中也起着很
19、重要的作用。特征跟踪在民用上和军事上都有广泛的应用。我们考虑如下一个场合。一个机器人负责领空监视,一个雷达和若干导弹供它支配。假设在时刻 ,机器人检测到敌方一导弹进0t入它的领空。通过监视雷达,机器人在若干时刻内跟踪该导弹,然后预测导弹在 时刻将nt到达位置 ,并计算地对空导弹飞行所需的时间 。这样,在 时刻,机器人就可Ptnt以发射导弹去截获并摧毁敌方导弹。图 4 特征跟踪应用的一个例子从上述例子可以发现,特征服踪是在一个“匹配修正预测”(matching-update-prediction)环中实现的。在时刻 所检测到的图像特征要和系统已有的特征建立对应关系it(匹配),然后修正这些特征的
20、参数,最后预测它们在下一时刻可能出现的方位。在匹配过程中,我们将要用到统计决策理论;在修正和预测中,需要用到参数估计理论;为了预测,我们还必需描述特征的运动模型。图 5 特征跟踪的“匹配- 修正-预测 ”环到此为止,图像的特征还只是一个抽象的概念。事实上,它可以是多种多样的:点、直线段、直线、曲线(以上既可以是二维的也可以是三维的) ;二维区域,平面和曲面等。根据不同的应用应选择适当的特征。以下我们将以点为例子来研究特征的跟踪。3.2 参数估计理论简介参数估计是从不确定的甚至是错误的观测值中推断出有意义的值的过程当然,这里所谓“有意义的”必须根据具体的问题来决定。参数估计涉及的内容广泛,此处仅
21、给出在解决特征跟踪问题时必需的部分状态空间表示法在实际应用中,经常要研究动态系统用状态空间来描述动态系统有很多好处,使得我们可以在一个一般的且一致的框架下研究任何复杂的动态系统。利用这个表示法,通过引进中间变量,很多动态系统可以用如下的一阶微分向量方程:(3-1)xtft来表述。例 一动态系统由 和 两变量描述,并有下列两微分方程:yz(3-2)212341ayzau(3-3)2zbb如果定义下列向量(称为状态向量):(3-4)1234xyz这里 称为状态变量,那么原系统可表达为一阶微分向量方程:(1,)ix(3-5)22212431413 24xxaaubxb 我们可以将状态变量看作为记忆变
22、量。我们能从状态变量中重新得到所有想要得到的有关过去的东西(不是所有过去的东西 )。也就是说,状态变量储存了一个动态系统关于“历史”所需的信息。一个离散动态系统可分解成两个过程: 维的动态系统和 维( )的观测系统。npn在时刻 , 维输入向量 经过动态系统,再加上 维噪声向量 (称为动态噪声) 产生itliumi维状态向量 。这里,下标 表示这是时刻 的值一般地,动态系统的演变可由下列差nisit分方程(称为动态系统方程或系统方程 )描述。(3-6)1;0,1iiiihGun其中,向量函数 称为系统的转移函数; 是 矩阵,称为系统的作用矩阵;iiGnl是 短阵,称为动态噪声短阵inm图 6
23、离散动态系统的描述状态向量 通过 维的观测系统,再加上 维噪声向量 (称为观测噪声) ,输出观测isppi向量 。一般地,观测系统可由下列差分方程(称为观测方程) 描述:ix(3-7),0;iifs0,1i; (3-8)iix其中, 是无噪声的观测向量; 是实际的观测向量;向量函数 称为观测函数。i ixif设从第 0 时刻到第 时刻,对上述离散系统作了 次观测 ,系统的输1kk01,kx入向量 一般是已知的。根据这 个观测数据和输入向量,我们需要对第,iu时刻的状态 进行估计,若估计值为 ,当 时, 称为滤波,并简记jjs|1jksj1|ks;当 时 称为预报或外推;当 时 称为内插。下面我
24、们用一个1ks|1jk|j简单的例子来说明如何递归地(recursively)估计参数。例 某点沿 轴作匀速运动,如何由观测点估计其速度?x我们现在一步一步来分析在时刻 ,我们观测到点在 。既然不知道它的速度,0t0x我们可以合理地假设 。如果这个假设正确的话,那么在时刻 应该在01t(预测值) 观测到点。事实上,点出现在 。两者之差为1|00xt x(残差) 。因此,结合 所得的观测值,速度应该修正为:1| 1t。这样 的预测值为 。在时刻 ,我101/0/1xt 2t2|1120xt2t们果真在 地方观测到点,因此与预测值没有差别(即残差 )。修正的速度保持2 不变: 。我们正确地估计出了
25、点的速度。1/xt在这个例子里,速度的修正具有下列形式:1/iiikt其中 。我们选择 是因为我们假设观测值没有噪声,因而完全依赖当前的观1测值。如果观测值含有噪声,我们不能完全相信残差提供的信息,而应根据观测值的可信度(confidence)和预测值的可信度的相对大小,在 0 和 1 之间选择 的值。当 ,当前k0的观测值不再被考虑,我们完全依赖预测值(即在这之前所提取的信息) 。 称为增益。通过这个例子,便于我们理解卡尔曼滤波运动物体跟踪,跟踪方法首先提取要被跟踪物体的图像,建立一个模板;然后在下一帧图像中,搜索物体图像,找到最佳匹配的位置。跟踪需要从普通环境中快速提取变化和运动的物体。本
26、试验使用基于卡尔曼滤波器的跟踪算法。属于静止背景中运动物体跟踪的算法。简单的运动物体跟踪方法首先要提取被跟踪物体的图像,建立一个模板;然后在下一帧图像中全图匹配搜索物体图像,找到最佳匹配的位置。 33.3 卡尔曼滤波Kalman滤波器是一个线形递归滤波器,它基于系统以前的状态序列对下一个状态做最优估计,预测时具有无偏、稳定和最优的特点。通常情况下,在一个有噪声的系统中,我们用 描述系统在 时刻的状态, 为在k时刻kykz观察到的特征向量。通过 我们可以对 的值有一个估计 ,如果我们还知道 如何随时间kzk ky变化,我们就会对 有一个预测。这表明了一个预测反馈的机制,这种预测反馈机制就是1ky
27、Kalman 滤波的思想。卡尔曼滤波器的结构如图。它处理的是这样一个系统:Xk 是系统第 k 时刻的状态矢量,A 是系统的状态转移矩阵,Wk 是系统第 k 时刻的系统噪声矢量,系统的当前状态依赖且仅依赖于系统的上一状态,并且是线性关系(3-9)1kkXAW人们对系统的状态矢量 做观测, 是观测矩阵, 是第 k 时刻的观测噪声矢量,HV人们最终看到的是 。kZ(3-10)kXV卡尔曼滤波的目标是,己知系统转移矩阵 ,观测矩阵 、系统噪声矢量的协方差矩A阵 、观测噪声矢量的协方差矩阵 ,从观测到的 中恢复 。QRkZkX图 7 卡尔曼滤波器的结构卡尔曼滤波的过程如下:设 是第 k 时刻卡尔曼滤波器
28、对 的估计值,即卡尔曼滤波器的输出; 是 的协YkXkPX方差的估计值。初始值 和 随机确定。0YP第一步预测:(3-11)1kA(3-12) PQ其中 和 分别是 和 的预测值。kY kY第二步根据观察结果修正:(3-13) 111()kkKgHR(3-14) YZY(3-15)()kkPI其中 是卡尔曼增益。不断循环以上两步,可到各个时刻的系统状态估计值。kKg从式子中可以看出,当观测噪声矢量的协方差矩阵中的元素越大卡尔曼增益就越小,对预测的修正量就越小。这是因为观测噪声的协方差矩阵元素越大,观测值的可信度就越小,最终估计值越靠近预测值。将卡尔曼滤波用于运动跟踪。状态矢量为物体位置和速度,各有两个方向,因此状态矢量是四维矢量。转移矩阵是新位置与速度与上一时刻位置与速度的关系。认为速度不变,而新位置等于上一时刻位置加上速度乘以采样周期,即可得到转移矩阵。观测矩阵就是取出状态矢量的两个方向的位置分量。系统噪声是由运动物体加速度导致的,而观测噪声是由前述运动物体和连通区域不一致导致的。 13.4 对跟踪部分的讨论:本次跟踪部分过程如下:跟踪是在检测的基础上进行的,因此,检测效果的好坏直接关系到跟踪的效果,而跟踪的效果也基本是由检测的效果来决定,与其他因素关系不是很大。本次实验中,跟踪主