1、高斯混合模型(GMM)高斯混合模型(GMM) GMM的表 GMM参数计算 GMM应用举例高斯混合模型(GMM) GMM的表达 GMM参数计算 GMM应用举例高斯模型 是一种参数化模型,用高斯密度函数估计目标的分布 单高斯(SingleGaussianModel) 高斯混合模型(Gaussianmixturemodel)高斯混合模型(GMM) 公式表达:参数空间:高斯混合模型(GMM) GMM的表达式 GMM参数计算 GMM应用举例GMM参数学习*注意:对于观察集x中的各个观察值xi,这里认为相互之间独立。GMM参数学习 对目标函数取对数: 可以看出目标函数是和的对数,优化问题麻烦,简化的问题:
2、某混合高斯分布一共有K个分布,对于每一个观察到的x,如果我们同时还知道它是属于K中哪一个分布的,则可以直接求解出各个高斯分布的参数。 因此引入隐变量Z,用于表示样本x输入哪一个高斯分布111ln( (;)ln( ;)ln( ;,)NNKikikkiikp Xp xN x GMM参数学习 定义Zi=zi1,ziK,zik表示xi是否属于第k个高斯函数,zik只有两个取值0、1,即zik=1表示xi属于第k个高斯函数,zik=0表示xi不属于第k个高斯函数。 那么,有:1()ikKzikkp Z11KikkzGMM参数学习 引入Z后(|1;)(|,)iikikkp xzN x 从而得到1(|;)(
3、|,)ikzKiiikkkp xZN x 注意:这里zik只有0和1的选择GMM参数学习 在简化问题中,我们实际的观察变量是X,Z,根据一下两个公式1()ikKzikkp Z1(|;)(|,)ikzKiiikkkp xZN x 可以得到11(X,Z;)(|,)ikikzNKzkikknkpN x 注意:这里N是X X=x集合的大小。GMM参数学习 比较原问题和简化问题111ln( (;)ln( ;)ln( ;,)NNKikikkiikp Xp xN x 1111ln(X,Z;)ln(|,) =lnln(|,)ikikzNKzkikknkNKikkikknkpN xzN x 后者的ln直接作用于
4、正态分布,使正态分布由乘的e指数形式变为加的简单形式GMM参数学习 为了最大化上式,由于zik已知,我们可以把上式按观察到的(x,z)分为K组,即按照所属的高斯函数进行分组11ln(X,Z;)lnln(|,)NKikkikkikpzN x 12111222ln(X,Z;)(lnln(|,)(lnln(|,)+.+(lnln(|,)Kiii Ci CKiKKi CpN xN xN x 注意:用到zik的取值,所以zik不会再出现在公式中。GMM参数学习 因为我们假定zik已知,因而最大化某一个高斯函数(lnln(|,)lnln(|,)kkikkkkkki CN xNN X是可以数值求解的。 假定
5、Ck中含有Nk个样本,则(lnln(|,)kkikki CN x注意:这里X X表示的是xi的联合,X X 表示的是仅属于Ck的样本的联合。GMM参数学习 对于单高斯函数111ln(|,)ln(2 )()()222kNTkkkkikkikiN DNN Xxx 11ln(|,)()kNkkkikikN Xx 令上式等于0,则有11kNkiikxN 同理,可以得到11()()kNTkikikikxxN GMM参数学习 在zik已知的情况下,我们求出了高斯函数的数值解:11Nkikiikz xN11()()NTkikikikikzxxN 其中1NkikiNzGMM参数学习1111ln(X,Z;)(1
6、)lnln(|,)(1)KkkNKKikkikkkikkLpzN x 110KkkL 10NikikzL11NKikikzN 1NikikkzNNNGMM参数学习 引入隐变量Z后,我们得到了最大化目标函数的结果11ln(X,Z;)lnln(|,)NKikkikkikpzN x 11Nkikiikz xN11()()NTkikikikikzxxN 1NkikiNz1NikikkzNNN通过上面的公式,可以看出如果能够知道每一个zik的取值,那么就能求解出最大化目标函数的参数取值,但事实上给定一组观察数据x后,是无法获取zik的,因此我们将用zik的均值Ezik来代替。11()NkikiikE z
7、xN11()()NTkikikikikE zxxN ( )1()NkikiNE z1E()NikikkzNNNGMM参数学习 进一步解释现在的问题转化为如何求解Ezik?Ezik11( )NkikiikE z xN11()()NTkikikikikE zxxN ( )1( )NkikiNE z1E( )NikikkzNNNEM算法GMM参数学习GMM参数学习1iii(|)(|,)=(|,)(|) (|,)=(|)(1|) (|1,)(0|) (|0,)=10(|)(|)ikikikNikikiknznikikizikiikikzikiikikiikE zz p zxz p zxp zp xzz
8、p xp zp xzp zp xzp xp x ikj1(1|) (|1,)=(|)N(|,)=N(|,)ikiikikkKijjjp zp xzp xxxzik只与xi有关公式展开Zik只有0、1取值贝叶斯公式GMM参数学习 小结kj1N(|,)(|)=N(|,)ikkikKijjjxE zx 11( )NkikiikE z xN11()()NTkikikikikE zxxN ( )1( )NkikiNE z1E( )NikikkzNNNM-stepE-stepGMM参数学习 算法流程GMM参数学习 GMM,K=2K-meams初始化原始数据迭代过程迭代过程迭代过程迭代结果高斯混合模型(GM
9、M) GMM的表达式 GMM参数计算 GMM应用举例GMM应用:背景建模 背景模型:对图像中的场景进行建模,从而进行运动检测。要点1:将图像中的每个图像单位(像素,块等)看成是从混合高斯分布样本中采样得到的随机变量;要点2:根据先验知识,每个像素点是前景或背景的先验概率可以估值;要点3:考虑到背景的多模态和复杂度,一般的混合高斯模型采用3-5个单高斯模型进行混合。GMM应用:背景建模 用K个高斯模型来表征图像中各个像素点的特征 Ixy,t属于背景区域的概率密度:, , , ,1()(,),Kxy txy k txy txy k txy k tkf IN IIxy,t 表示t时刻图像I中的xy位
10、置的像素特征。, ,11Kxy k tk模型主要步骤:1,模型初始化;2,背景描述;3,前景判决;4,模型更新。GMM应用:背景建模 模型初始化(1/3), ,101xy txy k tIkk0kKGMM应用:背景建模 模型初始化(2/3)2, ,var1,2,.,xy k tkKGMM应用:背景建模 模型初始化(3/3)int, ,int1(1)/(1)1xy k tWkWKkGMM应用:背景建模 背景模型描述, , ,1,1,/xy k txy k txy ktxy kt2. 排序后,用前B个高斯模型作为背景模型:,1arg m in ()Bxy k tBkTT为选定的阈值。用于确定描述背
11、景模型的高斯函数的个数GMM应用:背景建模 前景判决(1/2),1, , , ,1,11,|I|()0,xy txy k txy k txy k txy tifmIelse判断当前像素,属于背景或前景GMM应用:背景建模 前景判决(2/2),1, ,1,1arg min()0 xy txy k txy tkMmI,1,elsexy tif MB前景背景前景判决:GMM应用:背景建模 模型更新(1/2)更新所有高斯模型的权重,并重新归一化:, , 1, ,k, 1(1)xy k txy k txytm ,1,1,1,1,1,1,1,1,1,1222,(;,)(1)(1)()xy txy txy txy txy txy txy txy txy Mtxy Mtxy Mtxy Mtxy txy Mtxy Mtxy txy MtN III 更新模型,使其适应场景的变化GMM应用:背景建模 模型更新(2/2), , 1, , 1(1)(), 111initxy i tinitxy i tWWikk , , 1, , 1, 12, , 1(1-W )/(K-1),varxy K tinitxy K txy txy K tI(1)更新前k-1个模型的权重:(2)重新初始化第K个模型: