当前位置:文档之家› 混合高斯背景建模与更新

混合高斯背景建模与更新

计算机学院专业实习报告专业名称计算机科学与技术实习题目基于多摄像机协同的运动对象分割与三维重建系统之背景建模与运动前景分割姓名李林班级10010804 学号2008302499实习时间指导教师杨涛Northwestern Polytechnical University2010年7月14日目录摘要 (1)第一章基本原理 (2)1.1高斯模型原理 (2)1.2 混合高斯背景建模与更新 (3)1.2.1 背景训练 (4)1.2.2 模板匹配 (4)1.2.3背景更新 (5)第二章运动物体提取 (6)2.1目标提取概述 (6)2.2 提取过程 (6)2.2.1 参数设置 (6)2.2.2 模型建立 (7)2.2.3 背景学习 (7)2.2.4 模板匹配与背景更新 (9)第3章其他增强效果算法 (10)3.1阴影的检测和去除 (10)3.1.1 阴影简介 (10)3.1.2 阴影检测法 (11)3.1.2 阴影去除 (13)3.2形态学滤波 (14)3.2.1 图像腐蚀与膨胀 (15)3.2.2 开运算和闭运算 (16)第四章最终成品 (18)4.1 成品说明 (18)4.1.1性能说明 (18)4.1.2成品样式 (19)4.1.3使用说明 (19)第五章实习心得 (19)摘要背景建模与运动前景分割是指从视频或者连续的图像序列中将运动的区域分割出来,本次实行所需的运动物体提取只是用来为后面的形成3维图形提供图像数据,日常生活中视频监控系统已广泛应用于各大公共场所,如公司,机场,酒店等都备有监控系统。

但对于大多数监控系统来说,都需要监控者保持对监控录像的观测。

如何实现视频监控系统的自动监控,是近年来比较关注的问题。

自动视频监控技术其主要内容之一就是能监视某一特定场景中的新目标的出现,首先检测视频序列图像中是否有变化,如图像变化,说明有新目标出现,则把这个目标从视频图像序列中分割提取出来,为下一步的目标识别和跟踪提取数据提供基础。

因此,一个视频监控系统的好坏,运动目标能否良好的提取是非常关键的。

目前运动目标的提取已经取得很多成果,并且不断有新技术、新方法出现。

但是,在实际应用中,由于自然环境复杂,目标机动性高,使得提取与跟踪时干扰因素多,提取不准确且匹配效率不高。

要提高跟踪的精度需要对复杂环境下的目标提取和跟踪进行研究,但到目前为止,仍没有一种普遍适用、比较完善的方法,因此对这两方面作进一步研究仍有很大空间。

针对本次实习的特殊场景,经分析决定采用混合高斯模型对运动图像进行提取,弥补单高斯模型不能适应背景微变化的这一缺陷,例如光照明暗、阴影等变化。

利用混合高斯模型对输入的视频进行学习,之后再对运动物体进行前景提取,形成二值图像,运动物体置为白色,背景值为黑色,由于在提取过程中会存在这一些噪声点,所以最后运用腐蚀与膨胀运算对图像进行去噪处理。

最终设计完形成的图像预计效果为能基本提取出运动物体,可能遇到较为复杂的背景会存在一定的噪声。

目前,从现有的测试数据来看程序能基本提取出运动物体,基本达到了预定的效果,在设计之中起初运用了帧间差分法,测试数据背景较为简单时能基本提取前景,但换成了光照发生变化的背景后运动物体的提取有明显难以改善的噪声,之后考虑更改算法,现有的算法中,光流法效果较为明显,但其算法较为复杂,不适合本次实习的开发,其次较为合适的还有单高斯模型,但其由于在变化的场景中表现不是很好,所以最终确定为采用混合高斯模型,GMM(Gaussian Mixture Model),高斯混合模型,是由Chris Stauffer 等人提出将其作为背景的统计模型,为同一场景中不同状态建立不同的高斯模型。

