基于帧间差分法的彩色视频背景提取
发布时间:2024-10-30
发布时间:2024-10-30
基于帧间差分法的彩色视频背景提取的程序
LANZHOU UNIVERSITY OF TECHNOLOGY
毕业论文
题 目 基于帧间差分法的彩色视频背景提取
学生姓名
学 号
专业班级 通信工程一班
指导教师
学 院 计算机与通信工程
答辩日期
基于帧间差分法的彩色视频背景提取的程序
摘 要
在智能交通系统(ITS)中,提取车辆状况的运行信息,运动目标的提取能够正确、实时地记录道路上车辆行驶情况,从而可以极大地提高排障效率,使道路迅速畅通。所以车辆的实时、有效检测在智能交通系统中很重要。帧间差分法是实现视频检测的方法之一,该方法采用基于像素级和帧级的多级自适应背景更新策略,能够克服光线缓慢变化和剧烈变化对背景的影响,并及时消除由于物体移入和移除产生的鬼影。实验结果表明,利用帧间差分法提取的背景清晰可见。基本上能满足任务要求。
在本文中,本人做了如下工作:查阅相关资料,了解论文所要求的工作,向指导老师请教,然后自己组织论文的整个框架,从编程到截图等整个工作,完成论文的要求。 关键词:运动目标;帧间差分;背景提取;图形滤波;图像二值化
基于帧间差分法的彩色视频背景提取的程序
基于帧间差分法的彩色视频背景提取
Based on inter-frame difference method to extract the background color video
马晓洁(maxiaojie)
09250136
基于帧间差分法的彩色视频背景提取的程序
ABSTRACT
In the Intelligent Transportation Systems (ITS), the extraction of vehicle condition the running information of, moving target's extraction of able to correctly, real-time ground recording road vehicles being driven on situation, thus you can greatly improve platoon obstacle efficiency, so that roads rapidly unimpeded. Therefore, real-time vehicle, effective detection in intelligent transportation system is very important. Inter-frame difference method is one of the ways to achieve video detection, the method based on the pixel level and frame-level multi-stage adaptive background updating strategy to overcome the slow changes and dramatic changes in the light affects the background, and promptly eliminate the objects into and removing ghosting. Experimental results show that using inter-frame difference method to extract the background clearly visible. Can basically meet the mission requirements.
In this article, I made the following tasks: access to relevant information, understand the paper work required to ask the instructor, and then organize themselves entire framework papers, etc. from programming to capture the entire work to complete the thesis requirement.
Keywords: Moving target; interframe difference; background extraction, graphics filtering, binarization.
基于帧间差分法的彩色视频背景提取的程序
目录
第1章 绪论 ...................................................................................................................................... 1
第二章 基于帧间差分法的背景提取算法研究 .............................................................................. 4
2.1 简介 ...................................................................................................................................... 4
2.2 二帧差法 .............................................................................................................................. 4
2.3 三帧差法 .............................................................................................................................. 5
第三章 图像的预处理 ...................................................................................................................... 8
3.1 帧图像的提取 ...................................................................................................................... 8
3.2 图像的灰度化处理 .............................................................................................................. 9
3.3 图像的滤波 ........................................................................................................................ 12
3.4 图像的双精度处理 ............................................................................................................ 14
第四章 背景的提取 ........................................................................................................................ 16
4.1 帧差法处理图像 ................................................................................................................ 16
4.2 二值图像 ............................................................................................................................ 17
4.3 背景的提取 ........................................................................................................................ 20
第五章 结论 .................................................................................................................................... 23
参考文献 ............................................................................................................................................ 24
附录 .................................................................................................................................................... 26
致谢 .................................................................................................................................................... 40
基于帧间差分法的彩色视频背景提取的程序
第1章 绪论
在当下社会,交通安全是每个人关注的问题,而在智能交通系统中,提取车辆状况的运行信息,进行运动车辆的有效检测,是车辆的行为分析和进行识别的前提,在交通视频监控中利用检测得到的信息,是对目前路况的全面而准确地描述,然后根据统计算出的各路段的数据,如车流量、车型、车速、车流迷度、排队长度、占有率,还可以检测事故突发等。人们可以据此对交通运输进行整体规划,例如调整路口红绿灯开启时间等,从而减轻交通堵塞、改善交通环境、提高道路的利用率、降低交通事故频发率等。并且正确、实时地记录道路上车辆行驶情况,如违规超车、车辆相撞等等,对发生的交通事故能进行快速反应,从而可以极大地提高排障效率,使道路迅速畅通,并为处理交通事故提供了有利的证据。所以,车辆的实时、有效检测是智能交通系统的核心内容和关键技术。
提取车辆状况的运行信息,进行运动车辆的有效检测,是车辆的行为分析和进行识别的前提,在这样的研究背景下,本文的研究目的是在交通视频监控中利用检测得到的信息,对目前路况的全面而准确地描述,然后根据统计算出的各路段的数据,如车流量、车型、车速、车流密度、排队长度、占有率,还可以检测事故突发等。而实现视频检测的方法有很多种,但是,在多目标复杂场景中如何实现背景和前景的有效分割是个难题。背景图像的获取最简单的方法是在场景没有运动目标的情况下进行,但在实际应用中无法满足这种要求,所以需要在场景中存在运动目标的情况下获得背景图像。智能交通中的监视系统主要是对场景中的车辆进行检测、跟踪和行为分析,车辆检测基本上是以动态图像处理技术为基础的,即对车辆移动时得到的连续图像进行分析[1],由于是户外场景,下雨、下雪、刮风引起的树木摇动或者恶劣天气等会在画面上产生各种噪声,另外光照条件的不同也会导致图像发生变化,还有影子的影响,以及移动车辆的一部分被遮挡等因素,这些都使得目标的提取变得更加困难。针对目前公路交通视频监控系统研究方面存在的难题,本文在前人研究的基础上,以采集的视频图像序列为研究对象,对视频图像中的关键技术进行深入的研究,重点分析和讨论如何利用帧间差分在智能交通系统中,提取车辆状况的运行信息,进行运动车辆的有效检测,是车辆的行为分析和进行识别的前提,在交通视频监控中利用检测得到的信息,是对目前路况的全面而准确地描述,然后根据统计算出的各路段的数据,如车流量、车型、车速、车流密度、排队长度、占有率,还可以检测事故突发等。人们可以据此对交通运输进行整体规划,例如调整路口红绿灯开启时间等,从而减轻交通堵塞、改善交通环境、提高道路的利用率、降低交通事故频发率等。
基于帧间差分法的彩色视频背景提取的程序
本文的主要工作是利用帧间差分法对采集的一段彩色视频进行背景提取。其中帧间差分法就是将视频序列中的两帧图像相减,然后将图像平滑去噪,判断差分图像中每一个像素点的值,(当差分图像中一个像素点的值小于某已预先设定的阈值的时候,就是背景像素,当其他时则为前景)[2]。即根据像素值的变化来确定目标的位置。本文选择的是三帧差法。在本文中,主要做了以下工作:首先,提取彩色视频的每帧图像,然后对彩色视频灰度化处理,又由于在三帧差法的处理过程中涉及到连续两帧图像的相减,所以要对灰度化处理的图像进行数据转换,紧接着是灰度图像的二值化处理,最后是背景的提取。
本文在此基础上提出了一种基于帧间差分的自适应运动目标检测算法。算法利用直方图统计各像素点处最大概率灰度的方法提取出连续视频的背景图像;相邻帧利用帧差法得到运动区域图像;利用运动区域图像与背景图像差分的方法提取出运动目标。实验结果表明;该算法能在多个不确定性因素的序列视频中较好地提取背景图像,能及时响应实际场景变化。提高运动目标检测的质量。
本次内容安排如下:在第二章中,是基于帧间差分法的算法研究,主要讲了二帧差和三帧差法的基本原理;在第三章中,是图像的预处理,主要涉及了帧图像的提取、图像的灰度化、滤波处理、图像的数据转化等内容;在第四章中,主要是背景的提取,包括灰度图像的二值化、二帧差及三帧差和背景的提取。
其流程图如下图所示:
基于帧间差分法的彩色视频背景提取的程序
图1.1 流程图 图1.1是本文整个工作的流程图,里面包括了本人所有的工作。从图中可以看出,里面涵盖了数字图像处理中几乎所有的方法。
基于帧间差分法的彩色视频背景提取的程序
第二章 基于帧间差分法的背景提取算法研究
帧间差分法的基本原理是将视频序列中的两帧图像相减,然后将图像平滑去噪,判断差分图像中每一个像素点的值[3],(当差分图像中一个像素点的值小于某已预先设定的阈值的时候,就是背景像素,当其他时则为前景)。即根据像素值的变化来确定目标的位置。
2.1 简介
图像序列中的运动目标检测是一个重要且十分困难的研究领域,在实现运动视频理解主要关注于视频流中运动对象的识别和分析,滤除图像中与运动对象无关的信息。运动目标的正确检测将大大提高后续跟踪的准确性。
目前常用的运动目标检测方法主要有两种[4]:第一种是帧差分法,帧差分法是基于时间序列图像上的差分图像实现运动目标的检测。第二种是背景差分法,背景差分法是基于图像序列和背景参考模型相减实现运动目标的检测。
帧差分法是利用视频序列中连续的帧图像的差异进行目标检测和提取,是最为常用方法之一,其思想是利用视频图像序列相邻帧中像素的变化进行目标检测,主要通过像素时间差分以及阈值二值化提取运动目标。帧差分法中的阈值处理相当关键,因为过低的阈值不能有效的抑制图像中的噪声,过高的阈值将抑制图像中有用的变化。运动变化域值的选择通常取决于场景光照和摄像机等外界具体环境条件。阈值选择可以分为全局阐值和局部阈值,通常在图像中不同光照区域引起的噪声也不相同,因此采用局部阈值能更好的抑制噪声。 帧间差分法是一种通过对视频图像序列中相邻两帧作差分运算来获得运动目标轮廓的方法,它可以很好地适用于存在多个运动目标和摄像机移动的情况。当监控场景中出现异常物体运动时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像亮度羞的绝对值,判断它是否大于阈值来分析视频或图像序列的运动特性,确定图像序列中有无物体运动。图像序列逐帧的差分,相当于对图像序列进行了时域卜的高通滤波。
2.2 二帧差法
通过帧差分法检测到的运动目标仍然存在噪点及漏洞等缺陷。所以需要将其进行相应的形态学处理,使其更准确。帧差分法又分为:相邻二帧差分法和三帧差分法,一个基本的相邻二帧差法的运算过程如图2.1所示[5]
基于帧间差分法的彩色视频背景提取的程序
相邻二帧差分法检测出来的运动目标并不是很准确,这主要是由于受目标的运动而产生的背景影响,为减小运动背景带来的影响,所以现在一般使用相邻三帧差分法来提取运动目标。
2.3 三帧差法
随着数字电视和视频监控技术的不断发展,对图像[6]运动目标的有效检测、提取已成为关键技术,是进行目标跟踪、识别等后续处理的基础。处理速度和可靠性是运动目标检测需要解决的两个基本问题,也是衡量有关算法优劣的两项重要指标。现有的运动目标检测方法主要分为3类,包括帧间差分法、背景减除法以及光流分割法,三者各有优缺点[7]:
(1)帧间差分法利用基于时间序列图像中相邻的两帧或三帧图像相减,得到差分图像,然后通过阈值选取得到运动目标的信息,这种方法计算简单,容易实现,但是一般难以获得运动目标的完整轮廓,易在目标内部产生“双影”及“空洞”现象,导致检测到的目标信息不准确。
(2)背景减除法的基本思想是首先构建一个背景,然后用当前帧图像和背景相减,根据差分图像检测运动目标。这种方法简单,易于实现,能够较好地提取出目标的特征数据,但对于外界环境的变化非常敏感,适用于背景已知的情况。如何找到高效实用的背景模型并对其进行更新是这种方法的研究重点。
(3)光流分割法利用运动目标随时间变化的矢量特征在图像序列中检测运动区域。在摄像机存在运动的情况下其性能较好,但算法复杂,运算量较大,需要专门的硬件支持,难于满足视频流实时处理的要求。
mt(i,j) ft 1(i,j) ft(i,j) ft(i,j) ft 1(i,j) (2.1)
255,ifmt(i,j) TMt(i,j) (2.2) o,其他
基于帧间差分法的彩色视频背景提取的程序
其中ft 1(i,j)为三帧差分法图像第一帧,ft(i,j)为第二帧,ft 1(i,j)为第三帧,mt(i,j)为三帧变化部分图像,经过选取适当的阈值T,就能区分前景与背景,分离出运动目标,即为中间帧运动目标二值化值。
像素差分法得到中间帧的运动目标。这样可以减小由于目标运动而产生的背景影响,得出更准确的运动目标。从图中可以看出由于减小了目标运动带来的背景影响,三帧差分法比相邻二帧差分法检测到的运动目标更加准确,更符合实际的目标。
图2.2 三帧差分法流程图
图2.2为三帧差分法提取运动目标的流程图。其主要是利用连续三帧图像的像素差分法得到中间帧的运动目标。这样可以减小由于目标运动而产生的背景影响,得出更准确的运动目标。
帧间差分法是传统运动同标检测方法中最直接、最简单的一种方法。首先,它将选定的背景图像储存起来,然后将序列图像当前帧与背景图像做减法运算。由于运动物体和背景在灰度或色彩上存在差别,相减后所得结果中每像基于背景差分法和帧间差分法的视频活动检测素的值和一个预先设定的阈值相比较,如果这个像素的值大于设定的阈值,则判定被监控的场景中存在运动物体,从而得到运动的同标。背景图像差分法其原理和算法设计简单;可以根据实际情况确定阈值进行处理,所得结果直接反映了运动目标的位置、大小、形状等信息,能够得到比较精确的运动目标信息。但同时也存在受光线、天气等外界条件变化的影响较大;用背景图像差分法去处理目标由静止开始运动的情况,可能出现“鬼影”现象等缺点。在运用背景图像差分法时,应该重点考剧l、如何获得背景图像。背景图像中要求不应该包含运动目标,但是在某些情况下却很难满足这一要求,这就要求用已有图像(其中包含运 目标)去构造一个不包含运动目标的背景图像。2、如何处理动态背景和视频噪声。运用背景图像差分法,理想的情况就是背景完全不发生变化且没有噪声污染,可是实际中很少能达到这样的理想情况。其主要原因是,视频图像在获取的过程中都会掺入视频噪卢;在户外的情况,背景经常会受到光线和风等自然因素影响而发生变化。根据噪声的米源,可以采用不同
基于帧间差分法的彩色视频背景提取的程序
的滤波器消除噪声,同时采用自适应动态背景更新的方法来减小动态背景对检测结果的影响。
3、如何选取阈值。阈值的选取直接决定了检测结果的好坏,只有恰当的阈值才能正确地分割出运动目标所占的区域。现在普遍采用根据经验来选取阈值的方法。
在图像处理过程中,帧间差分是通过计算相邻两帧图像之间的差值来获得运动区域的,通过差值图像能快速的检测出相邻图像中运动目标所引起的运动范围,但是它提取的运动目标比实际的要大,往往出现“双影”现象,如图2所示;另外,由于检测出来的物体是前后两帧相对变化的部分,无法检测到重叠部分,导致检测到的目标发生“空洞”现象。而三帧差分法是在帧间差分的基础上进行改进,将相邻的三帧图像作为一组进行再差分,能较好的检测出中间帧运动目标的形状轮廓。
基于帧间差分法的彩色视频背景提取的程序
第三章 图像的预处理
对拍摄的图像,还要进行对原始图像的各种处理,先对图像进行灰度处理,处理之后,再进行滤波处理,增加图像的清晰度。这是图像处理时必须的一步。
将视频的数据读取之后,接下来是要提取视频的每一帧图像,只有将帧图像提取出来后,才能在众多的帧图像中选取连续的三帧图像,然后用帧间差分法提取背景图像了。
图像预处理在整个图像处理过程中的位置及重要性,进行图像处理首先就要进行预处理。一般情况下,人们对获得的图像(原始图像)进行预处理无非是从两个方面:图像增强和图像复原。如果人们在图像处理过程中并不考虑图像的降质等相关原因,只是单独的将人们感兴趣的图像特征有选择的突出出来,并衰减其他不需要或者次要的特征,这类图像预处理方法所得到的图像并不需要和原来的图像接近,只是让人们更容易观察到自己感兴趣的地方,所以称这类预处理方法为图像增强技术。而图像复原技术需要知道图像的降质缘由,根据图像降质的现眼知识,恢复并重构原来的图像。所以图像增强和图像复原的目的是不一样的,图像增强的目的是为了改善图像视觉效果,便于观察和分析人们所感兴趣的东西,而把那些不重要的地方给清除出去,不仅如此,图像增强还便于人工或者机器对图像的进一步处理。而图像复原不仅仅是对图像进行预处理还要恢复至原来的面貌,它需要建立模型依此为依据进行复原。
两幅图像的加减运算:对图像进行加减运算,就是将图像对应的存储矩形点列上的灰度值进行加减运算。图像相加可以将一幅图像的内容加到另一幅图像上,可以实现二次曝光,也可以对同一个场景的多幅图像求平均值,这样可以降低噪声。图像相减可以用于运动检测或去除图像中不需要的加性图案。
3.1 帧图像的提取
视频是由一幅幅图像组成的,而图像是由一帧一帧的像素组成的。
程序的运行结果中,得出本视频总共有120帧图像,由此可得知图像每帧图像的信息,然后任取连续的三帧图像做差处理。本文取第42、43及44帧图像作为帧差法的处理对象。 一幅图像由若干个像素点组成。每个像素点的明暗程度/亮度信息都可以用灰度级(0~255)来表示。不同的明暗程度的若干个像素点就组成了一幅完整的图像。一张320*240的灰度图像,表示该图像有320行,每行有240个像素点。
基于帧间差分法的彩色视频背景提取的程序
正如上面所说,视频是由一帧一帧的图像所组成,而图像是由若干个像素点组成。这次本文就是要提取三帧图像,所以帧图像的提取是最重要的一步,利用程序提取图像,下面是从
120
帧图像中选取的三帧图像的显示,这三帧图像分别是第
42帧、第43帧以及第44帧,它们都是由若干个像素点组成的图像。
以下是这连续的三帧图像。
图3.1 帧图像
图3.1中左图为提取的第42帧图像,从图像的整体效果看,程序运行的结果图像比较清晰可见,图像背景是高速公路,背景包括公路及公路两旁的植被,从图中可以看出斑马线清晰可辨,由于视频图像不可避免的干扰,所以上图不可避免的出现一些瑕疵。中间图为第43帧图像,从图中可以看出,移动物体的位置移动,图中白色的车的车窗移动到了边框这儿,而第42帧是白色的图像的车边移动到边框这儿。黑色的车子也移动了大半截。至于图像的清晰度,这幅图比第一幅图像清晰,后面的背景清晰可见,干扰不大。右图是第44帧图像,从图中可以看出,白色的车较前一副图中位置又发生了变化,可以看到,车前身的窗户都不见了,只留下车后身。同样的黑色的车子距离也发生了变化,只不过离镜头比较远,观察不明显。再看看此图的清晰度,此图和以上两幅图一样,都比较清晰。
3.2 图像的灰度化处理
图像的灰度化处理是本文必须的一步,也是第一步,只有先对图像灰度化处理后,才能接着进行其它的步骤,下面将对灰度化的基本原理和灰度化的方法进行简单的介绍,最后将本文的灰度化图像做简要的分析。
g(x,y) T f(x,y) (3.1) 其中函数T是灰度变换函数,它定义了输入图像灰度和输出图像灰度之间的变换条件。所以如果灰度函数确定了,那么灰度变换就被完全确定。灰度变换的方法有很多种,比如图像灰度求反、灰度拉伸、灰度切分、灰度动态范围调整及灰度级修正等等。以上几种方法对
基于帧间差分法的彩色视频背景提取的程序
图像的处理效果各不相同,但是它们处理过程中都必须用到点运算。点运算通常可以分为线性变换、分段线性变换以及非线性变换这三大类。
matlab将灰度图像存储为一个数据矩阵[8],该数据矩阵中的元素分别代表了各种图像中的像素,其值为各颜色的灰度值。矩阵中的元素可以是双精度的浮点数类型、8位或16位的无符号的整数类型。
大多数情况下,灰度图像很少和颜色映射表放在一起保存。但是在显示灰度图像的时候,matlab还是在后台使用系统预定义的默认的灰度颜色映射表。
将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255种值可取,这样一个像素点可以有16多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。
色可分为黑白色和彩色。黑白色指颜色中不包含任何的色彩成分,仅由黑色和白色组成。在RGB颜色模型中,如果R=G=B,则颜色(R,G,B)表示一种黑白颜色;其中R=G=B的值叫做灰度值,所以黑白色又叫做灰度颜色。彩色和灰度之间可以互相转化,由彩色转化为灰度的过程叫做灰度化处理;由灰度化转为彩色的过程称为伪彩色处理。
相应的,数字图像可分为灰度图像和彩色图像。通过灰度化处理和伪彩色处理,可以使伪彩色图像与灰度图像相互转化。
灰度化就是使彩色的R,G,B分量值相等的过程。由于R,G,B的取值范围是0-255,所以灰度的级别只有256级,即灰度图像仅能表现256种颜色(灰度)。 灰度化的处理方法主要有如下3种[9]:
(1)最大值法:使R,G,B的值等于3值中最大的一个,即
R G B max(R,G,B) (3.2)
最大值法会形成亮度很高的灰度图像。
(2)平均值法:使R,G,B的值求出平均值,即
R G B (R G B)3 (3.3)
平均值法会形成比较柔和的灰度图像。
基于帧间差分法的彩色视频背景提取的程序
(3)加权平均值法:根据重要性或其他指标给R,G,B赋予不同的权值,并使R,G,B的值加权平均,即
R G B (WrR WgG WbB)3 (3.4) 其中Wr,Wg,Wb分别为R,G,B的权值。Wr,Wg,Wb取不同的值,加权平均值法就形成不同的灰度图像。由于人眼对绿色的敏感度最高,红色次之,对蓝色最低,因此使WWg Wr Wb将得到比较合理的灰度图像。实验和理论推导证明,但Wr 0.30,Wg 0.59,Wb 0.11时,即当Vgray 0.30R 0.59G 0.11B。
R G B Vgra y (3.5) 时,能得到最合理的灰度图像。
第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。
第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y 0.3R 0.59G 0.11B,以这个亮度值表达图像的灰度值。
显示灰度图像时,先将彩色图像读取,此次本文处理的是一段视频。所以在处理时,先在matlab
环境下读取视频,然后将视频中的每帧图像提取出来,对图像进行灰度化处理。在
处理的过程中,要注意在读取视频时使用好函数,将图像保存成
matlab能够处理的图像。下一步就是读取其中连续三帧的图像,对他们做滤波处理。所以灰度化处理是很重要的一步,因为滤波处理、灰度化处理等都是处理的是二维数据,而视频是三维的,空间的,所以没有灰度化,无法进行下面的工作。
本文采用方法(3)实现灰度转化,有比较好的效果,结果如图所示:
图3.2 灰度图
图3.2中左图是对第42帧原图像的灰度化结果,从图中可以看出图形是由黑色和白色组