基于OpenCV的运动目标检测与跟踪毕业设计

基于OpenCV的运动目标检测与跟踪毕业设计
基于OpenCV的运动目标检测与跟踪毕业设计

基于VC的运动图像跟踪算法设计

沈阳航空航天大学毕业设计(论文)

摘要

运动目标检测与跟踪作为计算机视觉领域的一个重要分支与基础,在工业、医疗保健、航空航天、军事等各个领域具有广泛的应用前景,一直受到广泛的关注,并成为计算机视觉领域的一个研究热点。但是由于运动目标检测问题本身的复杂性,运动目标的检测与跟踪依然面临着诸多挑战。本文在现有研究成果的基础上,对静态场景下的运动目标检测跟踪进行了深入的讨论。

本文首先对运动目标检测的基本方法----帧间差分法与背景差分法进行了深入的学习和探讨,然后,借助于OpenCV技术,在Visual C++ 6.0编程环境下开发了运动目标检测跟踪系统。该系统首先对采集的视频图像序列进行相关的预处理之后,将视频图像序列中的运动目标比较可靠地检测出来。通过系统的测试结果和数据可以得出结论:本文基于OpenCV设计的运动目标检测跟踪系统具有良好的实时性,能够正确地进行运动目标的实时检测与跟踪。

关键词:运动目标检测;帧间差分法;视频图像;OpenCV

基于VC的运动图像跟踪算法设计

Algorithm Design of Image Motion Tracking Based on VC

Abstract

Moving target detection and tracking field of computer vision as an important branch of the foundation, in the industrial, healthcare, aerospace, military and other fields with a wide range of applications, has been widespread concern, and the field of computer vision to become a research hotspot. However, due to moving target detection complexity of the problem itself, moving target detection and tracking is still facing many challenges. In this paper, based on the results of existing research in static scenes of the moving target detection and tracking in-depth discussion.

This article first basic method of moving target detection - frame difference method and background subtraction method conducted in-depth study and discussion, and then, by means of OpenCV technology, Visual C 6.0 programming environment developed a moving target detection and tracking system. The system and the collection of the associated video sequence after pretreatment, the video image of the moving target sequence comparison reliably detected. Through systematic test results and data can be concluded: Based on OpenCV design moving target detection and tracking system has good real-time, be able to properly carry out real-time moving target detection and tracking.

Keywords: moving target detection; frame difference method; video frame; OpenCV

沈阳航空航天大学毕业设计(论文)

目录

1 绪论 (1)

1.1 课题来源与背景 (1)

1.2 数字图像处理技术的发展与应用 (1)

1.3 运动目标检测技术的研究现状 (2)

1.4 本文的任务、主要内容及结构 (3)

1.5 本章小结 (4)

2 OpenCV技术介绍 (5)

2.1 OpenCV简介 (5)

2.2 OpenCV的优势 (5)

2.3 OpenCV在Visual C++6.0下的配置方法 (5)

2.4 OpenCV中常用的数据结构及函数介绍 (7)

2.5 本章小结 (11)

3 图像预处理 (13)

3.1 图像的获取与灰度转换 (13)

3.1.1 图像噪声 (14)

3.1.2 噪声的特征 (14)

3.1.3 噪声的分类 (14)

3.2 图像滤波 (15)

3.2.1 中值滤波原理 (15)

3.2.2 中值滤波特性 (15)

3.3 本章小结 (16)

4 运动目标检测 (18)

4.1 运动目标检测的基本方法 (18)

4.1.1 帧间差分法 (19)

4.1.2 背景差法 (20)

4.1.3 光流法 (20)

4.2 本文采用的算法设计 (21)

基于VC的运动图像跟踪算法设计

4.2.1 新算法思想 (21)

4.2.2 算法描述 (21)

4.3 图像的二值化 (22)

4.4 数学形态学滤波 (23)

4.4.1 腐蚀与膨胀 (23)

4.4.2 开运算和闭运算 (24)

4.5 目标检测试验与结果分析 (25)

4.6 本章小结 (26)

5 目标跟踪算法的研究 (28)

5.1 运动目标的跟踪原理 (28)

5.2 运动目标特征 (28)

5.3 图像匹配法 (29)

5.4 基于团块的目标跟踪 (29)

5.5 本章小结 (31)

6 程序结果演示与分析 (32)

6.1 运动目标检测与跟踪演示 (32)

6.2 本章小结 (34)

结论 (35)

参考文献 ............................................................................................. 错误!未定义书签。致谢 (37)

附录Ⅰ程序清单 (39)

1 绪论

如何更好地、更准确地理解视觉信息已经成为当前科学研究的一个重要课题。而计算机视觉就是通过计算机代替人眼及大脑对外界环境进行感知、分析和理解。随着计算机技术的不断发展和计算机性能的逐渐提高,计算机视觉成为了一个崭新且发展迅速的热门领域,并成为计算机科学的重要研究领域之一。计算机视觉技术已经在许多领域得到广泛应用,可以这么说,需要人类视觉的场地方几乎都可以借助于计算机视觉。许多人类视觉无法触及的场合,如危险场景监测、微观物体精确定量、不可见物体感知等,计算机视觉更突显其优越性。

1.1课题来源与背景

随着计算机技术的高速发展,运动物体的检测和跟踪在图像处理、计算机视觉、模式识别、人工智能、多媒体技术等领域越来越受到人们的关注。运动跟踪和检测的应用广泛,在智能监控和人机交互中,如:银行、交通、超市等场合常常使用运动跟踪分析技术,通过定位物体并对其行为进行分析,一旦发现物体有异常行为,监控系统就发出警报,提醒人们注意并即时的处理,改善了人工监督注意力分散、反应时间较慢、人力资源浪费等问题。运动目标的跟踪在虚拟现实、工业控制、军事设备、医学研究、视频监控、交通流量观测监控等很多领域也有重要的实用价值。特别在军事上,先进的武器导航、军事侦察和监控中都成功运用了自动跟踪技术。而跟踪的难点在于如何快速而准确的在每一帧图像中实现目标定位。正因如此,对运动目标的跟踪和检测的研究很有价值。

1.2数字图像处理技术的发展与应用

数字图像处理技术是20世纪60 年代随着计算机技术和VLS(I Very Large Scale Integration)的发展而产生、发展和不断成熟起来的一个新兴技术领域,它在理论上和实际应用中都取得了巨大的成就。

20世纪20年代,图像处理技术首次应用于改善伦敦和纽约之间海底电缆发送的图片质量。到20世纪50年代,计算机发展到一定的水平后,数字图像处理才真正引起人们的兴趣。1964年美国喷气推进实验室通过计算机对“徘徊者七号”太空船发回的大批月球照片进行处理,获得了巨大成功。20世纪60年代末,数字图像处理初步具备了比较完整的体系,形成了一门新兴的学科。20世纪70年代,数字图像处理技术得到迅猛的发展,理论和方法进一步完善,应用范围更加广泛。在这一时期,图像处理主要和模式识别及图像理解系统的研究相联系,如文字识别、医学图像处理、遥感图像的处理等。20世纪70年代后期到现在,各个应用领域对数字图像处理提出越来越高的要求,促进了这门学科向更高要求的方向发展。特别是在景物理解和计算机视觉(即机器视觉)方面,图像处理已由二维处理发展到

三维理解或解释。进入21世纪后,随着计算机技术的迅猛发展和相关理论的不

断完善,数字图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就。属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等。该技术成为一门引人注目、前景远大的新型学科。

1.3运动目标检测技术的研究现状

由运动目标所形成的图像序列可分为两种情况:一种是静态场景,一种是动态场景。前一种情况通常发生在摄像机相对静止状态(如监视某一路口车流量的固定摄像机),后一种情况通常发生在摄像机也在相对运动状态(如装在卫星或飞机上的监视系统)。

近几年来,研究人员提出了许多方法用于检测和跟踪序列图像中的运动目标,其中绝大多数方法都假设用于获取序列图像的背景是静止的,而大多数实际情况也满足这一假设,所以人们主要研究的是背景静止-物体运动这种情况下获取的动态序列图像。针对这种情况,现有的运动目标检测方法主要有三类:帧差法(Temporal difference)、背景减法(Background subtraction)、光流场法(Optical flow)。

帧差法即帧间差分法,是在连续的图像序列中,提取两个或三个相邻帧,采用基于像素的时间差分来获取图像中的运动信息。帧间差分法计算简单,对动态环境具有较强的适应性,但不能提取出目标的所有相关点,容易在目标内部形成“空洞”,而且要求背景绝对静止或基本无变化(噪声较小),因而适用场合有限。