该算法较其它的算法(如光流法,帧差法等)有良好的自适应性。

本文采用了简化的GMM 对视频图像序列进行建模,并实现了对视频中的运动前景进行提取的效果。

本次实习的难点在于对于混合高斯模型算法的理解以及其参数的调试,不过经过两周的实习已对其有了一定的了解,总了来说较为圆满的完成了实习的任务。

第一章基本原理1.1高斯模型原理高斯分布,也称为正态分布。

是伟大的数学家高斯(Gauss)与1809 年在研究误差理论时推导出来的。

对于随机变量x,其概率密度为(1)其中μ 为高斯分布的期望,σ 为高斯分布的方差。

如果一组数据符合高斯分布,那么这种数据中的大多数会集中在以μ 为中心的-2σ 到2σ 范围内的这段区间里。

其函数分布曲线如图1 所示。

图1 高斯分布示意图在日常生活中,很多事件都是符合高斯分布的。

对于某一场景中的视频图像,如果其背景相对静止,没有扰动因素,那么背景中的每个像素点在一段时间序列中的排列就可以用一个高斯分布来描述。

但是在实际中,尤其是对于室外的场景,由于各种噪声的干扰,其背景变化是比较大的,会出现树枝摇动,光线变化等不同情况。

因此用一个高斯分布就不能来完全描述实际的背景情况。

这种情况下就需要采用多个高斯模型来描述动态的背景,为不同的状态建立不同的高斯模型。

将k 定义为建立的高斯模型的数目,那么当前观测点的像素值的概率密度为:(2)其中, i t w, 是每个单高斯模型的权值, i,t−1,k μ为第i个单高斯模型的均值, i,t −1,k σ为第i个单高斯模型的方差。

1.2 混合高斯背景建模与更新在采集的视频图像中是包含彩色分量的,一些应用中则使用了协方差的方法来进行计算,这种方法计算量大但效果提升不高,不适合实时性的要求。

因此,本算法中直接简化了这一过程,将彩色图像转为灰度图的方法来进行高斯混合建模。

根据场景的复杂程度,高斯模型的数量k 可以取值为3~7 个,k 值越大,其能表征的场景就越复杂,但相应的计算量也增大。

因此本算法中取k 值为3。

采用GMM 进行背景建模主要包含3 个步骤:背景训练,模板匹配及背景更新的过程。

1.2.1 背景训练首先对一段帧数的视频进行训练,通过训练帧中所得到模型计算出均值,方差和权重等各参数来从作为背景模型的参数。

在训练过程中,不必对每个高斯模型都进行确定,如果对于某一像素点来说,在训练时间内其灰度值变化不大,即其一个到两个高斯模型内就已经能包含图像中90%以上的像素值,那么可直接将有较大的方差和较小的权值的参数赋予其他模型。

本算法中将方差设为11,权值初始设置设为1。

通过对背景的训练,可以消除背景中的扰动因素,以避免将运动物体视为背景模型,训练帧数越长,所得到的背景模型越精确,但一般训练时间不超过50 帧,否则会影响整系统的启动时间。

1.2.2 模板匹配得到了背景模型后,通过模板匹配来进行前景分割。

在进行模板匹配前,首先要对混合高斯模型中的三个单高斯模型进行降序排序,判断那个高斯模型最有可能与背景图像进行匹配。

由于静态区域的点会比动态区域点的方差小,且运动物体出现会导致模型更新后该单高斯模型的权值降低,因此权值越大,方差越小,匹配度越高。

通过公式:dist<fTb*var (3)对混合模型中的各单个高斯模型进行优先级高低的排序后在进行匹配,其中dist 为马氏距离、fTb表示一阀值,var为模板中的方差。

如果当前帧的像素值与所有的高斯分布模型都不匹配,则可以判断该点为前景点,但找到匹配的高斯模型后,还不能就将其判断为背景点。

因为背景模型中还是可能包含一定的噪声和干扰因素,并不是所有的高斯模型能完全代表背景。

