高斯混合模型

高斯混合模型
高斯混合模型

高斯混合模型(Gaussian Mixture Model, GMM)

(2011-12-30 23:50:01)

标签:

分类:工作篇

校园

高斯混合模型

高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。对图像背景建立高斯模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以以为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相比比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈现双峰-谷形状,其中一个峰对应于目标,另一个峰对应于背景的中心灰度。对于复杂的图像,尤其是医学图像,一般是多峰的。通过将直方图的多峰特性看作是多个高斯分布的叠加,可以解决图像的分割问题。在智能监控系统中,对于运动目标的检测是中心内容,而在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而建模正是背景目标提取的一个重要环节。

我们首先要提起背景和前景的概念,前景是指在假设背景为静止的情况下,任何有意义的运动物体即为前景。建模的基本思想是从当前帧中提取前景,其目的是使背景更接近当前视频帧的背景。即利用当前帧和视频序列中的当前背景帧进行加权平均来更新背景,但是由于光照突变以及其他外界环境的影响,一般的建模后的背景并非十分干净清晰,而高斯混合模型

(GMM)是建模最为成功的方法之一。

英文翻译及缩写:Gaussian mixture model (GMM)

混合高斯模型使用K(基本为3到5个)个高斯模型来表征图像中各个像素点的特征,在新一帧图像获得后更新混合高斯模型,用当前图像中的每个像素点与混合高斯模型匹配,如果成功则判定该点为背景点, 否则为前景点。通观整个高斯模型,他主要是有方差和均值两个参数决定,,对均值和方差的学习,采取不同的学习机制,将直接影响到模型的稳定性、精确性和收敛性。由于我们是对运动目标的背景提取建模,因此需要对高斯模型中方差和均值两个参数实时更新。为提高模型的学习能力,改进方法对均值和方差的更新采用不同的学习率;为提高在繁忙的场景下,大而慢的运动目标的检测效果,引入权值均值的概念,建立背景图像并实时更新,然后结合权值、权值均值和背景图像对像素点进行前景和背景的分类。具体更新公式如下:

μt= (1 - ρ)μt- 1 +ρxt (1)

?2t = (1 - ρ)?2t- 1 +ρ( xt -μt ) T ( xt -μt ) (2)

ρ =αη( xt | μκ,?κ ) (3)

| xt -μt - 1 | ≤ 2. 5?t- 1 (4)

w k , t = (1 - α) w k , t - 1 +αMk , t (5)

式中ρ为学习率,即反映当前图像融入背景的速率。

建模过程中,我们需要对混合高斯模型中的方差、均值、权值等一些参数初始化,并通过这些参数求出建模所需的数据,如马兹距离。在初始化过程中,一般我们将方差设置的尽量大些(如15),而权值则尽量小些(如0.001)。这样设置是由于初始化的高斯模型是一个并不准确,可能的模型,我们需要不停的缩小他的范围,更新他的参数值,从而得到最可能的高斯模型,将方差设置大些,就是为了将尽可能多的像素包含到一个模型里面,从而获得最有可能的模型。部分代码如下:

