1、 本科 毕业 设计 (论文 ) (二零 届) 人体检测方法研究与实现 所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 - 2 - 摘要: 基于视频序列的运动人体检测是当前计算机视觉和模式识别领域的一个重要研究方向,在图像处理、智能监控、视频编码等领域有着重要的地位。本文构建了一个基于视频序列的运动人体检测系统,主要内容为利用运动目标检测的方法将运动区域提取出来。 本文运用了 Matlab 从视频中读取帧图像,通过前后帧差对比,去掉背景图像,通过颜色对比显示运动人体目标,简单框出目标,从而达到目的。实验结果表明,本文提出的运动目标检测的方法能够快速完整的检
2、测出运动区域,同时在很大程度上了抑制噪声在影响。 关键词: 运动目标检测 ;人体检测;背景消除; matlab Human Detect Method Research and Implementation - 3 - Abstract: Human detecting based on motion video sequences in the field of computer vision and pattern recognition which has an important position in the image processing now intelligent cont
3、rol, video encoding and other fields.An human body motion is built based on video sequence detection system for use of moving target detection method to extract moving regions. In this paper, Use Matlab to read frames from the video by frame difference before and after comparison, remove the backgro
4、und image, color contrast through the display of Human movement target, simple box, the target to achieve the goal. Experimental results show that the proposed motion detection method can detect moving quickly complete the regional, while in large part to suppress background noise and changes in the
5、 region. Key words: Moving object detection; people break detection;background subtraction;matlab - 4 - 目录 1 绪论 . 1 1.1 研究背景和意义 . 1 1.2 国内外研究现状 . 1 1.2.1 运动目标检测 . 2 1.2.2 人体检测 . 3 1.3 运动图像的含义 . 4 1.4 研究内容 . 4 1.5 论文结构 . 5 2 帧差法 . 6 2.1 帧差法的具体算法 . 6 2.2 光流法 . 7 3 背景差分 . 10 3.1 背景差分方法 . 10 3.1.1 时间差分方
6、法 . 10 3.1.2 均值阈值法 . 10 3.2 背景差法在本系统中的运用 . 11 4 系统原理 . 12 4.1 Matlab 中读取并运用视频帧 . 12 4.2 用形态学提取目标 . 13 4.3 对目标进行边框确定 . 13 5 实验截图及代码 . 14 5.1 实验截图 . 14 5.2 主要程序代码 . 16 6 总结与展望 . 20 致谢 . 2 错误 !未定义书签。 参考文献 . 22 1 1 绪论 1.1 研究背景和意义 近几十年来,随着计算机技术和图像处理技术的发展,目标检测及跟踪系统广泛运用于各领域。人们对视频序列中运动目标的检测与跟踪做了大量而深入的研究,提出了
7、各种行之有效的方法,其中运动人体的检测与跟踪在智能监控领域的应用前景和潜在经济价值成为研究的热点课题之一。 运动人体检测、识别技术是人体运动分析的重要内容,也是计算机视觉研究的重要领域之一。它在智能监控、虚拟实现、人机交互、辅助 临床医学诊断等等各领域均具有广阔的运用前景和高度的经济价值。近年来,随着中国城市化建设不断深入,大型城市的人口呈爆炸式增长,随之而来的交通压力也日益增大,矛盾日益突出。本文主要是针对城市交通环境下如何保障行人交通顺畅和出行安全等问题,研究了摄像机静止情况下基于单目视觉的运动人体检测详细介绍了从复杂场景中分析行人运动的算法研究和编程实现的过程。 现在,在很多场合我们都可
8、以看到一些用于监控的摄像头。如银行,商场,超市,居民社区,教室,停车场,高速公路等,可以说监控的应用无处不在。但目前大部分的监控是由相关人员通 过监视器进行人工监控,这样由于监控的区域过大或监控时间过长使人产生疲劳,造成一些区域的漏检,没有对一些异常情况做出及时的反应,失去了监控的作用。因此,人体检测技术的应用,可以使通常被动的监控成为智能的主动的监控。当一些人员出现在场景中,我们的监控设备就会自动检测出人体,通知监控人员。这样一方面可以减轻监控人员的工作,减少一些人力,物力和财力的投入。另一方面可以提高家弄的准确度,可以及时对异常情况进行报警,减少不必要的损失。同时,人体监测还可以对交通管理
9、,地铁,及其他公共场所的人流信息进行分析和计算。 人体目 标的检测的目的是从序列图像中将变化区域从背景图像中提取出来,运动区域的有效分割对于目标分类、跟踪和行为理解等后期处理是非常重要的。然而,由于背景图像的动态变化,如天气、光照、影子及混乱干扰等影响。使得运动检测成为一项相当困难的工作。 人体检测技术讲在现实生活中取得越来越重要的作用,其广阔的前景和价值成为推动该技术发展的强大动力。 1.2 国内外研究现状 从视频序列中检测出运动中的人体需要解决两个问题:运动目标检测和人体检测。以下从这两个方面分析国内外的研究现状及常用的处理方法。 2 1.2.1 运动目标检测 运动目标检测的目的是从序列图
10、像中将变化区域从背景图像中提取出来。运动区域的有效分割对于目标分类、跟踪和行为理解等后期处理非常重要,因为以后的处理过程仅仅考虑图像中对应于运动区域的像素。然而,由于背景图像的动态变化,如天气、光照、影子及局部扰动等的影响,使得运动检测成为一项相当困难的工作。 (a)基于特征的方法 基于特征的方法包括两个主要的步骤,一是从相继两幅或多幅不同时刻的图像中抽取特征,并建立起对应;二是依据这些特征之间的对应来计算物体的结构 (形状、位置等 )和运动。基于特征的方法能够很好的对物体的运 动特征进行表述,但是该方法的困难在于物体特征点的寻找和匹配。一方面,该方法很难区分不同目标之间的特征点。特别是当运动
11、目标很多的时候往往需要先依据别的方法来区分不同的目标。另一方面目前并没有一种比较通用的快速匹配算法,这就限制了它在实时视频领域的应用。 (b)基于光流场的方法 1 基于光流场的方法,也称为连续处理方法,通常假定相邻时刻之间的间隔是很小的 (几十毫秒之内 ),从而相邻时刻的图像之间的差异也较小,可以求得稠密 (即图像中每一像素 )处所对应物体的运动信息。光流法也采用两步:第一步,是计算光流场, 第二步则是由光流场来计算场景中物体的三维运动和结构。光流场的方法能够很好的用于二维运动估计,它也可以同时给出全局点的运动估计,但其本身还存在着一些问题:遮挡问题、孔径问题、缺乏足够的空间图像梯度以及计算量
12、大的问题。 (c)基于帧间差分的方法 帧间差分,也称为时域差分,是运动视觉的方法中最为简单快速的方法。常用的帧间差分就是连续两帧相减,二值化处理获得运动区域,但运动目标在前后帧中变化可能不大,导致部分区域重叠,所以检测到的运动目标并不完整,还需耍后续算法的处理。这是本文采用的方法。 (d)基于背景减 除的方法 2 该方法的关键是背景图像的描述模型即背最模型,它是背景消减法分割前景目标的基础。背景模型有单模态和多模态两种。前者在每个背景点上的颜色分布比较集中,可以用单个概率分布模型来描述,后者的分布则比较分散,需要多个分布模型来共同描述。自然界中的许多景物和很多人造物体,如水面的波纹、摇摆的树枝
13、、飘扬的旗帜、监视器荧屏等,都呈现出多模态的特性。 3 1.2.2 人体检测 运动目标检测出来的运动区域可能对应不同的运动目标,比如交通道路上监控摄像机所捕捉的序列图像中可能包含行人、车辆及其它诸如飞鸟、流云、 摇动的树枝等运动物体。由于智能视觉监控系统要对运动的人体进行跟踪识别,所以就必须判断前景运动物体是否为人体,而人休的检测算法的好坏同时严重影响着后续的处理。不同的应用背景下和图像分辨率下,人体检测算法不同:对于认知领域,需要识别人体各部分的运动情况;而在智能监控中,图像分辨率并不高,因此可以不用过多的关注人体的具体细节,只需要判断是否为人体目标。检测人体目标比检测其他目标更具挑战性:第
14、一,人体目标是典型的非刚性目标,可能呈现出各种不同形状,单一的模型几乎不可能捕获各种形状的人体;第二,人的不同衣着,使基于区 域特征的算法也不能有效地工作。下面简略介绍目前国内外主要的研究方法 : (a)基于人体模型的方法 为了检测图像中的人体对象,首先要设计合理的人体模型。因为人体是关节物体,所以大多数人体模型使用基于身体部分的表示,但不同模型使用的细节层次不同。另外,也有一些研究者没有使用直观的几何模型,而是构造人体的模板。计算机图形学和计算机视觉领域的许多研究者根据不同任务的需要提出了一些人体模型。 (b)基于皮肤颜色的方法 3 人的皮肤颜色是一个明显的特征,可以利用颜色信息来检测人体。
15、人脸部通常是裸露的而且 有着特殊的颜色,所以可以通过识别人脸的存在来确定是否有人的存在。由于皮肤的色度和饱和度受光照的影响比较小,为了减小背景的颜色干扰,这个二维的高斯模型的均值、协方差的获得依靠前景提取后,手工确定脸部位置对模型进行训练,在分类过程中计算像素和均值间的距离,如果距离小于一个特定的阈值,那么该像素被分为皮肤,否则被分为非皮肤。分类后可以确定是否有人脸存在,如果运动物体中有人脸存在,则物体被分为人体,否则被分为非人体,但这种方法对远距离监控可能会失效。 (c)基于运动特性的分类方法 45 基于运动的分类 是利用人体在稳定地行走或奔跑时表现出的人体姿态的周期性变化,可以利用人体运动
16、的这一特性识别人体的存在。若物体在 t 时刻的状态为 x(t)。若存在一个常数 P 使: x(t+P)=x(t)+T(t) (1) 其中 T(t)为平移量,那么这个最小的时间间隔 P 就是这个物体的运动周期,人体在稳定运动时的姿态,以人的中轴为坐标轴,人体的对称性呈周期性变化,可以利用这一特性在时域构4 造时间 自相似矩阵,人的周期性运动反映出不同于其它物体运动的性质,可以利用这种时域频化的方法把人体运动识别出来。 (d)基于人体外形特征的方法 6 由于人体外形的特殊性,成为人体检测可以利用的重要信息,根据人体外形进行检测和跟踪的算法被相继提出,但分析人体外形的困难在于人体局部的非刚体性表现出
17、来的不确定性很难刻画,但人体的不确定性很大很复杂,以至于这些模型都不适合。非参数化的方法国具有更大的灵活性,但是需要大量的样本来涵盖人体的所有的不确定性,其中点分布模型是典型的非参数化方法,它用一个有序的、标记的点集 来描述人体形状,点的改变影响了人体形状的改变,该方法具有很大的灵活性,但点集的注册标记的计算量很大,而且它是基于全局的方法,很难处理遮挡的情况。当然,人体的可形变并不是任意的,因此可以先确定先验的人体外形,一个可行的方法就是降低不同外形参数的相关性,在低维空间里用混和高斯模型建模形变的变化 78,这样可以有效的表征全局的形变,但对于局部的形变仍不够充分。各向异性的吉伯斯场的提出和
18、在人脸形变领域的成功应用,减少了处理人体形变的难度,但需要大量的样本训练。 检测运动的人体时,基于形状的分类是利用检测出来的 运动区域的形状特征信息来进行物体的分类的。通过检测模块得到一个二值化前景图像,对这个前景图像进行横向和纵向的投影可以得到横向和纵向直方图 9。通过多个人体样本训练可以得到人体的横向投影宽度和纵向投影宽度的比值,这个横向投影宽度和纵向投影宽度的比值作为人体的轮廓模式,可以用待分类的样本和此模型进行对比确定是否为人体。 1.3 运动图像的含义 运动图像处理分析是计算机视觉研究中的一个重要部分,也是最近几年来研究的热点。所谓运动图像(图像序列),是一种由一系列按时间顺序排列的
19、瞬时图像组。运动图像是针对运动的物体 或景物而言的,它不仅是空间位置的函数,而且是随时间变化的;与单一图像相比,运动图像为我们提供了更加丰富的信息。在对某一景物拍摄到的图像序列中,相邻两帧图像至少有一部分像素的灰度及色彩发生了变化,这些图像序列按照时间顺序组合起来就形成了视频,可以说视频就是图像序列,序列中的每一幅图像称为视频的帧 9。 1.4 研究内容 人体检测是对象检测中的一个极难的问题。在很多学者眼中甚至是计算机视觉中最难的5 问题之一。人体检测问题几乎涉及到计算机视觉从低层的特征提取到高层的图像理解的全部问题,而其还有其他问题所不具备的独有 难题,其主要的难题有以下几点: 1.对象复杂
20、性高:相对于车辆,文字等几何,颜色,纹理比较简单的对象而言,人体的对象要复杂得多,因此很难用简单的模型对其进行描述。颜色与纹理信息的多样性:人体由于衣服,肤色,光照等的变化,不同的人在灰度以及颜色空间上拥有不同的特征。同样由于不同的人有不同的衣服样式或者肤色变换的不同,在纹理特征方面也没有统一的特征模式可寻。 2.姿态的多样性:由于人体不是一个刚体模型,很难用一个统一 人体模型对其进行描述。相比较而言,人脸等问题由于大体上眼耳鼻嘴等位置分布有较为固定的模式,可以相 对容易的建立起模型框架。而人体在运动的时候,其姿态是完全不一样 的,其各个部分的组合很难找到统一的模式去定义或者描述,这也增加了人
21、体监测的难度。 3.视觉的多样性:与很多情况下人脸检测识别不同的是,人机检测的应用情况统筹并不像人脸检测识别那样是在固定的视觉(正常)情况下得到的,人体检测中的人体可能是从正视或者测试等不同的视觉角度来进行观测的,更有可能从俯视,平视或者仰视的不同角度观看。所以视觉的多样性也是人体检测中的一个难题。 1.5 论文结构 本论文是这样安排的:论文一共分为六章,其中第一章论述了立题的意 义及国内外的最新研究现状;第二章主要主要讲述了帧差法,第三章分析了常用的背景差分:第四章主要论述了系统原理及实验结果;第五章为系统截图以及系统程序开源代码:最后,第六章给出了总结与展望。 6 2 帧差法 帧间差分法是
22、一种通过对视频图像序列中相邻两帧作差分运算来获得运动目标轮廓的方法,它可以很好地适用于存在多个运动目标和摄像机移动的情况。当监控场景中出现异常物体运动时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像亮度差的绝对值,判断它是否大于阈值来分析视频或图像序列的运动特性,确定图像序列中有 无物体运动。图像序列逐帧的差分,相当于对图像序列进行了时域卜的高通滤波。 帧间差分法的优点是:算法实现简单,程序设计复杂度低;对光线等场景变化不太敏感,能够适应各种动态环境,稳定性较好。 其缺点是: 不能提取出对象的完整区域,只能提取出边界;同时依赖于选择的帧间时间间隔。对快速运动的物体,需要选择较小的时间
23、间隔,如果选择不合适,当物体在前后两帧中没有重叠时,会被检测为两个分开的物体:而对慢速运动的物体,应该选择较大的时问差,如果时间选择不适当,当物体在前后两帧中几乎完全重叠时,则检测不到物体。 为了解决两 帧差分法存在的一些问题,很多学者进行了大量的研究,并提出三帧差分法 12。其思想是分别对两个时间单位间隔前后的三幅图像进行基于像素的时间差分,然后对 2 次帧间差分的结果进行行“与”操作即取交集,从而得到运动目标比较精确 的轮廓位置。 采用三帧图像差分法的有点是运算量小,速度快,之对运动物体敏感,而且得到的运动目标边缘比较真实,定位也更加精确,对刚体目标(比如行驶的车辆等)的检测和跟踪有比较好
24、的结果。 另外,由于帧间差分法实际上只检测出相对运动的物体,如果进行差分的两幅(或三幅)图像的时间间隔很短,所得到的差 分图像受光线变化的影响将十分微弱,从而检测的结果更加准确,因此,帧间差分法非常适合动态变化的场景。但这种方法在背景比较复杂的情况只能提取出大部分而不是全部的运动区域,因此在实际应用中仍然存在着一定的局限性,需要作进一步的改进来提高整体的检测效果 13。 2.1 帧差法的具体算法 ( l)、对序列图像进行 33 中值滤波预处理,去掉图像随机噪声。减少以后运算的复杂度,克服噪声对图像处理结果的干扰。 ( 2)、从视频图像序列中选取出背景图像所阢砂,使其只包含固定的背景图像: ( 3)、在视频图像序列 中选取连续的两帧图像,其中前一帧图像 pk-1(x,y),当前帧图像pk(x,y);