【论文笔记】A Review on Deep Learning Techniques Applied to Semantic Segmentation

A Review on Deep Learning Techniques Applied to Semantic Segmentation

2018-02-22  10:38:12  

1. Introduction:

  语义分割是计算机视觉当中非常重要的一个课题,其广泛的应用于各种类型的数据,如:2D image,video,and even 3D or volumetric data。

  最近基于 deep learning 的方法,取得了非常巨大的进展,在语义分割上也是遥遥领先于传统算法。

  本文对于比较流行的深度风格技术进行了总结,其主要贡献在于:

  • 提供了一个非常广泛的现有分割数据集的总结;
  • 一个深入的关于深度分割方法的总结,起源及其贡献;
  • 关于常用的分割评价标准的总结,包括 accuracy,execution time,以及 memory footprint;
  • 关于上述结果的总结,以及一系列可能的未来工作。

  

2. Terminology and Background Concepts:

  本文对视觉认知看成是一个 coarse to fine 的过程,即:由粗到细的过程。  

  最基本的就是 classification,然后是 localization or detection,然后更高级的是 semantic segmentation,其中,更加细致的是:instance segmentation 以及 part-based segmentation。

  语义分割的目标是:make dense predictions inferring labels for every pixel,i.e. each pixel is labeled with the class of its enclosing object or region.

  

  2.1. Common Deep Network Architecture 

  本节重点回顾了一些经典且重要的网络结构,正是这些网络结构的出现,才使得分割领域取得了突飞猛进的进展。常见的网络结构有:Alexnet,VGG-16,GoogLeNet,and ResNet。

  AlexNet:7 layers,属于 deep learning 早期的网络结构。

  

  VGG:The main difference between VGG-16 and its predecessors is the use of a stack of convolution layers with small receptive fields in the first layers instead of few layers with big receptive fileds. This leads to less parameters and more non-linearities in between, thus making the decision function more discriminative and the model easier to train.

  

  GoogLeNet:该网络进一步增加了 layer,并且引入了新的结构:Inception module。这种新的方法验证了 CNN layer 可用多种方式来堆叠,而不是传统的 sequential manner。实际上,这些模型由:a Network in Network (NiN) layer, a pooling operation, a large-size convolution layer, and small-sized convolution layer.

  All of them are computed in parallel and followed by 1*1 convolution operations to reduce dimensionality.

  

  

  ResNet:残差网络,更是将 CNN 的深度加深到变态的级别(1k+ layer),带来了更好的性能。这是通过一种 identity skip connections 来实现的,即:将他们的输入拷贝给下一层。这种方法底层的直观的想法是:这确保了下一层学习到了新的不同的东西,至少不同于前一层的输出(different from what the input has already encoded, since it is provided with both the output of the previous layer and its unchanged input)。此外,这种连接在某种程度上,缓解了梯度消失的问题(help overcoming the vanishing gradients problem)。

  

  

  ReNet:Yoshua Bengio 等人提出 ReNet 网络结构,将 CNN 中的 Conv + Pooling 操作替换为 4 RNNs sweeping the image vertically and horizontally in both directions。
  

  当然了,还有 CVPR 2017 年的Dense Connected Network,这篇文章并没有回顾到,Dense Net 取得了更好的结果。

  

  2.2 Transfer Learning

  从头开始训练一个网络是不可取的,因为这需要大量的数据,并且很难训练。现有的方法,基本都是在 pre-trained model 的基础上进一步微调出来的,而不是随机初始化一个网络参数。Yosinski  et al. 已经证明,即使是 较远的 task 上迁移过来的 feature,都是比随机初始化要好的。

  但是,直接将这种迁移技术应用过来也是不直观的:

  一方面,想这么迁移特征,就要求那部分的网络结构要相同。这对于新提出的网络结构并不适用,因为迁移是需要利用现有网络结构的。

  另一方面,当微调的时候,训练的方法和随机初始化那样的训练方法也是有很大区别的。选择哪一些层进行微调,也是非常重要的 --- 通常是网络的 high-level part of the network,因为底层的特征通常会包含一些通用的 feature --- 学习率的选择也是非常重要的,因为原本模型的参数已经很好了,这个时候,没有必要进行较大幅度的改变。

  

  由于采集和处理分割的数据是比较困难的,导致数据量不是很大,特别是对于 RGB-D 或者 3D datasets,这些数据更是少的可怜。所以,迁移学习或者 微调技术,就显得更加重要了。所以,迁移学习已经称为分割领域一个大的趋势和一项非常重要且有效的技术了。

  

  2.3 Data Preprocessing and Augmentation

  数据增广是一项已经被广泛应用的技术,可以增强模型的泛化能力,防止过拟合。通常是在图像或者特征空间进行一系列的转换。

  常见的是在 data space 进行转换,可以产生更多的训练样本,常见的操作有:translation, rotation, warping, scaling, color space shifts, crops, etc.

  

 3. Datasets and Challengs 

  数据集这部分,感兴趣的可以参考原本,这里不一一介绍,只是列出其 dataset 名字。

  3.1 2D datasets 

  • PASCAL Visual Object Classes (VOC)
  • PASCAL Context
  • PASCAL Part
  • Semantic Boundaries Dataset (SBD)
  • Microsoft Common Objects in Context (COCO)
  • SYBTHetic Collection of Imagery and Annotations (SYNTHIA)
  • Cityscapes
  • Cam Vid
  • KITTI
  • Youtube-Objects
  • Adobe‘s Portrait Segmentation
  • Materials in Context (MINC)
  • Densely-annotated VIdeo segmentation (DAVIS)
  • Stanford background
  • SiftFlow

  3.2 2.5D Datasets 

  • BYUD v2
  • SUN3D
  • SUNRGBD
  • The Object segmentation database (OSD)
  • RGB-D object detection

  3.3 3D datasets :

  • ShapeNet Part
  • Stanford 2D-3D-S
  • A Benchmark for 3D Mesh Segmentation
  • Sydney Urban Objects Dataset
  • Large-Scale point cloud classification benchmark

