基于MATLAB的视频运动目标跟踪与检测定位系统
一、课题背景
视频运动目标检测与跟踪算法是计算机视觉领域的一个核心课题,也是智能视频监控系统的关键底层技术。它融合了图像处理、人工智能等领域的研究成果,已经广泛应用于安保监控、智能武器、视频会议、视频检索等各个领域。因此,检测与跟踪算法研究具有极其重要的理论意义和实用价值。
运动目标检测与跟踪涉及到计算机图像处理、视频图像处理、模式识别、以及人工智能等诸多领域,广泛地应用于军事、工业、生活等各个方面。研究内容分为三个方面:图像的预处理、运动目标的检测和运动目标的跟踪。在图像的预处理方面,采用均值滤波,抑制噪声;并应用形态学的方法进行滤波和去除小黑点,改善图像质量。
在运动目标的检测方面在运动目标检测方面,本文对常用的三种方法进行了分析,包括帧间差分法和背景差分法,并指出其优缺点及主要的适用范围;重点研究了帧间差分法,帧间差分法比较简单,对环境的适应能力强,但是检测到的运动目标不精确。
在运动目标的跟踪方面,也做了初步的研究。采用最小外界矩形框来定位目标,借助最近领域法预测目标位置,缩小目标的搜索范围,提高目标的跟踪速度。
"https://zhuanlan.zhihu.com/write#_Toc293496007">Abstract 2
第一章 绪论
1.1课题的研究背景及意义
随着计算机技术的不断发展,计算机能力得到了极大的提高,使得利用计算机实现人类的视觉功能成为目前计算机领域最热门的课题之一。该领域称之为计算机视觉,它是计算机技术,电子信息工程,微电子技术等多学科的一个共同的衍生点,是一门新兴的技术。计算机视觉研究的目标是使计算机具有通过图像(和静止的图像相比,运动图像包含了更多的信息)认知周围环境信息的能力,这种能力不仅能使计算机能感知环境中物体的几何信息,包括它的形状、位置、姿态、运动等,而且能对它们进行描述、存储、识别与理解。
在过去的二十多年里,如何利用计算机把运动目标检测出来并对感兴趣的部分进行跟踪,从而实现对目标运动行为的理解和描述,一直是一个具有挑战性的课题,也是一项非常活跃的研究领域。
运动目标的检测与跟踪,目的是通过对视频图像的分析,实现对场景中目标的定位、识别和跟踪,从而做到对目标行为的分析,在完成日常管理外还能对发生的异常情况做出反应。对视频的自动检测可以减少对视频信号的存储并能实现自动报警。它可以指导操作人员去解决一些潜在的问题.还可以极大的减少视频传输所需要的带宽,并且只存储一些感兴趣的片断。
运动目标的检测和运动目标的跟踪,这两方面工作是一个承接的关系,但同时也相互影响。运动目标检测是第一部分,它就是实时地在被监视的场景中检测运动目标,并将其提取出来。运动目标跟踪也是衔接运动目标检测和目标行为分析和理解的一个重要环节。所谓运动目标跟踪,就是在运动目标检测的基础上,利用目标有效特征,使用适当的匹配算法,在连续图像中寻找与目标最相似的图像的位置,简单的说就是给目标定位。在实际应用中,运动目标跟踪不仅可以提供目标的运动轨迹和准确定位目标,为下一步的目标行为分析与理解提供了可靠的数据来源,而且也可以为运动目标检测提供帮助,从而形成一个良性的循环。运动目标的检测、跟踪技术是一个对实时性和识别精度有较高要求的高科学技术。在技术上涉及到计算机图像处理、视频图像处理、模式识别、以及人工智能等诸多领域,因而具有较强的研究价值。而且它在军事、工业和科学研究方面的应用极为广泛,如:视频监视、虚拟现实、运动目标捕获、智能交通、军事制导等。正是由于这些显著的优点及其广泛的应用前景,研究图像目标的检测与跟踪具有重要的意义。
视觉跟踪技术具有广阔的应用前景,并不仅仅局限于上述所介绍的几个方面。实现一个具有鲁棒性、准确性的视觉跟踪系统是当前视觉跟踪技术努力的方向。随着计算机技术的不断发展,视觉跟踪技术作为计算机视觉领域中的核心技术之一,在一些关键技术中具有越来越重要的作用。
1.2国内外的研究现状,发展动态
1.2.1国外研究现状
图像的类型主要有三种:可见光图像、红外图像和雷达图像。其中可见光图像是通过光学成像原理得到的;红外图像是通过不同物体表面辐射的热量不同的而得到的;雷达图像则是合成孔径雷达、毫米波雷达、激光雷达等不同成像手段得到的图像。针对它们不同的特点,也就产生了不同的检测跟踪算法。本文针对可见光图像中的运动目标进行分析研究。
巨大的商业价值和应用价值使越来越多的公司和学术机构致力于这种技术的研究。美国,英国等国家己经展开了大量相关项目的研究。1997年,由美国国防高级研究项目署DARPA(DefenceAdvanced Research Projects Agency)领头,以美国卡耐基梅隆大学为首,麻省理工学院等高校参与了视频监控系统项目VSAM(VSAM:System for video surveillance andmonitoring,意为:视频监控系统)的研究开发,并于2000年基本完成.此项目主要研究的是针对战场及普通民用场景进行监控的自动视频理解技术:分布于各个不同位置的摄像头获取的视频信号通过一个分布式的网络连接汇集到操作中心,只需要一个操作人员就可以监控一个相当广阔的空间范围.同时,在很大程度上减少了操作人员的劳动强度,系统能够自主检测异常情况的发生,而且只有在检测到异常的情况下系统才会发出信号,提醒操作人员作相应的处理。从2000年开始,DARP又设立了HID(Human Identification at a Distance)计划,美国有13所大学和5个研究中心参与了这个项目的研究,包括卡内基梅隆大学、马里兰大学、麻省理工大学、哥伦比亚大学等。其任务是开发多模式的、大范围的视觉检测技术,以实现远距离情况下人的检测、分类和识别,增强国防、民用等场合免受恐怖袭击的自动保护能力。欧盟赞助研究的PRISMATICA系统,该系统融合了多种智能检测设备(智能摄像头、非接触智能卡、无线视频传输等),用于地铁站的安全监视。国外一些公司近年来相继推出了具备一定智能功能的视频监视系统,如:娜威的 DETEC AC公司提供的Detec系统;美国ObjectVideo公司提供的ObjectVideo VEW、ObjectVideo Forensics。它们实现了在用户定义规则下对监视场景进行监测、跟踪、分类、统计的软件系统,可在诸如有人闯入、盗窃、提包遗失或者未经许可在限制区域闲逛等违反自定义规则的情况下报警。另外还有ObjectVideo On Board一构建在DSP处理器上的嵌入式视频监视系统;在日本,一家公司发展的基于的三维激光摄像机的自行车辆及行人检测系统,系统的主要目的是获得交通流参数,以动态地智能地控制交通信号。
1.2.2国内研究现状
相对而言,国内在目标跟踪技术方面的研究起步较晚。主要的研究团队有中科院自动化所模式识别国家重点实验室、北京大学视觉与听觉信息处理国家重点实验室及清华大学智能技术与系统国家重点实验室。中科院自动化所模式识别国家重点实验室的主要目标是实现一个动态场景集成分析演示系统并最终推向实用,而北京大学视觉与听觉信息处理国家重点实验室的工作主要是实现高度智能化的机器感知系统,并在言语听觉技术、三维视觉信息处理、智能机器人等研究领域取得许多研究成果。清华大学智能技术与系统国家重点实验室主要从事人工智能基本原理、基本方法的基础与应用基础研究,包括智能信息处理、机器学习、智能控制,以及神经网络理论等,还从事与人工智能有关的应用技术与系统集成技术的研究,主要有智能机器人、声音、图形、图像、文字及语言处理等。交通流参数,以动态地智能地控制交通信号。在国内,也己有一些具备智能功能的视频监视产品上市,如:北京黄金眼科技的黄金眼,北京行者科技的行者猫王等产品。但是,目前国内使用中的视频监视系统大部分均侧重于视频数据的压缩、传输和存储;其报警功能大都利用红外,烟雾等外接传感器实现;视频数据到达终端以后还是需要由人来实时观测分析,或者是存储起来以备事后查阅。这种系统仍需耗费大量的人力物力,却只能实现部分的预期功能,远远无法满足日益增长的对监视系统智能化的需求。
1.2.3难点与发展趋势
基于计算机视觉的运动物体检测和跟踪方法,目前国内外有很多机构和学者对其进行研究。由于该领域的研究对象复杂,研究内容涉及多种学科,目前还存在以下研究难点还没有较好地解决。
运动物体检测方法对周围环境中光线亮度渐变和微小噪声干扰的适应性能。自然光线和灯光的亮度是在不断变化的,平时人眼可能感觉不到这些光线亮度的变化,但是在对场景中运动物体进行检测时,光线亮度的细微变化和微小噪声的干扰会对检测结果产生很大影响。如果检测算法不能适应这些变化,可能会导致检测失败。
运动物体的有效分类问题。运动物体跟踪的关键是能否识别出运动物体。如果目标识别的方法不当,通常会导致跟踪中目标丢失或出现虚假跟踪目标。所以,为了提高跟踪算法的有效性,必须首先解决好运动目标的有效分类问题。
运动物体之间的遮挡与重叠的跟踪问题。目前许多跟踪方法能够很好地对单个物体进行跟踪,但是当场景中出现多个跟踪物体时,特别是这些运动物体之间存在相互遮挡和重叠时,如何有效分离目标并正确跟踪将是很困难的。
目标跟踪中提高运算速度问题在目标检测中,通过第一帧图像与背景作差获得了动态目标信息,如何将得到的目标信息在接下来的每一帧中快速找到,以节省运算量和运算时间是非常重要的。要知道,如果视觉场景中有多个运动目标的话,如果运算量不够小,运算速度不够快很可能导致系统崩溃。这也是目标跟踪的一个优化问题。
1.3本论文的研究内容和论文结构
本文视频源来自静止的单摄像机采集的可见光视频,通过视频格式转换软件,将摄像头录制的视频格式转换成matlab能够解码的视频编码方式,最后用matlab进行仿真研究。
具体工作内容为:针对摄像头静止的情况研究视频序列中的运动目标跟踪,结合基于运动的和基于色彩的方法,以人体或汽车为目标,当目标进入摄像机视野时,我们首先对他进行检测,然后通过区域检测合并属于该目标的运动区域,同时通过对运动目标特征的提取来确定目标的身份。在每一帧对视频场景做检测后,我们直接利用已检测到的目标特征在接下来的每一帧进行跟踪。跟踪情况会比较简单,根据直方图的信息和质心的位置就可以对目标进行定位和跟踪。原理框图如下:
本文的结构安排如下:
第一章,前言部分,介绍了对运动目标检测与跟踪问题研究的背景与意义,重点对运动目标检测与跟踪的发展状况进行了总结。以及本文的主要研究内容和本文的章节安排。
第二章,介绍运动目标检测的技术和本文所采用的方法。对常见的几种目标检测方法进行了分析和比较。
第三章,对图像进行预处理,解决在运动目标检测中产生的阴影和空洞等问题。
第四章,对目标跟踪及预测方法进行归类分析,采用质心和最大外接矩形框结合的方法跟踪,定位目标的坐标,计算出目标的速度和加速度。
第五章对本论文的工作进行了总结和回顾,指出研究中的不足,并对今后的研究和发展方向进行了展望。
第二章 视频运动目标检测算法分析
运动目标检测与提取是指通过运动及图像特征分析(如色彩灰度、边缘、形状等),检测视频序列中是否存在与背景有相对表观运动的前景目标,则将其从原始图像序列中提取出来。它是视觉信息提取的一个关键步骤,是更高层次的视频图像分析如目标跟踪、目标分类的重要基础。在视频监控、目标跟踪、视频语义解释等系统中,运动目标检测的作用更是显得尤其重要。因此,如何快速准确地从视频图像序列中提取出系统所关心的运动目标,是诸多研究人员所关心的一个问题。对人体跟踪之前首先要对运动目标进行检测与识别,其结果对以后的目标跟踪是非常重要的,运动区域的分割质量直接影响到后续的跟踪效果。
本章主要介绍几种常见的检测算法,帧间差分、边缘检测、背景差分检测、光流法。本文重点分析帧间差分法。
2.1 帧间差分法
帧间差分法是一种通过对视频图像序列中相邻两帧作差分运算来获得运动目标轮廓的方法,它可以很好地适用于存在多个运动目标和摄像机移动的情况。当监控场景中出现异常物体运动时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像亮度差的绝对值,判断它是否大于阈值来分析视频或图像序列的运动特性,确定图像序列中有无物体运动。
假设视频图像序
…天中,选取任意连续两帧图像
(x,y)和
(x,y),则他们的差分图像
(x,y)为:
(x,y)=
(x,y)-
(x,y)
,其中(x,y)表示图像中像素点空间坐标。把差分图像从(x,y)和一个闭值T进行比较,判定图像中各个像素点是运动目标像素点还是背景像素点,从而提取运动目标
(x,y)。
式中的闭值T可以预先给定也可以采用自适应的方法确定。帧间差分法的基本原理如图2-1所示:
帧间差分法的优点是:算法实现简单,程序设计复杂度低;对光线等场景变化不太敏感,能够适应各种动态环境,稳定性较好。其缺点是:两帧间目标的重叠部分不容易被检测出来,不能提取出对象的完整区域,即只检测出目标的一部分或者出现了较大比例的空洞,这是由于我们直接用相邻的两帧相减后,保留下来的部分是两帧中相对变化的部分,所以两帧间目标的重叠部分就很难被检测出来;同时依赖于选择的帧间时间间隔。对快速运动的物体,需要选择较小的时间间隔,如果选择不合适,当物体在前后两帧中没有重叠时,会被检测为两个分开的物体:而对慢速运动的物体,应该选择较大的时问差,如果时间选择不适当,当物体在前后两帧中几乎完全重叠时,则检测不到物体。检测目标在两帧中变化的信息,这样会存在较多的伪目标点,检测出的目标往往比实际的目标大一些,这是由于实际目标颜色或者灰度在一定的区域内较为均匀所导致的。
本文采用帧间差分法来完成目标的检测。
原图像 处理后的图像
2.2边缘检测
边缘是指图像周围像素灰度有剧烈变化的那些像素的集合,它存在与目标与背景、目标与目标、区域与区域之间。图像的边缘有方向和幅度两个特性。通常沿边缘方向的像素变化平缓,而垂直于边缘走向的像素变化剧烈。这种变化可能呈现阶跃型和房顶型,分别对应景物中不同的物理状态。例如阶跃型变化地带两边的像素的灰度值有显著不同,常常对应目标的深度和反射边界;而房顶型变化地带位于灰度值从增加到减小的变化转折点,常常反映表面法线方向的小连续。微分运算是检测边缘的重要手段。对于前者,灰度变化曲线的一阶导数在边缘处呈现极值,二阶导数呈现零交叉;对于后者,在边缘处一阶导数呈现零交叉,二阶导数呈极值。
目前常用算子的有Prewitt、Sobel、Roberts、Canny算子。
Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。
对数字图像f(x,y),Prewitt算子的定义如下:
G(i)=|[f(i-1,j-1)+f(i-1,j)+f(i-1,+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|
G(j)=|[f(i-1,j+1)+f(i,j+1)+f(i+1,+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|
则 P(i,j)=max[G(i),G(j)]或 P(i,j)=G(i)+G(j)
经典Prewitt算子认为:凡灰度新值大于或
等于阈值的像素点都是边缘点。即选择适当
的阈值T,若P(i,j)≥T,则(i,j)为边缘点,
P(i,j)为边缘图像。这种判定是欠合理的,
会造成边缘点的误判,因为许多噪声点的灰
度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。
该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像,其公式如下:
图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小及方向。如果以上的角度Θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。
Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内 产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。
Robert边缘检测算子大小仅为2X2,是一种局部差分算子,采用对角线方向相邻两像素差进行梯度幅度检测,水平、垂直边缘的检测性能好于斜线方向的性能,定位精度比较高,速度比较快,对于具有陡峭的低噪声图像效果较好。但对于噪声比较敏感,且具有功能性的限制(如,它是非对称的,不能检测诸如45度倍数的边缘)。虽然如此,但是由于简单,还是会用于硬件实现中。
2.3背景差分检测
背景减法是利用当前图像与背景图像作差分以提取运动区域的一种运动检测方法,也是目前使用较为普遍的一种方法。它一般能够提供目标完整的数据。它的基本思想是:首先通过一定的背景建模的方法得到背景模型
(x,y);建立背景模型后,把后来采集到的视频序列的每一帧图像
(x,y)同背景图像
(x,y)进行差分;对得到的差分图像
(x,y)进行二值化处理后得到
(x,y);当差分图像中某一像素点大于阈值时,则认为是运动目标像素,否则是背景像素。用公式表示如下:
背景减法的计算速度很快,得到的结果直接给出了目标的位置、大小、形状等,从而可以获得关于运动目标区域的完整精确的描述,但对场景中的动态变化,如光照条件的变化、摄像头受到的轻微扰动等因素都是十分的敏感,会出现很多伪目标点从而降低目标检测的准确性。因此基于背景差分的运动目标检测算法的关键在于寻找理想的背景模型。
2.4 光流法
光流是空间运动物体在观测成像面上的像素运动的瞬时速度。光流的研究是利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的“运动”,即研究图像灰度在时间上的变化与景象中物体结构及其运动的关系。光流是指图像中灰度模式运动的速度。它是景物中可见点的三维速度矢量在成像平面上的投影,它表示了景物表面的点在图像中位置的瞬时变化。一般情况下,可以认为光流与运动场没有太大区别,因此就可以根据图像运动来估计相对运动。基于光流方法的运动检测采用了运动目标随时间变化的光流特性,把光流计算得到的运动量作为一个重要的识别特征来判断运动目标。;在运动的某一特定时刻,图像上的像素点投景到三维物体上的点;然后根据每个像素点的速度矢量特征来动态分析图像,如果图像中不存在运动目标,那么光流矢量在整个图像区域是连续变化的,如果目标相对图像背景运动时,那么运动目标所形成的速度矢量必然不同于邻域背景速度矢量,从而检测出运动目标的具体位置和相关运动参数。
第三章 图像的预处理
3.1 图像灰度化
在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。一般有以下四种方法对彩色图像进行灰度化:
3.1.1分量法
将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像。
f1(i,j)=R(i,j) f2(i,j)=G(i,j) f3(i,j)=B(i,j)
其中fk(i,j)(k=1,2,3)为转换后的灰度图像在(i,j)处的灰度值。
3.1.2最大值法
将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。
f(i,j)=max(R(i,j),G(i,j),B(i,j))
3.1.3平均值法
将彩色图像中的三分量亮度求平均得到一个灰度图。
f(i,j)=(R(i,j)+G(i,j)+B(i,j)) /3
3.1.4加权平均法
根据重要性及其它指标,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对RGB三分量进行加权平均能得到较合理的灰度图像。
f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))
原图像 灰度化后的图像
3.2 图像的二值化
就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。 将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像,表示二值图像的二维矩阵仅由0/1值构成。在图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。
灰度化图像 二值化图像
3.3图像滤波处理
从视频中获得的图像含有大量的点状或尖峰状噪声,多数是由于光线的变化等原因引起的,而且运动速度较快会引起运动模糊现象。滤波处理就是要有效地去除这两种噪声。去噪的方法有很多,大致分为两大类:时域去噪和频域去噪。时域去噪的代表方法有加权平滑法、中值滤波、二值形态学法等;频域去噪的代表方法有经典数字滤波器、同态滤波、小波分析等。经过分析比较本文采用时域去噪中的形态学法滤波,matlab中自带函数bwareaopen()可以删除小面积图像,还有采用腐蚀的方法可以将要找的区域更加明显。
原图像 滤波后的图像
3.4 形态学图像处理
数学形态学是由一组形态学的代数运算子组成的,它的基本运算有4个: 膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合, 它们在二值图像和灰度图像中各有特点。基于这些基本运算还可推导和组合成各种数学形态学实用算法,用它们可以进行图像形状和结构的分析及处理,包括图像分割、特征抽取、边界检测、 图像滤波、图像增强和恢复等。数学形态学方法利用一个称作结构元素的“探针”收集图像的信息,当探针在图像中不断移动时, 便可考察图像各个部分之间的相互关系,从而了解图像的结构特征。数学形态学基于探测的思想,与人的FOA(Focus Of Attention)的视觉特点有类似之处。作为探针的结构元素,可直接携带知识(形态、大小、甚至加入灰度和色度信息)来探测、研究图像的结构特点。
3.4.1 腐蚀
把结构元素B平移a后得到Ba,若Ba包含于X,我们记下这个a点,所有满足上述条件的a点组成的集合称做x被B腐蚀(Erosion)的结果。如图所示,X是被处理的对象,B是结构元素。不难知道,对于任意一个在阴影部分的点a,Ba包含于X,所以X被B腐蚀的结果就是那个阴影部分。阴影部分在X的范围之内,且比X小,就象X被剥掉了一层似的,这就是为什么叫腐蚀的原因。
腐蚀的示意图
3.4.2膨胀
膨胀 (dilation)可以看做是腐蚀的对偶运算,其定义是:把结构元素B平移a后得到Ba,若Ba击中X,我们记下这个a点。所有满足上述条件的a点组成的集合称做X被B膨胀的结果。如图所示,图中X是被处理的对象,B是结构元素,不难知道,对于任意一个在阴影部分的点a,Ba击中X,所以X被B膨胀的结果就是那个阴影部分。阴影部分包括X的所有范围,就象X膨胀了一圈似的,这就是为什么叫膨胀的原因。
膨胀的示意图
原图像 腐蚀后的图像
第四章 目标跟踪及预测方法
目标跟踪的目的是通过对视频图像的分析,计算每帧图像中目标的位置坐标,并根据不同的特征,将连续图像中同一运动目标联系起来,得到每个目标完整的运动轨迹和状态。也为运动分析、场景理解、突发事件检测或行为理解提供了可靠的数据。同时,运动目标的跟踪信息也可以作为反馈信息对运动目标检测和背景模型的更新等提供了帮助。各种跟踪方法因跟踪过程、场景假设、运动目标类型、运动目标的运动特征、摄像机及摄像机的运动、物体的变形、背景的变化、运动目标运动的不规则、及物体在运动过程上颜色及形状的改变等的不同而差异很大。
4.1 运动目标跟踪的方法
4.1.1 基于区域的跟踪
基于区域的跟踪算法基本思想是:首先通过预先人为确定的方法或图像分割的方法得到包含目标的模板,然后在序列图像中,运用相关算法跟踪目标。对灰度图像可以采用基于纹理和特征的相关,对彩色图像还可利用基于颜色的相关等。基于区域匹配的跟踪方法不仅实现简单,而且可以应用于当图像中目标特征不明显且其他方法都失效的场合。但是,由于它的区域相似性的判别依据为图像间的灰度相关性,因此一旦连续视频帧图像间光照强度突变,或者噪声较大,或者目标运动的形态发生变化,都会对这种方法造成很大的影响,同时为了减少计算量,一般会选择很小的搜索区域导致目标丢失。
4.1.2 基于特征的跟踪
基于特征匹配跟踪方法首先从视频序列中选择运动目标适当的特征作为跟踪特征,如拐角、边缘、有明显标记的区域对应的点、线、曲线等,并且在下一帧图像中根据约束条件来寻找提取特征,然后将提取的当前帧图像中的目标特征与模板特征相比较,根据比较的结果来确定目标,从而实现目标的跟踪。基于特征的跟踪方法是通过各帧间运动目标个体特征的匹配实现跟踪。用于匹配的个体特征有目标的周长、面积、质心等全局特征和线段、角点等局部特征,也可将多个特征组合成更高一级的特征。与基于区域的跟踪算法的不同之处在于,后者使用目标整体作为相关时的对象,而前者使用目标的某个或某些局部特征作为相关时的对象。这种对于运动目标的尺度、形变和亮度等变化不敏感;同时,即使场景中出现部分遮挡,只要有一些特征点可见,仍然可以保持对运动目标的跟踪。
4.2 本文采用的技术方案
本文采用第一种类型即基于区域的跟踪来对运动目标进行描述,完成跟踪。之所以采取这种跟踪策略是由于它具备目标未被遮挡时跟踪精度高且稳定的优势。
4.2.1 直方图和质心
在了解了跟踪路线以后,接下来就要对运动目标(检测到的目标)的特征进行选择了。本文在进行目标跟踪时选取了两个特征点:直方图和搜索窗的质心。
4.2.2 最小外接矩形
连通体分析得到运动目标区域,进一步可得到连通区域在的X轴上最大最小值
,和Y轴上最大最小值
,
,连接四个点(
,
)(
,
)(
,
)(
,
)得到最小外接矩形。
最小外接矩阵的高为:H=
-
;
宽度为:L=
-
;
质心的坐标:(
+H/2,
+L/2);
用直方图检测出目标质心 目标的轨迹
4.3运动特征的提取和运算
我们在前面通过跟踪的方法已经得到了运动物体的所在直方图的质心坐标,并已经将它们保存在相应的数组里,现在可以根据这些数来运算要求的一些特征,如速度,加速度等等,因为每秒钟取15帧图像,那么质心坐标每相邻两点间的时间差为1/15秒。
代码编写如下:
disp('input time:');
time=input(‘time=’),%输入要获得特征的时间【1】
chec=input(‘chec=’),%输入视频中车得长度
vx=(15*x(time*15+1)-15*x(time*15))/ widh*chec,
%x方向速度
vy=(15*y(time*15+1)-15*y(time*15))/ widh*chec,
%y方向速度
ax=(15*(15*x(time*15+1)-15*2*x(time*15)+15*x(time*15-1)))/ widh*chec, %x方向加速度
ay=(15*(15*y(time*15+1)-15*2*y(time*15)-15*y(time*15-1)))/ widh*chec, %y方向加速度