背景减法也称背景差分法,基本思想是将当前帧图像与事先存储或者实时得到的背景图像相减,即当前图像与已知背景图像之间的差分。较早期的背景差分法有均值、中值、运动平均、高斯模型方法等,随着研究的深入,逐渐出现了一些比较成熟的背景差方法。1999年MIT的C.Stauffer提出了基于混合高斯模型的背景差方法,针对高斯噪声的复杂背景,采用多个高斯分布描述像素过程;2000年MIT的Oliver等人提出了背景特征化建模的方法。主要研究的焦点都落在了背景更新与建模方法上。从实际应用角度来看,帧差和背景减相结合的运动检测是使用最广泛的一种方法。Spagnol等人提出了一种运用邻域的相关系数结合帧差和背景减来进行运动检测的方法,该方法不仅有效地抑制了光照变化对检测结果的影响,并解决了阴影、重影和伪前景等问题。但国内有人指出了Spagnol的方法的三个不足之处:①会将背景颜色一致的区域误判为前景;②当运动目标速度缓慢或静止时,存在漏检;③在背景复杂的情况下,背景更新策略将使背景模型退化。并且,提出了首先用灰度拉伸变换,并结合灰度值信息来改进邻域相关系数的计算方法,以排除背景的误判;然后通过在帧差和背景减相结合的策略中加入运动分析,用来改善运动缓慢目标的检测结果;最后在背景复杂的情况下用运行期更新法进行背景更新,以防止背景模型的退化。

最后,光流场法是分析序列图像中运动目标的重要方法,它既可以用于运动目标的检测,也可以用于运动目标的跟踪。所谓光流是指图像中灰度模式运动的速度;它是景物中可见点的三维速度矢量在成像平面上的投影,它表示了景物表面点在图像中位置的瞬时变化;同时光流场携带了有关运动和结构的丰富信息。光流场的计算最初是由国外两名学者提出的,它是一种以灰度梯度基本不变或亮度恒定的约束假设为基础的运动目标探测的有效方法。光流法能够较好的处理运

动背景的情况,但计算量巨大,难以应用到实时系统,同时对噪声比较敏感,精度较低,难以得到运动目标的精确边界。而张泽旭等将Canny边缘提取融入光流场分割技术,对单运动目标和多运动目标均取得了比较满意的效果,实时性也大大提高。但如何进一步提高其抗噪性、实时性和运算速度,有待于深入研究。

总的来说,过去的二三十年中,国内外学者在运动目标检测理论及其实现方面做了大量、深入的研究工作,取得了令人瞩目的成果,并将研究的成果应用到很多领域,如智能监控系统、军事制导等等。但是由于运动目标检测问题本身的复杂性和目前视频技术发展水平的限制,运动目标的检测技术至今仍然处于研究和讨论阶段,到目前为止,还没有出现能够适用于各种场合、各种情况的通用算法。现今的各种算法在稳健性、准确性、可靠性等方面还有着这样、那样的不足。这些算法有的简单、易于实现,实时性好,但可靠性不高,在复杂场景和运动下算法容易失效;有的虽然可靠性较高,但算法过于复杂,不利于进行实时检测。而且,静态场景下的运动目标检测的研究较多;而动态场景下的检测研究较少,算法还不成熟。已有的运动目标检测系统大多受限于特定的应用场景,目标检测算法还有待于进一步研究和优化,研究一种鲁棒性好、精确度高、性能稳定和适用性强的运动目标检测算法依然任重道远,面临巨大挑战。

1.4本文的任务、主要内容及结构

课题研究的主要任务及技术指标

主要任务:

该毕业设计的主要工作包括了解摄像头图像采集系统的工作过程,首先实现摄像头的数据采集过程,进而编写基于VC的图像处理程序,对画面中的动态物体进行识别并用矩形方框将其标记。

技术指标:

构造出完整的基于VC的摄像头数据采集及运动图像跟踪系统;实现摄像头的数据采集过程,进而编写基于VC的图像处理程序,对画面中的动态物体进行识别并用矩形方框将其标记。

本文的主要内容及结构

本文选取的运动目标检测跟踪的算法作为研究重点。利用OpenCV和Visual C++组建实验平台,针对数字图像特定噪声的去除、运动目标的正确识别与分割、处理的实时性要求等难点进行了研究。

本文主要工作总结如下:

在对图像噪声的处理方面:综合使用各种方法去除图像噪声,通过实验比较了这些方法所适用的场合。

在运动目标检测跟踪方面:重点研究了目前在实际应用中普遍采用的以帧间差算法。在对检测出的变化区域进行后处理方面:采用适当的形态学滤波处理得到更清晰、更准确的运动目标,进而进行连通性分析,去除小面积噪声,保留足够大的目标。最后进行区域标记,分割出完整的运动目标,加以标记。

综上,本文旨在利用现有的理论、算法和工具,以工程应用为目的,研究如何从序列图像中检测出运动目标。并且,本文基于OpenCV这个开放的计算机视

觉程序库,通过VC++编程环境对运动目标检测算法进行了编程实现,完成了运动目标检测系统。按照问题描述、问题建模、问题求解的思路共分六章,主要内容及结构组织如下:

第一章绪论。概述了课题的研究背景,主要讨论了运动目标检测技术的研究现状、数字图像处理技术的发展与应用,阐述了论文的整体结构。

第二章介绍研究OpenCV技术。其中OpenCV的优势、OpenCV在Visual C++6.0下的配置方法和OpenCV中常用的数据结构及函数介绍。对数据结构的必要描述为后面函数的应用奠定了一定的理论基础。

第三章图像预处理。

本章对图像预处理的过程进行了详细的描述。为此,我们首先要图像的提取和灰度转换。然后图像上噪声进行研究,详细叙述了中值滤波原理,利用中值滤波去除图像的噪声。不断进行实验,以确定较为理想的阈值。

第四章运动目标检测。

本次课题研究运动目标跟踪算法,必然需要对其运动目标进行检测。通过讨论三种目标检测方法,确定本次课题以帧间差法为检测方法,然后对图像进行二值化和数学形态滤波,最后通过实验检测算法的鲁棒性。

第五章目标跟踪算法的研究

本章首先讨论了运动目标的跟踪原理,详细描述了运动目标特征的重要作用。运动目标的特征是一个重要的跟踪依据,在很多跟踪算法中都有目标特征提取这一环节。所提取的目标特征必须在环境变化、目标自身变化或者运动改变时,仍然能够将运动目标描述出来。最后详细叙述了基于团块的目标跟踪算法,包括数据的定义、模块结构与相应函数。

第六章程序结果演示与分析

本章将配置好的系统进行演示与分析,系统成功的对画面中的动态物体进行识别并用矩形方框将其标记。

1.5本章小结

在本章绪论中,主要介绍了基于VC的运动图像跟踪算法设计研究课题的背景知识发展概况及其应用,阐述了运动图像跟踪算法的现实意义,总结了论文的任务、内容与结构。

2 OpenCV技术介绍

OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中。

2.1OpenCV简介

OpenCV是Intel?开源计算机视觉库。它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。

其重要重要特性包括:拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库——尽管也可以使用某些外部库。

对非商业应用和商业应用都是免费(FREE)的。(细节参考BSD license)。

为Intel@Integrated Performance Primitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的的IPP库,OpenCV将在运行时自动加载这些库。

2.2OpenCV的优势

1)纯C代码,源代码开放。开源软件之所以能够风靡世界,首先是其开源的免费特性;此外,由于有全球众多编程者的参与,开源软件一般具有简约精炼、资源占用少、功能集中和安全性好的优点。

2)丰富的函数功能,强大的图像和矩阵运算能力:OpenCV提供了数组、序列、矩阵、树等基本结构,也包含了差分方程求解、傅立叶分析、积分运算、特殊函数等众多高级数学计算函数,以及各种图像处理操作和目标跟踪、摄像机校准、三维重建等高级视觉函数。

3)平台无关性:基于OpenCV开发的程序可以直接在Windows、Unix、Linux、MacOSX、Solaris、HP等平台之间相互移植,无需对代码进行任何修改。

4)方便灵活的用户接口。OpenCV作为一个开放的计算机视觉函数库在使用上必然没有Matlab那样解释执行来得方便,而softhitegration将CH和OpenCV 绑定起来推出的CH OpenCV,解决了这一使用上的瓶颈。并且具有交互性、强大的扩展功能、Web实现性和可嵌入性等特性。

2.3OpenCV在Visual C++6.0下的配置方法

本文的硬件平台为普通的笔记本电脑,内存容量为2G。视频输入有一个USB 摄像头。软件开发平台为WindowsXP、OpenCV 1.0以及MS Visual C++6.0 (以下简称VC6.0)。

其中OpenCV配置的过程如下:

假如要将OpenCV安装到C:\Program Files\OpenCV,在安装OpenCV时选择"将\OpenCV\bin加入系统变量"(Add\OpenCV\bin to the systerm PATH)。然后,检查C:\Program Files\OpenCV\bin是否已经被加入到环境变量PATH,如果没有,请加入。加入后需要注销当前Windows用户(或重启)后重新登陆才生效。(可以在任务管理器里重启explorer.exe)。

