论文源址:https://arxiv.org/pdf/1612.01105.pdf

tensorflow代码:https://github.com/hellochick/PSPNet-tensorflow

基于PSPNet101的钢铁分割实验:https://github.com/fourmi1995/IronSegExperiment-PSPNet

摘要

对于不非特殊条件的场景解析仍十分困难。该文利用金字塔池化模型,融合了图像中不同区域的上下文信息。

介绍

分割可以预测完全理解场景,预测标签,位置,及其形状。目前基于FCN的分割网络提高了理解物体的能力,但面对非特殊条件的场景识别仍有挑战。比如相似物体的误分类。下图中由于船与车有相似的外形因此被误分类为船,但结合上下文信息,船在水面上,所以应大概率判断为一条船。

为了更好的进行场景预测,需要结合场景信息,目前大部分基于FCN的模型大都未有效的利用图片的上下文信息。相比以前将整张图片送入,空间金字塔得到的空间统计信息能更有效的描述图片中潜在的信息。

与上述方法不同,该文提出的PSPNet,除了利用传统的空洞FCN网络,将像素级的特征送入全局金字塔池化层中,局部和全局的信息一起作用于最后的预测,对于深度学习的loss提出了一种新的优化策略。该文主要贡献如下:

(1)提出了金字塔场景分析网络-基于FCN同时结合复杂的场景语义信息进行像素级预测框架。

(2)发现高效优化ResNet网络的策略。

(3)建立有效进行场景分析与语义分割的体系。

相关工作:

该文基于FCN与空洞网络,部分网络大致的两个研究方向为:(1)多尺寸特征信息 -网络的较深层包含更多的语义信息,但缺少位置等细节信息。(2)结构预测- 以前用CRF作为后处理来优化分割的结果。也有网络通过进行端到端的训练来增强结果。这些方法都改进了场景分析中的边界信息。

有基于传统特征(非深度学习得到的特征)提取的全局语义信息,提出了全局平均池化层的FCN可以提高分割结果,但通过实验发现这些操作提取的全局文本信息仍不足,该文利用PSPNet结合不同区域的上下文信息来增强全局信息。

金字塔场景分析网络

普通FCN面向复杂场景分析出现的问题总结:

(1)关系不匹配 - 未有效的利用图片中的上下文信息。

(2)类别混乱 - 比如 mountain and hill,building and skyscraper相似的外形却是不同的类别,解决方法是有效利用类别之间的关系。

(3)不明显的类别 - 场景中包含任意尺寸大小的物体,一些重要的小物体可能检测不到,相反,一些较大的物体超过FCN的感受野,导致无法进行连续的分割预测。因此,需要重视不同区域中不显眼的物体。

总结:上述产生的误差部分或者全部受到不同感受野的文本信息的关系与全局信息影响。一个带有适合全局场景信息的网络可以改善上述问题。

模型分析

在DNN中,感受野的大小可以大致与获得的文本信息量的多少挂钩。虽然理论上ResNet的感受野大小要比输入图像的大小大,但在CNN深层网络上的感受野实际却较小,从而导致无法有效的结合场景信息。不同区域的全局信息有助于区分不同类别。由金字塔池化不同层得到的feature map被拉直然后进行拼接送到全连接层中进行分类。全局优先(利用多尺度信息)的目的是解决用于分类CNN(自带全连接层,假设不同尺寸图片的输入 ,最后一层feature map大小有4x4,3x3,这里就出现问题)的固定尺寸的限制。

为了减少不同子区域上下文信息的损失,该文提出全局场景优先结构夹在CNN最后一层feature map上,结合不同子区域及不同尺寸的语义信息。

该模型fuse四个不同金字塔尺寸的特征,该结构将输入的feature map分为不同的子区域同时,并生成不同位置的polling 表示,从而产生不同尺寸的输出,为了强化全局特征的权重,在金字塔层数为N的情况下,利用一个1x1的卷积将上下文表示的维度将到1/N。然后将得到的特征通过双线性插值上采样至相同尺寸,进行拼接作为最终的全局金字塔池化特征。

网络结构

用带有空洞卷积的预训练的ResNet作为backbone,最后一层提取的feature map大小为输入图像的1/8。结构特点:相比global pooling,该模型获取多尺寸全局信息效果更好。计算上相比dilated FCN网络也不会增加很多,global pyramid pooling模型与FCN特征提取模型可以同时进行训练优化。

对于基于FCN的ResNet的深层监督

