日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

马尔科夫随机场之图像去燥【Matlab实现,PRML例子】

發布時間:2025/3/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 马尔科夫随机场之图像去燥【Matlab实现,PRML例子】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

馬爾科夫隨機場,本質上是一種概率無向圖模型。分類:概率圖模型大致上分為兩種,一種是有向圖,又叫貝葉斯網絡,鏈接節點之間的邊是有方向的,用來描述變量之間的因果關系(下圖左側);另一種是無向圖,又叫馬爾科夫隨機場,邊是沒有方向的,用來描述變量之間的軟約束(下圖右側)。


1.Bayesian network

用概率圖表示聯合概率分布密度?



起點對應條件變量,如p(c|a,b)就會有兩個起點一個終點。略微復雜一點的如下圖:



由于變量之間如果采用全連接會使得參數個數隨著變量個數成冪次增加,所以經常做一些假設來減少模型參數。第一種是獨立性假設,即根據實際問題對某些變量提出獨立性假設以減少鏈接邊數;第二種采用鏈式鏈接,即每個節點只有一個子節點和一個父節點;第三種是權值共享,類似于cnn中底層的做法。

2.條件獨立

定義式


下面給出三個例子一段總結

例一:節點c被稱為關于(從a經過c到達b)這個路徑的“尾到尾”(tail to tail)連接,因為節點與兩個箭頭的尾部相連


注意圖中c是可觀測變量


記作

例二:節點c被稱為關于從節點a到節點b的路徑“頭到尾”(head to tail)



例三:節點c關于從a到b的路徑是“頭到頭”(head to head),因為它連接了兩個箭頭的頭



注意這里當c為觀測條件時不能得到p(a)p(b)的形式,所以

一個總結:TT節點或者HT節點形成的路徑無堵,除非該節點被觀察到(這會堵住路徑)。相反,HH節點在沒被觀察到時候會堵住路徑,不過一旦該節點或者其中一個子節點被觀察到的話,路徑又變成無堵的了。

3.馬爾科夫隨機場

一個馬爾科夫隨機場,又稱為馬爾科夫隨機網絡或者無向圖模型,包含一組節點,每個節點都對應著一個變量或一組變量。鏈接是無向的,即不含有箭頭,

定義團塊:對每個團塊所有子集的節點都是全連接的。那么整個圖的聯合分布由各個團塊組成

這里為每個團塊定義一個勢函數,注意如果這個無向圖不是由有向圖轉化而來,那么這里的勢函數可以不滿足概率性質。但是,由于p(x)要滿足概率性質,所以勢函數還是要大于等于零的。Z是歸一化因子,通常取,這個分布成為boltzmann分布。這里最大的優勢就是勢函數可以通過選取具有一定實際意義,相當于一種相似度度量,為算法的設計增加了靈活性。

例子:圖像去噪

給一幅二值圖像加入噪聲,加入噪聲之后的圖像是我們的觀測值Y,而實際變量是隱變量X,現在我們就要通過Y推斷X。由于噪聲等級比較小,因此我們知道xi和yi之間有強烈的相關性。我們還知道圖像中相鄰像素xi和xj的相關性很強。這種先驗知識可以通過使用馬爾科夫隨機場模型進行描述,它的無向圖如下:


勢函數定義為

(這里勢函數為什么這樣定義我還沒有搞清楚,不知道如何解釋)

咨詢了原作者,原作者的解釋如下圖


這里只使用兩種團塊,第一種是xi和xj,第二種是xi和相鄰的xj。我們分別給不同的系數來調節其在勢函數中的權重,由于最后的概率計算要取

最大,所以這里等價于去E(x,y)最小。


具體代碼如下:

  • %實現PRML P387 例子:使用mrf降噪
  • %輸入一個二值圖像并加入噪聲
  • close all;
  • clear all;
  • I=imread('Penguins.jpg');
  • I1=im2bw(I);
  • subplot(2,2,1)
  • imshow(I1);
  • title('原圖像');
  • J = imnoise(I,'salt & pepper', 0.2);
  • J1=im2bw(J);
  • subplot(2,2,2)
  • imshow(J1);
  • title('噪聲圖')
  • Y=ones(size(J1));
  • Y(J1==0)=-1;
  • [m,n]=size(Y);
  • X=Y;h=0;beta=3.5;eta=.1;
  • while 1
  • tot=0
  • for i=2:1:m-1
  • for j=2:1:n-1
  • temp=X(i,j);
  • X(i,j)=-1;%根據定義計算勢函數
  • E1=h*X(i,j)-beta*X(i,j)*(X(i-1,j)+X(i+1,j)+X(i,j-1)+X(i,j+1))-eta*X(i,j)*Y(i,j);
  • X(i,j)=1;
  • E2=h*X(i,j)-beta*X(i,j)*(X(i-1,j)+X(i+1,j)+X(i,j-1)+X(i,j+1))-eta*X(i,j)*Y(i,j);
  • if E1<E2
  • X(i,j)=-1;
  • else
  • X(i,j)=1;
  • end
  • if temp~=X(i,j)
  • tot=tot+1;
  • end
  • end
  • end
  • if tot<1
  • break;
  • end
  • end
  • J2=X;
  • J2(X==-1)=0;
  • subplot(2,2,3)
  • imshow(J2);
  • title('mrf降噪結果')
  • 總結

    以上是生活随笔為你收集整理的马尔科夫随机场之图像去燥【Matlab实现,PRML例子】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。