在VC6.0下的配置步骤如下:

1)全局设置

菜单Tools->Options->Directories:

先设置lib路径,选择Library files,在下方填入路径:C:\Program

Files\OpenCV\lib。

图2.1 Library files设置

然后选择Include files,在下方填入路径:

图2.2 Include files设置

然后选择Source files,在下方填入路径:

图2.3 Source files设置

最后点击“OK”,完成设置。

2)项目设置

每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project->Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules(对象/库模块)附加上:cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib如果你不需要这么多lib,你可以只添加你需要的lib。

图2.4 项目设置

2.4OpenCV中常用的数据结构及函数介绍

2.4.1数据结构

OpenCV设计了一些基础的数据类型和一些帮助数据类型,在运用OpenCV 函数库进行编程的过程中,常常会需要用到这些结构类型,只有正真了解这些结构才能够很好地利用OpenCV函数库来解决问题。

下面对几个比较常用的简单结构进行介绍。

1)CvPoint结构

表示二维坐标系下的点,类型为整型,定义如下:

typedef struct CvPoint

{

int x; /* x坐标, 通常以0为基点*/

int y; /* y坐标, 通常以0为基点*/

} CvPoint;

2)CvSize结构

CvSize结构用来表示矩形框大小,以像素为精度,结构体中分别定义了矩形的宽高和高度,定义如下:

typedef struct Cvsize

{

int width;/*矩形宽度,单位为像素*/

int height;/*矩形高度,单位为像素*/

}CvSize;

3)IplImage 结构

OpenCV库主要是使用“IplImage”结构体来创造和处理图像。IplImage结构来源于inter的另外一个函数库IPL,该函数库主要是针对图像处理。定义如下:typedef struct IplImage

{

int nSize; /*IplImage大小*/

int ID; /*版本(=0)*/

int nChannels; /*大多数opencv函数支持1~4个信道*/

int depth; /*像素的位深度*/

int dataOrder; /*0:交叉存取颜色信道。1:分开的颜色信道。只有

cvCreateImage可以创建交叉存取图像*/

int origin; /*0:顶—左结构,1:底—左结构*/

int width; /* 图像宽像素*/

int heighet; /*图像高像素*/

struct_IplROI *roi; /*图像感兴趣区域*/

int imageSize; /*图像数据大小*/

int widthStep; /*排列的图像大小,以字节为单位*/

}

4)CvCapture结构

typedef struct CvCapture CvCapture;

结构CvCapture 没有公共接口,它只能被用来作为视频获取函数的一个参数。

5)cvCreateVideoWriter结构

typedef struct CvVideoWriter CvVideoWriter;

2.4.2常用函数

下面介绍一下OpenCV中常用的几个函数,也是本系统常用的函数,分别说明如下。

1)cvLoadImage( ):载入图像

IplImage* cvLoadImage(

const char* filename,

int iscolor=CV_LOAD_IMAGE_COLOR

);

filename:要被读入的文件的文件名。

iscolor:指定读入图像的颜色和深度。指定的颜色可以将输入的图片转为3信道(CV_LOAD_IMAGE_COLOR),单信道

(CV_LOAD_IMAGE_GRAYSCALE),或者保持不变

(CV_LOAD_IMAGE_ANYCOLOR)。

2)cvShowImage( ):在指定窗口中显示图像

void cvShowImage(

const char* name,

const CvArr* image

);

name:窗口的名字。

image:被显示的图像。

3)cvCreateFileCapture( )与cvCreateCameraCapture( )

CvCapture* cvCreateFileCapture( const char* filename );

初始化从文件中获取视频;

filename:视频文件名。

函数cvCreateFileCapture给指定文件中的视频流分配和初始化CvCapture结构。当分配的结构不再使用的时候,它应该使用cvReleaseCapture函数释放掉。

CvCapture* cvCreateCameraCapture( int index );

初始化从摄像头中获取视频;

index :要使用的摄像头索引。如果只有一个摄像头或者用哪个摄像头也无所谓,那使用参数-1应该便可以。

函数cvCreateCameraCapture给从摄像头的视频流分配和初始化CvCapture结构。释放这个结构,也要使用函数cvReleaseCapture。

4)cvQueryFrame( ):从摄像头或者文件中抓取并返回一帧

IplImage* cvQueryFrame( CvCapture* capture );

capture:视频获取结构。

函数cvQueryFrame从摄像头或者文件中抓取一帧,然后解压并返回这一帧。返回的图像不可以被用户释放或者修改。

5)cvGetCaptureProperty( )与cvSetCaptureProperty( )

double cvGetCaptureProperty( CvCapture* capture, int property_id );

获得摄像头或者视频文件的指定属性;

capture:视频获取结构。

property_id:属性标识。可以是下面之一:

CV_CAP_PROP_POS_MSEC - 影片目前位置,为毫秒数或者视频获取时间戳CV_CAP_PROP_POS_FRAMES - 将被下一步解压/获取的帧索引,以0为起点CV_CAP_PROP_POS_AVI_RATIO - 视频文件的相对位置(0 - 影片的开始,1 - 影片的结尾)

CV_CAP_PROP_FRAME_WIDTH - 视频流中的帧宽度

CV_CAP_PROP_FRAME_HEIGHT - 视频流中的帧高度

CV_CAP_PROP_FPS - 帧率

CV_CAP_PROP_FOURCC - 表示codec的四个字符

CV_CAP_PROP_FRAME_COUNT - 视频文件中帧的总数

int cvSetCaptureProperty( CvCapture* capture, int property_id, double value );

设置指定视频获取的属性。目前这个函数对视频文件只支持:

CV_CAP_PROP_POS_MSEC, CV_CAP_PROP_POS_FRAMES,

CV_CAP_PROP_POS_AVI_RATIO;

capture:视频获取结构。

property_id:属性标识。可以是下面之一:

CV_CAP_PROP_POS_MSEC - 从文件开始的位置,单位为毫秒

CV_CAP_PROP_POS_FRAMES - 单位为帧数的位置(只对视频文件有效)CV_CAP_PROP_POS_AVI_RATIO - 视频文件的相对位置(0 - 影片的开始,1 - 影片的结尾)

CV_CAP_PROP_FRAME_WIDTH - 视频流的帧宽度(只对摄像头有效)CV_CAP_PROP_FRAME_HEIGHT - 视频流的帧高度(只对摄像头有效)CV_CAP_PROP_FPS - 帧率(只对摄像头有效)

CV_CAP_PROP_FOURCC - 表示codec的四个字符(只对摄像头有效)

value :属性的值。

6)cvCreateVideoWriter( ):创建视频写入器结构

CvVideoWriter* cvCreateVideoWriter(

const char* filename,

int fourcc, double fps,

CvSize frame_size,

int is_color=1

);

filename:输出视频文件名。

fourcc:四个字符用来表示压缩帧的codec 例如,CV_FOURCC('P','I','M','1')是MPEG-1 codec,CV_FOURCC('M','J','P','G')是motion-jpeg codec等。在Win32下,如果传入参数-1,可以从一个对话框中选择压缩方法和压缩参数。

fps:被创建视频流的帧率。

frame_size:视频流的大小。

is_color:如果非零,编码器将希望得到彩色帧并进行编码;否则,是灰度帧(只有在Windows下支持这个标志)。

7)cvWriteFrame( ):写入一帧到一个视频文件中

int cvWriteFrame( CvVideoWriter* writer, const IplImage* image );

writer:视频写入器结构。

image:被写入的帧。

2.5本章小结

本章主要介绍了OpenCV技术,包括OpenCV在Visual C++6.0编程环境下的配置方法,着重介绍了与本文工作密切相关的OpenCV中的数据结构和常用函数,为后面的系统实现打下基础。

3 图像预处理