ResNet后部的网络层学习前面层数的參差特征。该文通过额外一个loss监督某一层初始分类结果,然后通过最终的loss对參差进行学习。

Loss1基于softmax loss用于训练最终的分类器,在ResNet第四阶段处添加了一个分类器进行辅助优化,两个loss一起传播,使用不同的权重,一起优化,最终将二者按权重相加进行平衡。

测试时将辅助loss2移除,只使用效果较好的loss1进行预测。

实验

在ImageNet scene parsing challeng 2016 , PASCAL VOC2012 semantic segmentation, Cityscapes上进行测试

学习策略:poly

base learning:0.01

power:0.9

Momentum:0.9

weigth decay:0.0001

data augmentation

batchsize:16

Reference

[1] A. Arnab, S. Jayasumana, S. Zheng, and P. H. S. Torr. Higherorder conditional random fields in deep neural networks. In ECCV, 2016. 2
  [2] V. Badrinarayanan, A. Kendall, and R. Cipolla. Segnet: A deep convolutional encoder-decoder architecture for image segmentation. arXiv:1511.00561, 2015. 6
  [3] L. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L.Yuille. Semantic image segmentation with deep convolutional nets and fully connected crfs. arXiv:1412.7062, 2014.1, 2, 4, 7, 8

 个人实验结果

  

论文阅读笔记十五:Pyramid Scene Parsing Network(CVPR2016)的更多相关文章

  1. 【semantic segmentation】Pyramid Scene Parsing Network(转)

    论文地址:https://arxiv.org/pdf/1612.01105.pdf源码地址:https://github.com/hszhao/PSPNet 来自:Semantic Segmentat ...

  2. [论文阅读笔记] Community aware random walk for network embedding

    [论文阅读笔记] Community aware random walk for network embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 先前许多算法都 ...

  3. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding

    [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...

  4. 论文阅读笔记十二:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation(DeepLabv3+)(CVPR2018)

    论文链接:https://arxiv.org/abs/1802.02611 tensorflow 官方实现: https: //github.com/tensorflow/models/tree/ma ...

  5. 论文阅读笔记十九:PIXEL DECONVOLUTIONAL NETWORKS(CVPR2017)

    论文源址:https://arxiv.org/abs/1705.06820 tensorflow(github): https://github.com/HongyangGao/PixelDCN 基于 ...

  6. 论文阅读笔记十八: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 ...

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

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

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

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

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

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

随机推荐

  1. SpringBoot--配置详解

    SpringBoot使用了一个全局的配置文件application.properties,放在src/mian/resource目录下或者类路径的/config下.springboot的全局配置文件的 ...

  2. 20145215《网络对抗》Exp4 恶意代码分析

    20145215<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...

  3. Learning Discriminative Features with Class Encoder

    近来论文看了许多,但没多少时间总结下来.今天暂时记录一篇比较旧的论文,选择理由是 Discriminative features. 做图像说白了就是希望有足够有判别性的特征,这样在分类或者匹配.检索的 ...

  4. 广联达 BIM5D 云平台---《建筑信息模型标准》解读

    广联达 BIM5D 云平台: 1.用户管理:  https://account.glodon.com/info 2.模型使用:  http://bim5d-hunan.glodon.com/api/v ...

  5. python迭代器的说明

    data = [randint(0,20) for _ in xrange(30)]表示30个随机生成的0-20随机数其中for _ in xrange(30)表示循环30次. from random ...

  6. FFmpeg configure: rename cuda to ffnvcodec 2018-03-06

    FFmpeg version of headers required to interface with Nvidias codec APIs. Corresponds to Video Codec ...

  7. Qt 出现“undefined reference to `vtable for”

    在QT中定义了一个线程类,继承自QThread, 在类中未加 Q_OBJECT 时编译正常,加入后报错如下: undefined reference to `vtable for myThread' ...

  8. java使用RunTime调用windows命令行

    当Java需要调用windows系统进行交互时,可以使用Runtime进行操作. 例子: 1.调用window中获取关于java相关的进行信息 Runtime rt = Runtime.getRunt ...

  9. 转载:MySQL字段类型

    原文:https://www.cnblogs.com/jennyyin/p/7895010.html 数值类型 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128, ...

  10. Vue -cli 入门 --项目搭建(一)

    一. 安装node.js环境. 在node.js官网下载稳定版本(https://nodejs.org/en/) 下载完成后点击安装,安装过程很简单,一直next即可,安装完成会自动添加node及np ...