【图像分割】【FCM】【经典文献解读】基于隐Markov随机场模型的增强型空间约束FCM图像分割 HMRF-FCM

参考文献
Chatzis S. P., Varvarigou T. A. A Fuzzy Clustering Approach Toward Hidden Markov Random Field Models for Enhanced Spatially Constrained Image Segmentation. IEEE Transactions on Fuzzy Systems 16(5) (2008) 1351-1361
该算法首次将隐Markov随机场模型引入FCM,达到了较好的分割效果。

1、隐Markov随机场模型

随机场是什么?打一个很简单的比喻:现在有一个农民,家里有几块地,开春了,要开始种庄稼,每一块地里种什么庄稼,都具有一个概率,所有位置的概率构成了随机场。
什么是Markov随机场?简单地说,就是某一块地种什么庄稼,只与这块地周围的地种什么庄稼有关,与更远的土地没有关系。

下面给出数学表达。对于图像分割,实际上就是给每个像素打标签,标签表明了每个像素被分进了哪个类别。假设想要将10个像素分成3个类,每个像素只能分进1类中。
Q Q 为标签集
Q = { 1 , 2 , 3 } Q=\{1,2,3\}
其中1表示第一个类,2表示第二个类,依次类推。
令S为索引集
S = { 1 , 2 , . . . , 10 } S=\{1,2,...,10\}
其中1表示第一个像素,2表示第二个像素,依次类推。
则对于任意 j S j\in S ,有 x j Q x_j\in Q x j x_j 为第 j j 个像素所属的类别,可以为1,也可以为2,等等。
此时定义一个概率分布
p ( x j ) > 0 p(x_j)>0
表示第 j j 个像素为某个类别的概率。该概率分布,就是随机场。
OK,现在讨论Markov随机场~
前面说了,在Markov随机场中,某一个像素属于什么类别只与它周围像素属于什么类别有关系,那么显然,必须首先定义一个能够描述“周围”的方式,在数学上,这种方式为邻域。我们知道,每一个像素都拥有与其紧邻的像素(不考虑位于边缘的像素),即每一个像素都具有邻域。
邻域示意图,C表示中心土地,周围粉色的矩形表示邻域中的土地
\partial 表示所有像素的邻域,即邻域系统。那么现在,就可以用数学语言来描述Markov随机场
p ( x j ) = p ( x j X j ) p(x_j)=p(x_j|X_{\partial_j})
其中, X j X_{\partial_j} 表示一个集合,包含第 j j 个像素邻域中所有像素的类别。
然而,图像是二维的,从而, j j 实际上是一个二维坐标,所以接下来,为了更加详细地描述,需要使用联合概率分布。Hammersley–Clifford理论证明,Markov随机场与Gibbs随机场的联合概率分布是等价的,则Markov随机场的联合概率分布为
p ( x j ) = p ( x j X j ) = exp ( U ( x j ) ) Z p(x_j)=p(x_j|X_{\partial_j})=\frac{\exp(-U(x_j))}{Z}
其中, Z Z 是一个使 p ( x j ) p(x_j) 归一化的常数, U ( x j ) U(x_j) 叫做能量函数。
U ( x j ) = C V C ( x j ) U(x_j)=\sum_CV_C(x_j)
其中, V C ( x j ) V_C(x_j) 表示第 j j 个像素邻域中某一个基团C的势能,OK,如何表示势能呢,只能说八仙过海,各显神通,目前提出了多种势能表示方法,OK,那么什么是基团,简单地说,就是邻域里面,一个、两个或三个相邻的像素可以拉帮结伙,构成一个个小集团,分别为一阶基团、二阶基团或三阶基团。
人们发现,在实际应用中, Z Z 的计算量较大,需要一种近似计算方法减少计算量。1975年,J.Besag提出一种伪似然估计法,即
p ( x j ) = p ( x j X j ) = exp ( j C V C ( x j ) ) x j = 1 3 exp ( j C V C ( x j ) ) p(x_j)=p(x_j|X_{\partial_j})=\frac{\exp(-\sum_{j\in C}V_C(x_j))}{\sum_{x_j=1}^3\exp(-\sum_{j\in C}V_C(x_j))}
现在,Markov随机场已经被表示了出来。

然而,实际生活经验告诉我们,将所有像素一视同仁随便分类显然不科学,不同的像素需要根据其灰度值来进行分类,OK,现在引入另一个条件,像素灰度值。
令集合 R R 表示所有灰度值,有
R = { 0 , 1 , 2 , 3 , 4 , 5 , . . . , 255 } R=\{0,1,2,3,4,5,...,255\}
对于任意 j S j\in S ,有 y j R y_j\in R y j y_j 表示第 j j 个像素的灰度。对于一张图像,每个像素的灰度,一定是事先就确定的。那么将灰度 y j y_j 与像素类别 x j x_j 放在一起,构成的联合概率分布 p ( y j , x j ) p(y_j,x_j) ,就是隐Markov随机场。
接下来如何求解 p ( y j , x j ) p(y_j,x_j) ,是得到隐Markov随机场的关键。
众所周知
p ( y j , x j ) = p ( y j x j ) p ( x j ) p(y_j,x_j)=p(y_j|x_j)p(x_j)
其中, p ( x j ) p(x_j) 已经可以表示,它就是Gibbs随机场的联合概率分布,叫做隐含场, p ( y j ) p(y_j) 叫做观测场。需要求解 p ( y j x j ) p(y_j|x_j) ,即已知第 j j 个像素的类别,它的灰度是多少的概率。一般地,可以利用正态分布,描述 p ( y j x j ) p(y_j|x_j) ,因为正态分布有参数,所以引入 θ \theta 表示其所有参数,即
p ( y j x j ) = p ( y j x j ; θ x j ) = N x j ( μ x j , σ x j ) p(y_j|x_j)=p(y_j|x_j;\theta_{x_j})=N_{x_j}(\mu_{x_j},\sigma_{x_j})
其中, μ x j σ x j \mu_{x_j}和\sigma_{x_j} 分别表示第 x j x_j 类中所有像素灰度值的均值与方差,一定记住, x j x_j 表示的是类别标签。将 p ( y j x j ) p(y_j|x_j) 画成图像的话,则横坐标为灰度值,纵坐标为概率值,由于分3类,则有3条高斯概率密度曲线。
现在,隐Markov随机场也被表示完成。

