论文链接:https://arxiv.org/abs/1412.7062

摘要

该文将DCNN与概率模型结合进行语义分割,并指出DCNN的最后一层feature map不足以进行准确的语义分割,DCNN具有很强的空间不变性,因此比较擅长高层次的任务。该文通过在DCNN的最后一层添加一层CRF用来克服定位不准的问题。该文通过引入空洞算法来提高模型在GPU上的运行速度。

介绍

该文的一个主题是采用进行end-to-end训练的DCNN,相比传统的依赖,SIFT或者HOG等人工设计的特征会产生喜人的分割效果。部分原因可能是DCNN对图像变换局部区域的不变性,从而可以更好的学习抽象的信息。但另一方面却削弱了低层次类型的任务,像姿态估计,语义分割等需要精细定位的任务。

DCNN应用于图像标记任务主要存在两个技术障碍,下采样和空间不变性。第一个问题是在标准的DCNN中由于连续的池化和下采样导致单一分辨率的缺失,为此,该文引用了空洞卷积算法,可以使DCNN的计算更加密集。第二个问题是实际中我们分类器所作的是以目标物体中心决定分类的,这就决定需要空间信息的不变性,这就限制了DCNN的空间信息的准确性。该文通过后接一个全连接的条件随机场(CRF)来获得更加较好的细节。CRF将不同类别的分类器计算得到的class score与局部(像素,边和超像素等)捕捉的低层次信息进行结合。尽管更加复杂的工作已经提出来模拟层次的依赖性,但CRF在考虑远距离依赖的情形时,其计算较为高效,也可以较好的捕捉边界细节信息。

该文的三个主要贡献:(1)速度:借用空洞算法,可以使DCNN在8fps。(2)准确率:在PASCAL语义分割上的挑战获得最好成绩,并超第二7.2%(3)简单性:DCNN只由DCNNs与CRFs两部分组成。

相关工作

使用自上而下的图像分割级联与基于DCNN的区域分类,使得系统可能会在分割系统的前端产生潜在误差。有一种方法是通过一系列不同的CRF为基础的分割proposals,然后将proposals根据DCNN针对相对级别训练好的模型进行重新分级操作。虽然此法想要解决分割网络前端的本质问题,但仍无法很好的解释CRF分割算法的DCNN的Scores,这里DCNN只用作后处理。

 方法

首先是基于空洞算法的密集滑动窗来进行特征提取,首先,将VGG-16的全连接层替换为卷积层,结果是生成的检测scores很稀疏,该文在VGG-16最后两个最大池化层后跳过下采样,同时,改变最后三层卷积层与全连接层的卷积核,在他们之间添加0来增加他们的长度。通过引入空洞卷积,可以使我们能够以任意的下采样rate准确的得到密集CNN的feature map。

其次,该文对VGG-16进行微调,将其最后一层的类别1000的分类器替换为类别21的一个,损失函数是卷积output map上每个空间位置交叉熵的求和。运用标准的SGD优化每一层网络的权重。在进行测试时,需要将class socre map还原为原始图像的分辨率。如下图,由于class score maps 十分平滑,可以通过简单的双线性插值近似的将其提高8倍分辨率。

最后,另一个关键因素使网络感受野的大小,VGG-16的感受野为224x224,如果应用卷积后,为404x404,将VGG-16变为全卷积后,第一个全连接层会有4096个大小为7x7的filters,这大大增加了计算的难度。该文减少第一个全连接层filter的空间尺寸(3x3),但也相对应的减少了网络的感受野(128x128 or308x308),减少了2到3倍的计算时间,同时,全连接层通道数的减小也有效果。

通过上面的图可以看出来,DCNN的score map 可以大致勾画出物体的轮廓,但细节上仍存在较大差距,卷积网络中,分类与定位之间有一个平衡,具有多层池化的更深层的网络在分类任务上取得的效果更好,然而, 这里有一点问题就是,增加的不变性和较大的感受野使从最后的层预测出位置会有很大的挑战。通过利用卷积网络中多层信息,来更好的估计分割边界,另一种方法是采用超像素表示,将定位任务分给低级的分割方法。

该文首先利用DCNN的识别能力,后接全连接的CRF来提高位置的准确性,通常,CRF包含相邻节点的能量项,有利于将相同的标签分配到空间上相近的像素。本质上,short-range CRF的作用是清除由基于局部手工设计分类器产生的错误预测。相比弱分类器,DCNN得到的score maps 更加平滑,此时,再使用short-range CRF可能是有害的,因为目的不是为了平滑边界而是回复局部细节,因为经过DCNN后已经很平滑了。为了解决short-range CRF的弊端,引入了全连接CRF。

 实验

参考

