关闭

深度学习-语义分割总结

标签: 深度学习机器学习神经网络语义分割
389人阅读 评论(0) 收藏 举报
分类:

翻译自qure.ai

  1. 什么是语义分割

    对图片的每个像素都做分类。

    较为重要的语义分割数据集有:VOC2012 以及 MSCOCO

  2. 有哪几种方法

    传统机器学习方法:如像素级的决策树分类,参考TextonForest 以及 Random Forest based classifiers 。再有就是深度学习方法。更确切地说,是卷积神经网络。

    深度学习最初流行的分割方法是,打补丁式的分类方法 ( patch classification ) 。逐像素地抽取周围像素对中心像素进行分类。由于当时的卷积网络末端都使用全连接层 ( full connected layers ) ,所以只能使用这种逐像素的分割方法。

    2014年,来自伯克利的 Fully Convolutional Networks(FCN) 卷积网络,去掉了末端的全连接层。随后的语义分割模型基本上都采用了这种结构。除了全连接层,语义分割另一个重要的问题是池化层。池化层能进一步提取抽象特征增加感受域,但是丢弃了像素的位置信息。但是语义分割需要类别标签和原图像对齐,因此需要从新引入像素的位置信息。有两种不同的架构可以解决此像素定位问题。

    第一种是编码-译码架构。编码过程通过池化层逐渐减少位置信息、抽取抽象特征;译码过程逐渐恢复位置信息。一般译码与编码间有直接的连接。该类架构中U-net 是最流行的。

    第二种架构是膨胀卷积 ( dilated convolutions ) ,抛弃了池化层。使用的卷积核如下图。

    dilated

    条件随机场的后处理 经常用来提高分割的精确度。后处理利用图像的光感强度(可理解为亮度),将周围强度相近的像素分为同一类。能提高 1-2 个百分点。

  3. 文章汇总

    按时间顺序总结八篇paper,看语义分割的结构是如何演变的。分别有FCNSegNetDilated ConvolutionsDeepLab (v1 & v2)RefineNetPSPNetLarge Kernel MattersDeepLab v3

    FCN 2014年

    主要的贡献:

    • 为语义分割引入了 端到端卷积网络,并流行开来
    • 重新利用 ImageNet 的预训练网络用于语义分割
    • 使用 反卷积层 进行上采样
    • 引入跳跃连接来改善上采样粗糙的像素定位

    说明:

    比较重要的发现是,分类网络中的全连接层可以看作对输入的全域卷积操作,这种转换能使计算更为高效,并且能重新利用 ImageNet 的预训练网络。经过多层卷积及池化操作后,需要进行上采样,FCN 使用反卷积(可学习)取代简单的线性插值算法进行上采样。

    SegNet 2015年

    编码-译码架构

    主要贡献:

    • 将池化层结果应用到译码过程

    说明:

    引入了更多的编码信息。使用的是pooling indices而不是直接复制特征。

    Dilated Convolutions 2015年

    通过膨胀卷积操作聚合多尺度的信息

    主要贡献:

    • 使用膨胀卷积
    • 提出 ’context module‘ ,用来聚合多尺度的信息

    说明:

    池化在分类网络中能够扩大感知域,同样降低了分辨率。所以作者提出了膨胀卷积层。

    dilated conv

    膨胀卷积在 DeepLab 中也被称为暗黑卷积 (atrous convolution) 。此卷积能够极大的扩大感知域同时不减小空间维度。本模型移去了VGG网的最后两层池化层,并且其后续的卷积层都采用膨胀卷积。

    作者还训练了一个模块,输入卷积结果,级联了不同膨胀系数的膨胀卷积层的,输出和输入有一样的尺寸,因此此模块能够提取不同规模特征中的信息,得到更精确的分割结果。

    最后预测结果图是原图的八分之一大小,文章使用插值得到最后的分割结果。

    DeepLab (v1 & v2) 2014 & 2016

    主要贡献:

    • 使用膨胀卷积
    • 提出了暗黑空间金字塔池化 (ASPP)
    • 使用全连接的条件随机场

    说明:

    基本网络和 dilated convolutions 一致。最后的结构化预测 (精细分割) 采用全连接的 CDF。提出了ASPP,但结果不如 FC-CDF 。

    Pipline

    RefineNet 2016年

    主要贡献:

    • 精心设计的译码模块
    • 所有模块遵循残余连接设计

    说明:

    膨胀卷积有几个缺点,如计算量大、需要大量内存。这篇文章采用编码-译码架构。编码部分是 ResNet-101 模块。译码采用 RefineNet 模块,该模块融合了编码模块的高分辨率特征和前一个 RefineNet 模块的抽象特征。

    每个 RefineNet 模块接收多个不同分辨率特征,并融合。看图。

    Architecture

    RefineNet Block

    PSPNet 2016年

    Pyramid Scene Parsing Network 金字塔场景解析网络

    主要贡献:

    • 提出了金字塔池化模块来聚合图片信息
    • 使用附加的损失函数

    说明:

    金字塔池化模块通过应用大核心池化层来提高感知域。使用膨胀卷积来修改 ResNet 网,并增加了金字塔池化模块。金字塔池化模块对 ResNet 输出的特征进行不同规模的池化操作,并作上采样后,拼接起来,最后得到结果。

    附加的损失函数:看不懂

    Architecture

    Large Kernel Matters 2017

    主要贡献:

    • 提出了使用大卷积核的编码-译码架构

    说明:

    理论上更深的 ResNet 能有很大的感知域,但研究表明实际上提取的信息来自很小的范围,因此使用大核来扩大感知域。但是核越大,计算量越大,因此将 k x k 的卷积近似转换为 1 x k + k x 1 和 k x 1 + 1 x k 卷积的和。本文称为 GCN。

    本文的架构是:使用 ResNet 作为编译器,而 GCN 和反卷积作为译码器。还使用了名为 Boundary Refinement 的残余模块。

    Architecture

    DeepLab v3 2017

    主要贡献:

    • 改进 ASPP
    • 串行部署 ASPP 的模块

    说明:

    和 DeepLab v2 一样,将膨胀卷积应用于 ResNet 中。改进的 ASPP 指的是将不同膨胀率的膨胀卷积结果拼接起来。并使用了 BN 。

    于 Dilated convolutions (2015) 不一样的是,v3 直接对中间的特征图进行膨胀卷积,而不是在最后做。

    Improved ASPP

