vinthony / vinthony.github.io

all about myself.
8 stars 1 forks source link

Markov Random Field #29

Open vinthony opened 7 years ago

vinthony commented 7 years ago

Markov Random Field 可以说是马尔科夫随机链在高纬的无向图扩展。许多Early Vision的优化问题,可以通过建立MRF模型得到答案。

比如在[MRF-Based Deformable Registration and Ventilation Estimation of Lung CT]()中,作者利用MRF来进行deformable的配准。

首先我们来建立MRF的模型。

考虑两张图:标准图像I和待配准图像J,待配准图J可以表示为无向图G(V,E),V是均匀网格的控制点。E是点与点之间的“边(可定义为点与点之间intensity的SAD距离)”。对于配准来说,目的就是移动J中的控制点d并且重新插值使得新的控制点的值与I中的控制点的像素值相差最小,并且整个图像相对应的点的值相差最小。

可以形式化为求MAP的过程:

有待配准图像J用控制点表示为,同时存在一组隐藏的真实控制点,我们的目标就是让待配准图像中真实控制点的后验概率最大。

根据贝叶斯公式:

真实控制点和待配准控制点都是条件独立的,所以:

这里我们选用exp函数来表示在P点条件概率的值

这里Vp函数表示的为大于0的dp和xp的差值,exp函数将它normalize到[0,1]区间,表示条件概率。

根据Gibbs分布(GIbbs随机场和Markov随机场等价)

这里Z是normalize的参数,使得概率和为1. C是maximal clique,表示与当前点相邻的点。Vc表示的是当前点与它的相邻点的集合c之间的关系。我们只考虑直接相邻,所以

故之前MAP问题可以归结为:

我们可以将能量函数定义为求F的最小值:

这个式子满足马尔科夫性质,将全局的问题转化为只和它周围的信息相关。但是如何求解最好的x是个NP困难问题。也就是说需要逐个检验适合的x去达到最大的概率。

通常有两类常用的方法来解决MRF。一类是Graph-cut,一类是massaging passing. 首先我们将整个control point集合变成一个最小生成树。 在massaging passing中,给定p的parent节点q,p点的花费Cp可以被定义为寻找最小的f_p使得cost最小,这里的f_p表示p点的deformable parameter,fp = {u,v}, x = x0 + fp:

对于root节点来说:

找到满足的fp 使得C(f)的能量最小。