混合高斯背景建模理解(原创)

目前,基于二值化图像提取运动目标仍具有广泛的应用。但是,在提取运动目标之前必须进行背景建模。

背景建模的方法很多,如平均法,最大值最小值统计法,单高斯建模法,加权平均法等,而混合高斯背景建模应该来说是比较成功的一种。

为什么这么说呢? 机器视觉算法提取运动目标面临的基本问题:图像抖动,噪声干扰,光线变化,云飘动,阴影(包括目标阴影和区域外物体阴影),区域内部反光(如水面,显示器),运动目标缓慢移动等。那我们来看看,混合高斯背景建模是怎么解决这些问题的?从混合高斯模型的原理一看便知。

混合高斯模型的原理

  图像中每个像素点的值(或特征)短时间内都是围绕与某一中心值一定距离内分布,通常,中心值可以用均值来代替,距离呢可以用方差来代替。这种分布呢是有规律的,根据统计定律,如果数据点足够多的话,是可以说这些点呈正态分布,也称为高斯分布(取名高斯,大概是因为很多地方都用这个名字吧)。根据这个特点,如果像素点的值偏离中心值较远,那么,这个像素值属于前景,如果像素点的值偏离中心值很近(在一定方差范围内),那么可以说这个点属于背景。理论上,如果不存在任何干扰的话,是可以准确区分前景和背景的。但是,现实往往不尽如人意,如果画面中光线变化的话,这个高斯分布的中心位置是会改变的。如果光线强度改变的话,在原来那个位置并没有无数个点供统计,因此,不符合大数定理,也就不能说那个点的分布满足正态分布了,只能说是近似为高斯分布。

  混合高斯模型指这个像素点值存在多个中心位置,如来回摆动的树叶,波光粼粼的水面,闪烁的显示器,图像中特征边缘位置的抖动等,这些都会引起某个像素点会在多个中心位置聚集大量的点,每个位置便会产生一个高斯分布,四个以上的高斯分布其实并不常见,这便是混合高斯模型的由来。混合高斯背景建模主要用来解决背景像素点具有多峰特性的场合,如在智能交通场景中,解决视频画面抖动带来的干扰。

  针对光线变化的问题,混合高斯模型通过比较当前像素点的值与高斯分布中心位置,选择一定的加权系数对当前高斯分布的中心位置进行更新,以便于适应缓慢的光线变化。言外之意,高斯分布并不能解决光线的突变问题,如云飘动,阴影。个人认为,阴影或云飘动并不属于背景建模的内容。

  此外,混合高斯模型尤其适合于检测缓慢移动的物体,因为背景已是一个高斯分布,如果车停下来,等到聚集一定的前景数据便会形成一个新的高斯分布,停下来的车也会便是背景。但是如果车缓慢行驶的话,是很难在短时间内形成一个新的高斯分布,也就是应用混合高斯分布很容易检测缓慢行驶的车辆

混合高斯背景建模的优点

  图像画面中,其实每个像素(也可以说是局部单元),其运动变化特性是不一样的,这才是混合高斯模型具有优势的主要原因。普通的二值化目标分割,整个画面采用同一阈值,无论这个阈值是固定的,还是自适应的,都存在本质性的缺陷,属于有缺陷的分割,这种算法带有不稳定性,无论怎么调整分割参数,也解决不了根本性的问题。因为,画面中每个部分,其实分割阈值是不一样的。一定得建立统计学的方法,进行局部分割,而混合高斯模型正是采用局部分割的一种算法。

混合高斯背景建模方法评价

  从理论上来说,混合高斯背景建模真是一种较为完美的背景分割方法。但是由于像素值在光线干扰下在中心位置停留时间较短,围绕这一中心位置波动的数据准确地来说并不属于高斯分布,因此也就无法准确地确定这些数据的中心值及方差,造成实际分割的效果并不完美。

  以上阐述属于个人看法,仅作参考,希望今后能对分割问题理解更深刻,欢迎与大家交流,共同学习!

原文地址:https://www.cnblogs.com/wangjunqun/p/3337840.html