【图像分割模型】以RNN形式做CRF后处理—CRFasRNN
这是专栏《图像分割模型》的第5篇文章。在这里,我们将共同探索解决分割问题的主流网络结构和设计思想。
条件随机场有点复杂,那能不能用神经网络的方式搞定CRF后处理呢?今天我们一起看一看穿上RNN外套的CRF长什么样。
作者 | 孙叔桥
编辑 | 言有三
本期论文
《Conditional Random Fields as Recurrent Neural Networks》
1 预备知识
条件随机场(CRF或CRFs)与隐马尔科夫模型有着千丝万缕的联系。为了理解CRF,这里先简单说一下马尔科夫链(MC, Markov Chain)和隐马尔科夫模型。
1.1 马尔科夫链
马尔科夫链是指具有马尔可夫性质且存在于离散指数集合状态空间内的随机过程。那么什么是马尔科夫性质呢?
从定义上来说,当一个随机过程在给定现在状态及过去所有状态的情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,其过去状态(即该过程的历史路径)是条件独立的。
这个表述比较抽象,我们举个马尔科夫链的例子理解一下:
比如有一只蚂蚁在下图所示的网格内爬行(网格区域无限大),由于墙壁的存在,它只能向前、后、左、右四个防线之一前进,每次前进一步。假设蚂蚁从位置S开始,那么在给定前n步的选择后,当前蚂蚁的所在位置就是知道的(假设在红色点处);那么下一步依然是四个方向之一,即下一步的状态仅依赖与当前状态,且选择随机。同时,之前走过的每一步之间是条件独立的,即上一步走的方向不会影响这一步的方向。
由于存在的选择只有四个,即选择离散,所以我们称这个过程为马尔科夫链。当选择连续时,称为马尔科夫过程(Markov Process)。
1.2 隐式马尔科夫模型
隐式马尔科夫模型(HMM,Hidden Markov Model)是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生成的不可观测的状态随机序列,再由各个状态生成一个观测而产生观测序列的过程。隐藏的部分称为状态序列;生成的观测组成的随机序列称为观测序列。
同样,我们举个例子来理解一下隐式马尔科夫模型:
比如我们现在需要进行天气预测,已知天气的状态有两种:天气好(晴天)和天气不好(雨雪雾、阴天等),分别用1和2表示。
很明显,要预测明天天气的话,今天及以前的天气是已知的。因此,我们可以通过历史天气计算出下图中各个状态之间的传递概率。比如,如果今天是晴天,那么明天是晴天的概率为0.6,则状态1到1为0.6(图中的1-α)、状态1到2的概率则为0.4;同理,假设今天天气不好那么明天天气也不好的概率为0.9,则状态2到2概率为0.9(图中的1-β),那么状态2到1的概率为0.1。
1.3 什么是CRF
CRF是一种判别式概率模型,是随机场的一种,结合了最大熵模型和隐式马尔科夫模型的特点;CRF是一种无向图模型,图中的顶点代表随机变量,顶点间的连线代表随机变量间的相依关系。其条件概率分布模型可以表述为P(Y|X),即给定一组随机变量的条件下,随机变量Y的马尔科夫随机场(MRF,Markov Random Field)。
1.4 平均场理论
平均场理论(MFT,Mean Field Theory)是将随机过程模型中一个单体受到的所有影响近似为一个外部场,从而将多体问题分解为多个单体问题,再进行求解的范式和理论。简单来说,就是把环境对物体的作用进行集体处理,然后用平均作用效果代替单个作用效果的加和的方法。
2 图像分割中的CRF
在图像分割问题中,CRF将被标注的像素视为一个MRF中的随机变量,整幅图像就是一个全局观测。那么,标注x的能量函数就可以表示为:
其中,第一项通常为CNN的分割结果,第二项为平滑项(后处理)。此时,最小化能量函数就能得到当前图片下最可能的标注组合。
这个过程可以通过下图所示的方式分解为一系列的CNN层:
把这个过程图形化:
3 网络结构
前面已经说明了,均场CRF问题可以变成一个CNN,简化结构如下图所示:
那么,如果用一个FCN模型完成第一阶段的分割任务,用RNN形式的CRF完成第二阶段的后处理(CRF-RNN),则可以搭建如下形式的端到端分割网络结构模型:
4 实验结果
下图是CRFasRNN在Pascal VOC 2012下的实验结果:
总结
本文我们了解了上下文信息整合的CRF方法,并将其以RNN的形式实现。作为平滑后处理,CRF能够大幅提升分割的效果。尽管空洞卷积和CRF都能够整合上下文信息,但是目标的尺度问题它们却没有着重考虑。那么下回我们就讨论下多尺度的分割任务。
直播预告(点击图片跳转)
今日看图猜技术
今日AI1000问
有三AI生态