欢迎光临
中国顶尖人工智能与机器人行业新媒体平台

CRF as RNN的原理及Caffe实现

CRF(Conditional Random Field)是图像分割中很常用的后处理算法。在《全卷积网络(FCN)与图像分割 》这篇博文中提到,FCN可以得到较好的分割结果,Chen, Liang-Chieh, et al. 2014在其基础上使用fully connected CRF得到了更好的效果,但是FCN的步骤和CRF的步骤是分开的。Zheng et al 2015将fully connected CRF表示成RNN的结构,与FCN连接在一起,可以同时训练FCN和CRF,使分割的准确率有了更多提高。

CRF as RNN的原理
  CRF的能量函数包括一个数据项和平滑项。数据项是基于每个像素属于各个类别的概率,平滑项是基于像素之间的灰度值差异和空间距离。传统的CRF的平滑项只考虑相邻像素间的关联,而Fully connected CRF考虑了图像中任意两个像素之间的关联性。
CRF的能量函数 CRF as RNN的原理及Caffe实现 AI资讯 第1张公式(1)
  其中像素对之间的能量 CRF as RNN的原理及Caffe实现 AI资讯 第2张是数据项, 像素对之间的能量 CRF as RNN的原理及Caffe实现 AI资讯 第3张是能量项, 即像素对之间的能量,其定义为若干个高斯函数的和:
像素对之间的能量 CRF as RNN的原理及Caffe实现 AI资讯 第4张公式(2)
  高斯函数的定义为:
高斯函数 CRF as RNN的原理及Caffe实现 AI资讯 第5张公式(3)
  由两部分组成,第一部分是Bilateral Filter, 其想法是空间上离得近并且灰度值接近的像素很有可能是属于同一个物体。第二部分是Spatial Kernel,起到空间平滑作用,可以去除掉分割结果中一些孤立的小区域。
  条件随机场的概率函数为概率函数 CRF as RNN的原理及Caffe实现 AI资讯 第6张。对公式(1)中的E(x)最小化对应着对后验概率P(X=x | I)的最大化,从而得到最优分割结果。
  由于直接计算概率函数P(X)比较麻烦,可以通过一个比较方便计算的概率函数Q(X)来近似得到P(X)。 计算概率函数 CRF as RNN的原理及Caffe实现 AI资讯 第7张。为了让Q(X)最大限度接近P(X),可通过对它们的KL-divergence最小化得到。这个最小化过程的迭代步骤如下:
计算概率函数 CRF as RNN的原理及Caffe实现 AI资讯 第8张公式(4)
  将该步骤中的各个操作拆分,可以得到如下的算法:
计算概率函数 CRF as RNN的原理及Caffe实现 AI资讯 第9张
  该算法的输入为: 初始势能初始势能 CRF as RNN的原理及Caffe实现 AI资讯 第10张,对应公式(1)的第一项; m个滤波器滤波器 CRF as RNN的原理及Caffe实现 AI资讯 第11张; 各滤波器的权重滤波器的权重 CRF as RNN的原理及Caffe实现 AI资讯 第12张, 不同类别之间的兼容性矩阵兼容性矩阵 CRF as RNN的原理及Caffe实现 AI资讯 第13张。输出为Q_i即更新后的概率分布。
  该算法的每一次迭代分为5个步骤:
1, 信息传递。即使用m个滤波器分别对每一个类别l的概率图滤波器的权重 CRF as RNN的原理及Caffe实现 AI资讯 第14张进行滤波的过程。
2, 滤波结果加权相加。对每一个类别l的m个滤波结果根据权重滤波结果根据权重 CRF as RNN的原理及Caffe实现 AI资讯 第15张相加。
3,类别兼容性转换。对每一个类别l的概率图根据不同类别之间的兼容性矩阵兼容性矩阵 CRF as RNN的原理及Caffe实现 AI资讯 第16张进行更新。
4, 加上数据项(一元项 Unary Potential)。
5, 归一化。对各像素所属不同类别l的概率归一化,这实际上是一个Softmax的过程。
Caffe实现
  GitHub上可以找到CRF as RNN的源代码。主要有两个类:MultiStageMeanfieldLayer和MeanfieldIteration。其中MultiStageMeanfieldLayer将CRF的所有迭代步骤组装在一起形成一个Caffe层,迭代的每一步作为一个子层在MeanfieldIteration中实现。目前是基于cpu代码的实现,还没有在cuda上实现。
  该实现中考虑了Bilateral filter 和Spatial filter两种滤波器,分别对应公式(3)中的两项。由于Fully connected CRF中的滤波操作要考虑整个图像的信息, 滤波器核的大小为整个图像的尺寸,因此滤波过程比较耗时,为了提高效率,Zheng et al使用了Andrew Adams et al所提出的基于Perutohedral Lttice的滤波实现: 实现Bilateral filter 的bilateral_lattices_和实现Spatial filter的spatial_lattice。
赞(0) 关注公众号

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

公众号也精彩

微信扫一扫打赏