参考:
https://blog.csdn.net/dcz1994/article/details/88837760
用一个Gibbs分布来表征条件随机场:
P(X∣I)=Z(I)1exp⎝⎛−c∈CG∑ϕc(Xc∣I)⎠⎞

取随机场最大后验概率对应的x作为标签:
x∗=argmalx∈LNP(x∣I)

整个随机场的Gibbs能量为:
E(x)=i∑ψu(xi)+i<j∑ψp(xi,xj)
式中,ψu(xi)和 ψp(xi,xj)分别代表unary and pairwise cliques
考虑二元势:
ψp(xi,xj)=μ(xi,xj)k(fi,fj)m=1∑Kw(m)k(m)(fi,fj)
式中表示的是整个概率图模型中某一个pairwise cliques的势函数,那个K是指一共有k个高斯核吗?μ(xi,xj)是标签相关性函数:

对于多类别图像分割问题使用contrast-sensitive two-kernel potentials,Ii和Ij表示颜色向量,pi和pj表示位置:
k(fi,fj)= appearance kernel w(1)exp(−2θα2∣pi−pj∣2−2θβ2∣Ii−Ij∣2)+w(2) smoothness kernel exp(−2θγ2∣pi−pj∣2)
Efficient Inference in Fully Connected CRFs
使用Q(X)近似代替原始的P(X)分布,并使得KL散度D(Q∣∣P)最小。
推导过程参考FCN(5)——DenseCRF推导
这里我直接搬运过来了,这样方变做笔记哈哈哈
下面变分推断的目的是找到一个函数Q(x),来近似表示P(x),以降低模型的复杂度。这个过程经过推导可知需要进行迭代近似。CRF的参数包括θ和w,参数的学习需要使用其他算法进行。
我们首先给出denseCRF的Gibbs分布:
P(X)=Z1P~(X)=Z1exp(i∑ψu(xi)+i<j∑ψp(xi,xj))
D(Q∥P)=x∑Q(x)log(P(x)Q(x))=−x∑Q(x)logP(x)+x∑Q(x)logQ(x)
=−EX∈Q[logP(X)]+EX∈Q[logQ(X)]
=−EX∈Q[logP~(X)]+EX∈Q[logZ]+i∑EXi∈Q[logQi(Xi)]
=−EX∈Q[logP~(X)]+logZ+i∑EXi∈Qi[logQi(Xi)]
由于我们要求的是Q,而logZ项中没有Q,所以这一项可以省略。
Q(X)是在当前输入下,某一标签取得x值的概率
同时Q还需要满足:
概率归一化
xi∑Qi(xi)=1
所以利用拉格朗日乘子法,可以得到
L(Qi)=−EXi∈Q[logP~(X)]+i∑Exi∈Qi[logQi(xi)]+λ(xi∑Qi(xi)−1)
这个公式的后面两项相对比较简单,但是前面一项比较复杂,我们单独做一下处理:
该项在之前被表示为:∑xQ(x)logQ(x)
−EXi∈Q[logP~(X)]=−∫i∏Qi(xi)[logP~(X)]dX
=−∫Qi(xi)i∏Q(xi)[logP~(X)]dxidX
=−∫Qi(xi)EX∈Q[logP~(X)]dxi
经过上面的公式整理,我们可以求出偏导,可得
∂Qi(xi)∂L(Qi)=−EX∈Qi[logP~(X∣xi)]−logQi(xi)−1+λ
令偏导为0,就可以求出极值:
Qi(xi)=exp(λ−1)exp(−EX∈Qi[logP~(X∣xi)])
由于每一个Q的exp(λ−1)都相同,我们将其当作一个常数项,之后在renormalize的时候将其抵消掉,于是Q函数就等于:
Q(xi)=Z11exp(−EX∈Qi[logP~(X∣xi)])
我们将文章开头关于\tilde{P}的定义带入,就得到了
Q(xi)=Z11exp⎝⎛−EX∈Q⎣⎡⎝⎛i∑ψu(xi)+j̸=i∑ψp(xi,xj)⎠⎞∣xi⎦⎤⎠⎞
这里面xi的由于是已知的,所以我们可以得到补充材料里的结果(但是变量名不太一样):
Qi(xi=l)=Zi1exp⎣⎡−ψu(l)−j̸=i∑EX∈Qjψp(l,Xj)⎦⎤
继续扩展,就可以得到
=Zi1exp⎣⎡−ψu(l)−m=1∑Kw(m)j̸=i∑EX∈Qj[μ(l,Xj)k(m)(fi,fj)]⎦⎤
=Zi1exp⎣⎡−ψu(l)−m=1∑Kw(m)j̸=i∑l′∈L∑Qj(l′)μ(l,l′)k(m)(fi,fj)⎦⎤
=Zi1exp⎣⎡−ψu(l)−l′∈L∑μ(l,l′)m=1∑Kw(m)j̸=i∑Qj(l′)k(m)(fi,fj)⎦⎤
这样,一个类似message passing的公式推导就完成了。其中最内层的求和可以用截断的高斯滤波完成。搬运最后的一点公式,可以得:
Qi(m~)(l)=j̸=i∑Qj(l′)k(m)(fi,fj)=j∑Qj(l)k(m)(fi,fj)−Qi(l)
最终得到的迭代公式是:
Qi(xi=l)=Zi1exp⎩⎨⎧−ψu(xi)−l′∈L∑μ(l,l′)m=1∑Kw(m)j̸=i∑k(m)(fi,fj)Qj(l′)⎭⎬⎫