OK,现在将隐Markov随机场引入FCM中

2、基于隐Markov随机场的FCM—HMRF-FCM

首先,该算法利用了Ichihashi等人提出的一种基于KL信息惩罚的FCM方法,目标函数如下
J = i = 1 3 j = 1 10 u i j d i j + λ i = 1 3 j = 1 10 u i j ln ( u i j π i j ) J=\sum_{i=1}^3\sum_{j=1}^{10}u_{ij}d_{ij}+\lambda\sum_{i=1}^3\sum_{j=1}^{10}u_{ij}\ln(\frac{u_{ij}}{\pi_{ij}})
其中,
π i j = p ( x j ) = p ( x j = i X j ) = exp ( j C V C ( a i j ) ) h = j 3 exp ( j C V C ( a h j ) ) \pi_{ij}=p(x_j)=p(x_j=i|X_{\partial_j})=\frac{\exp(-\sum_{j\in C}V_C(a_{ij}))}{\sum_{h=j}^3\exp(-\sum_{j\in C}V_C(a_{hj}))}
a i j = ( x j = i , X θ j ) a_{ij}=(x_j=i,X_{\theta_j}) ,由于 X θ j X_{\theta_j} 是一个集合,在实际应用中,不容易直接使用,一般利用平均场估计方法得到 X θ j X_{\theta_j} 的估计,记为 x θ j x'_{\theta_j} ,则 a i j = ( x j = i , x θ j ) a_{ij}=(x_j=i,x'_{\theta_j})
本算法为简化操作,直接利用8邻域中的一阶基团像素标签表达能量函数 U ( x j ) U(x_j) ,即
U ( x j ) = β j = 1 10 l = 1 8 δ ( x j x l ) U(x_j)=-\beta\sum_{j=1}^{10}\sum_{l=1}^8\delta(x_j-x_l)
其中, x l x_l x j x_j 的邻域 j \partial_j 中的像素标签,则有
π i j = p ( x j ) = p ( x j = i X j ) = β exp ( l j δ ( i x l ) ) h = 1 3 β exp ( l j δ ( h x l ) ) \pi_{ij}=p(x_j)=p(x_j=i|X_{\partial_j})=\frac{\beta\exp(-\sum_{l\in \partial_j}\delta(i-x_l))}{\sum_{h=1}^3\beta\exp(-\sum_{l\in \partial_j}\delta(h-x_l))}
其中 δ ( x j x l ) \delta(x_j-x_l) 为克罗内克函数,
δ ( x j , x l ) = { 1 , x j = x l 0 , o t h e r w i s e \delta(x_j,x_l)= \begin{cases} 1,x_j=x_l \\ 0, otherwise \end{cases}
通过拉格朗日乘子法,对 J J 最小化,得到隶属度 r i j r_{ij} 、聚类中心 μ i \mu_i 、方差 σ i \sigma_i 的更新公式
r i j = π i j exp ( 1 λ d i j ) h = 1 3 π i j exp ( 1 λ d i j ) d i j = w 2 ln ( 2 π ) + 1 2 ln ( μ i ) + ( y j μ i ) 2 2 μ i r_{ij}=\frac{\pi_{ij}\exp(-\frac{1}{\lambda}d_{ij})}{\sum_{h=1}^3\pi_{ij}\exp(-\frac{1}{\lambda}d_{ij})},d_{ij}=\frac{w}{2}\ln(2\pi)+\frac{1}{2}\ln(|\mu_i|)+\frac{(y_j-\mu_i)^2}{2\mu_i}
μ i = j = 1 10 r i j y j j = 1 10 y j \mu_i=\frac{\sum_{j=1}^{10}r_{ij}y_j}{\sum_{j=1}^{10}y_j}
σ i = j = 1 10 r i j ( y j μ i ) 2 j = 1 10 r i j \sigma_i=\frac{\sum_{j=1}^{10}r_{ij}(y_j-\mu_i)^2}{\sum_{j=1}^{10}r_{ij}}
算法步骤为:
1、随机初始化隶属度 r i j r_{ij}
2、根据隶属度,得到所有像素的类别标签 x j = arg max i { r i j } x_j=\argmax_i\{r_{ij}\}
3、计算先验概率 π i j \pi_{ij}
4、计算聚类中心 μ i \mu_i 和方差 σ i \sigma_i
4、计算隶属度 r i j r_{ij}
5、若收敛,则输出 r i j r_{ij} ,否则返回2
最终的分类标签为 x j = arg max i { r i j } x_j=\argmax_i\{r_{ij}\}

猜你喜欢

转载自blog.csdn.net/u011861755/article/details/103897063