数字图像处理(Digital Image Proeessing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。

为了消除采集图像的噪声和干扰,加强有用信息,使图像更易于辨识。其中,处理的重点是去除噪声,但选取怎么样的滤波器最合适则是个难题。通常图像里的噪声类型有高斯噪声、脉冲噪声、瑞利噪声等。高斯噪声的特点是密度大、噪声强度的波动范围宽。受高斯噪声污染的图像不仅在图像的每一像素灰度级上都受影响,而且即便同一灰度级上造成的污染程度也可能存在着较大的差异。图像中出现的一般为高斯噪声。一般用平滑滤波器降低高斯噪声。

3.1图像的获取与灰度转换

原始彩色图像的背景提取,基本思想是,图像中的某个像素按时间抽样,其作为背景像素的时间比作为运动前景的时间长,即其作为背景的概率比作为前景的概率大,而且背景和前景在颜色上和亮度上都有很大不同。这是因为,对于固定场景,运动物体在运动,其转瞬即逝,大多数时间我们看到的都是静止背景,因此图像上某个像素点作为前景的时间相对作为背景的时间短得多;而且,运动物体和静止背景在色彩上有明显区别,人能轻易分辨出前景物体,即使在一张静止图像上。不论何种方法,都是基于这个思想。

利用普通的彩色CCD 摄像机拍摄的图像都可以统一规整为宽度为384,高度为255像素(pixels)点的位图文件格式,即彩色的BMP 位图文件。BMP 格式的图像是以象素的形式记录图像的,它的每个象素点(Pxiel)由红、绿、蓝三原色组成,每个色彩通道的颜色值都由一个八位的字节来表示。BMP 图像文件的结构分为:文件头、调色板数据和图像数据三个部分,其中文件头的长度固定为54个字节,文件头中包含两种数据结构。然而,考虑到图像文件的存储量和处理图像需占用大量机器资源,本图像识别系统均采用不含彩色信息的灰度图像,即图像中每个象素仅由一个八位字节表示该像素的亮度值,因而灰度图像是具有256 个灰度级的黑白图像,便于后续的图像二值化,处理运算量大大减少。一些系统的摄像部分采用单色CCD 摄像头则可以直接得到灰度图像。由真彩图像到灰度图像的变换,本课题用如下的变换公式:

RGB →Gray :Y = 0.212671*R + 0.715160 *G + 0.72169*B

(3.1)

其中Y 为灰度图像的灰度值,R、G、B 为真彩图像的红、绿、蓝三通道颜色值。在openCV 中,主要使用的图像格式为Ipllmage,即IpL 图像头。

Ipllmage 结自于Intel Imageproeessing Library(是所具有的)。OpenCV 只支持其中的一个子集。Ipllmgae结构中各成员变量所代表的含义。

3.1.1图像噪声

噪声主要在数字图像的获取(量化)和传输中产生,可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种因素,一般是不可预测的随机信号,只能用概率统计的方法去认识。噪声对图像处理十分重要,影响图像处理的输入、采集、处理的各个环节以及输出结果的全过程。特别是图像的输入、采集噪声的抑制是十分关键的问题,若输入伴有较大的噪声,必然影响处理全过程及输出的结果。因此一个良好的图像处理系统,不论是模拟处理还是用计算机进行的数字处理,无不把减少最前一级的噪声作为主攻目标。

3.1.2噪声的特征

设图像信号为灰度图像并按二维亮度 f (x, y)分布,则噪声可看作是对亮度的干扰,可用n(x, y)来表示。噪声是随机的,因而需用随机过程来描述,即要求知道其分布函数和密度函数。但在许多情况下这些函数很难测出或描述,甚至不可能得到,所以常用统计特征描述噪声,如:均值、方差、相关函数等。

用噪声平方的平均值2

[(,)]

E n x y(E[]表示均值操作)描述噪声的总功率;用噪

声的方差2

E n x y E n x y

描述噪声的交流功率;用噪声平均值的平方[((,)[(,)])]

2[(,)]

E n x y表示噪声的直流功率。

3.1.3噪声的分类

根据噪声产生的来源,大致可以分为外部噪声和内部噪声两大类。

外部噪声是指从处理系统外来的影响。如天线干扰或电磁波从电源线窜入系统的噪声。内部噪声则有如下四种最常见形式。

1.由光和电的基本性质引起的噪声。例如电流可看作电子或空穴运动这些粒子运动产生随机散粒噪声,导体中电子流动的热噪声,光量子运动的光量子噪声等。

2.由机械运动引起的噪声。例如,接头振动使电流不稳,磁头或磁带、磁盘抖动等。

3.元器件噪声。如光学底片的颗粒噪声,磁带、磁盘缺陷噪声,光盘的疵点噪声等。

4.系统内部电路的噪声。

从噪声的分类方法来看是多种多样的。但综合来说,噪声是随机产生的量,所以又可以从统计数学的观点来定义噪声。凡是统计特征不随时间变化的噪声称为平稳噪声,而统计特征随时间变化的噪声称作非平稳噪声。

从噪声的分类方法来看是多种多样的。但综合来说,噪声是随机产生的量,所以又可以从统计数学的观点来定义噪声。凡是统计特征不随时间变化的噪声称

目标检测与识别

采用视频图像的运动目标检测与识别 相关调研 目标检测是计算机视觉的一个重要组成部分,在军事及工业等领域有着重要的应用前景。运动目标的检测方法主要有光流法,差值法。光流法的计算量很大,实时性和应用性较差。而图像差值法比较简单,实时性较好,是目前应用最广泛,最成功的运动目标检测的方法。图像差值法可分为两类,一类是用序列图像的每一帧与一个固定的静止的参考帧做图像差分,但自然场景不是静止不变的,因而必须不断的更新背景。另一类是用序列图像的两帧进行差分,这种方法无法检测出两帧图像中重合的部分,只能检测出目标的一部分信息。在绝大多数视频监控图像应用中,每一个像素都可以用一个或多个高斯模型近似,因此,高斯背景模型是绝大多数目标检测方法常用的基本模型。 智能视频服务器是飞瑞斯在多年视频分析技术优势的基础上,推出的一系列具有智能视频分析功能的DVS 视频编码设备。智能视频服务器基于DSP、ARM等核心平台,完成前端标准的H.264高压缩率编码,同时完成智能分析功能。 智能视频服务器的最大的创新点在于,这一系列DVS不仅仅提供视频监控的功能,能通过飞瑞斯核心的智能视频分析技术,来感知视频场景内的环境、人和物,并挖掘其中的人(物)行为、状态、身份信息、数量、轨迹等更深层次的元数据信息。 智能视频服务器赋予了视频监控系统智慧的大脑,从此视频监控不仅仅是能看得到,而且还能自己思考,提供更为智能的应用。

https://www.360docs.net/doc/7f7510918.html,/products_20_26.html?bdclkid=BztEJhpzcR34JE_Ft948PGoNuxuK0gsc zre7HPa3EhvUMBqk3J

目标跟踪算法的分类

目标跟踪算法的分类

主要基于两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标。 一.运动目标检测 对于不依赖先验知识的目标跟踪来讲,运动检测是实现跟踪的第一步。运动检测即为从序列图像中将变化区域从背景图像中提取出来。运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测 (一)静态背景 1.背景差 2.帧差 3.GMM 4.光流 背景减算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定

个关键技术: a)匹配法则,如最大相关、最小误差等 b)搜索方法,如三步搜索法、交叉搜索法等。 c) 块大小的确定,如分级、自适应等。 光流法 光流估计的方法都是基于以下假设:图像灰度分布的变化完全是目标或者场景的运动引起的,也就是说,目标与场景的灰度不随时间变化。这使得光流方法抗噪声能力较差,其应用范围一般局限于目标与场景的灰度保持不变这个假设条件下。另外,大多数的光流计算方法相当复杂,如果没有特别的硬件装置,其处理速度相当慢,达不到实时处理的要求。 二.目标跟踪 运动目标的跟踪,即通过目标的有效表达,在图像序列中寻找与目标模板最相似候选目标区位置的过程。简单说,就是在序列图像中为目标定位。运动目标的有效表达除了对运动目标建模外,目标跟踪中常用到的目标特性表达主要包括视觉特征 (图像边缘、轮廓、形状、纹理、区域)、统计特征 (直方图、各种矩特征)、变换系数特

动态视频目标检测和跟踪技术(入门)

动态视频目标检测和跟踪技术 传统电视监控技术只能达到“千里眼”的作用,把远程的目标图像(原始数据)传送到监控中心,由监控人员根据目视到的视频图像对现场情况做出判断。智能化视频监控的目的是将视频原始数据转化为足够量的可供监控人员决策的“有用信息”,让监控人员及时全面地了解所发生的事件:“什么地方”,“什么时间”,“什么人”,“在做什么”。将“原始数据”转化为“有用信息”的技术中,目标检测与跟踪技术的目的是要解决“什么地方”和“什么时间”的问题。目标识别主要解决“什么人”或“什么东西”的问题。行为模式分析主要解决“在做什么”的问题。动态视频目标检测技术是智能化视频分析的基础。 本文将目前几种常用的动态视频目标检测方法简介如下: 背景减除背景减除(Background Subtraction)方法是目前运动检测中最常用的一种方法,它是利用当前图像与背景图像的差分来检测出运动目标的一种技术。它一般能够提供相对来说比较全面的运动目标的特征数据,但对于动态场景的变化,如光线照射情况和外来无关事件的干扰等也特别敏感。实际上,背景的建模是背景减除方法的技术关键。最简单的背景模型是时间平均图像,即利用同一场景在一个时段的平均图像作为该场景的背景模型。由于该模型是固定的,一旦建立之后,对于该场景图像所发生的任何变化都比较敏感,比如阳光照射方向,影子,树叶随风摇动等。大部分的研究人员目前都致力于开发更加实用的背景模型,以期减少动态场景变化对于运动目标检测效果的影响。 时间差分时间差分(Temporal Difference 又称相邻帧差)方法充分利用了视频图像的特征,从连续得到的视频流中提取所需要的动态目标信息。在一般情况下采集的视频图像,若仔细对比相邻两帧,可以发现其中大部分的背景像素均保持不变。只有在有前景移动目标的部分相邻帧的像素差异比较大。时间差分方法就是利用相邻帧图像的相减来提取出前景移动目标的信息的。让我们来考虑安装固定摄像头所获取的视频。我们介绍利用连续的图像序列中两个或三个相邻帧之间的时间差分,并且用阈值来提取出视频图像中的运动目标的方法。我们采用三帧差分的方法,即当某一个像素在连续三帧视频图像上均有相

