GMM_EM_混合高斯模型及其求解应用

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要点1:将图像中的每个图像单位(像素,块等)看成是从 混合高斯分布样本中采样得到的随机变量;
要点2:根据先验知识,每个像素点是前景或背景的先 验概率可以估值;
要点3:考虑到背景的多模态和复杂度,一般的混合高 斯模型采用3-5个单高斯模型进行混合。
GMM应用:背景建模
• 用K个高斯模型来表征图像中各个像素点的特征 • Ixy,t属于背景区域的概率密度:
N
(z ) ( x )( x ) E
ik
k
E(z
i 1
ik
)
N
N i 1
Nk N
N k E ( zik )
GMM参数学习
• 进一步解释
1 N k E ( zik ) xi N k i 1 1 N k E (zik) ( xi k )( xi k )T N k i 1
现在的问题转化为如何求解E{zik}?
k
E(z
i 1
N
ik
)
N
N i 1
Nk N
N k E ( zik )
E{zik}
EM算法
GMM参数学习
GMM参数学习
E ( zik | ) z zik p ( zik | xn , ) = z zik p ( zik | xi , )
高斯混合模型(GMM)
高斯混合模型(GMM)
• GMM的表
• GMM参数计算
• GMM应用举例
高斯混合模型(GMM)
• GMM的表达
• GMM参数计算
• GMM应用举例
高斯模型
• 是一种参数化模型,用高斯密度函数估计目标的 分布
• 单高斯(Single Gaussian Model)
• 高斯混合模型(Gaussian mixture model)
Nk N
N k E ( zik )
GMM参数学习
• 算法流程
GMM参数学习
• GMM,K=2
原始数据 K-meams初始化 迭代过程
迭代过程
迭代过程
迭代结果
高斯混合模型(GMM)
• GMM的表达式
• GMM参数计算
• GMM应用举例
GMM应用:背景建模
• 背景模型:对图像中的场景进行建模,从而进行 运动检测。
1 k Nk 1 k Nk
z
i 1 N i 1
N
ik i
x
z
ik
( xi k )( xi k )T
其中
N k zik
i 1 N
GMM参数学习
L ln p (X, Z; ) ( k 1)
k 1
K

z
i 1 k 1
N
K
ik
{ln k ln N ( xi | k , k )} ( k 1)
iCk
(ln
k
ln N ( xi | k , k )) Nk ln k ln N ( X | k , k )
注意:这里X表示的是xi的联合,X 表示的是仅属于Ck的样本的联合。
GMM参数学习
• 对于单高斯函数
Nk D Nk 1 Nk 1 ln N ( X | k , k ) ln(2 ) ( xi k )T k ( xi k ) 2 2 2 i 1
i 1 i 1 k 1 N N K
• 可以看出目标函数是和的对数,优化问题麻烦, 简化的问题:某混合高斯分布一共有K个分布, 对于每一个观察到的x,如果我们同时还知道它 是属于K中哪一个分布的,则可以直接求解出各 个高斯分布的参数。 • 因此引入隐变量Z,用于表示样本{x}输入哪一个 高斯分布
f ( I xy ,t ) xy ,k ,t N ( I xy ,t , xy ,k ,t , xy ,k ,t ),
k 1 K