for(i=0; imean[j]; // calculate the squared distance, d = |v|^2 model[i]->dist2 = v[0]*v[0] + v[1]*v[1] + v[2]*v[2]; // zot: this is only equal to mahalanobis distance // when covariance matrix = vI // (v = scalar variance for all channels) model[i]->mah2 = model[i]->dist2 /

model[i]->var; //即为马兹距离 // see if X is close enough to this model if (model[i]->mah2 < SFSquared) break; // the current pixel matches one of the K models //SFSquared是预定义的值 } 同时这时又产生了一个疑问,那么如何得知我们的模型是否超过预定义的模型数了呢?这便是我们设置权值的其中一个原因了。根据大量的试验,我们得出当前面几个模型数的权值之和在T值(一般设为0.75)之内时,效果最好,因此当我们将前面的模型权值相加,当超过0.75时便舍去后面的模型。当然其中还有一个重要的问题,我们是如何得知前面的模型是相对来说最有可能的模型,而非被舍去的模型呢?在这里我们首先要对各个模型的权值进行排序,按照权值与方差的比率的从大到小,对模型进行排序。由于一开始建立的模型肯定是不可靠的,在最后基本会被舍弃,因此我们在初始化的时候将初始模型的方差尽量大,而权值尽量小,从而使最不可能的模型排在比较后面。到这里为止,混合高斯模型的建模基本完成,我在归纳一下其中的流程,首先初始化预先定义的几个高斯模型,对高斯模型中的参数进行初始化,并求出之后将要用到的参数。其次,对于每一帧中的每一个像素进行处理,看其是否匹配某个模型,若匹配,则将其归入该模型中,并对该模型根据新的像素值进行更新,若不匹配,则以该像素建立一个高斯模型,初始化参数,代理原有模型中最不可能的模型。最后选择前面几个最有可能的模型作为背景模型,为背景目标提取做铺垫。

高斯混合模型(Gaussian Mixture Model, GMM)是语音信号处理中的一种常用的统计模型,该模型的一个基本理论前提是只要高斯混合的数目足够多,一个任意的分布就可以在任意的精度下用这些高斯混合的加权平均来逼近。

有限高斯混合模型可以以任意精度正逼近实数上的非负黎曼可积函数,特别可

以逼近任意的概率分布密度函数。

高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。对图像背景建立高斯模型的原理及过程:图像灰度直方图

利用高斯混合模型实现概率密度函数逼近

在图像处理中,经常需要知道图像的概率分布密度函数,然而图像的概率密度函数经常是很难准确求解的,通常的办法是通过某个已知的分布密度函数进行逼近,例如:高斯(Gaussian)分布、对数正态分布、伽玛分布、贝塔分布、指数分布、韦布尔分布、瑞利分布等,然而这类参数化分布密度要求是单峰形式,即只有一个极大值,而实际问题中,可能包含多峰的密度形式,在特征空间中往往表

现为多种密度分布的混合,很难把这种复杂的分布通过单一的参数化密度函数

表示出来[1]。R.Wilson在文献[2]中讨论了多分辨率高斯混合模型的函数逼近能力。在此基础上本文证明了有限高斯混合模型可以以任意精度正逼近实数上的非负黎曼可积函数,特别可以逼近任意的概率分布密度函数,并利用实例说明了有限高斯混合密度函数具有较强的逼近能力。1 有限混合密度函数在图像处理领域,有限混合分布理论的方法就是将全部像素值拟合成一个加权混合的概

率密度函数,使每个权重正是该对象的像素在整个像素集里所占的比例。高斯模型涉及均值(μ)和方差(?2)的选择。定义1有限混合密度模型假设数据x(x ∈RP)来自多个分布的混合体。

【论文题名】利用高斯混合模型实现概率密度函数逼近

【英文题名】 Probability Density Function Approximation Using Gaussian Mixture Model

【刊名】无线电通信技术

【英文刊名】 RADIO COMMUNICATIONS TECHNOLOGY

【分类号】 TP301.6

【作者】李钊

【作者单位】

【年卷期】 2007年 33卷 02期 20-22页

【关键词】高斯混合模型;函数逼近;概率密度函数;高斯分布

【基金名称】国家自然科学基金

【摘要】针对图像的概率分布密度函数的不确定,利用有限高斯混合模型逼近图像的概率分布密度函数.理论上证明了有限高斯混合模型可以以任意精

度正逼近实数上的非负黎曼可积函数,特别可以逼近任意的概率分布密度函数.实例表明有限高斯混合模型逼近已知分布密度函数或未知分布密度函数时,具

有逼近精度高等优点,为函数逼近提供了理论和技术支持.

利用高斯混合模型实现概率密度函数逼近袁礼海李钊宋建社

【摘要】:针对图像的概率分布密度函数的不确定,利用有限高斯混合模型逼近图像的概率分布密度函数。理论上证明了有限高斯混合模型可以以任意精度正逼近实数上的非负黎曼可积函数,特别可以逼近任意的概率分布密度函数。实例表明有限高斯混合模型逼近已知分布密度函数或未知分布密度函数时,具有

逼近精度高等优点,为函数逼近提供了理论和技术支持。

【作者单位】:第二炮兵工程学院导弹工程研究所驻石家庄地区军事代表室

第二炮兵工程学院导弹工程研究所

【关键词】:高斯混合模型函数逼近概率密度函数高斯分布

【基金】:国家自然科学基金(60272022)

【分类号】:TP391.41

【正文快照】:

0引言在图像处理中,经常需要知道图像的概率分布密度函数,然而图像的概率密度函数经常是很难准确求解的,通常的办法是通过某个已知的分布密度函数进行逼近,例如:高斯(Gaussian)分布、对数正态分布、伽玛分布、贝塔分布、指数分布、韦布尔分布、瑞利分布等,然而这类参数化分布

高斯模型有单高斯模型(SGM)和混合高斯模型(GMM)两种。

(1)单高斯模型:

为简单起见,阈值t的选取一般靠经验值来设定。通常意义下,我们一般取

t=0.7-0.75之间。

二维情况如下所示:

(2)混合高斯模型:

对于(b)图所示的情况,很明显,单高斯模型是无法解决的。为了解决这个问题,人们提出了高斯混合模型(GMM),顾名思义,就是数据可以看作是从数个高斯分布中生成出来的。虽然我们可以用不同的分布来随意地构造 XX Mixture Model ,但是 GMM是最为流行。另外,Mixture Model 本身其实也是可以变得任意复杂的,通过增加 Model 的个数,我们可以任意地逼近任何连续的概率密分布。

每个 GMM 由 K 个 Gaussian 分布组成,每个 Gaussian 称为一个“Component”,这些 Component 线性加成在一起就组成了 GMM 的概率密度函数:

(1)

其中,πk表示选中这个component部分的概率,我们也称其为加权系数。

根据上面的式子,如果我们要从 GMM 的分布中随机地取一个点的话,实际上可以分为两步:

(1)首先随机地在这K个 Component 之中选一个,每个 Component 被选中的概率实际上就是它的系数πk,选中了 Component 之后,再单独地考虑从这个Component 的分布中选取一个点就可以了──这里已经回到了普通的 Gaussian 分布,转化为了已知的问题。假设现在有N个数据点,我们认为这些数据点由某个GMM模型产生,现在我们要需要确定πk,μk,?k这些参数。很自然的,我们想到利用最大似然估计来确定这些参数,GMM的似然函数如下:

(2)

在最大似然估计里面,由于我们的目的是把乘积的形式分解为求和的形式,即在等式的左右两边加上一个log函数,但是由上文博客里的(2)式可以看出,转化为log后,还有log(a+b)的形式,因此,要进一步求解。

我们采用EM算法,分布迭代求解最大值:

EM算法的步骤这里不作详细的介绍,可以参见博客:

https://www.360docs.net/doc/e48748197.html,/?p=39

声学模型

声学模型是语音识别系统中最为重要的部分之一,目前的主流系统多采用隐马尔科夫模型进行建模。隐马尔可夫模型的概念是一个离散时域有限状态自动机,隐马尔可夫模型HMM是指这一马尔可夫模型的内部状态外界不可见,外界只能看到各个时刻的输出值。

对语音识别系统,输出值通常就是从各个帧计算而得的声学特征。用HMM 刻画语音信号需作出两个假设,一是内部状态的转移只与上一状态有关,另一是

输出值只与当前状态(或当前的状态转移)有关,这两个假设大大降低了模型的复杂度。HMM的打分、解码和训练相应的算法是前向算法、Viterbi算法和前向后向算法。[

输出概率

声学模型的输入是由特征提取模块提取的特征。一般来说,这些特征是多维的向量,并且其取值可以是离散或连续的。早期的声学模型常常采用矢量聚类(Vector Quantification)的方法,将信号直接映射到某个码本k,而后再计算某个模型j输出该码本的概率bj(k)。但是这一方法是比较粗糙的,其性能受到VQ算法的极大影响,如果VQ本身性能就很差,声学模型的估计就会很不准确。因此,对于连续取值的特征应当采用连续的概率分布。由于语音信号特征的分布并不能用简单的概率分布,例如高斯分布等来直接描述,故而常用混合高斯模型或混合拉普拉斯模型等方法对语音信号的分布进行拟合。在此,混合高斯分布可以表示为若干高斯分量Gi的加权组合。即:G(x) =

\prod_{i=1}^{n}w_i\cdot G_i(x) 其中Gi(x)是均值为μi方差为?i的高斯分布。从数学角度看,当i趋向于无穷时,任何连续分布都可以用混合高斯模型来逼近。但是,高斯混合模型也存在着问题,那就是其计算量偏大。假设对于一个包含n个混合分量的混合高斯模型,其维度为m维,那么至少要进行m\times n次运算才能得到结果,如果有i个模型需要计算,那么时间复杂度就是O(mnk)。相比之下,离散HMM就相对简单,只需要进行一次VQ,再进行i次查表操作,就能够计算所有模型的概率值。因此,也出现了将二者结合起来的半连续隐马模型。其思路是输出概率不仅仅由bj(k)来决定,还乘上了VQ的概率,亦即该信号属于次码本的概率。从精确度上看,连续隐马模型要优于半连续隐马模型,而半连续隐马模型又优于离散隐马模型。从算法复杂度上来看则正好相反。

[2] 高斯混合模型(Gaussian Mixture Model, GMM)是语音信号处理中的一种常用的统计模型,该模型的一个基本理论前提是只要高斯混合的数目足够多,一个任意的分布就可以在任意的精度下用这些高斯混合的加权平均来逼近。一个包含M个分量的高斯混合分布的概率密度函数是M个高斯概率密度分布函数的加权组合,定义为[3]: p(x|\lambda) = \sum_{i}^{M}\omega_ip_i(x) 其中的x是D维随机矢量,p_i(x), i = 1, 2, \cdots,M为M个概率密度函数分量,\omega_i, i = 1,2,\cdots,M为各个概率密度函数分量的权重。在上式中,每个概率密度函数分量pi(x)都服从D维高斯分布,即

p_i(x)=\frac{1}{(2\pi)^{D/2}|\Sigma_i|}

\exp\left\{-\frac{1}{2}(x-\mu)'\Sigma_i^{-1(x-\mu_i)}\right\} 其中,μi表示该高斯分量的均值,Σi表示该高斯分量的协方差矩阵。另外,为了满足概率密度函数分布的要求,上式中各个概率密度函数分量的权重必须满足

\sum_{i=1}^{M}w_i = 1的要求。在高斯混合模型中,每一个高斯概率密度函数分量pi(x)都可以由其权重wi、均值μi和协方差矩阵Σi来描述。这样,一个完整的M分量混合的高斯分布就可以由以下的三元组集合来表示:

\lambda=\left\{w_i,\mu_i,\Sigma_i\right\} \quad\quad i=1,2,\cdots,M GMM模型的主要问题为训练问题,亦即参数估计问题数估计,使得GMM模型和训练数据之间达到最佳的匹配程度。GMM的参数估计方法有多种方法,其中应用最广泛的是基于最大似然准则(Maximum Likelihood Estimation, MLE)的方法。

对于一段给定的训练语音特征序列O = O_1,O_2,\cdots,O_T ,GMM模型的似然度定义为:p(O|\lambda) = \prod_{t=1}^{T}p(O_t|\lambda) 最大似然估计的主要思想就是要找到使得GMM模型对于训练语料的似然度最大的模型参数λ。同HMM的训练类似,GMM训练也可以通过EM进行训练,其模型参数更新公式为:\hat{w}_i = \frac{1}{T}\sum_t^{T}p(i|x_t,\lambda)

\hat{\mu}_i =

\frac{\sum_{t=1}^{T}p(i|x_t,\lambda)x_t}{\sum_{t=1}^{T}p(i|x_t,\lambd a)} \hat{\sigma}_i =

\frac{\sum_{t=1}^{T}p(i|x_t,\lambda)x^{2}_t}{\sum_{t=1}^{T}p(i|x_t,\l ambda)\hat{\mu}_i^2}- 其中p(i | xt,λ)表示xt属于第i个高斯分量的后验概率。而w_i,\mu_i,\sigma_i^2分表表示上一步迭代中模型的权重、均值、协方差矩阵,而\hat{w_i},\hat{\mu_i},\hat{\sigma}_i^2则是更新后的对应参数。p(i | xt,λ)的定义为:p(i|x_t,\lambda) =

\frac{w_ip_i(x_i)}{\sum_{k=1}^M w_kp_k(x_i)} 如果随机矢量各维间的是独立的,那么可以采用对角协方差阵,亦即仅估计方差。这种方法能够极大减少模型参数,让模型训练更加充分。同时,需要注意的是,在某些情况下,对角协方差阵可能会出现非常小的方差值,从而使得协方差阵奇异。因此在训练对角协方差阵的时候必须采用最小方差约束。亦即当新估计出的某维方差

\hat{\sigma}_i小于设定?min时,让\hat{\sigma}_i等于?min。在声学模型训练中常用GMM为状态输出概率建模,同时GMM也常用于其他声音分类任务中,例如声音分割与分类,说话人识别等。

模型拓扑结构

由于语音的时序性,隐马模型的拓扑结构一般都取为自左向右的结构。一般每个状态都包括自跳转弧。是否允许跨状态跳转则没有一个定论。下图是典型的模型拓扑结构示意图。状态个数的选择对于系统性能的影响是很大的。建模单元选择声学模型的建模单元的选择需要考虑三方面的因素。其一是该单元的可训练性,亦即是否能够得到足够的语料对每个单元进行训练,以及训练所需要的时间长短是否可接受。其二是该单元的可推广性,当语音识别系统所针对的词汇集\mathcal{W}发生变化时,原有建模单元是否能够不加修改的满足新的词汇集\mathcal{W'}。最后还需要考虑建模的精确性。根据时间尺度的长短,建模单元可以选择为句子,短语,词,音节,音子乃至更小的半音子。一般可以认为有这样的原则,时间尺度越短的建模单元,其可训练性及推广性就越强,而时间尺度越长的单元,其精确性就越强。同时,可以看出,句子、短语、词三个概念是语言学上的概念,而音节、音子则是语音学上的概念,一般来说,如果声学模型所针对的应用环境不是确定词汇量的系统,那么采用语言学的概念的建模单元是不具备推广性的。为了将协同发音现象(Coarticulation)融入建模中,上下文相关的建模单元(Context Dependent Modeling Units, CD uinits)是一个很好的选择。其思路是,对于某个音子ah,根据上下文的不同将其拆分成不同的建模单元。例如,用b-ah+d表示ah在b

之后,d之前发音的具体实现。上下文的选择方法有很多,最常见的是三音子建模单元,也就是考虑左上文右下文各一个音子,加上中心音子形成三音子对。上下文相关建模大大提高了建模的准确性,但是同时也使得模型数量急剧膨胀,

使得模型的可训练性大大降低。为了解决这一问题,就需要引入某些聚类算法来减少模型中需要训练的参数。

聚类方法

为了解决模型参数过多的问题,可以使用某些聚类方法来减小模型中的参数数量,提高模型的可训练性。聚类可以在模型层次,状态层次乃至混合高斯模型中每个混合的层次进行。可以将半连续隐马模型看作进行高斯混合进行聚类后的连续隐马模型。目前应用最多的方法是对状态聚类的方法。其思路是,根据状态间混合高斯模型概率输出的相似性,将输出概率接近的状态聚合在一起,以便对其的训练更加充分。聚类的方法有基于规则的方法和数据驱动方法两类。聚类后的状态被称为Senone,每个Senone都是完整独立的高斯混合模型,它也是解码过程中的最基本单元

参数估计

传统上,参数估计使用的方法为Baum-Welch算法,属于最大似然准则下的EM算法。目前研究者提出了多种区分性训练方法(仍然属于产生式模型,但使用区分性准则)进行训练,取得了较好的效果。

参考资料

^高勤汉语语音文档检索技术研究及系统实现北京大学硕士研究生学位论文^ L.R. Rabiner, “A tutorial on Hidden Markov Models and selected applications in speech recognition”, in Proceedings of the IEEE, vol. 77, pp. 257–287, 1989 ^ D.A. Reynolds and R.C. Rose, “Robust

text-independent speaker identification using Gaussian mixture speaker models”, IEEE Transaction on Speech Audio Process, vol. 3, pp. 72–83, 1995. ^K.F. Lee, Large-vocabulary speaker independent continuous speech recognition, the Sphinx system, Ph.D. thesis, Carnegie Mellon University, 1988.

Expectation–maximization algorithm

Wikipedia on https://www.360docs.net/doc/e48748197.html,:

Expectation–maximization algorithm

Home> Library > Miscellaneous >Wikipedia

In statistics, an expectation–maximization (EM) algorithm is an iterative method for finding maximum likelihood or maximum a posteriori (MAP) estimates of parameters in statistical models, where the model depends on unobserved latent variables. The EM iteration alternates between performing an expectation (E) step, which computes the expectation of the log-likelihood evaluated using the current estimate for the parameters, and a maximization (M) step, which computes parameters maximizing the expected log-likelihood found on the E step. These parameter-estimates are then used to determine the distribution of the latent variables in the next E step.

Contents

? 1 History

? 2 Description

? 3 Properties

? 4 Alternative description

? 5 Applications

? 6 Variants

?7 Relation to variational Bayes methods

?8 Geometric interpretation

?9 Example: Gaussian mixture

o9.1 E step

o9.2 M step

?10 References

?11 References

?12 External links

History

The EM algorithm was explained and given its name in a classic 1977 paper by Arthur Dempster,Nan Laird, and Donald Rubin.[1] They pointed out that the method had been "proposed many times in special circumstances" by earlier authors. In particular, a very detailed treatment of the EM method for exponential families was published by Rolf Sundberg in his thesis and several papers[2][3][4] following his collaboration with Per Martin-L?f and Anders Martin-L?f.[5][6][7][8][9][10][11] The Dempster-Laird-Rubin paper in 1977 generalized the method and sketched a convergence analysis for a wider class of problems. Regardless of earlier inventions, the innovative Dempster-Laird-Rubin paper in the Journal of the Royal Statistical Society received an enthusiastic discussion at the Royal Statistical Society meeting with Sundberg calling the paper "brilliant". The

Dempster-Laird-Rubin paper established the EM method as an important tool of statistical analysis.

The convergence analysis of the Dempster-Laird-Rubin paper was flawed and a correct convergence analysis was published by C. F. Jeff Wu in 1983. Wu's proof established the EM method's convergence outside of the exponential family, as claimed by Dempster-Laird-Rubin.[12]

Description

Given a statistical model consisting of a set of observed data, a set

of unobserved latent data or missing values, and a vector of unknown parameters , along with a likelihood function

, the maximum likelihood estimate(MLE) of the

unknown parameters is determined by the marginal likelihood of the observed data

However, this quantity is often intractable.

The EM algorithm seeks to find the MLE of the marginal likelihood by iteratively applying the following two steps:

Expectation step (E step): Calculate the expected value of the log likelihood function, with respect to the conditional distribution

of given under the current estimate of the parameters :

Maximization step (M step): Find the parameter that maximizes this quantity:

Note that in typical models to which EM is applied:

1.The observed data points may be discrete(taking values in a

finite or countably infinite set) or continuous(taking values in an uncountably infinite set). There may in fact be a vector of

observations associated with each data point.

2.The missing values(aka latent variables) are discrete, drawn

from a fixed number of values, and there is one latent variable per observed data point.

3.The parameters are continuous, and are of two kinds: Parameters that

are associated with all data points, and parameters associated with

a particular value of a latent variable (i.e. associated with all

data points whose corresponding latent variable has a particular value).

However, it is possible to apply EM to other sorts of models.

The motivation is as follows. If we know the value of the parameters , we can usually find the value of the latent variables by maximizing the

log-likelihood over all possible values of , either simply by iterating over or through an algorithm such as the Viterbi algorithm for hidden Markov models. Conversely, if we know the value of the latent variables

, we can find an estimate of the parameters fairly easily, typically by simply grouping the observed data points according to the value of the associated latent variable and averaging the values, or some function of the values, of the points in each group. This suggests an iterative algorithm, in the case where both and are unknown:

1.First, initialize the parameters to some random values.

https://www.360docs.net/doc/e48748197.html,pute the best value for given these parameter values.

3.Then, use the just-computed values of to compute a better estimate

for the parameters . Parameters associated with a particular

value of will use only those data points whose associated latent variable has that value.

4.Iterate steps 2 and 3 until convergence.

The algorithm as just described monotonically approaches a local minimum of the cost function, and is commonly called hard EM. The k-means algorithm is an example of this class of algorithms.

However, we can do somewhat better by, rather than making a hard choice for given the current parameter values and averaging only over the set of data points associated with a particular value of , instead determining the probability of each possible value of for each data point, and then using the probabilities associated with a particular value of to compute a weighted average over the entire set of data points. The resulting algorithm is commonly called soft EM, and is the type of algorithm normally associated with EM. The counts used to compute these weighted averages are called soft counts (as opposed to the hard counts used in a hard-EM-type algorithm such as k-means). The probabilities computed for are posterior probabilities and are what is computed in

the E step. The soft counts used to compute new parameter values are what is computed in the M step.

Properties

Speaking of an expectation (E) step is a bit of a misnomer. What is calculated in the first step are the fixed, data-dependent parameters of the function Q. Once the parameters of Q are known, it is fully determined and is maximized in the second (M) step of an EM algorithm.

Although an EM iteration does increase the observed data (i.e. marginal) likelihood function there is no guarantee that the sequence converges to a maximum likelihood estimator. For multimodal distributions, this means that an EM algorithm may converge to a local maximum of the observed data likelihood function, depending on starting values. There are a variety of heuristic or metaheuristic approaches for escaping a local maximum such as random restart(starting with several different random initial estimates θ(t)), or applying simulated annealing methods.

EM is particularly useful when the likelihood is an exponential family: the E step becomes the sum of expectations of sufficient statistics, and the M step involves maximizing a linear function. In such a case, it is usually possible to derive closed form updates for each step, using the Sundberg formula (published by Rolf Sundberg using unpublished results of Per Martin-L?f and Anders Martin-L?f).[3][4][7][8][9][10][11]

The EM method was modified to compute maximum a posteriori(MAP) estimates for Bayesian inference in the original paper by Dempster, Laird, and Rubin.

There are other methods for finding maximum likelihood estimates, such as gradient descent,conjugate gradient or variations of the Gauss–Newton method. Unlike EM, such methods typically require the evaluation of first and/or second derivatives of the likelihood function.

Alternative description

Under some circumstances, it is convenient to view the EM algorithm as two alternating maximization steps.[13][14] Consider the function:

where q is an arbitrary probability distribution over the unobserved data z, p

(〃 |x;θ) is the conditional distribution of the unobserved data Z|X

given the observed data x, H is the entropy and D KL is the Kullback–Leibler divergence.

Then the steps in the EM algorithm may be viewed as:

Expectation step: Choose q to maximize F:

Maximization step: Choose θ to maximize F:

Applications

EM is frequently used for data clustering in machine learning and computer vision. In natural language processing, two prominent instances of the algorithm are the Baum-Welch algorithm(also known as forward-backward) and the inside-outside algorithm for unsupervised induction of probabilistic context-free grammars.

In psychometrics, EM is almost indispensable for estimating item parameters and latent abilities of item response theory models.

With the ability to deal with missing data and observe unidentified variables, EM is becoming a useful tool to price and manage risk of a portfolio.

The EM algorithm (and its faster variant Ordered subset expectation maximization) is also widely used in medical image reconstruction, especially in positron emission tomography and single photon emission computed tomography. See below for other faster variants of EM.

Variants

A number of methods have been proposed to accelerate the sometimes slow convergence of the EM algorithm, such as those utilising conjugate gradient and modified Newton–Raphson techniques.[15]Additionally EM can be utilised with constrained estimation techniques.

Expectation conditional maximization (ECM) replaces each M step with a sequence of conditional maximization (CM) steps in which each parameter θ

is maximized individually, conditionally on the other parameters i

remaining fixed.[16]

This idea is further extended in generalized expectation maximization (GEM) algorithm, in which one only seeks an increase in the objective function F for both the E step and M step under the alternative description.[13]

It is also possible to consider the EM algorithm as a subclass of the MM (Majorize/Minimize or Minorize/Maximize, depending on context) algorithm,[17]and therefore use any machinery developed in the more general case.

Relation to variational Bayes methods

EM is a partially non-Bayesian, maximum likelihood method. Its final result gives a probability distribution over the latent variables (in the Bayesian style) together with a point estimate for θ (either a maximum likelihood estimate or a posterior mode). We may want a fully Bayesian version of this, giving a probability distribution over θ as well as the latent variables. In fact the Bayesian approach to inference is simply to treat θ as another latent variable. In this paradigm, the distinction between the E and M steps disappears. If we use the factorized Q approximation as described above (variational Bayes), we may iterate over each latent variable (now including θ) and optimize them one at a time. There are now k steps per iteration, where k is the number of latent variables. For graphical models this is easy to do as each variable's new Q depends only on its Markov blanket, so local message passing can be used for efficient inference.

Geometric interpretation

For more details on this topic, see Information geometry.

In information geometry, the E step and the M step are interpreted as projections under dual affine connections, called the e-connection and the m-connection; the Kullback–Leibler divergence can also be understood in these terms.

Example: Gaussian mixture

An animation demonstrating the EM algorithm fitting a two component Gaussian mixture model to the Old Faithful dataset. The algorithm steps through from a random initialization to convergence.

Let x=(x

1,x

2

,…,x n) be a sample of n independent observations from a

mixture of two multivariate normal distributions of dimension d, and let z=(z1,z2,…,z n) be the latent variables that determine the component from which the observation originates.[14]

and

where

and

The aim is to estimate the unknown parameters representing the "mixing" value between the Gaussians and the means and covariances of each:

where the likelihood function is:

where is an indicator function and f is the probability density function of a multivariate normal. This may be rewritten in exponential family form:

E step

Given our current estimate of the parameters θ(t), the conditional distribution of the Z i is determined by Bayes theorem to be the proportional height of the normal density weighted by σ:

.

Thus, the E step results in the function:

M step

The quadratic form of Q(θ|θ(t)) means that determining the maximising values of θ is relatively straightforward. Firstly note that σ, (μ,Σ1) and (μ2,Σ2) may be all maximised independently of each other since 1

they all appear in separate linear terms.

Firstly, consider σ, which has the constraint σ1 + σ2=1:

This has the same form as the MLE for the binomial distribution, so:

For the next estimates of (μ

,Σ1):

1

This has the same form as a weighted MLE for a normal distribution, so

and

and, by symmetry:

and

.

References

?Robert Hogg, Joseph McKean and Allen Craig. Introduction to Mathematical Statistics. pp.359–364. Upper Saddle River, NJ:

Pearson Prentice Hall, 2005.

?The on-line textbook: Information Theory, Inference, and Learning Algorithms, by David J.C. MacKay includes simple examples of the EM algorithm such as clustering using the soft k-means algorithm, and emphasizes the variational view of the EM algorithm.

?Theory and Use of the EM Method by M. R. Gupta and Y. Chen is a well-written short book on EM, including detailed derivation of EM for GMMs, HMMs, and Dirichlet.

? A Gentle Tutorial of the EM Algorithm and its Application to Parameter Estimation for Gaussian Mixture and Hidden Markov Models,

by Jeff Bilmes includes a simplified derivation of the EM equations for Gaussian Mixtures and Gaussian Mixture Hidden Markov Models.

?Variational Algorithms for Approximate Bayesian Inference, by M.

J. Beal includes comparisons of EM to Variational Bayesian EM and derivations of several models including Variational Bayesian HMMs (chapters).

?The Expectation Maximization Algorithm, by Frank Dellaert, gives an easier explanation of EM algorithm in terms of lowerbound

maximization.

?The Expectation Maximization Algorithm: A short tutorial, A self contained derivation of the EM Algorithm by Sean Borman.

?The EM Algorithm, by Xiaojin Zhu.

?EM algorithm and variants: an informal tutorial by Alexis Roche.

A concise and very clear description of EM and many interesting

variants.

?Bishop, Christopher M. (2006). Pattern Recognition and Machine Learning. Springer.ISBN0-387-31073-8.

References

1.^Dempster, A.P.; Laird, N.M.; Rubin, D.B. (1977). "Maximum

Likelihood from Incomplete Data via the EM Algorithm". Journal of the Royal Statistical Society. Series B (Methodological) 39 (1): 1–38. JSTOR2984875. MR0501537.

2.^Sundberg, Rolf (1974). "Maximum likelihood theory for

incomplete data from an exponential family". Scandinavian Journal of Statistics 1 (2): 49–58. JSTOR4615553. MR381110.

3.^a b Rolf Sundberg. 1971. Maximum likelihood theory and

applications for distributions generated when observing a function of an exponential family variable. Dissertation, Institute for

Mathematical Statistics, Stockholm University.

4.^a b Sundberg, Rolf (1976). "An iterative method for solution

of the likelihood equations for incomplete data from exponential families". Communications in Statistics – Simulation and

Computation 5 (1): 55–64. doi:10.1080/03610917608812007.

MR443190.

5.^See the acknowledgement by Dempster, Laird and Rubin on

pages 3, 5 and 11.

6.^G. Kulldorff. 1961. Contributions to the theory of

estimation from grouped and partially grouped samples. Almqvist & Wiksell.

7.^a b Anders Martin-L?f. 1963. "Utv?rdering av livsl?ngder i

subnanosekundsomr?det" ("Evaluation of sub-nanosecond lifetimes").

("Sundberg formula")

8.^a b Per Martin-L?f. 1966. Statistics from the point of view

of statistical mechanics. Lecture notes, Mathematical Institute, Aarhus University. ("Sundberg formula" credited to Anders

Martin-L?f).

9.^a b Per Martin-L?f. 1970. Statistika Modeller (Statistical

Models): Anteckningar fr?n seminarier l?s?ret 1969–1970 (Notes from seminars in the academic year 1969-1970), with the assistance of Rolf Sundberg. Stockholm University. ("Sundberg formula")

10.^a b Martin-L?f, P. The notion of redundancy and its use as

a quantitative measure of the deviation between a statistical

hypothesis and a set of observational data. With a discussion by

F. Abildg?rd,A. P. Dempster,D. Basu,D. R. Cox,A. W. F. Edwards,

D. A. Sprott,G. A. Barnard, O. Barndorff-Nielsen, J. D. Kalbfleisch

and G. Rasch and a reply by the author. Proceedings of Conference on Foundational Questions in Statistical Inference(Aarhus, 1973), pp. 1–42. Memoirs, No. 1, Dept. Theoret. Statist., Inst. Math., Univ. Aarhus, Aarhus, 1974.

11.^a b Martin-L?f, Per The notion of redundancy and its use as

a quantitative measure of the discrepancy between a statistical

hypothesis and a set of observational data. Scand. J. Statist. 1 (1974), no. 1, 3–18.

12.^Wu, C. F. Jeff (Mar. 1983). "On the Convergence Properties

of the EM Algorithm". Annals of Statistics 11 (1): 95–103.

doi:10.1214/aos/1176346060. JSTOR2240463. MR684867.

13.^a b Neal, Radford; Hinton, Geoffrey (1999). Michael I. Jordan.

ed. "A view of the EM algorithm that justifies incremental, sparse, and other variants". Learning in Graphical Models (Cambridge, MA: MIT Press): 355–368. ISBN0262600323.

ftp://https://www.360docs.net/doc/e48748197.html,/pub/radford/emk.pdf. Retrieved

2009-03-22.

14.^a b Hastie, Trevor; Tibshirani, Robert; Friedman, Jerome

(2001). "8.5 The EM algorithm". The Elements of Statistical

Learning. New York: Springer. pp.236–243. ISBN0-387-95284-5. 15.^Jamshidian, Mortaza; Jennrich, Robert I. (1997).

"Acceleration of the EM Algorithm by using Quasi-Newton Methods".

Journal of the Royal Statistical Society: Series B (Statistical Methodology) 59 (2): 569–587. doi:10.1111/1467-9868.00083.

MR1452026.

16.^Meng, Xiao-Li; Rubin, Donald B. (1993). "Maximum likelihood

estimation via the ECM algorithm: A general framework". Biometrika

80 (2): 267–278. doi:10.1093/biomet/80.2.267. MR1243503.

17.^Hunter DR and Lange K (2004),A Tutorial on MM Algorithms,

The American Statistician, 58: 30-37

混合高斯模型的简要介绍

混合高斯模型跟高斯变量之和看起来有一点像, 注意不要把它们弄混淆了. 混合高斯模型给出的概率密度函数实际上是几个高斯概率密度函数的加权和: 计算均值和方差的公式不仅适用于几个(多维)高斯分布混合的情况, 还适用于非高斯分布的情况. 高斯变量之和就没什么好说的了, 几个高斯变量之和是一个新的高斯变量. 原理: 高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。 对图像背景建立高斯模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以认为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相比比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈现双峰-谷形状,其中一个峰对应于目标,另一个峰对应于背景的中心灰度。对于复杂的图像,尤其是医学图像,一般是多峰的。通过将直方图的多峰特性看作是多个高斯分布的叠加,可以解决图像的分割问题。 在智能监控系统中,对于运动目标的检测是中心内容,而在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而建模正是背景目标提取的一个重要环节。 我们首先要提起背景和前景的概念,前景是指在假设背景为静止的情况下,任何有意义的运动物体即为前景。建模的基本思想是从当前帧中提取前景,其目的是使背景更接近当前视频帧的背景。即利用当前帧和视频序列中的当前背景帧进行加权平均来更新背景,但是由于光照突变以及其他外界环境的影响,一般的建模后的背景并非十分干净清晰,而高斯混合模型是是建模最为成功的方法之一。 混合高斯模型使用K(基本为3到5个)个高斯模型来表征图像中各个像素点的特征,在新一帧图像获得后更新混合高斯模型, 用当前图像中的每个像素点与混合高斯模型匹配,如果成功则判定该点为背景点, 否则为前景点。通观整个高斯模型,主要是有方差和均值两个参数决定,对均值和方差的学习,采取不同的学习机制,将直接影响到模型的稳定性、精确性和收敛性。由于我们是对运动目标的背景提取建模,因此需要对高斯模型中方差和均值两个参数实时更新。为提高模型的学习能力,改进方法对均值和方差的更新采用不同的学习率;为提高在繁忙的场景下,大而慢的运动目标的检测效果,引入权值均值的概念,建立背景图像并实时更新,然后结合权值、权值均值和背景图像对像素点进行前景和背景的分类。 到这里为止,混合高斯模型的建模基本完成,我在归纳一下其中的流程,首先初始化预先定义的几个高斯模型,对高斯模型中的参数进行初始化,并求出之后将要用到的参数。其次,对于每一帧中的每一个像素进行处理,看其是否匹配某个模型,若匹配,则将其归入该模型中,并对该模型根据新的像素值进行更新,若不匹配,则以该像素建立一个高斯模型,初始化参数,代理原有模型中最不可能的模型。最后选择前面几个最有可能的模型作为背景模型,为背景目标提取做铺垫。 目前,运动物体检测的问题主要分为两类,摄像机固定和摄像机运动。对于摄像机运动的运动物体检测问题,比较著名的解决方案是光流法,通过求解偏微分方程求的图像序列的光流场,从而预测摄像机的运动状态。对于摄像机固定的情形,当然也可以用光流法,但是由于光流法的复杂性,往往难以实时的计算,所以我采用高斯背景模型。因为,在摄像机固定的情况下,背景的变化是缓慢的,而且大都是光照,风等等的影响,通过对背景建模,对一幅给定图像分离前景和背景,一般来说,前景就是运动物体,从而达到运动物体检测的目的。 单分布高斯背景模型单分布高斯背景模型认为,对一个背景图像,特定像素亮度的分布满足高斯分布,即对背景图像B,(x,y)点的亮度满足: IB (x,y) ~ N(u,d)

高斯分布背景模型原理

高斯分布背景模型原理 背景差分法的关键是背景图像的描述模型即背景模型,它是背景差分法分割运动前景的基础。背景模型主要有单模态和多模态两种,前者在每个背景像素点上的颜色分布比较集中,可以用单分布概率模型来描述,后者的分布则比较分散,需要用多分布概率模型来共同描述。在许多应用场景,如水面的波纹、摇摆的树枝,飘扬的红旗、监视器屏幕等,像素点的值都呈现出多模态特性。最常用的描述场景背景点颜色分布的概率密度模型(概率密度分布)是高斯分布(正态分布)。 1 单高斯分布背景模型 单高斯分布背景模型适用于单模态背景情形, 它为每个图象点的颜色建立了用单个高斯分布表示的模型) ,(,t t x N σμ其中下标t 表示时间。设图象点的当前颜色度量为t X ,若(,,)ttt p N X T μσ ≤ (这里p T 为概率阈值) , 则该点被判定为前景点, 否则为背景点(这时又称t X 与) ,(,t t x N σμ相匹配)。 在常见的一维情形中, 以t σ表示均方差, 则常根据/t t d σ的取值 设置前景检测阈值:若/t t d T σ>,则该点被判定为前景点, 否则为背 景点。 单高斯分布背景模型的更新即指各图象点高斯分布参数的更新。引入表示更新快慢的常数——更新率α, 则该点高斯分布参数的更新可表示为 1(1)t t t d μαμα+=-?+? (1)

21(1)t t t d σασα+=-?+? (2) 单高斯背景模型能处理有微小变化与慢慢变化的简单场景,当较复杂场景背景变化很大或发生突变,或者背景像素值为多峰分布(如微小重复运动)时,背景像素值的变化较快,并不是由一个相对稳定的单峰分布渐渐过度到另一个单峰分布,这时单高斯背景模型就无能为力,不能准确地描述背景了。]1[ 2 混合高斯分布背景模型 与单高斯背景模型不同,混合高斯背景模型对每个像素点用多个高斯模型混合表示。设用来描述每个像素的高斯分布共K 个(K 通常取 3—5个),象素uv Z 的概率函数: ,,,1()(,,)K u v j u v u v j u v j u v j P Z N Z ωμ ==∑∑ 其中,j uv ω是第j 个高斯分布的权值, 背景建模和更新过程(仅针对单个像素): 1.初始化:第一个高斯分布用第一帧图像该点的像素值作为均值或前N 帧图像该点的像素值的平均值作为均值,并对该高斯分布的权值取较大值(比其它几个高斯分布大)。其余的高斯分布的均值均为0,权重相等,所有高斯函数的方差取相等的较大值。 2.权值归一化 3.选取背景

混合高斯模型(Mixtures of Gaussians)和EM算法

混合高斯模型(Mixtures of Gaussians)和EM算法 这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation)。 与k-means一样,给定的训练样本是,我们将隐含类别标签用表示。与 k-means的硬指定不同,我们首先认为是满足一定的概率分布的,这里我们认为满足多项 式分布,,其中,有k个值{1,…,k} 可以选取。而且我们认为在给定后,满足多值高斯分布,即。由 此可以得到联合分布。 整个模型简单描述为对于每个样例,我们先从k个类别中按多项式分布抽取一个, 然后根据所对应的k个多值高斯分布中的一个生成样例,。整个过程称作混合高斯模型。 注意的是这里的仍然是隐含随机变量。模型中还有三个变量和。最大似然估计为 。对数化后如下: 这个式子的最大值是不能通过前面使用的求导数为0的方法解决的,因为求的结果不是 close form。但是假设我们知道了每个样例的,那么上式可以简化为: 这时候我们再来对和进行求导得到:

就是样本类别中的比率。是类别为j的样本特征均值,是类别为j的样例的特征的协方差矩阵。 实际上,当知道后,最大似然估计就近似于高斯判别分析模型(Gaussian discriminant analysis model)了。所不同的是GDA中类别y是伯努利分布,而这里的z是多项式分布,还有这里的每个样例都有不同的协方差矩阵,而GDA中认为只有一个。 之前我们是假设给定了,实际上是不知道的。那么怎么办呢?考虑之前提到的EM 的思想,第一步是猜测隐含类别变量z,第二步是更新其他参数,以获得最大的最大似然估计。用到这里就是:

混合高斯模型算法原理

混合高斯模型算法原理 混合高斯模型是一种经典的背景建模算法,用于背景相对稳定情况下的运动目标检测。它由单高斯模型发展而来,对于多模态的背景有一定的鲁棒性,如:树叶晃动、水纹波动等。在介绍混合高斯模型前,首先介绍单高斯模型。 1. 单高斯背景模型: 单高斯模型将图像中每一个像素点的颜色值看成是一个随机过程,并假设该点的像素值出现的概率服从高斯分布。该算法的基本原理就是对每一个像素位置建立一个高斯模型,模型中保存该处像素的均值和方差。如,可设),(y x 处像素的均值为),(y x u ,方差为),(2y x σ,标准差为),(y x σ。由于随着视频图像序列的输入,模型参数不断更新,所以不同时刻模型参数有不同的值,故可将模型参数表示为三个变量t y x ,,的函数:均值),,(t y x u 、方差),,(2t y x σ、标准差),,(t y x σ。用单高斯模型进行运动检测的基本过程包括:模型的初始化、更新参数并检测两个步骤。 1)模型初始化 模型的初始化即对每个像素位置上对应的高斯模型参数进行初始化,初始化采用如下公式完成: ?? ???===init std y x init std y x y x I y x u _)0,,(_)0,,()0,,()0,,(22σσ (1) 其中,)0,,(y x I 表示视频图像序列中的第一张图像),(y x 位置处的像素值,init std _为一个自己设的常数,如可设20_=init std 。 2)更新参数并检测 每读入一张新的图片,判断新图片中对应点像素是否在高斯模型描述的范围中,如是,则判断该点处为背景,否则,判断该点处为前景。假设前景检测的结 果图为out put ,其中在t 时刻),(y x 位置处的像素值表示为),,(t y x output ,),,(t y x output 的计算公式如下: ???-?<--=otherwise t y x t y x u t y x I t y x output ,1)1,,()1,,(),,(,0),,(σλ (2) 其中,λ是自己设的一个常数,如可设5.2=λ。以上公式表示的含义是:若新的图片中相应位置的像素值与对应模型中像素的均值的距离小于标准差的λ倍,则该点为背景,否则为前景。 模型的更新采用如下公式: ?? ???=-?+-?-=?+-?-=),,(),,()],,(),,(I [)1,,()1(),,(),,()1,,()1(),,(2222t y x t y x t y x u t y x t y x t y x t y x u t y x u t y x u σσασασαα (3) 其中,参数α表示更新率,也是自己设的一个常数,该常数的存在可以使得模型在背景的缓慢变化时具有一定的鲁棒性,如光照的缓慢变亮或变暗等。

高斯混合模型实现——【机器学习与算法分析 精品资源池】

实验算法高斯混合模型实验 【实验名称】 高斯混合模型实验 【实验要求】 掌握高斯混合模型应用过程,根据模型要求进行数据预处理,建模,评价与应用; 【背景描述】 高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM 可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况。属于无监督机器学习,用于对结构化数据进行聚类。 【知识准备】 了解高斯混合模型的使用场景,数据标准。了解Python/Spark数据处理一般方法。了解spark 模型调用,训练以及应用方法 【实验设备】 Windows或Linux操作系统的计算机。部署Spark,Python,本实验提供centos6.8环境。【实验说明】 采用UCI机器学习库中的wine数据集作为算法数据,除去原来的类别号,把数据看做没有类别的样本,训练混合高斯模型,对样本进行聚类。 【实验环境】 Spark 2.3.1,Pyrhon3.X,实验在命令行pyspark中进行,或者把代码写在py脚本,由于本次为实验,以学习模型为主,所以在命令行中逐步执行代码,以便更加清晰地了解整个建模流程。【实验步骤】 第一步:启动pyspark: 1

命令行中键入pyspark --master local[4],本地模式启动spark与python: 第二步:导入用到的包,并读取数据: (1).导入所需的包 from pyspark import SparkContext, SQLContext, SparkConf from math import sqrt from pyspark.sql.functions import monotonically_increasing_id (2).读取数据源 df_wine = sc.textFile(u"file:/opt/algorithm/gaussianMixture/wine.txt").map( lambda x: str(x).split(",")).map(lambda x: [float(z) for z in x]) (3).数据转换为Data df_wine_rdd = sqlContext.createDataFrame(df_wine) (4).数据展示 df_wine_rdd.show() 1

混合高斯背景建模与更新

计算机学院专业实习报告专业名称计算机科学与技术 实习题目基于多摄像机协同的运动对象分割与三维重建系统之背景建模与运动前景分割 姓名李林 班级10010804 学号2008302499 实习时间 指导教师杨涛Northwestern Polytechnical University

2010年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维图形提供图像数据,日常生活中视频监控系统已广泛应用于各大公共场所,如公司,机场,酒店等都备有监控系统。但对于大多数监控系统来说,都需要监控者保持对监控录像的观测。如何实现视频监控系统的自动监控,是近年来比较关注的问题。自动视频监控技术其主要内容之一就是能监视某一特定场景中的新目标的出现,首先检测视频序列图像中是否有变化,如图像变化,说明有新目标出现,则把这个目标从视频图像序列中分割提取出来,为下一步的目标识别和跟踪提取数据提供基础。因此,一个视频监控系统的好坏,运动目标能否良好的提取是非常关键的。 目前运动目标的提取已经取得很多成果,并且不断有新技术、新方法出现。但是,在实际应用中,由于自然环境复杂,目标机动性高,使得提取与跟踪时干扰因素多,提取不准确且匹配效率不高。要提高跟踪的精度需要对复杂环境下的目标提取和跟踪进行研究,但到目前为止,仍没有一种普遍适用、比较完善的方法,因此对这两方面作进一步研究仍有很大空间。 针对本次实习的特殊场景,经分析决定采用混合高斯模型对运动图像进行提取,弥补单高斯模型不能适应背景微变化的这一缺陷,例如光照明暗、阴影等变化。利用混合高斯模型对输入的视频进行学习,之后再对运动物体进行前景提取,形成二值图像,运动物体置为白色,背景值为黑色,由于在提取过程中会存在这一些噪声点,所以最后运用腐蚀与膨胀运算对图像进行去噪处理。最终设计完形成的图像预计效果为能基本提取出运动物体,可能遇到较为复杂的背景会存在一定的噪声。 目前,从现有的测试数据来看程序能基本提取出运动物体,基本达到了预定的效果,在设计之中起初运用了帧间差分法,测试数据背景较为简单时能基本提取前景,但换成了光照发生变化的背景后运动物体的提取有明显难以改善的噪声,之后考虑更改算法,现有的算法中,光流法效果较为明显,但其算法较为复杂,不适合本次实习的开发,其次较为合适的还有单高斯模型,但其由于在变化的场景中表现

纵向数据中线性混合模型的估计与检验

纵向数据中线性混合模型的估计与检验 【摘要】:在对社会学,生物学,经济学以及农业等学科的连续性纵向数据研究时,线性混合效应模型是很受欢迎的研究工具。这是因为模型中随机效应和误差的分布往往假设为正态分布,这样我们就可以很方便的使用极大似然估计方法(MLE)或者限制极大似然估计方法(RMLE)来研究模型中的参数性质。特别地,人们可以使用SAS,R等统计软件直接分析数据。然而,随着对线性混合模型研究的深入,人们发现实际数据中正态性假设并不完全成立,特别是随机效应的正态性假设更值得怀疑。如何检验模型中的分布的正态性,以及拒绝正态性假设后,如何估计模型参数,研究随机效应和误差的局部性质是本文要研究的问题。在论文的第一部分,我们将研究线性混合效应模型中随机效应的正态性假设。在文献中,基于经验特征函数,Epps&Pulley(1983)提出了对一维随机变量的正态性假设的拟和检验,Baringhaus&Henze(1988)解决了多维随机向量的正态性检验问题,与此类似的检验被统计学家统称为BHEP检验。这里,我们推广HenzeWanger(1997)提出的BHEP检验方法来构造我们的检验统计量。因为模型中随机效应是不可观测的,我们只有使用相应的最优线性无偏预测(BLUP)。研究发现,文中的检验统计量在原假设下渐近收敛于一个零均值的高斯过程,并且对以参数速度收敛到原假设的被择分布特别敏锐。因为极限高斯过程不易用来模拟检验统计量的临界值,我们提出了条件蒙特卡洛模拟方法(CMCT)。为了直观的研究我们的检验统计量的功效,我

们给出了不同分布假设下,检验的p-值,并与文献中已有的两种检验方法作了比较。此外,我们还进行的了一些实际数据分析。经过上述检验方法分析实际数据,我们发现正态性假设确实不完全成立。在论文的余下部分,我们来研究非正态假设下如何估计模型的未知参数,以及研究随机效应和误差的局部性质,也就是估计它们的一些高阶矩,文中我们主要研究了前四阶矩的非参数估计。首先,当模型中的随机效应是一维的并且其协变量都是1时,我们利用模型的特征构造了前四阶矩的估计方程,而后给出相应的非参数估计。通过对所有估计的渐近性质的研究,我们发现,如果每组实验的次数也能足够多时,我们的估计拥有最小的渐近方差。在这种意义上说,我们的方法优于第一个研究此问题的文献Cox&Hall(2002)提出的估计方法。此外,在他们的模型下,我们也可以从另一个角度更简单的构造他们的估计方程。通过一些简单的模拟,也证实了我们的估计方法的优越性,特别是对误差的高阶矩的估计。但是,无论我们的估计方法或者他们的都很难推广到更高阶矩的估计或者随机效应为多维时更一般的情形。正如Jiang(2006)所说的那样,对于这种一般的模型,我们很难建立估计方程。为了解决这个问题,我们提出了一个简单的矩估计方法。主要推导工具是矩阵中Kronecker乘积,矩阵拉直运算以及数学期望。我们研究了随机效应和误差的前四阶矩估计的渐近性质,并给出了简单的模拟结果。比较上述两种估计法,我们发现:当随机效应是一维的时侯,误差的各阶矩的估计不依赖不可观测的随机效应,随机效应的估计也不依赖误差,因此,估计的渐近方差结构特别简单也是最优的;而当随机

混合高斯背景建模matlab代码

clear all % source = aviread('C:\Video\Source\traffic\san_fran_traffic_30sec_QVGA'); source = mmreader('SampleVideo.avi'); frameQYT=get(source,'NumberOfFrames'); % ----------------------- frame size variables ----------------------- fr = read(source,1); % 读取第一帧作为背景 fr_bw = rgb2gray(fr); % 将背景转换为灰度图像 fr_size = size(fr); %取帧大小 width = fr_size(2); height = fr_size(1); fg = zeros(height, width); bg_bw = zeros(height, width); % --------------------- mog variables ----------------------------------- C = 4; % 组成混合高斯的单高斯数目(一般3-5) M = 0; % 组成背景的数目 D = 2.5; % 阈值(一般2.5个标准差) alpha = 0.01; % learning rate 学习率决定更新速度(between 0 and 1) (from paper 0.01) thresh = 0.75; % foreground threshold 前景阈值(0.25 or 0.75 in paper) sd_init = 6; % initial standard deviation 初始化标准差(for new components) var = 36 in paper w = zeros(height,width,C); % initialize weights array 初始化权值数组 mean = zeros(height,width,C); % pixel means 像素均值 sd = zeros(height,width,C); % pixel standard deviations 像素标准差 u_diff = zeros(height,width,C); % difference of each pixel from mean 与均值的差p = alpha/(1/C); % initial p variable 参数学习率(used to update mean and sd) rank = zeros(1,C); % rank of components (w/sd) % ------initialize component means and weights 初始化均值和权值---------- pixel_depth = 8; % 8-bit resolution 像素深度为8位 pixel_range = 2^pixel_depth -1; % pixel range 像素范围2的7次方0—255(# of possible values) for i=1:height for j=1:width for k=1:C mean(i,j,k) = rand*pixel_range; % means random (0-255之间的随机数) w(i,j,k) = 1/C; % weights uniformly dist sd(i,j,k) = sd_init; % initialize to sd_init end end

混和高斯模型的推导和实现

基于GMM 的运动目标检测方法研究 一、GMM 数学公式推导 1、预备知识: (1)设离散型随机变量X 的分布率为: {} 2,1,P ===k p a X k k 则称()∑= k k k p a X E 为X 的数学期望或均值 (2)设连续型随机变量X 的概率密度函数(PDF )为f(x) 其数学期望定义为:()()dx x xf X E ? +∞ ∞ -= (3)()()()[] 2 X E X E X D -=称为随机变量x 的方差,()X D 称为X 的标准差 (4)正态分布:() 2,~σμN X 概率密度函数为:()()??????? ?--= 22221 σμσ πx e x p (5)设(x,y)为二维随机变量,()[]()[]{}Y E Y X E X E --若存在,则 称其为X 和Y 的协方差,记为cov(x,y) ()()[]()[]{}()XY E Y E Y X E X E Y X =--=,cov 2、单高斯模型:SGM (也就是多维正态分布) 其概率密度函数PDF 定义如下: ()() ()()μμπμ--- -= x C x n T e C C x N 12 1 21 ,; 其中,x 是维数为n 的样本向量(列向量),μ是期望,C 是协方差矩阵,|C|表示C 的行列式,1-C 表示C 的逆矩阵,()T x μ-表示()μ-x 的转置。 3、混合高斯模型:GMM 设想有 m 个类:m 321????,,,, ,每类均服从正态分布。 各分布的中心点(均值)分别为:m 321μμμμ,,,,

方差分别为:m 321σσσσ,,,, 每一类在所有的类中所占的比例为 ()()()()m P P P P ????,,,,321 其中()11=∑=m i i P ?。 同时,已知 个观察点: 。其中,用大写P 表示概率,用小写p 表 示概率密度。 则依此构想,可得概率密度函数为: ()()()()()()()() ()()()μμπ??σμ?σμ?σμ--- =-∑ =?++?+?=x C x m i d i m m m T e C P P N P N P N x p 12 1 12221112,,, 其中d 是维数,|·|是行列式 但是在利用GMM 进行目标检测时,这些模型的参数可能已知,也可能不知道,当参数已知时,可以直接利用GMM 进行目标检测,在未知的情况下,需要对参数进行估计。对参数估计时,还要考虑样本分类是否已知。 (1)样本已知: 最大似然估计: 可以直接采用MLE (最大似然估计)进行参数估计: 未知量为集合:()()()m P P C C ??μμλ,,1m 1m 1 ,,,,,,= 将衡量概率密度函数优劣的标准写出:()()∏==n k k x P x p 1||λλ 即为: ()() () ()()i k T i k x C x n k m i d i e C P x p μμπ?λ--- ==-∏∑ =12 1 11 | |2| 只要定出该标准的最大值位置,就可以求出最优的待定参数。为了 求出这个最

【原创】R语言实现有限混合模型建模数据分析报告论文(附代码数据)

务(附代码数据),咨询QQ:3025393450 有问题到百度搜索“大数据部落”就可以了 欢迎登陆官网:https://www.360docs.net/doc/e48748197.html,/datablog R语言实现有限混合模型建模分析 介绍 有限混合模型在应用于数据时非常有用,其中观察来自不同的群体,并且群体隶属关系未知。模拟数据 首先,我们将模拟一些数据。让我们模拟两个正态分布 - 一个平均值为0,另一个平均值为50,两者的标准差为5。 m1<-0

务(附代码数据),咨询QQ:3025393450 有问题到百度搜索“大数据部落”就可以了 欢迎登陆官网:https://www.360docs.net/doc/e48748197.html,/datablog m2<-50 sd1<-sd2<-5 N1<-100 N2<-10 a<-rnorm(n=N1,mean=m1,sd=sd1) b<-rnorm(n=N2,mean=m2,sd=sd2) 现在让我们将数据“混合”在一起...... x<-c(a,b) class<-c(rep('a',N1),rep('b',N2)) data<-data.frame(cbind(x=as.numeric(x),class=as.factor(class))) library("ggplot2") p<-ggplot(data,aes(x=x))+

务(附代码数据),咨询QQ:3025393450 有问题到百度搜索“大数据部落”就可以了 欢迎登陆官网:https://www.360docs.net/doc/e48748197.html,/datablog geom_histogram(aes(x,..density..),binwidth=1,colour="black",fill ="white")+ geom_vline(xintercept=m1,col="red",size=2)+ geom_vline(xintercept=m2,col="blue",size=2) p

EM算法在高斯混合模型中的应用

EM 算法在高斯混合模型中的应用 1.定义 对于一个随机信号生成器,假设他的模型参数为Θ,我们能观测到的数据输出为X ,不能观测到的数据输出为Y ,且随机系统模型结构的概率密度函数为 (,|)p x y Θ (1) 能够观测到的一部分数据输出数据12{,,...,}N x x x ,模型的另一部分输出数据 未知,模型的参数Θ也未知。EM 算法就是要求我们从观测数据12{,,...,}N x x x 中估计出参数Θ。 2.EM 算法的描述 假设每一对随机系统的输出样本(,)n n x y 对于不同的n 相互独立,这样当(,,)p x y Θ,x 和y 都已知的情况下,概率(,,)p x y Θ也已知。未观测的输出y 的概率分布也属于待求参数Θ。 根据独立性假设有: 1(,|)(,|)N n n n p x y p x y =Θ=Θ∏ (2) 3.EM 算法的基本思路 基本问题是求解下面的方程的解: arg max (,|)p x y Θ=Θ (3) 由于X 是确定量,Y 是未知的,因此即使给定了Θ,也无法求得(,|)p x y Θ的值,因此我们只能退一步求: arg max (|)p x Θ=Θ (4) 其中 (|)(,|)[(|),(|,)]y Y y Y p x p x y p y p x y ∈∈Θ=Θ=ΘΘ∑∑ (5) 表示考虑了未知数据y 的所有可能的取值Y 后对(|,)p x y Θ求平均值。 最后根据log 函数的单调性得到(4)的等效形式: arg max log (|)p x Θ=Θ (6) 对于(6)给出的最优化问题,考虑用下面的递推算法解决,即:先给定一个估值k Θ并计算(|)k p x Θ,然后更新k Θ得到1k +Θ并且有 1log (|)log (|)k k p x p x +Θ>Θ (7) ()log (|)log [(|)(|,)] |(|,)log (|,)(|,)(|)(|,)(|,)log (|,)(,) y Y k k y Y k k y Y k p x p y p x y p y p x y p y x p y x p y p x y p y x p y x B ∈∈∈Θ=ΘΘΘΘ? ?=Θ??Θ???? ??ΘΘ≥Θ????Θ??? ?=ΘΘ∑∑∑ (8) 其中,等号在(,)k k B ΘΘ时成立,即: (,)log (|)k k k B p x ΘΘ=Θ (9)

高斯混合模型GMM实现matlab

高斯混合模型GMM实现matlab (1 )以下matlab代码实现了高斯混合模型: function [Alpha, Mu, Sigma] = GMM_EM(Data, Alpha0, Mu0, Sigma0) %%EM 迭代停止条件 loglik_threshold = 1e-10; %%初始化参数 [dim, N] = size(Data); M = size(Mu0,2); loglik_old = -realmax; nbStep = 0; Mu = Mu0; Sigma = Sigma0; Alpha = Alpha0; Epsilon = 0.0001; while (nbStep < 1200) nbStep = nbStep+1; %%E-步骤 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:M % PDF of each point Pxi(:,i) = GaussPDF(Data, Mu(:,i), Sigma(:,:,i)); end % 计算后验概率 beta(i|x) Pix_tmp = repmat(Alpha,[N 1]).*Pxi; Pix = Pix_tmp ./ (repmat(sum(Pix_tmp,2),[1 M])+realmin); Beta = sum(Pix); %%M- 步骤 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:M % 更新权值 Alpha(i) = Beta(i) / N; %更新均值 Mu(:,i) = Data*Pix(:,i) / Beta(i); %更新方差 Data_tmp1 = Data - repmat(Mu(:,i),1,N);

高斯混合模型

高斯混合模型(Gaussian Mixture Model, GMM) (2011-12-30 23:50:01) 标签: 分类:工作篇 校园 高斯混合模型 高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。对图像背景建立高斯模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以以为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相比比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈现双峰-谷形状,其中一个峰对应于目标,另一个峰对应于背景的中心灰度。对于复杂的图像,尤其是医学图像,一般是多峰的。通过将直方图的多峰特性看作是多个高斯分布的叠加,可以解决图像的分割问题。在智能监控系统中,对于运动目标的检测是中心内容,而在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而建模正是背景目标提取的一个重要环节。 我们首先要提起背景和前景的概念,前景是指在假设背景为静止的情况下,任何有意义的运动物体即为前景。建模的基本思想是从当前帧中提取前景,其目的是使背景更接近当前视频帧的背景。即利用当前帧和视频序列中的当前背景帧进行加权平均来更新背景,但是由于光照突变以及其他外界环境的影响,一般的建模后的背景并非十分干净清晰,而高斯混合模型 (GMM)是建模最为成功的方法之一。 英文翻译及缩写:Gaussian mixture model (GMM) 混合高斯模型使用K(基本为3到5个)个高斯模型来表征图像中各个像素点的特征,在新一帧图像获得后更新混合高斯模型,用当前图像中的每个像素点与混合高斯模型匹配,如果成功则判定该点为背景点, 否则为前景点。通观整个高斯模型,他主要是有方差和均值两个参数决定,,对均值和方差的学习,采取不同的学习机制,将直接影响到模型的稳定性、精确性和收敛性。由于我们是对运动目标的背景提取建模,因此需要对高斯模型中方差和均值两个参数实时更新。为提高模型的学习能力,改进方法对均值和方差的更新采用不同的学习率;为提高在繁忙的场景下,大而慢的运动目标的检测效果,引入权值均值的概念,建立背景图像并实时更新,然后结合权值、权值均值和背景图像对像素点进行前景和背景的分类。具体更新公式如下: μt= (1 - ρ)μt- 1 +ρxt (1) ?2t = (1 - ρ)?2t- 1 +ρ( xt -μt ) T ( xt -μt ) (2) ρ =αη( xt | μκ,?κ ) (3) | xt -μt - 1 | ≤ 2. 5?t- 1 (4) w k , t = (1 - α) w k , t - 1 +αMk , t (5) 式中ρ为学习率,即反映当前图像融入背景的速率。

高斯混合模型GMM实现 matlab

(1)以下matlab代码实现了高斯混合模型: function [Alpha, Mu, Sigma] = GMM_EM(Data, Alpha0, Mu0, Sigma0) %% EM 迭代停止条件 loglik_threshold = 1e-10; %% 初始化参数 [dim, N] = size(Data); M = size(Mu0,2); loglik_old = -realmax; nbStep = 0; Mu = Mu0; Sigma = Sigma0; Alpha = Alpha0; Epsilon = 0.0001; while (nbStep < 1200) nbStep = nbStep+1; %% E-步骤 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:M % PDF of each point Pxi(:,i) = GaussPDF(Data, Mu(:,i), Sigma(:,:,i)); end % 计算后验概率 beta(i|x) Pix_tmp = repmat(Alpha,[N 1]).*Pxi; Pix = Pix_tmp ./ (repmat(sum(Pix_tmp,2),[1 M])+realmin); Beta = sum(Pix); %% M-步骤 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:M % 更新权值 Alpha(i) = Beta(i) / N; % 更新均值 Mu(:,i) = Data*Pix(:,i) / Beta(i); % 更新方差 Data_tmp1 = Data - repmat(Mu(:,i),1,N);

高斯混合模型GMM实现matlab

高斯混合模型GMM 实现matlab (1)以下matlab 代码实现了高斯混合模型: function[Alpha,Mu,Sigma]=GMM_EM(Data,Alpha0,Mu0,Sigma0) %%EM迭代停止条件 loglik_threshold=1e-10; %%初始化参数 [dim,N]=size(Data); M=size(Mu0,2); loglik_old=-realmax; nbStep=0; Mu=Mu0; Sigma=Sigma0; Alpha=Alpha0; Epsilon=0.0001; while(nbStep<1200) nbStep=nbStep+1; %%E-步骤%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fori=1:M %PDFofeachpoint Pxi(:,i)=GaussPDF(Data,Mu(:,i),Sigma(:,:,i));e nd %计算后验概率beta(i|x) Pix_tmp=repmat(Alpha,[N1]).*Pxi; Pix=Pix_tmp./(repmat(sum(Pix_tmp,2),[1M])+realmin); Beta=sum(Pix); %%M-步骤%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fori=1:M %更新权值 Alpha(i)=Beta(i)/N; %更新均值 Mu(:,i)=Data*Pix(:,i)/Beta(i); %更新方差 Data_tmp1=Data-repmat(Mu(:,i),1,N);

Sigma(:,:,i)=(repmat(Pix(:,i)',dim,1).*Data_tmp1*Data_tmp1')/Beta(i); %%AddatinyvariancetoavoidnumericalinstabilitySigm a(:,:,i)=Sigma(:,:,i)+1E-5.*diag(ones(dim,1)); end %%%Stoppingcriterion1%%%%%%%%%%%%%%%%%%%% %fori=1:M %Computethenewprobabilityp(x|i) %Pxi(:,i)=GaussPDF(Data,Mu(:,i),Sigma(i)); %end %Computetheloglikelihood %F=Pxi*Alpha'; %F(find(F

相关文档
最新文档