1.Adams, A., Baek, J., and Davis, M. A. Fast high-dimensional filtering using the permutohedral lattice. In Computer Graphics Forum, 2010.

2.Arbel´aez, P., Pont-Tuset, J., Barron, J. T., Marques, F., and Malik, J. Multiscale combinatorial grouping. In CVPR, 2014.

论文阅读笔记九:SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS (DeepLabv1)(CVPR2014)的更多相关文章

  1. 论文阅读笔记十:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs (DeepLabv2)(CVPR2016)

    论文链接:https://arxiv.org/pdf/1606.00915.pdf 摘要 该文主要对基于深度学习的分割任务做了三个贡献,(1)使用空洞卷积来进行上采样来进行密集的预测任务.空洞卷积可以 ...

  2. 论文阅读笔记三十五:R-FCN:Object Detection via Region-based Fully Convolutional Networks(CVPR2016)

    论文源址:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/PureDiors/pytorch_RFCN 摘要 提出了基于区域的全卷积网 ...

  3. 论文阅读笔记十八:ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation(CVPR2016)

    论文源址:https://arxiv.org/abs/1606.02147 tensorflow github: https://github.com/kwotsin/TensorFlow-ENet ...

  4. 论文阅读笔记六十四: Architectures for deep neural network based acoustic models defined over windowed speech waveforms(INTERSPEECH 2015)

    论文原址:https://pdfs.semanticscholar.org/eeb7/c037e6685923c76cafc0a14c5e4b00bcf475.pdf 摘要 本文研究了利用深度神经网络 ...

  5. 论文阅读笔记十六:DeconvNet:Learning Deconvolution Network for Semantic Segmentation(ICCV2015)

    论文源址:https://arxiv.org/abs/1505.04366 tensorflow代码:https://github.com/fabianbormann/Tensorflow-Decon ...

  6. 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)

    论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...

  7. 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)

    论文源址:https://arxiv.org/abs/1703.06211 开源项目:https://github.com/msracver/Deformable-ConvNets 摘要 卷积神经网络 ...

  8. 论文阅读笔记二十三:Learning to Segment Instances in Videos with Spatial Propagation Network(CVPR2017)

    论文源址:https://arxiv.org/abs/1709.04609 摘要 该文提出了基于深度学习的实例分割框架,主要分为三步,(1)训练一个基于ResNet-101的通用模型,用于分割图像中的 ...

  9. 论文阅读笔记二十一:MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS(ICRL2016)

    论文源址:https://arxiv.org/abs/1511.07122 tensorflow Github:https://github.com/ndrplz/dilation-tensorflo ...

随机推荐

  1. Django 基于类的通用视图

    在早期,我们认识到在视图开发过程中有共同的用法和模式.这时我们引入基于函数的通用视图来抽象这些模式以简化常见情形的视图开发. 基于函数视图的用法有以下三种: def index(request): r ...

  2. 20165221 JAVA第一周学习心得及体会

    JAVA入门的理论学习 在JAVA2使用教程的网课学中,分为以下几个模块讲解的 JAVA的地位 JAVA的特点 安装JDK(Java Develepement Kit) Java程序的开发步骤 简单的 ...

  3. android动态设置组件LayoutParams

    开发中经常用到动态设置组件的LayoutParams,之前开发遇到的问题如下: LinearLayout.LayoutParams params = new LinearLayout.LayoutPa ...

  4. k64 datasheet学习笔记4---Clock distribution

    1.前言 本文主要讲述K64时钟配置相关的内容. 2.clock overview 2.1 clock diagram 2.2 对clock diagram的信号说明 (1)MCG决定哪个clock ...

  5. hibernate框架学习之核心API

    ConfigurationSessionFactorySessionTransactionQueryCriteria Configuration Configuration对象用于封装Hibernat ...

  6. 《The Practice and Theory of Bolshevism》的笔记-第114页

    章节名:International Policy 页码:第114页 2017-09-30 15:11:24 Among religions, Bolshevism is to be reckoned ...

  7. $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期

    1 orm介绍  ORM是什么   ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM.  一 ...

  8. python中__init__ ,__del__ &__new__

    __new__ __new__方法是用来创建对象,__new__方法需要有一个返回值,这个返回值表示创建出来的对象的引用 __init__ __init__方法在类的一个对象被建立时 ,马上执行.__ ...

  9. java结合testng,利用mysql数据库做数据源的数据驱动实例

    上一篇我们介绍用如何用yaml结合testng做数据驱动,就又想来个数据库的参数化 备注:@DataProvider的返回值类型只能是Object[][]与Iterator<Object> ...

  10. select+异步

    IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程.IO多路复用适用如下场合: 当客户处理多个描述符时(一般是交互式输入和网络套接口),必须使用I/O复用. 当一个客户 ...