混合高斯模型的基本原理,以及通过混合高斯模型进行背景建模的基本思想

混合高斯模型的基本原理,以及通过混合高斯模型进行背景建模的基本思想

混合高斯模型的基本原理

虽然是背景,但是灰度并不是一直保持不变的,灰度是在一个范围内变化的。一个背景像素随着时间变化呈现一定的随机性,但是一段时间内,如果做一个统计的话,其分布在某一个均值,一个方差范围内,绝大多数像素应该落在3σ范围内。图像中每一个像素灰度值随着时间变化的规律符合高斯分布。在实际中,我们发现灰度值的变化往往不能用一个高斯模型刻画,哪能不能用多个高斯模型去刻画呢?这是可以的,任何一种分布函数都可以看作是多个高斯分布的线性加权组合。
在这里插入图片描述
如何检测当前图像中某像素属于前景?
I(x,y,t)-μ>3σ
*I(x,y,t)*当前帧像素值,若满足条件则为前景,反之为背景,
在这里插入图片描述

那么,为什么GMM的各个高斯分量的系数之和必须为1呢?

其实答案很简单,我们所谓的GMM的定义本质上是一个概率密度函数。而概率密度函数在其作用域内的积分之和必然为1。GMM整体的概率密度函数是由若干个高斯分量的概率密度函数线性叠加而成的,而每一个高斯分量的概率密度函数的积分必然也是1,所以,要想GMM整体的概率密度积分为1,就必须对每一个高斯分量赋予一个其值不大于1的权重,并且权重之和为1。

像素灰度的概率密度函数:

在这里插入图片描述
p是概率,多个高斯分量的加权组合
I是亮度/灰度值
w是权值
N代表的是对应的高斯分布
下标q代表的是第q个高斯分布
高斯分布函数
μ:均值
σ:方差
概率密度函数可以表达为条件概率的形式:
在这里插入图片描述
P(wq)表示的是第q个高斯分布,对应的权值;
条件概率:表示的是当前的高斯分布里,它对应的是多少
理解:当前像素值落在混合高斯模型里的概率,然后用全概率公式展开,计算当前像素值在每一个高斯分量上的概率然后累加起来
任务:在线计算wq, μq, σq
当三个值计算出来,我们就可以判断当前的像素值是不是落在混合高斯模型了里,从而判断当前的像素是背景还是运动的物体。

建模步骤

混合高斯背景建模步骤:

  1. 模型初始化,将采到的第一帧图像的每个像素的灰度值作为均值,再赋以较大的方差(比如10),初值Q=1,w=1;假如图像为30*30,则需要建立900个混合高斯模型
  2. 模型学习 将当前帧的对应点像素的灰度值与已有的Q个高斯模型作比较,若满足|xk-u(q,k) |<2.5σ(q,k),则按下面迭代计算方式调整第q个高斯模型的参数和权重;否则转入(3)
  3. 增加/替换高斯分量,若不满足条件,且q<Q,则增加一个新分量;若q=Q,则替换(假设满足q=Q,需要把权值最小的那一个删掉,重新加一个)
  4. 判断背景
    在这里插入图片描述

这个公式什么意思呢?比如有5个高斯分量,权重分别为0.4, 0.3,0.18 ,0.06, 0.06,排序,T取0.6~0.9之间的数,这里T取0.6,所以权值为0.4和0.3对应的是背景,后面三个是由于噪声或是其他干扰因素造成的。如果说当前像素是落在权值为0.4和0.3高斯分布,则为背景

  1. 判断前景

注释:Q是高斯模型所有分量的个数;w是权值

混合高斯模型迭代计算原理

迭代计算:
在这里插入图片描述
α和ρ对应的是学习速率
α越大,表示学习当前的东西越快,对以前的东西遗忘的越快,
理解:当下一帧的图像过来,对应的像素值去跟已有的所有高斯分量去比较,仅当像素值匹配第q类时二值化函数的值为1,反之为0,所有高斯分量的权值同时更新,其他两个参数同理

发布了42 篇原创文章 · 获赞 10 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览