基于高斯混合模型的期望最大化(EM)算法在图像分割中的应用
题目描述
图像分割是将数字图像划分为多个区域(像素的集合),使得同一区域内的像素具有相似的视觉特征(如颜色、纹理、亮度等)。高斯混合模型(Gaussian Mixture Model, GMM)是一种基于概率的聚类方法,它假设图像中每个像素的颜色特征(例如在RGB或Lab色彩空间中的向量)是由K个高斯分布混合生成的。每个高斯分布对应图像中的一个潜在区域(例如天空、草地、建筑等)。期望最大化(Expectation-Maximization, EM)算法用于估计GMM的参数(每个高斯分布的均值、协方差和混合权重),进而计算每个像素属于各个区域的概率,最终实现软分割或硬分割。
本题目将详细讲解:1)如何用GMM对图像颜色特征建模;2)EM算法在图像分割中的具体迭代步骤(E步计算后验概率,M步更新参数);3)如何根据学得的GMM完成图像分割。
解题过程
步骤1:用高斯混合模型对图像建模
假设图像有 \(N\) 个像素,每个像素的颜色特征是一个 \(d\) 维向量(例如RGB空间 \(d=3\),Lab空间 \(d=3\))。设第 \(n\) 个像素的特征为 \(\mathbf{x}_n \in \mathbb{R}^d\)。GMM假设这些特征由 \(K\) 个多元高斯分布混合生成:
\[p(\mathbf{x}_n) = \sum_{k=1}^K \pi_k \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k) \]
- \(\pi_k\):第 \(k\) 个高斯分布的混合系数(权重),满足 \(\sum_{k=1}^K \pi_k = 1\),\(\pi_k \geq 0\)。权重 \(\pi_k\) 可解释为第 \(k\) 个区域在图像中的占比。
- \(\mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)\):第 \(k\) 个高斯分布的概率密度函数,其中:
- \(\boldsymbol{\mu}_k \in \mathbb{R}^d\) 是均值向量,表示第 \(k\) 个区域的典型颜色。
- \(\boldsymbol{\Sigma}_k \in \mathbb{R}^{d \times d}\) 是协方差矩阵(通常假设为对角阵以简化计算),表示该区域颜色的波动范围。
目标:给定像素特征 \(\{\mathbf{x}_1, \dots, \mathbf{x}_N\}\),估计参数 \(\boldsymbol{\theta} = \{\pi_k, \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k\}_{k=1}^K\)。之后,对每个像素 \(\mathbf{x}_n\),可计算其后验概率 \(p(z_n = k | \mathbf{x}_n)\),即该像素属于第 \(k\) 个区域的概率,进而实现分割。
步骤2:EM算法的E步(期望步)
在EM算法的第 \(t\) 次迭代,假设已有上一轮参数估计 \(\boldsymbol{\theta}^{(t-1)}\)。E步计算每个像素对每个高斯分量的后验概率(也称为“责任” responsibility):
\[\gamma_{nk}^{(t)} = p(z_n = k | \mathbf{x}_n; \boldsymbol{\theta}^{(t-1)}) = \frac{\pi_k^{(t-1)} \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k^{(t-1)}, \boldsymbol{\Sigma}_k^{(t-1)})}{\sum_{j=1}^K \pi_j^{(t-1)} \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_j^{(t-1)}, \boldsymbol{\Sigma}_j^{(t-1)})} \]
- \(\gamma_{nk}^{(t)}\) 表示在第 \(t\) 轮迭代中,像素 \(n\) 属于区域 \(k\) 的概率。
- 分母是混合分布的总概率密度,确保对每个像素 \(n\) 有 \(\sum_{k=1}^K \gamma_{nk}^{(t)} = 1\)。
在图像分割中,E步相当于“软分配”:每个像素以概率形式同时属于所有区域,但概率高的区域更可能是其真实归属。
步骤3:EM算法的M步(最大化步)
M步利用E步计算出的后验概率 \(\gamma_{nk}^{(t)}\),更新GMM参数以最大化数据的对数似然期望。更新公式如下:
- 更新混合系数 \(\pi_k\):
计算属于第 \(k\) 个区域的“有效像素数”:
\[ N_k^{(t)} = \sum_{n=1}^N \gamma_{nk}^{(t)} \]
更新权重:
\[ \pi_k^{(t)} = \frac{N_k^{(t)}}{N} \]
即第 \(k\) 个区域的权重等于所有像素属于该区域的后验概率之和的平均。
- 更新均值向量 \(\boldsymbol{\mu}_k\):
\[ \boldsymbol{\mu}_k^{(t)} = \frac{1}{N_k^{(t)}} \sum_{n=1}^N \gamma_{nk}^{(t)} \mathbf{x}_n \]
即以 \(\gamma_{nk}^{(t)}\) 为权重,对所有像素特征加权平均,得到新的区域典型颜色。
- 更新协方差矩阵 \(\boldsymbol{\Sigma}_k\)(假设为对角阵):
对每个颜色通道 \(c = 1, \dots, d\),计算方差:
\[ \sigma_{kc}^{2(t)} = \frac{1}{N_k^{(t)}} \sum_{n=1}^N \gamma_{nk}^{(t)} (x_{nc} - \mu_{kc}^{(t)})^2 \]
其中 \(x_{nc}\) 是像素 \(n\) 在第 \(c\) 个通道的值,\(\mu_{kc}^{(t)}\) 是 \(\boldsymbol{\mu}_k^{(t)}\) 的第 \(c\) 个分量。则 \(\boldsymbol{\Sigma}_k^{(t)} = \text{diag}(\sigma_{k1}^{2(t)}, \dots, \sigma_{kd}^{2(t)})\)。
若使用全协方差矩阵,更新为:
\[ \boldsymbol{\Sigma}_k^{(t)} = \frac{1}{N_k^{(t)}} \sum_{n=1}^N \gamma_{nk}^{(t)} (\mathbf{x}_n - \boldsymbol{\mu}_k^{(t)}) (\mathbf{x}_n - \boldsymbol{\mu}_k^{(t)})^\top \]
但全协方差矩阵参数多,在图像分割中容易过拟合,通常用对角阵。
M步后,参数 \(\boldsymbol{\theta}^{(t)}\) 被更新。重复E步和M步,直到对数似然(或参数变化)收敛。
步骤4:基于学得的GMM进行图像分割
当EM算法收敛后,得到最优参数 \(\boldsymbol{\theta}^* = \{\pi_k^*, \boldsymbol{\mu}_k^*, \boldsymbol{\Sigma}_k^*\}\)。分割过程如下:
-
软分割:对每个像素 \(n\),保留其后验概率向量 \([\gamma_{n1}^*, \dots, \gamma_{nK}^*]\)。这可用于生成概率图,显示像素属于各区域的不确定性(例如在医学图像中表示边界模糊区域)。
-
硬分割:对每个像素 \(n\),选择后验概率最大的区域作为其标签:
\[ \hat{z}_n = \arg\max_{k} \gamma_{nk}^* \]
将所有像素按其标签 \(\hat{z}_n\) 着色(例如用对应区域的均值颜色 \(\boldsymbol{\mu}_k^*\)),即得到分割结果图像。
步骤5:算法初始化与超参数选择
- 初始化:常用K-means对像素特征聚类,用聚类中心作为初始 \(\boldsymbol{\mu}_k\),各类样本方差作为初始 \(\boldsymbol{\Sigma}_k\),各类样本比例为初始 \(\pi_k\)。
- 超参数 \(K\):即分割区域数。可通过交叉验证、信息准则(如BIC、AIC)或基于图像先验知识设定。
- 协方差类型:对角协方差计算高效且适合颜色特征;全协方差能捕捉特征间相关性但需更多数据。
总结
将GMM-EM用于图像分割的核心思想是:将像素颜色视为由多个高斯分布生成的观测数据,通过EM算法学习每个高斯分布的参数,从而得到每个像素对各个高斯分布(即图像区域)的归属概率,实现概率分割或确定分割。 该方法是一种生成式模型,优点是可提供概率输出、易于加入空间先验(如马尔可夫随机场平滑约束)。但EM对初始值敏感,且假设数据服从高斯混合,对非高斯形状的区域可能效果受限。