4. Methods 

  将深度学习应用到语义分割中的一个比较成功的方法是:FCN(fully convolutional network)。 这个工作被认为是 deep learning 在分割领域的一个里程碑。

  

  

   

   4.1 Decoder Variants

  后续的很多拓展工作,都是基于 encoder-decoder framework,encoder 用于编码输入图像,decoder 用于解码输出的feature map,表示分割的结果。

  SegNet 这种网络的典型代表,其网络结构示意图如下所示:

  

  另一方面,FCN-based architecture 利用了可学习的反卷积滤波器(the learnable deconvolution filters to upsample feature maps)。在此之后,上采样的 feature maps 和 之前 卷积层的 feature map 进行相加。下图展示了这两种操作的具体细节:

  

  

  4.2 Integrating Context Knowledge 

  Local 和 Global 的信息对于分割来说,是非常重要的。It also implies balancing local and global information.

  On the one hand, fine-grained or local information is crucial to achieve good pixel-level accuracy.

  On the other hand, it is also important to integrate information from the global context of the image to be able to resolve local ambiguities.

  

  但是,vanilla CNNs 没有很好的达到这两者之间的平衡,所以,有很多的方法被提出来处理这个问题,常见的有:refinement as a post-processing step with Conditional Random Fields (CRFs), dilated convolutions, multi-scale aggregation, or even defer the context modeling to another kind of deep networks such as RNNs.

  

  4.2.1 Conditional Random Fields 

  
  

  

  

原文地址:https://www.cnblogs.com/wangxiaocvpr/p/8458237.html

时间: 2024-08-04 19:55:00

【论文笔记】A Review on Deep Learning Techniques Applied to Semantic Segmentation的相关文章

论文笔记之:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation

Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation xx

论文笔记(2):A fast learning algorithm for deep belief nets.

论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm for Deep Belief Nets.这篇论文一开始读起来是相当费劲的,学习了好几天才了解了相关的背景,慢慢的思路也开始清晰起来.DBN算法就是Wake-Sleep算法+RBM,但是论文对Wake-Sleep算法解释特别少.可能还要学习Wake-Sleep和RBM相关的的知识才能慢慢理解,今天

论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS

UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS  ICLR 2016  摘要:近年来 CNN 在监督学习领域的巨大成功 和 无监督学习领域的无人问津形成了鲜明的对比,本文旨在链接上这两者之间的缺口.提出了一种 deep convolutional generative adversarial networks (DCGANs),that have certai

论文笔记 Spatial contrasting for deep unsupervised learning

在我们设计无监督学习模型时,应尽量做到 网络结构与有监督模型兼容 有效利用有监督模型的基本模块,如dropout.relu等 无监督学习的目标是为有监督模型提供初始化的参数,理想情况是"这些初始化的参数能够极大提高后续有监督模型准确率,即使有监督任务的训练样本数很少".类别理解就是,我们在Imagenet上通过有监督的方式训练得到了表达能力很强的网络,在我们迁移至新的任务时(该任务带有训练标签的样本有限),我们一般固定在Imagenet上训练好模型的前N层(N可以根据实际需要调整),然

论文笔记之:Collaborative Deep Reinforcement Learning for Joint Object Search

Collaborative Deep Reinforcement Learning for Joint Object Search   CVPR 2017 Motivation: 传统的 bottom-up object region proposals 的方法,由于提取了较多的 proposal,导致后续计算必须依赖于抢的计算能力,如 GPU 等.那么,在计算机不足的情况下,则会导致应用范围受限.而 Active search method (就是 RL 的方法) 则提供了不错的方法,可以很大

论文笔记之:Continuous Deep Q-Learning with Model-based Acceleration

Continuous Deep Q-Learning with Model-based Acceleration 本文提出了连续动作空间的深度强化学习算法. 开始正文之前,首先要弄清楚两个概念:Model-free 和 Model-based.引用 周志华老师的<机器学习>中的一段话来解释这个概念,即: Model-based learning:机器已对环境进行了建模,能够在机器内部模拟出与环境相同或者近似的状况.在已知模型的环境中学习称为“有模型学习”,也就是这里讲的 model-based

论文笔记之:DeepCAMP: Deep Convolutional Action &amp; Attribute Mid-Level Patterns

DeepCAMP: Deep Convolutional Action & Attribute Mid-Level Patterns CVPR 2016 本文提出一种 分割图像 patch 的方法,

论文笔记--AlexNet--ImageNet Classification with Deep Convolutional Neural Networks

Datasets: LabelMe: consists of hundreds of thousands of fully-segmented images ImageNet: consists of over 15 million labeled high-resolution images in over 22000 categories 这篇论文使用的数据集是ImageNet 多余的话: ImageNet包含超过1500 0000张的已标记的高清晰度图片,这些图片大约有22000类.这些图

【论文翻译】SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

Segnet: 一种用于图像分割的深度卷积编码-解码架构 摘要 我们展示了一种新奇的有实践意义的深度全卷积神经网络结构,用于逐个像素的语义分割,并命名为SegNet.核心的可训练的分割引擎包含一个编码网络,和一个对应的解码网络,并跟随着一个像素级别的分类层.编码器网络的架构在拓扑上与VGG16网络中的13个卷积层相同.解码网络的角色是映射低分辨率的编码后的特征图到输入分辨率的特征图.具体地,解码器使用在相应编码器的最大合并步骤中计算的池化索引来执行非线性上采样.这消除了上采样的学习需要.上采样后