对比

模型 分数 (VOC2012)
FCN 67.2
SegNet 59.9
Dilated Convolutions 75.3
DeepLab (v1 & v2) 79.7
RefineNet 84.2
PSPNet 85.4
Large Kernel Matters 83.6
DeepLab v3 85.7
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

基于深度学习的图像语义分割技术概述之5.4未来研究方向

针对当前研究现状,该概述论文列出以下研究方向。 3D数据集:尽管利用3D数据信息进行语义分割的方法和技术已经被提出,但是3D数据集的缺乏仍然是一个重要的问题。大规模3D语义分割数据集的需求是巨大的,但...
  • u014593748
  • u014593748
  • 2017-05-10 09:54
  • 1481

Recorder︱图像语义分割(FCN、CRF、MRF)、论文延伸(Pixel Objectness、)

图像语义分割的意思就是机器自动分割并识别出图像中的内容,我的理解是抠图… 之前在Faster R-CNN中借用了RPN(region proposal network)选择候选框,但是仅仅是候选...
  • sinat_26917383
  • sinat_26917383
  • 2017-02-05 17:57
  • 4033

使用深度学习技术的图像语义分割最新综述

http://abumaster.com/2017/07/10/%E4%BD%BF%E7%94%A8%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%8A%80%E6%9...
  • u014333051
  • u014333051
  • 2017-09-29 16:44
  • 1169

基于深度学习的图像语义分割技术概述之常用方法

深度学习图像分割的常用方法 深度学习在多种高级计算机视觉任务中的成功—特别是监督CNNs(Convolutional Neural Networks,卷积神经网络)在图像分类、物体检测方面的成功...
  • gqixf
  • gqixf
  • 2017-09-19 15:05
  • 857

语义分割与实例分割的区别

目前的分割任务主要有两种: (1)像素级别的语义分割 (2)实例分割这个有意思,什么叫实例分割呢?它与语义分割有什么区别与联系呢? 顾名思义,像素级别的语义分割,对图像中的每个像素都划分出对应的...
  • lanyuxuan100
  • lanyuxuan100
  • 2017-04-26 14:37
  • 3483

开源|如何利用Tensorflow实现语义分割全卷积网络(附源码)

导读:本项目是基于论文《语义分割全卷积网络的Tensorflow实现》的基础上实现的,该实现主要是基于论文作者给的参考代码。该模型应用于麻省理工学院(http://sceneparsing.csail...
  • scutjy2015
  • scutjy2015
  • 2017-04-18 17:09
  • 7043

(译)从全卷积网络到大型卷积核:深度学习的语义分割全指南

图像语义分割深度学习算法发展
  • aitazhixin
  • aitazhixin
  • 2017-11-16 17:24
  • 221

语义分割中的深度学习方法全解:从FCN、SegNet到各版本DeepLab

图像语义分割就是机器自动从图像中分割出对象区域,并识别其中的内容。 量子位今天推荐的这篇文章,回顾了深度学习在图像语义分割中的发展历程。 发布这篇文章的Qure.ai,是一家用...
  • scutjy2015
  • scutjy2015
  • 2017-07-11 14:46
  • 1347

深度学习(二十一)基于FCN的图像语义分割

本篇博文主要讲解2015年的一篇图像语义分割的paper:《Fully Convolutional Networks for Semantic Segmentation》,这篇文献可以说是利用深度学习...
  • hjimce
  • hjimce
  • 2015-12-11 20:59
  • 16439

深度卷积网络CNN与图像语义分割

转载请注明出处: http://xiahouzuoxin.github.io/notes/级别1:DL快速上手级别2:从Caffe着手实践级别3:读paper,网络Train起来级别3:Demo跑起来...
  • xiahouzuoxin
  • xiahouzuoxin
  • 2015-08-19 22:33
  • 73829
    个人资料
    • 访问:9143次
    • 积分:352
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:2篇
    • 译文:22篇
    • 评论:0条
    文章分类