但由于噪声等干扰因素不会在图像中长时间停留在某一位置,其相对应的权值就应该很小。

在对高斯模型排序的过程中,需设定一个权值阀值T。

如果排序后所得到的第一个高斯模型的权值大于该阀值,则 B 为1,否则,按顺序累加各高斯模型的权值,只到其权值大于该阀值,并将该高斯模型序号赋给B。

其中 B 的定义如下:(4)T为为一阀值,这里设为0.9。

在上面进行匹配成功的模型中,如果该匹配模型号小于B 值为背景,否则为前景。

1.2.3背景更新由于场景中环境的不断变化,通过训练建立好的背景模型不可能适应新的背景的需要,因此,需要对背景进行实时更新,以保证前景提取的正确性。

在背景模型更新过程中,引入了学习率alpha 这一概率。

当学习率取值比较小,其适应环境变化的能力就低,需要给足够的时间才能更新背景模型。

相反,当alpha 取值较大时,其对场景的适应性较强,能很快的变化背景模型,但是对于一段时间内停留的场景中的目标,却很容易学入背景中去。

针对这种情况,算法对学习率进行调整,在图像中的不同处设定不同的学习速率,以保证场景变化的需要。

学习率的变化范围应该在0~1 之间。

对k 个高斯模型进行更新,也就是对混合高斯模型中的三个参数,即权值,均值和方差进行调整。

其权值的更新算法如下:weight=(1-alpha)*weight+alpha*fCT+alpha*MfCT为一参数,M 为匹配度,对于匹配上的模型取值为1,否则取值为0。

可见当像素点与高斯模型不匹配时,其权值会降低。

对于匹配上的i 个高斯模型,需对均值和方差进行更新。

更新算法如下:未匹配的模型,其均值和方差都保持不变。

如果对于当前点的像素值,其与所有的高斯分布模型都不匹配,则新建立一个高斯分布将混合高斯模型中排序最后一个的高斯模型替换掉,同样该分布应选取较大的方差和较小的权值,而其均值则设为当前像素点的值。

第二章运动物体提取2.1目标提取概述目标提取方法分为两种:一种是静态背景下的目标提取,另一种动态背景下的目标提取。

前一种情况通常发生在摄像头相对静止状态,后一种情况是摄像头发生相对运动的状态。

这里只讨论静态背景下的目标提取技术。

目前,运动提取算法主要有图像帧间差分法、光流法、背景减除法等。

尽管在针对不同的场景采用的算法可能存在差别,但其基本过程都如下图:2.2 提取过程2.2.1 参数设置在程序中有关混合高斯模型的参数有以下需要设置:图像的宽度:Width图像的高度:Height每个像素点最大高斯数目:nM每个新高斯模型的初始方差:Sigma高斯模型更新的学习率:Alpha公式(4)中的阀值:fCT用来更新和生成新高斯模型的阀值:fTg2.2.2 模型建立图像为24位色,其中的每个像素点都是由RGB颜色控件表示,所以每个高斯模型设置如下的数据存储结构:其中sigma表示为方差,muR、muG、muB分别表示RGB三色值的均值,weight表示每个模型在混合模型中权数。

在建立模型时首先获得图像的尺寸,为数据申请内存,之后先为每个像素点创建一个高斯模型,期中sigma的赋值为以初始化值,这里设置为11,muR、muG、muB均为第一张图像中每像素点的RGB值,由于每个像素点均只建立了一个模型,所以每个模型的weight都设为1.2.2.3 背景学习学习过程即为每个像素点更新高斯模型或者建立新的高斯模型,确定其参数,学习的好坏直接影响到后面运动物体提取的好坏,一般设置学习帧数不超于50帧,否则影响到程序启动的速度,在本次实习中,设置学习帧数为9帧,学习函数如下:void GMMForeground::Train(IplImage* Frame)输入一帧图像,以更新模型数据。

相关主题