【圖像分割】【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類中。
QQ爲標籤集
Q={1,2,3}Q=\{1,2,3\}
其中1表示第一個類,2表示第二個類,依次類推。
令S爲索引集
S={1,2,...,10}S=\{1,2,...,10\}
其中1表示第一個像素,2表示第二個像素,依次類推。
則對於任意jSj\in S,有xjQx_j\in Qxjx_j爲第jj個像素所屬的類別,可以爲1,也可以爲2,等等。
此時定義一個概率分佈
p(xj)>0p(x_j)>0
表示第jj個像素爲某個類別的概率。該概率分佈,就是隨機場。
OK,現在討論Markov隨機場~
前面說了,在Markov隨機場中,某一個像素屬於什麼類別只與它周圍像素屬於什麼類別有關係,那麼顯然,必須首先定義一個能夠描述“周圍”的方式,在數學上,這種方式爲鄰域。我們知道,每一個像素都擁有與其緊鄰的像素(不考慮位於邊緣的像素),即每一個像素都具有鄰域。
鄰域示意圖,C表示中心土地,周圍粉色的矩形表示鄰域中的土地
\partial表示所有像素的鄰域,即鄰域系統。那麼現在,就可以用數學語言來描述Markov隨機場
p(xj)=p(xjXj)p(x_j)=p(x_j|X_{\partial_j})
其中,XjX_{\partial_j}表示一個集合,包含第jj個像素鄰域中所有像素的類別。
然而,圖像是二維的,從而,jj實際上是一個二維座標,所以接下來,爲了更加詳細地描述,需要使用聯合概率分佈。Hammersley–Clifford理論證明,Markov隨機場與Gibbs隨機場的聯合概率分佈是等價的,則Markov隨機場的聯合概率分佈爲
p(xj)=p(xjXj)=exp(U(xj))Zp(x_j)=p(x_j|X_{\partial_j})=\frac{\exp(-U(x_j))}{Z}
其中,ZZ是一個使p(xj)p(x_j)歸一化的常數,U(xj)U(x_j)叫做能量函數。
U(xj)=CVC(xj)U(x_j)=\sum_CV_C(x_j)
其中,VC(xj)V_C(x_j)表示第jj個像素鄰域中某一個基團C的勢能,OK,如何表示勢能呢,只能說八仙過海,各顯神通,目前提出了多種勢能表示方法,OK,那麼什麼是基團,簡單地說,就是鄰域裏面,一個、兩個或三個相鄰的像素可以拉幫結夥,構成一個個小集團,分別爲一階基團、二階基團或三階基團。
人們發現,在實際應用中,ZZ的計算量較大,需要一種近似計算方法減少計算量。1975年,J.Besag提出一種僞似然估計法,即
p(xj)=p(xjXj)=exp(jCVC(xj))xj=13exp(jCVC(xj))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,現在引入另一個條件,像素灰度值。
令集合RR表示所有灰度值,有
R={0,1,2,3,4,5,...,255}R=\{0,1,2,3,4,5,...,255\}
對於任意jSj\in S,有yjRy_j\in Ryjy_j表示第jj個像素的灰度。對於一張圖像,每個像素的灰度,一定是事先就確定的。那麼將灰度yjy_j與像素類別xjx_j放在一起,構成的聯合概率分佈p(yj,xj)p(y_j,x_j),就是隱Markov隨機場。
接下來如何求解p(yj,xj)p(y_j,x_j),是得到隱Markov隨機場的關鍵。
衆所周知
p(yj,xj)=p(yjxj)p(xj)p(y_j,x_j)=p(y_j|x_j)p(x_j)
其中,p(xj)p(x_j)已經可以表示,它就是Gibbs隨機場的聯合概率分佈,叫做隱含場,p(yj)p(y_j)叫做觀測場。需要求解p(yjxj)p(y_j|x_j),即已知第jj個像素的類別,它的灰度是多少的概率。一般地,可以利用正態分佈,描述p(yjxj)p(y_j|x_j),因爲正態分佈有參數,所以引入θ\theta表示其所有參數,即
p(yjxj)=p(yjxj;θxj)=Nxj(μxj,σxj)p(y_j|x_j)=p(y_j|x_j;\theta_{x_j})=N_{x_j}(\mu_{x_j},\sigma_{x_j})
其中,μxjσxj\mu_{x_j}和\sigma_{x_j}分別表示第xjx_j類中所有像素灰度值的均值與方差,一定記住,xjx_j表示的是類別標籤。將p(yjxj)p(y_j|x_j)畫成圖像的話,則橫座標爲灰度值,縱座標爲概率值,由於分3類,則有3條高斯概率密度曲線。
現在,隱Markov隨機場也被表示完成。

OK,現在將隱Markov隨機場引入FCM中

2、基於隱Markov隨機場的FCM—HMRF-FCM

首先,該算法利用了Ichihashi等人提出的一種基於KL信息懲罰的FCM方法,目標函數如下
J=i=13j=110uijdij+λi=13j=110uijln(uijπij)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}})
其中,
πij=p(xj)=p(xj=iXj)=exp(jCVC(aij))h=j3exp(jCVC(ahj))\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}))}
aij=(xj=i,Xθj)a_{ij}=(x_j=i,X_{\theta_j}),由於XθjX_{\theta_j}是一個集合,在實際應用中,不容易直接使用,一般利用平均場估計方法得到XθjX_{\theta_j}的估計,記爲xθjx'_{\theta_j},則aij=(xj=i,xθj)a_{ij}=(x_j=i,x'_{\theta_j})
本算法爲簡化操作,直接利用8鄰域中的一階基團像素標籤表達能量函數U(xj)U(x_j),即
U(xj)=βj=110l=18δ(xjxl)U(x_j)=-\beta\sum_{j=1}^{10}\sum_{l=1}^8\delta(x_j-x_l)
其中,xlx_lxjx_j的鄰域j\partial_j中的像素標籤,則有
πij=p(xj)=p(xj=iXj)=βexp(ljδ(ixl))h=13βexp(ljδ(hxl))\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))}
其中δ(xjxl)\delta(x_j-x_l)爲克羅內克函數,
δ(xj,xl)={1,xj=xl0,otherwise \delta(x_j,x_l)= \begin{cases} 1,x_j=x_l \\ 0, otherwise \end{cases}
通過拉格朗日乘子法,對JJ最小化,得到隸屬度rijr_{ij}、聚類中心μi\mu_i、方差σi\sigma_i的更新公式
rij=πijexp(1λdij)h=13πijexp(1λdij)dij=w2ln(2π)+12ln(μi)+(yjμi)22μir_{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=110rijyjj=110yj\mu_i=\frac{\sum_{j=1}^{10}r_{ij}y_j}{\sum_{j=1}^{10}y_j}
σi=j=110rij(yjμi)2j=110rij\sigma_i=\frac{\sum_{j=1}^{10}r_{ij}(y_j-\mu_i)^2}{\sum_{j=1}^{10}r_{ij}}
算法步驟爲:
1、隨機初始化隸屬度rijr_{ij}
2、根據隸屬度,得到所有像素的類別標籤xj=arg maxi{rij}x_j=\argmax_i\{r_{ij}\}
3、計算先驗概率πij\pi_{ij}
4、計算聚類中心μi\mu_i和方差σi\sigma_i
4、計算隸屬度rijr_{ij}
5、若收斂,則輸出rijr_{ij},否則返回2
最終的分類標籤爲xj=arg maxi{rij}x_j=\argmax_i\{r_{ij}\}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章