k 1
K
xy , k ,t
1
Ixy,t 表示t时刻图像I中的xy位置的像素特征。
模型主要步骤:
1,模型初始化; 2,背景描述; 3,前景判决; 4,模型更新。
arg min( xy , k ,t T )
B k 1 B
T为选定的阈值。
GMM应用:背景建模
• 前景判决(1/2)判断当前像素,属于背景或前景
1, if | I xy ,t 1 xy ,k ,t | xy ,k ,t mxy ,k ,t 1 ( I xy ,t 1 ) else 0,
通过上面的公式, 可以看出如果能够 知道每一个zik的取 值,那么就能求解 出最大化目标函数 的参数取值,但事 实上给定一组观察 数据{x}后,是无 法获取zik的,因此 我们将用zik的均值 E{zik}来代替。
k
E(z
i 1 N i 1
ik
) xi
T i k i k
1 k Nk
2 2 2 xy , M xy ,t 1 ,t (1 ) xy , M xy ,t 1 ,t ( I xy ,t xy , M xy ,t 1 ,t )
GMM应用:背景建模
• 模型更新(2/2)
(1)更新前k-1个模型的权重:
xy,i,t 1 (1 Winit )( xy,i,t 1
• 引入Z后
p( xi | zik 1; ) N ( xi | k , k )
• 从而得到
p ( xi | Z i ; ) N ( xi | k , k )
k 1 K zik
注意:这里zik只有0和1的选择
GMM参数学习
• 在简化问题中,我们实际的观察变量是{X,Z},根 据一下两个公式
+...+ (ln K ln N ( xi | K , K ))
注意:用到zik 的取值,所以zik 不会再出现在公式中。
GMM参数学习
• 因为我们假定zik已知,因而最大化某一个高斯函 数
iCk
(ln
k
ln N ( xi | k , k ))
是可以数值求解的。 • 假定Ck中含有Nk个样本,则
n 1 k 1 K
N
K
=
z
n 1 k 1
N
ຫໍສະໝຸດ Baidu
ik
{ln k ln N ( xi | k , k )}
• 后者的ln直接作用于正态分布,使正态分布由乘 的e指数形式变为加的简单形式
GMM参数学习
ln p(X, Z; )
z
i 1 k 1
N
K
ik
{ln k ln N ( xi | k , k )}
p( Z i ) kzik
k 1 K
p ( xi | Z i ; ) N ( xi | k , k )
k 1
K
zik
• 可以得到
p (X, Z; ) kzik N ( xi | k , k )
n 1 k 1 N K zik
注意:这里N是X={x}集合的大小。
高斯混合模型(GMM)
• 公式表达:
参数空间:
高斯混合模型(GMM)
• GMM的表达式
• GMM参数计算
• GMM应用举例
GMM参数学习
*注意:对于观察集{x}中的各个观察值x ,这里认为相互之间独立。 i
GMM参数学习
• 对目标函数取对数:
ln( p( X ; )) ln p( xi ; ) ln( k N ( xi ; k , k ))
z
i 1 k 1
ik
{ln k ln N ( xi | k , k )}
1 Nk
N
1 k Nk 1 k Nk
N
zik xi
i 1 N
N
z
i 1
ik
( xi k )( xi k )
T
k
z
i 1
N
ik
N
i 1
N k N
N k zik
E ( zik | ) =
k N( xi | k , k )
E-step
N( x | ,
j 1 j i j
K
1 N k E (zik) ( xi k )( xi k )T N k i 1
j
)
M-step
k
E(z
i 1
N
N
ik
)
N
i 1
k 1
K
L K k 1 0 k 1
L i 1 k
zik N
i 1 k 1
N
K
zik
N
0
k
z
i 1
N
ik
N

Nk N
GMM参数学习
• 引入隐变量Z后,我们得到了最大化目标函数的 N K 结果
ln p(X, Z; )
Wint (1 Wint ) / ( K 1)
k 1 k 1
GMM应用:背景建模
• 背景模型描述
用于确定描述背景模型的高斯函数的个数
xy ,k ,t / xy ,k ,t xy ,k 1,t / xy ,k 1,t
2. 排序后,用前B个高斯模型作为背景模型:
GMM参数学习
• 比较原问题和简化问题
ln( p( X ; )) ln p( xi ; ) ln( k N ( xi ; k , k ))
i 1 i 1 k 1
zik
N
N
K
ln p (X, Z; ) ln{ kzik N ( xi | k , k ) }
xy,k ,t 1 (1 ) xy,k ,t mxy,k,t 1
N ( I xy ,t 1; xy , M xy ,t 1 ,t , xy ,M xy ,t 1 ,t ) xy , M xy ,t 1 ,t 1 (1 ) xy , M xy ,t 1 ,t I xy ,t 1
• 为了最大化上式,由于zik已知,我们可以把上式 按观察到的(x,z) 分为K组,即按照所属的高斯函 数进行分组
ln p(X, Z; )
iC1
(ln
iCK
1
ln N ( xi | 1 , 1 )) (ln 2 ln N ( xi | 2 , 2 ))
iC2
Zik只有 0、1取值
p ( zik 1| ) p ( xi | zik 1, ) = p ( xi | ) =
k N( xi | k , k )
N( x | ,
j 1 j i j
K
j
)
公式展开
GMM参数学习
• 小结
1 N k E ( zik ) xi N k i 1
Nk 1 ln N ( X | k , k ) k ( xi k ) k i 1
• 令上式等于0,则有 • 同理,可以得到
1 k Nk
Nk
x
i 1 i
Nk
i
1 k Nk
(x
i 1
k
)( xi k )T
GMM参数学习
• 在zik已知的情况下,我们求出了高斯函数的数值 解:
GMM应用:背景建模
• 前景判决(2/2)
M xy ,t 1 arg min{mxy , k ,t 1 ( I xy ,t 1 ) 0}
k
前景判决:
if M xy ,t 1 B, 前景 else 背景
GMM应用:背景建模
• 模型更新(1/2)更新模型,使其适应场景的变化
更新所有高斯模型的权重,并重新归一化:
GMM应用:背景建模
• 模型初始化(1/3)
xy ,k ,t
I xy ,t 0
k 1 k 1
0 k K
GMM应用:背景建模
• 模型初始化(2/3)
2 xy , k ,t var
k 1, 2,..., K
GMM应用:背景建模
• 模型初始化(3/3)
xy ,k ,t
ik
N
n 1
ik
zik只与xi有关 贝叶斯公式
= z =1
ik
p ( zik | ) p ( xi | zik , ) zik p ( xi | )
p ( zik 1| ) p ( xi | zik 1, ) p ( z 0 | ) p ( xi | zik 0, ) 0 ik p ( xi | ) p ( xi | )
GMM参数学习
• 定义Zi={zi1,…, ziK}, zik表示xi是否属于第k个高斯 函数,zik只有两个取值0、1,即zik=1表示xi属于 第k个高斯函数, zik=0表示xi不属于第k个高斯函 数。 • 那么,有:
z
k 1
K
ik
1
K
p( Z i ) kzik
k 1
GMM参数学习
相关文档
最新文档