基于opencV的动态背景下运动目标检测及跟踪(修改版)

基于openCV的动态背景下的运动目标检测 摘要:介绍在动态背景下对视频图像序列进行运动目标的检测,主要包括三个步骤,分别是运动估计,运动补偿和目标检测。在运动估计中采用的主要是基于特征点匹配算法。这种算法与传统的块匹配算法最大的好处在于它的数据量少,计算简单迅速而且图像的匹配可靠性更高。最后用计算机视觉类库openCV进行实现。 关键词:运动目标检测;openCV;特征点匹配 Moving Object Detection in the Dynamic Background Based on openCV Abstract:Introducing a moving object detection algorithm of the dynamic background in the video image sequence,which includes three steps. They are motion estimation, motion compensation and object detection. At the motion estimation, we take an algorithm based on the feature points matching. The advantages of this algorithm is that it needs fewer data and indicates faster calculating speed compared to the block matching algorithm. What’s more, the matching of the video image sequence is more reliable. Then used openCV realized the algorithm. Keywords: moving object detection; openCV; feature points matching 引言 在生活中摄像头可以说随处可见,我们经常需要对视频中的运动目标进行相关操作,这就设涉及到了对运动目标的检测及跟踪。作为视觉领域的一部分,它不仅对我们的生活,在军事,医学等各种领域里都有着广泛的影响。 所谓运动目标的检测就是在一段序列图像中检测出变化区域,并将运动目标从背景图像中提取出来[2],它是基础,能否正确的检测与分割出运动目标对后续的工作有着巨大的影响。常见的运动目标检测方法有:背景差分法,帧差法,累积差分法,光流法。本文主要介绍的是一种在动态背景下对运动目标进行检测的算法。 检测算法介绍 检测算法有很多种,不同的算法有他们各自的利与弊。背景差分法:是事先将背景图像存储下来,再与观测图像进行差分运算,实现对运动区域的检测。这种方法能得到较为完整的运动目标信息,但背景图像必须随着外部条件比如光照等的变化而不断更新,所以背景模型的获取和更新比较麻烦。帧差法:直接比较相邻两帧图像对应像点的灰度值的不同,然后通过阈值来提取序列图像中的运动区域[2]。这种方法更新速度快,算法简单易实现,适应性强,不需要获取背景图像。但是背景与运动目标间需要有一定程度的灰度差,否则可能在目标内部产生空洞,不能完整的提取出运动目标。为了改进相邻两帧间的差分效果,人们提出了累积差分法。累积差分法是利用三帧图像计算两个差分图像,再令其对应像素相乘的算法。它通过分析整个图像序列的变化来检测小位移或缓慢运动的物体。光流法是在时间上连续的两幅图想中,用向量来表示移动前后的对应点,在适当平滑性约束的条件下,根据图像序列的时空梯度估计运动场,通过分析运动场的变化对运动目标和场景进行检测和分割。 上面的几种算法都是基于静态背景下的方法,下面主要介绍动态背景下运动目标的检测。 因为生活中我们在很多情况下背景图像都不是静态的,有时摄像机都是安装在一个运动

运动目标图像的识别与跟踪

