马尔科夫随机场之图像去燥【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例子】相关推荐
- 从贝叶斯理论到图像马尔科夫随机场
本节主要介绍马尔科夫的随机场模型以及其用于图像的分割算法中.基于马尔科夫的随机场(MRF)的图像分割是一种基于统计的图像分割算法,其模型参数少,空间约束性强,使用较为广泛. 首先了解一下马尔科夫模型, ...
- 马尔科夫随机场简单理解
MRF(Markov Random Filed,马尔科夫随机场)类似贝叶斯网络用于表示依赖关系.但是,一方面它可以表示贝叶斯网络无法表示的一些依赖关系,如循环依赖:另一方面,它不能表示贝叶斯网络能够表 ...
- 马尔科夫随机场之图像分割【二】
由于经常有读者说运行出错,我又本地校准了下程序,由于版权限制,lena图MATLAB新版已经撤除了,这里改成了cameraman的图 参考:http://blog.csdn.net/on2way/ar ...
- MRF,马尔科夫随机场
之前自己做实验也用过MRF(Markov Random Filed,马尔科夫随机场),基本原理理解,但是很多细节的地方都不求甚解.恰好趁学习PGM的时间,整理一下在机器视觉与图像分析领域的MRF的相关 ...
- 关于马尔科夫随机场(MRF)在图像分割中应用的个人理解
首先明确几个基本概念(个人理解): 先验概率: 基于历史经验得到的当前事件发生的概率 后验概率: 根据数据或证据得到的事件发生的概率 (由因到果) 似然概率: 已知事件发生的概率下数据或证据发生的概率 ...
- 马尔科夫随机场Markov Random Field
马尔可夫随机场,描述了具有某种特性的集合.拿种地打比方,如果任何一块地里种的庄稼的种类仅仅与它邻近的地里种的庄稼的种类有关,与其它地方的庄稼的种类无关,那么这些地里种的庄稼的集合,就是一个马尔可夫随机 ...
- PGM学习之七 MRF,马尔科夫随机场
之前自己做实验也用过MRF(Markov Random Filed,马尔科夫随机场),基本原理理解,但是很多细节的地方都不求甚解.恰好趁学习PGM的时间,整理一下在机器视觉与图像分析领域的MRF的相关 ...
- 马尔科夫随机场的基本概念
1.随机过程: 描写叙述某个空间上粒子的随机运动过程的一种方法. 它是一连串随机事件动态关系的定量描写叙述. 随机过程与其他数学分支,如微分方程.复变函数等有密切联系.是自然科学.project科学及 ...
- 马尔科夫链和马尔科夫随机场
From:http://blog.csdn.net/j123kaishichufa/article/details/7638181 1.什么是随机过程? 在当代科学与社会的广阔天地里,人们都可以看到一 ...
最新文章
- python book.save_2.3.1. 将二进制数据存为文件:saveBinDataToFile
- Linux python impala/sasl/thrift-sasl command not found
- 关于C++中vector初始化问题
- 集合框架之Map LinkedHashMap
- 京东JDHBase异地多活实践
- GWT EJB3 Maven JBoss 5.1集成教程
- android system.img编译,快速编译system.img和boot.img的方法
- iphone分辨率_揭示真实的手机屏幕大小和分辨率
- 知乎“下沉”,快手“上游”
- st7789 照片转数组软件_干货 | 新闻人实用软件安利
- iPhone Objective-C EXC_BAD_ACCESS问题
- 网络核心之数据交换 - 报文、分组交换
- 联合索引(a,b,c),怎么单独检索b用上索引
- 折腾凤凰系统 (by quqi99)
- 黑客使用浏览器中的浏览器技术窃取Steam凭证
- 一定是h的方式不对阅读_41章_[黑篮]一定是H的方式不对!_七零小说网
- O‘REILLY: Reverse Every Ascending —— 将列表中的升序改为降序
- linux 活动主分区,主引导扇区(MBR),分区表(DPT)及活动分区(DBR) | 技术部落
- 如何用函数求出身份证号码中的出生日期——CONCATENATE、MID函数的使用方法
- Git使用 从入门到入土 收藏吃灰系列 (九) git reset 移除暂存区与版本回退