zoukankan      html  css  js  c++  java
  • Conditional Random Fields as Recurrent Neural Networks阅读笔记

        一般来说,CNNs中最大池化层的存在会使得分割的输出变得粗糙,CNNs亦缺少使相似像素被分配相同标签的约束。CRF的存在就可以细化上述的粗糙输出,从而产生明晰的边界,实现精细分割。

        利用CRF主要有两种方式,一种是作为与CNN分离的后处理,本文采用的是第二种方式,利用带有高斯成对势的平均场近似算法实现RNN,不仅能够细化输出,还可以在训练过程中将误差回传。

    能量函数:

        第一项为FCN传来的概率,第二项为平滑项,鼓励相似像素被分配相似标签。

                       

        μ衡量了两个像素的相似度,f为特征向量,包含有像素位置,RGB等信息。

        本文利用平均场算法迭代作为CNN层,平均场算法说明如下:

        1.初始化操作:等价于应用了softmax

        2.信息传递:高斯滤波器的系数基于图像特征(像素位置,RGB等),反映了一个像素与其他像素联系的紧密程度。

        3.加权滤波器的输出,每个类标签有其独立权重。

        4.Compatibility Transform:若想要获得更好的表现,则需考虑不同标签间的一致性,并给予其不同的惩罚,可看作滤波器空间接受域为1的卷积层。

        5.与一元输入做差

        6.标准化:类似于应用了无参数的softmax

        

        

        上图中,T为迭代次数,多次平均场算法迭代-----RNN,若增加迭代次数,输出表现不会有明显提升。

        本文使用了FCN-8s提供一元势输入,输出的细化过程只发生在RNN的循环中。如果增加平均场的迭代次数,很有可能导致梯度消失或梯度爆炸。

  • 相关阅读:
    require的特点
    require和load的不同之处
    关于“load”方法
    puts方法要点
    用类解释对象的由来
    以方法调用的原理解释Ruby中“puts ‘Hello‘”
    Ruby中方法的设计理念
    Ruby中puts,print,p的区别
    Ubuntu16.04安装MongoDB的Ruby驱动
    使用spring框架,用xml方式进行bean装配出现“The fully qualified name of the bean's class, except if it serves...”
  • 原文地址:https://www.cnblogs.com/ldgforever/p/9839798.html
Copyright © 2011-2022 走看看