运动目标图像的识别与跟踪 本文主要目的是将视频摄像头中的运动目标从背景中提取出来,并加以跟踪。首先考虑的是常见的目标检测的算法,其次考虑对于噪声的滤除,最后是对运动目标的跟踪。 一、基本目标检测算法 我们主要考虑的目标检测的算法主要有三种,光流场法、背景模型法以及时域差分法。 1.1光流场法 光流主要是图像亮度模式的表现运动。而光流场则是指灰度模式的表面运动。一般条件下,我们可以根据图像的运动,进行估算相对运动。 光流场法的基本理论是光流场基本方程: 0=++t y x I vI uI (1.1) 式中我们根据亮度守恒,利用泰勒公式展开,忽略高阶项与二次项。其中x I 、y I 和t I 是图像在对数轴x 、y 两个方向和t 的的导数,()v u ,就是这个点的光流坐标。 光流场法的目标检测,在摄像机运动时候也可以做出判断,但是图像的噪声太过明显,使得计算数据庞杂,计算的公式更加复杂,这样并不适合我们的对于目标跟踪的高精度的摄像系统。 1.2背景模型法 背景模型法,也被称为背景差法,主要利用当前的图像和背景的图像的二值化做差,然后取阈值,分割运动目标。 首先根据: ()()()y x b y x f y x D t t t ,,,-= (1.2) 我们可以得到当前的图像帧数()y x f t ,和背景图像的帧数),(y x b t 做差,然后以公式对图像进行二值化的处理。 ???≤>=)(,0)(,1),(BackGround T D ForeGround T D y x P t t t (1.3) 上面),(y x P t 是二值化模板图。假设某一区域大于一个给定的面积的时候,该区域就是我们要找的目标区域。 背景模型法的算法简单,可以快速反应,并且可以提供运动目标的大略特征等数据。但是对于复杂背景下,比如人流较大的公共场所,或者有光照等干扰时,就需以其他的算法以不断更新背景信息来进行弥补。

智能机器人运动控制和目标跟踪

XXXX大学 《智能机器人》结课论文 移动机器人对运动目标的检测跟踪方法 学院(系): 专业班级: 学生学号: 学生姓名: 成绩:

目录 摘要 (1) 0、引言 (1) 1、运动目标检测方法 (1) 1.1 运动目标图像HSI差值模型 (1) 1.2 运动目标的自适应分割与提取 (2) 2 运动目标的预测跟踪控制 (3) 2.1 运动目标的定位 (3) 2.2 运动目标的运动轨迹估计 (4) 2.3 移动机器人运动控制策略 (6) 3 结束语 (6) 参考文献 (7)

一种移动机器人对运动目标的检测跟踪方法 摘要:从序列图像中有效地自动提取运动目标区域和跟踪运动目标是自主机器人运动控制的研究热点之一。给出了连续图像帧差分和二次帧差分改进的图像HIS 差分模型,采用自适应运动目标区域检测、自适应阴影部分分割和噪声消除算法,对无背景图像条件下自动提取运动目标区域。定义了一些运动目标的特征分析和计算 ,通过特征匹配识别所需跟踪目标的区域。采用 Kalrnan 预报器对运动目标状态的一步预测估计和两步增量式跟踪算法,能快速平滑地实现移动机器人对运动目标的跟踪驱动控制。实验结果表明该方法有效。 关键词:改进的HIS 差分模型;Kahnan 滤波器;增量式跟踪控制策略。 0、引言 运动目标检测和跟踪是机器人研究应用及智能视频监控中的重要关键技术 ,一直是备受关注的研究热点之一。在运动目标检测算法中常用方法有光流场法和图像差分法。由于光流场法的计算量大,不适合于实时性的要求。对背景图像的帧问差分法对环境变化有较强的适应性和运算简单方便的特点,但帧问差分不能提出完整的运动目标,且场景中会出现大量噪声,如光线的强弱、运动目标的阴影等。 为此文中对移动机器人的运动目标检测和跟踪中的一些关键技术进行了研究,通过对传统帧间差分的改进,引入 HSI 差值模型、图像序列的连续差分运算、自适应分割算法、自适应阴影部分分割算法和图像形态学方法消除噪声斑点,在无背景图像条件下自动提取运动 目标区域。采用 Kalman 滤波器对跟踪目标的运动轨迹进行预测,建立移动机器人跟踪运动 目标的两步增量式跟踪控制策略,实现对目标的准确检测和平滑跟踪控制。实验结果表明该算法有效。 1、运动目标检测方法 接近人跟对颜色感知的色调、饱和度和亮度属性 (H ,S ,I )模型更适合于图像识别处理。因此,文中引入改进 型 HSI 帧差模型。 1.1 运动目标图像HSI 差值模型 设移动机器人在某一位置采得的连续三帧图像序列 ()y x k ,f 1-,()y x f k ,,()y x f k ,1+

人体行为识别技术

人体行为识别技术 在计算机视觉领域中,人体运动行为识别是一个被广泛关注的热点问题,在智能监控、机器人、人机交互、虚拟现实,智能家居,智能安防,运动员辅助训练等方面有巨大应用价值。行为识别问题一般遵从如下基本过程:数据图像预处理,运动人体检测、运动特征提取、特征训练与分类、行为识别。着重从这几方面逐一回顾了近年来人体行为识别的发展现状和常有方法。并对当前该研究方向上待解决的问题和未来趋势做了分析。行为理解可以简单地认为是时变数据的分类问题,即将测试序列与预先标定的代表典型行为的参考序列进行匹配。通过对大量行为理解研究文献的整理发现:人行为理解研究一般遵从特征提取与运动表征、行为识别、高层行为与场景理解等几个基本过程。 特征提取与运动表征是在对目标检测、分类和跟踪等底层和中层处理的基础上,从目标的运动信息中提取目标图像特征并用来表征目标运动状态;行为识别则是将输入序列中提取的运动特征与参考序列进行匹配,判断当前的动作处于哪种行为模型;高层行为与场景理解是结合行为发生的场景信息和相关领域知识,识别复杂行为,实现对事件和场景的理解。【2】 1、行为识别的应用 从应用领域的分类来讲,可以将人体运动分析的应用分成如下几个领域: ①智能监控 这里所指的“智能”包含两个方面的含义。一种“智能”是指系统能够在一定的场景中检测是否有人的出现(如通过检测人脸的方法)防止只是简单的通过运动目标检测所造成的错误报警(例如因为动物活动或者刮风摇动树枝等等而造成误报)。另外一种“智能”是指系统能够监视一定场所中人的活动,并对其行为进行分析和识别,跟踪可疑行为(如经常在重要地点徘徊等等行为)从而采取相应的报警措施。通常把报警系统设置于银行、机场、车站、码头、超市、办公大楼、住宅小区等地,以实现对这些场所的智能监控。 ②虚拟现实 跟踪现实世界人的姿态,从而创建一个虚拟的仿真场景,实现人与这个虚拟世界的交互。该领域的具体应用涉及视频游戏、虚拟摄影棚、计算机动画等方面。 ③高级用户接口 指可以通过对用户手势的识别来代替传统的鼠标和键盘输入,从而实现人与计算机之间的智能交互。此外,通过对手势语言的理解,还可以进行聋人与计算机之间的手语交流。 ④运动分析 人体运动分析可以运用于基于内容的视频检索领域。例如可以检索在运动会上单杠比赛中运动员的杠上动作。这样可以节省用户大量的查询视频资料的时间和精力。另外一种应用是用于各种体育项目中,提取运动员的各项技术参数(如关节位置、角度和角速度,等等),通过分析这些信息,可以为运动员的训练提

运动目标检测原理

运动检测(移动侦测)原理 一、引言 随着技术的飞速发展,人们对闭路电视监控系统的要求越来越高,智能化在监控领域也得到越来越多的应用。在某些监控的场所对安全性要求比较高,需要对运动的物体进行及时的检测和跟踪,因此我们需要一些精确的图像检测技术来提供自动报警和目标检测。运动检测作为在安防智能化应用最早的领域,它的技术发展和应用前景都受到关注。 运动检测是指在指定区域能识别图像的变化,检测运动物体的存在并避免由光线变化带来的干扰。但是如何从实时的序列图像中将变化区域从背景图像中提取出来,还要考虑运动区域的有效分割对于目标分类、跟踪等后期处理是非常重要的,因为以后的处理过程仅仅考虑图像中对应于运动区域的像素。然而,由于背景图像的动态变化,如天气、光照、影子及混乱干扰等的影响,使得运动检测成为一项相当困难的工作。 二、运动检测(移动侦测)原理 早期的运动检测如MPEG1是对编码后产生的I帧进行比较分析,通过视频帧的比较来检测图像变化是一种可行的途径。原理如下:MPEG1视频流由三类编码帧组成,它们分别是:关键帧(I 帧),预测帧(P帧)和内插双向帧(B帧)。I帧按JPEG标准编码,独立于其他编码帧,它是MPEG1视频流中唯一可存取的帧,每12帧出现一次。截取连续的I帧,经过解码运算,以帧为单位连续存放在内存的缓冲区中,再利用函数在缓冲区中将连续的两帧转化为位图形式,存放在另外的内存空间以作比较之用,至

于比较的方法有多种。此方法是对编码后的数据进行处理,而目前的MPEG1/MPEG4编码都是有损压缩,对比原有的图像肯定存在误报和不准确的现象。 目前几种常用的方法: 1.背景减除(Background Subtraction ) 背景减除方法是目前运动检测中最常用的一种方法,它是利用当前图像与背景图像的差分来检测出运动区域的一种技术。它一般能够提供最完全的特征数据,但对于动态场景的变化,如光照和外来无关事件的干扰等特别敏感。最简单的背景模型是时间平均图像,大部分的研究人员目前都致力于开发不同的背景模型,以期减少动态场景变化对于运动分割的影响。 2.时间差分(Temporal Difference ) 时间差分(又称相邻帧差)方法是在连续的图像序列中两个或三个相邻帧间采用基于像素的时间差分并且阈值化来提取出图像中的运动区域。时间差分运动检测方法对于动态环境具有较强的自适应性,但一般不能完全提取出所有相关的特征像素点,在运动实体内部容易产生空洞现象。 3.光流(Optical Flow) 基于光流方法的运动检测采用了运动目标随时间变化的光流特性,如Meyer[2] 等通过计算位移向量光流场来初始化基于轮廓的跟踪算法,从而有效地提取和跟踪运动目标。该方法的优点是在摄像机运动存在的前提下也能检测出独立的运动目标。然而,

目标检测、跟踪与识别技术与现代战争

目标检测、跟踪与识别技术与现代战争 【摘要】本文讨论目标检测、跟踪与识别技术在现代战争各个领域中的应用,总结目标识别技术的发展方向,提出目标识别技术工程化实现方法,同时本文介绍了国外目标识别的现状及发展趋势,提出了现代战争应采用综合识别系统解决目标识别问题的建议。 关键词目标检测;目标跟踪;目标识别;雷达;人工神经网络;精确制导 1.引言 随着现代科学技术的飞速发展及其在军事领域内日益广泛的应用,传统的作战思想、作战方式已发生根本性的变化。从第一次海湾战争到科索沃战争,特别是刚刚结束的海湾战争,空中精确打击和空地一体化作战已经成为最重要的作战形式。集指挥、控制、通信、计算机、情报、监视侦察于一体的C ISR 已成为取得战场主动权,赢得最后胜利的关键因素。目标识别技术是雷达智能化、信息化的重要技术支撑手段。在现代化战争中,目标识别技术在预警探测、精确制导、战场指挥和侦察、敌我识别等军事领域都有广泛的应用前景,已受到了世界各国的关注。 现代战争中取得战场制信息权的关键之一是目标属性识别。现代战争的作战环境十分复杂,作战双方都在采用相应的伪装、隐蔽、欺骗和干扰等手段和技术,进行识别和反识别斗争。因此仅仅依靠一种或少数几种识别手段很难准确地进行目标识别,必须利用多个和多类传感器所收集到的多种目标属性信息,综合出准确的目标属性,进行目标检测,跟踪后进行识别。 2.目标检测、跟踪与识别技术在现代战争中的应用 2.1 目标检测、跟踪与识别技术在预警探测上的应用 目标检测、跟踪与识别技术对于弹道导弹的预警工作有重要的作用。弹道导弹一般携带多个弹头,其中可能包含核弹头或大规模杀伤的弹头以及常规弹头,预警雷达必须具备对目标进行分类和识别真假弹头的能力,将核弹头或大规模杀伤的弹头分离出来,为弹道导弹防御(BMD)系统进行目标攻击和火力分配提供依据。早期的BMD系统假设只有一个核弹头,多弹头分导技术的出现,使问题转化为雷达的多目标识别问题,加上电子对抗技术的广泛使用,给目标识别技术带来很大困难。另外,预警雷达还要对空中目标或低空目标进行探测,对来袭目标群进行分类识别。利用星载雷达以及远程光学望远镜等观测设备,可以对外空目标进行探测,对外空来袭目标进行分类和识别,达到早期预警的工作。

运动人体识别技术

二、运动人体识别技术 1.概念 运动人体识别技术是一种以图像处理,模式识别,计算机视觉等技术为基础,为运动人体进行识别处理的一项技术。其中图像处理(影像处理)是用计算机对图像进行分析,以达到所需结果的技术;模式识别是通过计算机用数学技术方法来研究模式的自动处理和判读,其中环境与客体统称为“模式”;计算机视觉技术是一门研究如何使机器看的学科,简单的说,就是用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步作图像处理,使电脑处理成更适合人眼观察或传送仪器检测的图像。 2.运动人体识别的研究进展与现状 运动人体识别的研究主要包括图像处理、多传感技术、虚拟现实、模式识别、计算机视觉和图形学、计算机辅助技术、可视化技术以及智能机器人等。针对人体运动图像系列进行分析处理的运动人体视觉分析技术,一般情况下可分为:运动目标检测,运动目标特征提取以及识别复杂背景下的运动目标身份。其主要的研究方法为结构化分量和动态分量。其算法又分为基于统计的方法和基于模型的方法。现状是运动人体科学由宏观向微观理论研究深入发展,与运动人体科学相关的一些学科,快速成长为深入研究性学科,运动人体科学的竞技体育和体育保健。研究方向为:智能安全监控、人机接口、视频会议等方面,这些方面具有广泛的应用前景和巨大的潜在经济价值。 3.运动人体识别算法概述 (1)运动人体识别过程一般分为目标检测和处理、特征提取和分析、模式分类和识别。 (2)主要方法:目标检测和处理的特点为检测出原始图像中的运动目标,在一副图像中,局部目标的表象和形状能够被梯度或者边缘的方向密度分布很好的描述;特征提取和分析的特点为通过映射和变换的方法可以将高维空间中的特征描述用低维空间的特征来描述;模式分类和识别的特点是通过计算机用数学技术方法来研究模式的自动处理和判读,其中环境与客体统称为“模式” (3)特征提取模式识别的方法 在很多实际问题中,往往不容易找到那些最重要的特征,或者因为外界干扰不能提取出自己想要的特征信息。因此在测量时,我们总希望能够获取更多的信息来加以判断。除此之外,我们还能够用数据,比值,梯形图等等的一些展现方法来突出自己想要的特征信息。为了设计出效果好的分类器,通常需要对原始的测量值集合进行分析,经过选择和变换处理,组成有效的识别特征。 4.未来的发展趋势以及存在的问题 人体识别技术的发展趋势是:面对着全球化、信息化越来越提倡的社会背景下,识别技术会越来越广,深度也会不断加深。其虽然有着自己独特的优势,但并不是没有缺点,举个例子,在指纹识别上,面临指纹膜冒充指纹蒙混过关的问题;人面识别也许简单易个容就能过关;虹膜识别技术对黑眼睛存在识别难得问题;对于盲人和眼睛有疾病的患者实在是无能为力;声音、笔记也并不难以模仿;静脉识别也存在着易受温度干扰影响识别率的问题。

运动目标检测研究意义及国内外现状

运动目标检测研究意义及国内外现状运动目标检测研究意义及国内外现状 1研究意义...................................................................... (1) 2国内外研究现 状 ..................................................................... . (1) 1研究意义 众所周知,当前是信息时代,信息的获得、加工、处理以及应用都有了飞跃发展。人们认识世界的重要知识来源就是图像信息,在很多场合,图像所传送的信息比其他形式的信息更丰富、真切和具体。人眼与大脑的协作使得人们可以获取、处理以及理解视觉信息,人类利用视觉感知外界环境信息的效率很高。事实上,据一些国外学者所做的统计,人类所获得外界信息有80%左右是来自眼睛摄取的图像。由此可见,视觉作为人类获取外界信息的主要载体,计算机要实现智能化,就必须能够处理图像信息。尤其是近年来,以图形、图像、视频等大容量为特征的图像数据处理广泛应用于医学、交通、工业自动化等领域。 自然界的一切图像都是连续变化的模拟图像,在日常生活中,这些图像中的运动目标往往是我们比较关心的,如:行人、行驶的交通工具以及其他的运动物体。运动目标检测是计算机视觉和数字图像处理的一个热门方向,广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域。因此,运动目标检测也就成为了近年来理论和应用的研究热点,它是图像处理和计算机视觉学科的重要分支,也是智能监控系统的核心部分。它的目的就是如何快速、准确地检测出监控视频中的运动目标,即从序列图像中将运动目标提取出来。

基于opencv的运动目标检测和跟踪

本科毕业论文
(科研训练,毕业设计)

目: opencv 的运动目标检测
姓 学
名:汤超 院:信息科学与技术学院 系:电子工程系
专 年 学
业:电子信息工程 级:2005 号:22220055204057 职称:教授
指导教师(校内) :杨涛
2009 年
5 月
25 日

厦门大学电子工程系 2005 级本科毕业论文 -
基于 opencv 的运动目标检测和跟踪
摘要
Opencv(Open Source Computer Vision Library)是一种用于数字图像处理和计算机视 觉的函数库,由 Intel 微处理器研究实验室(Intel's MicroprocessorResearch Lab)的视 觉交互组(The Visual Interaetivity Group)开发.采用的开发语言是 C++,可以在 window: 系统及 Linux 系统下使用,该函数库是开放源代码的,能够从 Intel 公司的网站免费下载 得到.opencv 提供了针对各种形式的图像和视频源文件(如:bitmap 图像,video 文件和实 时摄像机)的帧提取函数和很多标准的图像处理算法,这些函数都可以直接用在具体的视频 程序开发项目中. 针对在背景中检测出运动目标并实施警戒等特定提示,本文利用 opencv 的运动物体 检测的数据结构,函数以及基本框架,建立了一个由人机交互界面模式.实施对物体的检 测.该方面在安防方面已经很受重视.相信在不久的将来将会成为一种监督秩序的方式.
关键字 视频,运动目标检测,帧差分

目标检测与跟踪

第九章图像目标探测与跟踪技术 主讲人:赵丹培 宇航学院图像处理中心 zhaodanpei@https://www.360docs.net/doc/7f7510918.html, 电话:82339972

目录 9.1 概论 9.2 目标检测与跟踪技术的发展现状9.3 目标检测与跟踪技术的典型应用9.4 图像的特征与描述 9.5 目标检测方法的基本概念与原理9.6 目标跟踪方法涉及的基本问题

9.1 概论 1、课程的学习目的 学习和掌握目标探测、跟踪与识别的基本概念和术语,了解一个完整信息处理系统的工作流程,了解目标探测、跟踪与识别在武器系统、航空航天、军事领域的典型应用。了解目标检测、跟踪与识别涉及的关键技术的发展现状,为今后从事相关的研究工作奠定基础。 2、主要参考书: 《目标探测与识别》,周立伟等编著,北京理工大学出版社; 《成像自动目标识别》,张天序著,湖北科学技术出版社; 《动态图像分析》,李智勇沈振康等著,国防工业出版社;

引言:学习目标检测与跟踪技术的意义 ?现代军事理论认为,掌握高科技将成为现代战争取胜的重要因素。以侦察监视技术、通信技术、成像跟踪技术、精确制导技术等为代表的军用高科技技术是夺取胜利的重要武器。 ?成像跟踪技术是为了在战争中更精确、及时地识别敌方目标,有效地跟踪目标,是高科技武器系统中的至关重要的核心技术。 ?例如:一个完整的军事战斗任务大致包括侦察、搜索、监视以及攻击目标和毁伤目标。那么快速的信息获取和处理能力就是战争胜利的关键,因此,目标的实时探测、跟踪与识别也成为必要的前提条件。

?随着现代高新技术的不断发展及其在军事应用领域中的日益推广,传统的作战形态正在发生着深刻的变化。 1973年的第四次中东战争,1982年的英阿马岛之战,1991年的海湾战争及1999年的科索沃战争,伊拉克战争等都说明了这一点。西方各军事强国都在积极探索对抗武器,特别是美国更是投入了巨大的物力、人力和财力积极研制弹道导弹防御系统。而图像检测、跟踪和识别算法作为现代战场信息环境作战成败的关键,具备抗遮挡、抗丢失和抗机动鲁棒性的智能跟踪器,将是现代战场作战必备品,具有广泛的应用前景。

人形目标检测与跟踪

——人形目标检测与跟踪

一、 本组研究方案,算法系统框图 二、 检测算法、原理、程序实现方法、调试过程 【视频处理】 老师提供的两端视频两段视频并不能直接用来输入OpenCV 所编程序处理,需要将其转化为无压缩的avi 格式。利用软件WinAVI Video Converter ,转换为ZJMedia uncompressed RGB24格式。 【背景建模】 我们小组利用N 帧图像的平均来求取背景,并实时对背景进行更新。由于考虑到ExhibitionHall.avi 视频中运动物体所占场景比例少,运动轨迹为直线,为了处理的简单,所以在这不刻意区分物体和背景像素点。即(1)(1)()()A A A B k B k I k αα+=-+ ,这里的α 很小(0.003) 。 【前景提取】 灰度图像的处理比彩色图像的处理过程简单。我们小组将读入的彩色图像变成灰度图像,并二值化;同样,背景也进行二值化。两者做差值,得到一些离散的黑白点块。也就

是要识别的目标。但是,这样得到的块是分散开的,程序 整的人形被分块识别成多个目标。为此,我们做了一些简 单的后处理。先腐蚀元素,去除不必要的杂点,然后进行 膨胀块处理,自定义块的大小,使其膨胀成能被识别成一 个人形的目标。另外,我们还做个简单的高斯低通滤波, 是得到的结果光滑些。其流程图如右。 【目标检测】 根据前景处理的结果,得到一些连续的块目标。利用帧间差,可以提取出目标的轮廓。根 据轮廓的位置分布,计算出检测目标的形心和大小。并予以标记。 【目标跟踪】 根据目标帧间的位移差值,可以计算出运动目标在x,y方向上的运动速度。可以利用这 个关系判断下一帧目标的位置。设置一个合适的阈值,就可以实现目标的跟踪。在此,我们还 引入了重叠判断机制。如果目标重叠,即通过遍历,发现块重叠大于一定阈值后,根据前面得 到的位置预测判断当前物块位置;如果不重叠,则遍历这幅图像中的所有物块,寻找临近最优 物块,以保持编号连续性。在目标跟踪过程中,还进行了Kalman滤波,对目标轨迹进行滤波 处理。

(完整word版)基于matlab的运动目标检测

1 绪论 1.1 课题研究背景及意义 运动目标检测是图像处理与计算机视觉的一个分支,在理论和实践上都有重大意义,长久以来一直被国内外学者所关注。在实际中,视频监控利用摄像机对某一特定区域进行监视,是一个细致和连续的过程,它可以由人来完成,但是人执行这种长期枯燥的例行监测是不可靠,而且费用也很高,因此引入运动监测非常有必要[1]。它可以减轻人的负担,并且提高了可靠性。概括起来运动监测主要包括三个内容[2]:运动目标检测,方向判断和图像跟踪。运动目标检测是整个监测过程的基础,运动目标的提取准确与否,直接关系到后续高级过程的完成质量。 1.2 国内外研究现状 运动目标检测在国外已经取得了一些的研究成果[3],许多相关技术已经开始应用到实际系统中,但是国内研究相对落后,与国外还有较大差距。传统的视频目标提取大致可以分两类,一类以空间同性为准则,先用形态学滤波器或其他滤波器对图像作预处理;然后对该图像的亮度、色度或其他信息作空间上的分割以对区域作边缘检测;之后作运动估计,并合并相似的运动区域以得到最终的提取结果。如光流算法、主动轮廓模型算法。此类方法结果较为准确但是运算量相对较大。另一类算法主要以时间变化检测作为准则,这类算法主要通过帧差检测图像上的变化区域和不变区域,将运动物体与静止背景进行分割。此类方法运算量小,提取结果不如前类方法准确。此外,还有时空结合方法、时空亮度梯度信息结合的方法等等[4]。本文将围绕以时间变化监测为基础的方法展开分析和讨论。 1.3 本文结构 第1章介绍了本文的研究意义及国内外发展状况;第2章分为四个部分详细讲述了运动目标检测的方法,介绍了背景提取与更新算法,检测算法,阈值选取,形态学滤波等;第三章对全文作出了总结。

目标检测与跟踪方法在自动跟踪装置中的应用

第33卷增刊2007年11月 光学技术OPTICAL TECHN IQU E Vol.33Suppl. Nov. 2007 文章编号:100221582(2007)S 20069203 目标检测与跟踪方法在自动跟踪装置中的应用 Ξ 伍翔,霍炬,杨明,董红红 (哈尔滨工业大学控制与仿真中心,哈尔滨 150082) 摘 要:介绍了一种应用于自动跟踪装置上的运动背景下目标检测与跟踪的方法,采用仿射模型作背景运动估计进行检测以及mean 2shift 算法跟踪目标,并将该方法应用到一套自动跟踪系统实验平台上。 关 键 词:仿射模型;mean 2shift 算法;自动跟踪装置 中图分类号:TP751 文献标识码:A Application of a moving target detecting and tracking method in the automatic 2tracking equipment WU X iang ,H UO J u ,Y ANG Ming ,DONG H ong 2hong (Control and Simulation Center ,Harbin Institute of Technology ,Harbin 150082,China ) Abstract :This paper presents a moving target detecting and tracking method in moving background for the automatic 2tracking equipment.It uses affine model to estimate the moving character of the background for detecting ,and uses mean 2shift algorithm for tracking.An automatic 2tracking experimental system is realized by using this method. K ey w ords :affine model ;mean 2shift algorithm ;automatic 2tracking equipment 0 引 言 基于图像处理的运动目标检测与跟踪,作为图像处理技术的一个分支,由于其在民用和军用上的广泛应用 [1,2] ,也逐 渐成为研究的热点。本文主要针对自动跟踪装置,研究与设计一种图像处理的方法,实现运动背景下运动目标检测与跟踪,并应用到所搭建的自动跟踪仿真系统中。 1 自动跟踪系统实验平台 利用图像处理的方法实现自动跟踪功能的跟踪系统一般由摄像机、图像采集卡、计算机、伺服系统几部分组成。摄像机、图像采集卡以及计算机都装载在伺服系统上,当摄像机的视野中出现运动目标时,计算机对图像采集卡采集到的图像进行处理分析,得出运动目标的位置等信息,传递给伺服系统,伺服系统带动相机跟踪目标,使得目标始终保持在视野的中心 。 图1 自动跟踪系统实验平台结构框图 图1即为所搭建的自动跟踪系统实验平台的结构框图, 该平台是专门根据自动跟踪装置的结构和特点设计的,对自动跟踪装置进行模拟。由图1可知,在计算机上实现的图像处理部分,是整个系统的关键。它所要完成的功能是从采集图2 图像处理部分基本流程 到的每幅视频图像中找出运动目标的位置,即运动目标的检测与跟踪。它主要包括两方面:第一,运动目标的检测与提取;第二,目标跟踪。其处理流程图如图2所示。 2 运动目标检测 2.1 背景模型选取 根据摄像机相对于场景的运动情况可以将运动目标检测分为静止背景下运动目标检测和运动背景下运动目标检测两种。由自动跟踪装置的特性可知,在跟踪目标的过程中,摄像机随着伺服系统一起运动,所以应该考虑的是运动背景下运动目标的检测。 本文采用的是运用背景运动估计进行建模的思想,将两帧图像之间的背景运动关系用仿射变换表示,建立一个仿射运动参数模型。如 x k +1=a 1x k +a 2y k +d x y k +1=a 3x k +a 4y k +d y (1) 9 6Ξ收稿日期:2006212211 E 2m ail :wuxiang602@https://www.360docs.net/doc/7f7510918.html, 基金项目:国家自然科学基金资助(60434010) 作者简介:伍翔(19842),男,苗族,湖南省人,哈尔滨工业大学硕士研究生,从事图像处理研究。

基于OpenCV的运动目标检测与跟踪

基于VC的运动图像跟踪算法设计 学院自动化学院 专业 班级 学号 姓名 指导教师 负责教师 沈阳航空航天大学 2013年6月

沈阳航空航天大学毕业设计(论文) 摘要 运动目标检测与跟踪作为计算机视觉领域的一个重要分支与基础,在工业、医疗保健、航空航天、军事等各个领域具有广泛的应用前景,一直受到广泛的关注,并成为计算机视觉领域的一个研究热点。但是由于运动目标检测问题本身的复杂性,运动目标的检测与跟踪依然面临着诸多挑战。本文在现有研究成果的基础上,对静态场景下的运动目标检测跟踪进行了深入的讨论。 本文首先对运动目标检测的基本方法----帧间差分法与背景差分法进行了深入的学习和探讨,然后,借助于OpenCV技术,在Visual C++ 6.0编程环境下开发了运动目标检测跟踪系统。该系统首先对采集的视频图像序列进行相关的预处理之后,将视频图像序列中的运动目标比较可靠地检测出来。通过系统的测试结果和数据可以得出结论:本文基于OpenCV设计的运动目标检测跟踪系统具有良好的实时性,能够正确地进行运动目标的实时检测与跟踪。 关键词:运动目标检测;帧间差分法;视频图像;OpenCV

基于VC的运动图像跟踪算法设计 Algorithm Design of Image Motion Tracking Based on VC Abstract Moving target detection and tracking field of computer vision as an important branch of the foundation, in the industrial, healthcare, aerospace, military and other fields with a wide range of applications, has been widespread concern, and the field of computer vision to become a research hotspot. However, due to moving target detection complexity of the problem itself, moving target detection and tracking is still facing many challenges. In this paper, based on the results of existing research in static scenes of the moving target detection and tracking in-depth discussion. This article first basic method of moving target detection - frame difference method and background subtraction method conducted in-depth study and discussion, and then, by means of OpenCV technology, Visual C 6.0 programming environment developed a moving target detection and tracking system. The system and the collection of the associated video sequence after pretreatment, the video image of the moving target sequence comparison reliably detected. Through systematic test results and data can be concluded: Based on OpenCV design moving target detection and tracking system has good real-time, be able to properly carry out real-time moving target detection and tracking. Keywords: moving target detection; frame difference method; video frame; OpenCV

相关文档
最新文档