您好、欢迎来到现金彩票网!
当前位置:秒速快3平台 > 双向推理 >

深度学习(三十三)CRF as RNN语义分割-未完待续

发布时间:2019-06-03 23:37 来源:未知 编辑:admin

  Conditional Random Fields as Recurrent Neural Networks再次突破。首先我觉得这篇文献的题目应该翻译成:把CRF迭代推理过程看成是RNN;可能很多人看到文献题目就把它翻译成:CRF与RNN的结合,以至于后面看文献觉得迷迷糊糊不知所云,然而这篇文献实质上是FCN与CRF的端到端结合训练。

  众所周知,近几年CNN在图片分类、物体检测取得了不俗的成绩,于是人们开始探索像素级的标注分类,也就是图片的语义分割,其中语义分割的开山之作当属FCN。然而FCN得到的结果很粗糙,比如物体分割的边缘还不够精确,比如下面:

  本来那只马的两只腿之间,有部分的像素是草地,但是分割结果是把那一小块的草地,判别为了马。具体原因如下:

  一来是因为CNN感受野过大、以至于我们最后的分割输出很粗糙(在网络最后一层的时候,每个神经元对应到原始图片的一块很大区域);FCN最后放大比例是32倍,分割不粗糙才怪;

  二来是因为CNN缺少对空间、边缘信息等约束。CNN是一种端到端的模型,没有加入任何已有的先验约束,我们是希望图像分割的时候,在边缘的地方裂开的概率大一些(梯度越大的地方)。或者说我们希望两个相邻的像素如果差别越大,那么这两个像素属于不同类别的概率应该越大;如果两个相邻像素点的颜色非常接近,那么它们属于不同类别的概率应该越小。因此如果能够把这些人工已有的先验约束信息加入其中,那算法就会有进一步的提升。

  2、减小下采样比例,本来我们FCN下采样比例是32,通过减小stride大小,下采用比例为8;(减小感受野)

  3、采用全连接条件随机场,对FCN分割结果进行精细化分割(增强边缘约束)

  我们需要清楚的是这篇文献的算法,粗分割和精分割是完全分开的,并不是一个端到端的训练模型,算法有点low。也就是FCN和CRF扯不上关系,只不过CRF利用了FCN的结果作为一元势函数。

  所以如果我们能够把CRF和FCN把这两个强大的招式融汇贯通,搞出一个端到端的训练模型,那么精度必然可以进一步提升,这也正是《CRF as RNN》这篇文献的思想,这篇文献把CRF的学习、推理过程看成是RNN,然后嵌入CNN模型中,搞出了一个新的招式,完成了端到端的训练、预测。

  学习本部分,默认你已经学过条件随机场的图像处理相关算法,这边只做简单的概述。在以前我们所接触到的条件随机场基本上都是稀疏条件随机场,你所看到的教程也大部分指的是稀疏条件随机场。

  这里我们先回顾一下条件随机场图像分割能量函数的构造:定义隐变量Xi为像素点i的分类标签,它的取值范围是就是我们要分类的语义标签L={l1,l2,l3……};Yi为每个随机变量Xi的观测值,也就是每个像素点的颜色值。条件随机场的图像语义分割的目标就是:通过观测变量Yi,推理出潜变量Xi的对应类别标签。

  对于一张图像来说,我们把它看成图模型G=(V,E),图模型的每个顶点对应一个像素点,即V={X1,X2,……Xn}。对于边来说,

  (1)如果是稀疏条件随机场,那么我们构造图模型的边集合E就是:每对相邻的像素点间可以构造一条边。当然除了4邻域构造边之外,你也可以用8邻域模型。

  (2)全连接条件随机场与稀疏条件随机场的最大差别在于:每个像素点都与所有的像素点相连接构成连接边。这就恐怖了,如果一张图像是100*100,那么就相当于有10000个像素点,因此如果采用全连接条件随机场的话,那么就会构造出约10000*10000条边。如果图像大小再大一些,那么就会变得非常恐怖,普通条件随机场推理算法,根本行不通。好在文献《Efficient Inference in Fully Connected CRFs withGaussian Edge Potentials》给出了快速推理算法。接着我们就简单讲解具体的求解算法。

  (1)能量方程的第一项u(xi),称之为一元势函数,用于衡量当像素点i的颜色值为yi时,该像素点属于类别标签xi的概率。这个从直观上可以这么理解:假如一个像素点的颜色值yi是绿色,那么它属于草地的概率应该比较大;假如一个像素点颜色值是蓝色,那么它属于天空的概率应该比较大,这就是这个能量项的作用。在深度还未杀入这个领域之前,以前的算法第一项一元函数势能一般是通过SVM等分类器训练得到的,或者通过构建每个类别的高斯混合模型(构建每个类别的高斯混合模型,这样当一个像素点的值为yi的时候,我们就可以计算出此像素点属于每个类别的概率值,类似图像分割Grab cut算法)。

  不过现在有了CNN了,这一个能量项我们可以直接通过CNN计算出来,因为CNN训练完毕后,可以输出每个像素点,属于每个类别的概率值。DeepLab这篇文献的算法就是用CNN输出,作为CRF的一元势能量。

  (2)能量方程的第二项成对势函数p(xi,xj)。用于衡量两事件同时发生的概率p(xi,xj),或者说的简单一点就是:我们希望两个相邻的像素点,如果颜色值yi、yj非常接近,那么这两个像素点xi、xj属于同一个类别的概率应该比较大才对;反之如果颜色差异比较大,那么我们分割的结果从这两个像素点裂开的概率应该比较大才对。这一个能量项正是为了让我们的分割结果,尽量的从图像边缘的地方裂开,也就是为了弥补前面所说的FCN分割的不足之处。

  其中Kg是一个高斯核,用于度量像素点i和j的特征向量相似度的一个高斯权重项。特征向量fi我们可以用(x,y,R,G,B)表示,也就是以像素点的像素值和坐标位置作为特征向量。然后u(xi,xj)就表示两个标签之间的一个兼容性度量。通过最小化上面的CRF能量函数,我们就可以实现CRF的隐变量X的推理。接着我们就来说说怎么稠密条件随机场怎么推理,求解能量函数。

  成对势函数p(xi,xj),也就是相当于图模型的每一条边的能力值,上面我们说到对于一个稠密条件随机场来说,边数数目是非常多的:

  OK,言归正传,我们接着就来讲讲怎么把CRF的推理过程看成是、卷积层、SoftMax层等神经网络层的组合,同时又和RNN有什么样的渊源。下面公式中的下标i表示第i张特征图。

  Zi是归一化因子。其实这个计算公式就是softmax函数,所以这一步的计算我们可以把它看成是神经网络的softmax层,所以我们用神经网络的softmax层替代这个步骤。

  Q(l)是一张概率图片,对应着原始图像每个像素点属于类别l的概率,这个就像引导滤波一样。如果我们语义分割有21个类别,那么CNN softmax层输出就是21张这样的概率图,每一张对应一个分类类别的概率图。

  OK,这一步操作又是什么意思呢?K(fi,fj)是一个高斯核权重,或者说白了上面的公式就是要对图像Q(l)进行高斯模糊,这就相当于神经网络的卷积运算一样。

  这样我们可以每一张概率图Q(l),我们经过不同的特征滤波器之后,都可以得到两张滤波结果。这两张之间用加权组合在一起:

  这一步可以看成是采用1*1的卷积层,对多个特征图进行卷积层运算。经过运算完后,每两张特征图又输出一张新的概率图

  这是专栏《图像分割模型》的第5篇文章。在这里,我们将共同探索解决分割问题的主流网络结构和设计思想。条件随机场有点复杂,那能不能用神经网络的方式搞定CRF后处理呢?今天我们一起看一看穿上RNN外套的CR...博文来自:hacker_long的专栏

  前言(呕血制作啊!)前几天刚好做了个图像语义分割的汇报,把最近看的论文和一些想法讲了一下。所以今天就把它总结成文章啦,方便大家一起讨论讨论。本文只是展示了一些比较经典和自己觉得比较不错的结构,毕竟这方...博文来自:u010429207的博客

  crfasrnn官网:官网中有相关的代码、论文、在线演示,可以参考。但本人在下载官网中的代码使用时遇到的一些问题或者...博文来自:绅商的博客

  CRF(ConditionalRandomField)是图像分割中很常用的后处理算法。在《全卷积网络(FCN)与图像分割》这篇博文中提到,FCN可以得到较好的分割结果,Chen,Liang-Chieh...博文

  前言最近看了一些语义分割的文章DeepLab,写写自己的感受,欢迎指正。介绍图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类。图像语义分割,从FCN把深度学习引入这个任务...博文来自:Zhang Junior 的博客

  这篇博客主要讲述发表在ICCV2015上的有关图像语义分割的model的用法的指南。(本人不才,竟然跑了一周多,一定要把其中各种吐血的错误写出来)。源码网址 博文来自:triple_J6的博客

  什么是CRFCRF即条件随机场(ConditionalRandomFields),是在给定一组输入随机变量条件下另外一组输出随机变量的条件概率分布模型,它是一种判别式的概率无向图模型,既然是判别式,那...博文来自:seaboat的专栏——a free boat on the sea.

  作者:buldajs链接:来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业...博文来自:roslei的博客

  crfasrnn官网:按照官网的步骤说明做即可(1)将下载得到的压缩包解压,得到crfasrnn文件夹,将该文件夹拷贝到Li...博文来自:liuxiabing150的专栏

  经过前面的DN了解学习,开始上手fcn的一些不错的文章,刚刚好搜到一篇总结性的文章,先搬过来,后面会详细学习这里面的每一篇。======================================...博文来自:mydear_11000的专栏

  像素级的标注任务,例如语义分割任务,在图像理解中扮演者重要的角色。作者提出一种新的卷积网络形式,结合了卷积神经网络(CNNs)和条件随机场(CRFs)。作者融合了CRF模型和CNN,使其能够end-t...博文来自:人工智能

  一般来说,CNNs中最大池化层的存在会使得分割的输出变得粗糙,CNNs亦缺少使相似像素被分配相同标签的约束。CRF的存在就可以细化上述的粗糙输出,从而产生明晰的边界,实现精细分割。  利用CRF主...博文来自:Le soir,je me sens plus belle

  条件随机场(conditionalrandomfields,简称CRF),是一种判别式概率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。1.随机场    简单地讲,随机场...博文来自:chlele0105的专栏

  CVPR2015Abstract   诸如语义分割之类的像素级标记任务在图像理解中起着核心作用。最近的方法试图利用图像识别的深度学习技术的能力来处理像素级的标记任务。这种方法的一个核心问题是深度学习技...博文来自:scut_salmon的博客

  条件随机场模型是由Lafferty在2001年提出的一种典型的判别式模型。它在观测序列的基础上对目标序列进行建模,重点解决序列化标注的问题条件随机场模型既具有判别式模型的优点,又具有产生式模型考虑到上...博文来自:彼岸花

  摘要在多类别图像分割和标记领域表现最优的技术采用的都是定义在像素或者图像域之上的条件随机场。虽然区域级的模型通常具有稠密二元连通性,但由于考虑到像素级模型相当的大所以只可以使用稀疏的图结构。在这篇论文...博文来自:Orville的博客

  引言为什么要使用双向的RNN?一般的按序列顺序过来的RNN会记录、保存来自前面序列的信息,这些历史信息对当前的输出是很有帮助的。但是有些问题,序列当前位置历史信息和这个位置未来的信息会共同对计算当前位...博文来自:jmhIcoding

  一个深度的神经网络(称为lstm-crf),梳理长期的短期记忆。(LSTM)神经网络(一种周期性神经网络)和条件随机字段(CRFs).然而这样做有什么具体的好处,有什么例子可以说明?论坛

  转自:基于自然语言处理角度谈谈CRF【摘要】:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果。在中...博文来自:zdy0_2004的专栏

  深度学习在计算机视觉领域取得的巨大的发展,最近几年CNN一直是目前主流模型所采取的架构。最近半年RNN/LSTM应用在识别领域逐渐成为一种潮流,RNN在获取目标的上下文中较CNN有独特的优势。以下我们...博文来自:yaoxingfu72的博客

  最近一直在做语义分割的工作,终于将结果调试出来了。在最后一步中,将fc8中分割得到的.mat格式的结果,转换成.png格式的最终分割图像,但是发现并不是很清楚各颜色代表的类别,通过将create_la...博文来自:程程的博客

  纯实现上对比几种NER深度学习模型效果(有不严谨的地方:数据集、模型规模等),代码来源于Github上大神的贡献。实现上有三种模型对比 模型 IDCNN+CRF BiLSTM+CRF(1) ...博文来自:ai_1046067944的专栏

  不太能看懂bilstm-crf的code,其实关键是没理解crf,以例子来讲解crf过程非常容易理解,以下两个是我在网上浏览看到的非常的例子,以免忘记,时常浏览.example1:一,标记问题解决分词...博文来自:Deep Learning and NLP Farm

  1.随机场(randomfield)  由若干位置组成的整体,每一个位置按某种分布随机地赋一个值,全体即组成一个随机场。2.马尔科夫随机场(MRF)  马尔科夫随机场是随机场的特例,假设某一个位置的赋...博文来自:kevin_zhao_zl的博客

  原始论文地址:仔细看了下论文和相关代码实现,原理大概如下: 利用 word级别和char级别的方式作为输入:word级别的一个序列长度:...博文来自:luoyexuge的专栏

  1.RecurrentNeuralNetwork(RNN)尽管从多层感知器(MLP)到循环神经网络(RNN)的扩展看起来微不足道,但是这对于序列的学习具有深远的意义。循环神经网络(RNN)的使用是用来...博文来自:James Zhangs Blog

  转载来源:推荐一些用CRF做图像语义分割的资源首先是code,以前找了很多,但发现比较好用的有:1.Matlab版的UGM:博文来自:haoji007的博客

  对象的内存分配从大方向上将,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接在栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB(转换后援...博文来自:小小本科生成长之路

  最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗! Docker的三大核心概念:镜像、容器、仓库 镜像:类似虚拟机的镜像、用俗话说就是安装文件。 容器:类似一个轻量...博文来自:我走小路的博客

  前面既然写了中缀转后缀的,那么现在说下中缀转前缀的,至于后缀(前缀)转中缀,可以根据相关的转换规则自行转换。目的将中缀表达式(即标准的表达式)转换为前缀表达式例如:1+2*3+(4*5+6)7 转换成...博文来自:Xefvan的博客

  jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js ...博文来自:Websites

  网上查了一下工业视觉标定板,少则几百大洋,多则几千大洋,就想在A4纸上山寨打印一个标定图,就是黑白方格相间的那种。A4纸的标准大小为210*297mm。搞了个把小时,其实想明白了之后很简单。从每...博文来自:eric_e的博客

  在MATLAB中,可以注释一段程序。 使用“%{”和“%}”。 例如 %{ 。。。 %} 即可。 经典方法是用 if 0,但缺点是不够直观,注释掉的内容仍然保持代码的颜色。现在可以用 ...博文来自:知识小屋

  一、代理模式为某个对象提供一个代理,从而控制这个代理的访问。代理类和委托类具有共同的父类或父接口,这样在任何使用委托类对象的地方都可以使用代理类对象替代。代理类负责请求的预处理、过滤、将请求分配给委托...博文来自:小小本科生成长之路

  用CSS写背景图片,background-image:url(1.jpg); 但是一直都不显示图片,只有原本写好的div的边框。 一般不显示都是路径写错的问题,(图片的相对路径是指相对于写这条c...博文来自:yovven的博客

  授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

  声明:博文的编写,主要参考网上资料,并结合个人见解,仅供学习、交流使用,如有侵权,请联系博主删除,原创文章转载请注明出处。博主。内推阿里,欢迎大牛砸简历……

  :博主您好,初步了解了深度学习,看了几篇您的文章觉得很厉害,是一名人脸识别方向的在校生,感觉自己学习这些原理有些吃力,同时自己也想少走些弯路,最后提一个要求能否分享一下源码,万分感谢!

http://raggedydreams.com/shuangxiangtuili/162.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有