zoukankan      html  css  js  c++  java
  • 语义分割简单调研

    主要语义分割网络调研

    介绍

    图像的语义分割是将输入图像中的每个像素分配一个语义类别,以得到像素化的密集分类。虽然自 2007 年以来,语义分割/场景解析一直是计算机视觉社区的一部分,但与计算机视觉中的其他领域很相似,自 2014 年 Long等人 首次使用全卷积神经网络对自然图像进行端到端分割,语义分割才产生了大的突破。

    网络架构

    一般的语义分割架构可以被认为是一个编码器-解码器网络。编码器通常是一个预训练的分类网络,像 VGG、ResNet,然后是一个解码器网络。这些架构不同的地方主要在于解码器网络。解码器的任务是将编码器学习到的可判别特征(较低分辨率)从语义上投影到像素空间(较高分辨率),以获得密集分类。

    不同于分类任务中网络的最终结果(对图像分类的概率)是唯一重要的事,语义分割不仅需要在像素级有判别能力,还需要有能将编码器在不同阶段学到的可判别特征投影到像素空间的机制。不同的架构采用不同的机制(跳跃连接、金字塔池化等)作为解码机制的一部分。

    • Fully Convolution Networks (FCNs) 全卷积网络

      Fully Convolutional Networks for Semantic Segmentation(2015)

      作者将当前分类网络(AlexNet, VGG net 和 GoogLeNet)修改为全卷积网络,通过对分割任务进行微调,将它们学习的表征转移到网络中。然后,我们定义了一种新的架构,它将深的、粗糙的网络层的语义信息和浅的、精细的网络层的表层信息结合起来,来生成精确和详细的分割。我们的全卷积网络在 PASCAL VOC(在2012年相对以前有20%的提升,达到了62.2%的平均IU),NYUDv2 和 SIFT Flow 上实现了最优的分割结果,对于一个典型的图像,推断只需要三分之一秒的时间。
      

      关键特点:

      • 特征是由编码器中的不同阶段合并而成的,它们在语义信息的粗糙程度上有所不同。

      • 低分辨率语义特征图的上采样使用经双线性插值滤波器初始化的反卷积操作完成。

      • 从 VGG16、Alexnet 等分类器网络进行知识迁移来实现语义细分。

      1566960799085

    图:将全连接层转换成卷积层,使得分类网络可以输出一个类的热图。

    • SegNet

      SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation(2015)

      SegNet 的新颖之处在于解码器对其较低分辨率的输入特征图进行上采样的方式。具体地说,解码器使用了在相应编码器的最大池化步骤中计算的池化索引来执行非线性上采样。这种方法消除了学习上采样的需要。经上采样后的特征图是稀疏的,因此随后使用可训练的卷积核进行卷积操作,生成密集的特征图。我们将我们所提出的架构与广泛采用的 FCN 以及众所周知的 DeepLab-LargeFOV,DeconvNet 架构进行比较。比较的结果揭示了在实现良好的分割性能时所涉及的内存与精度之间的权衡。
      

    关键特点

    • SegNet 在解码器中使用反池化对特征图进行上采样,并在分割中保持高频细节的完整性。

    • 编码器不使用全连接层(和 FCN 一样进行卷积),因此是拥有较少参数的轻量级网络。

    如上图所示,编码器中的每一个最大池化层的索引都被存储起来,用于之后在解码器中使用那些存储的索引来对相应的特征图进行反池化操作。虽然这有助于保持高频信息的完整性,但当对低分辨率的特征图进行反池化时,它也会忽略邻近的信息。

    • U-Net

      U-Net: Convolutional Networks for Biomedical Image Segmentation(2015)

      U-Net 架构包括一个捕获上下文信息的收缩路径和一个支持精确本地化的对称扩展路径。我们证明了这样一个网络可以使用非常少的图像进行端到端的训练,并且在ISBI神经元结构分割挑战赛中取得了比以前最好的方法(一个滑动窗口的卷积网络)更加优异的性能。我们使用相同的网络,在透射光显微镜图像(相位对比度和 DIC)上进行训练,以很大的优势赢得了2015年 ISBI 细胞追踪挑战赛。此外,网络运行速度很快。
      

      关键特点

      • U-Net 简单地将编码器的特征图拼接至每个阶段解码器的上采样特征图,从而形成一个梯形结构。
      • 通过skip connection的架构,在每个阶段都允许解码器学习在编码器池化中丢失的相关特征。
      • 上采样采用转置卷积。

      U-Net 在 EM 数据集上取得了最优异的结果,该数据集只有30个密集标注的医学图像和其他医学图像数据集,U-Net 后来扩展到3D版的 3D-U-Net。虽然 U-Net 最初的发表在于其在生物医学领域的分割、网络的实用性以及从非常少的数据中学习的能力,但现在已经成功应用其他几个领域,例如卫星图像分割,同时也成为许多kaggle竞赛中关于医学图像分割的获胜的解决方案的一部分。

    • DeepLab V1

      Semantic Image Segmentation with deep convolutional nets and fully connected CRFs(2016)

      近来,深度卷积网络在高级视觉任务(图像分类和目标检测)中展示了优异的性能。本文结合 DCNN 和概率图模型来解决像素级分类任务(即语义分割)。我们展示了 DCNN 最后一层的响应不足以精确定位目标边界,这是 DCNN 的不变性导致的。我们通过在最后一层网络后结合全连接条件随机场来解决糟糕的定位问题。我们的方法在 PASCAL VOC 2012 上达到了 71.6% 的 mIoU。
      

      特点

      • 提出 空洞卷积(atrous convolution)(又称扩张卷积(dilated convolution))
      • 在最后两个最大池化操作中不降低特征图的分辨率,并在倒数第二个最大池化之后的卷积中使用空洞卷积。
      • 使用 CRF(条件随机场) 作为后处理,恢复边界细节,达到准确定位效果.
      • 附加输入图像和前四个最大池化层的每个输出到一个两层卷积,然后拼接到主网络的最后一层,达到 多尺度预测 效果。
    • DeepLab v2

      DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs(2017)

      首先,我们强调上采样过滤器的卷积,或“空洞卷积”,在密集预测任务中是一个强大的工具。空洞卷积允许我们显式地控制在深度卷积神经网络中计算的特征响应的分辨率。它还允许我们有效地扩大过滤器的视野,在不增加参数数量或计算量的情况下引入更大的上下文。其次,提出了一种空洞空间金字塔池化(ASPP)的多尺度鲁棒分割方法。ASPP 使用多个采样率的过滤器和有效的视野探测传入的卷积特征层,从而在多个尺度上捕获目标和图像上下文。第三,结合 DCNNs 方法和概率图形模型,改进了目标边界的定位。DCNNs 中常用的最大池化和下采样的组合实现了不变性,但对定位精度有一定的影响。我们通过将 DCNN 最后一层的响应与一个全连接条件随机场(CRF)相结合来克服这个问题。DeepLab v2 在 PASCAL VOC 2012 上得到了 79.7% 的 mIoU。
      

      特点

      • 提出了空洞空间金字塔池化(Atrous Spatial Pyramid Pooling),在不同的分支采用不同的空洞率以获得多尺度图像表征。
    • DeepLab v3

      Rethinking Atrous Convolution for Semantic Image Segmentation(2017)

      在本工作中,我们再次讨论空洞卷积,一个显式调整过滤器视野,同时控制特征相应分辨率的强大工具。为了解决多尺度目标的分割问题,我们串行/并行设计了能够捕捉多尺度上下文的模块,模块中采用不同的空洞率。此外,我们增强了先前提出的空洞空间金字塔池化模块,增加了图像级特征来编码全局上下文,使得模块可以在多尺度下探测卷积特征。提出的 “DeepLab v3” 系统在没有 CRF 作为后处理的情况下显著提升了性能。
      

      特点

      • DeepLab v3 使用 ResNet 作为主干网络
      • 在残差块中使用多网格方法(MultiGrid),从而引入不同的空洞率
      • 在空洞空间金字塔池化模块中加入图像级(Image-level)特征,并且使用 BatchNormalization 技巧
    • DeepLab v3+

      Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation(2018)

      通过采用了encoder-decoder结构,在DeepLab V3中加入了一个简单有效的decoder模块来改善物体边缘的分割结果。除此之外还尝试使用Xception作为encoder,在Atrous Spatial Pyramid Pooling和decoder中应用depth-wise separable convolution得到了更快精度更高的网络,在PASCAL VOC 2012数据集上达到state-of-art的效果。
      

      特点

    • Fully Convolutional DenseNet

      The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation(2017)

      在本文中,作者扩展了 DenseNets,以解决语义分割的问题。我们在城市场景基准数据集(如 CamVid 和 Gatech )上获得了最优异的结果,没有使用进一步的后处理模块和预训练模型。此外,由于模型的优异结构,我们的方法比当前发布的在这些数据集上取得最佳的网络的参数要少得多。
      

      特点

      • 参数有效性,参数使用效率高
      • 隐式深层监督,short paths
      • 特征重用
      • 全卷积 DenseNet 使用DenseNet作为它的基础编码器,并且也以类似于U-Net的方式,在每一层级上将编码器和解码器进行拼接
    • E-Net

      A Deep Neural Network Architecture for Real-Time Semantic Segmentation(2016)

      在本文中,作者提出了一种新颖的深度神经网络架构,称为 ENet(efficient neural network),专门为需要低延迟操作的任务创建。ENet 比当前网络模型快18倍,少用75倍的 FLOPs,参数数量少79倍,并且提供相似甚至更好的准确率。我们在 CamVid、Cityscapes 和 SUN 数据集上进行了测试,展示了与现有的最优方法进行比较的结果,以及网络准确率和处理时间之间的权衡。
      
    • Mask R-CNN

      Mask R-CNN(2017)

      该方法被称为 Mask R-CNN,以Faster R-CNN 为基础,在现有的边界框识别分支基础上添加一个并行的预测目标掩码的分支。Mask R-CNN 很容易训练,仅仅在 Faster R-CNN 上增加了一点小开销,运行速度为 5fps。此外,Mask R-CNN 很容易泛化至其他任务,例如,可以使用相同的框架进行姿态估计。我们在 COCO 所有的挑战赛中都获得了最优结果,包括实例分割,边界框目标检测,和人关键点检测。在没有使用任何技巧的情况下,Mask R-CNN 在每项任务上都优于所有现有的单模型网络,包括 COCO 2016 挑战赛的获胜者。
      

      特点

      • 在Faster R-CNN 上添加辅助分支以执行语义分割
      • 对每个实例进行的RoIPool操作已经被修改为RoIAlign,它避免了特征提取的空间量化,因为在最高分辨率中保持空间特征不变对于语义分割很重要
      • Mask R-CNN 与 Feature Pyramid Networks相结合,取得了较优结果
    • PSPNet

      PSPNet: Pyramid Scene Parsing Network(2017)

      在本文中,作者利用基于不同区域的上下文信息集合,通过我们的金字塔池化模块,使用提出的金字塔场景解析网络(PSPNet)来发挥全局上下文信息的能力。我们的全局先验表征在场景解析任务中产生了良好的质量结果,而 PSPNet 为像素级的预测提供了一个更好的框架,该方法在不同的数据集上达到了最优性能。它首次在2016 ImageNet 场景解析挑战赛,PASCAL VOC 2012 基准和 Cityscapes 基准中出现。
      

      特点

      • PSPNet 通过引入空洞卷积来修改基础的 ResNet 架构,特征经过最初的池化,在整个编码器网络中以相同的分辨率进行处理(原始图像输入的1/4),直到空间池化模块
      • 在 ResNet 的中间层中引入辅助损失,以优化整体学习
      • 在修改后的 ResNet 编码器顶部的空间金字塔池化聚合全局上下文
    • RedineNet

      RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation(2017)

      作者提出了 RefineNet,一个通用的多路径优化网络,它明确利用了整个下采样过程中可用的所有信息,使用远程残差连接实现高分辨率的预测。通过这种方式,可以使用早期卷积中的细粒度特征来直接细化捕捉高级语义特征的更深的网络层。RefineNet 的各个组件使用遵循恒等映射思想的残差连接,这允许网络进行有效的端到端训练。
      RefineNet 解决了传统卷积网络中空间分辨率减少的问题,与 PSPNet(使用计算成本高的空洞卷积)使用的方法非常不同。提出的架构迭代地池化特征,利用特殊的 RefineNet 模块增加不同的分辨率,并最终生成高分辨率的分割图
      

      1566961499534

      特点

      • 使用多分辨率作为输入,将提取的特征融合在一起,并将其传递到下一个阶段。
      • 引入链式残差池化,可以从一个大的图像区域获取背景信息。它通过多窗口尺寸有效地池化特性,利用残差连接和学习权重方式融合这些特征。
      • 所有的特征融合都是使用sum(ResNet 方式)来进行端到端训练。
      • 使用普通ResNet的残差层,没有计算成本高的空洞卷积。
    • G-FRNet

      G-FRNet: Gated Feedback Refinement Network for Dense Image Labeling(2017)

      本文提出了 Gated Feedback Refinement Network (G-FRNet),这是一种用于密集标记任务的端到端深度学习框架,解决了现有方法的局限性。最初,GFRNet 进行粗略的预测,然后通过在细化阶段有效地集成局部和全局上下文信息,逐步细化细节。我们引入了控制信息前向传递的门控单元,以过滤歧义.
      在语义分割任务中,ResNet是一个远优于VGG16的编码器。
      

    • 基于GAN的方法

      Semi and Weakly Supervised Semantic Segmentation Using Generative Adversarial Network(2017)

      作者基于生成对抗网络(GANs)提出了一种半监督框架,它包含一个生成器网络以提供额外的用于多类别分类器的训练样本,作为在 GAN 框架中的判别器,从K个可能的类中为样本分配一个标签y或者将其标记为一个假样本(额外的类)。为了确保 GANs 生成的图像质量更高,随之改进像素分类,通过添加弱标注数据来扩展上述框架,即向生成器提供类级别的信息。
      

    • FastFCN

      FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation (2019)

      文章提出了一个联合上采样模块,命名为联合金字塔上采样(JPU),以取代消耗大量时间和内存的扩张卷积。它的工作原理是将获取高分辨率图像的任务转化为联合上采样问题。
      

      该方法实现了全连接网络(FCN)作为主干,同时应用JPU对低分辨率特征映射进行上采样,从而生成高分辨率的特征映射。用JPU代替扩张的卷积不会导致任何性能损失。

    • Gated-SCNN

      Gated-SCNN: Gated Shape CNNs for Semantic Segmentation (2019)

      这篇文章是语义分割模块的最新进展。作者提出了一种双流CNN架构。在此体系结构中,形状信息作为单独的分支处理。该形状流仅处理边界相关信息。这由模型的门控卷积层(GCL)和本地监督强制执行。
      该模型在mloU上的表现优于DeepLab-v3+ 1.5%,在F界面得分上优于4%。该模型已使用Citycapes基准进行评估。在较小和较薄物体上,该模型在IoU上实现7%的改进。
      

      论文提出了使用gate思想,构造了一个two-stream的CNN,主干网络就是一般的语义分割网络,子网络叫shape网络,是进行一个boundary的学习,也就是目标的边界,然后在sub网络使用了一个gated conv layer,相当于一个spatial的attention模块。

    • DFANet

      DFANet: Deep Feature Aggregation for Real-Time Semantic Segmentation

      本文介绍了一种在资源约束条件进行语义分割的非常有效的CNN架构。本文提出的网络基于单个轻量级骨干网络,分别通过级联子网和级联子阶段来聚合判断特征。
      DFANet极大的减少了参数的数量,但仍然获得了足够的感受野并提高了模型的学习能力,在速度和性能之间取得不错的平衡。
      

    参考:

    1.Semantic Segmentation using Fully Convolutional Networks over the years

    2.Semantic Segmentation Architectures Implemented in PyTorch

    3.A 2019 Guide to Semantic Segmentation

  • 相关阅读:
    datagridview 数据刷新 从新绑定
    SVN 出现This client is too old to work with working copy...错误
    【转】ASPX和HTML获取系统根目录的路径
    C#程序最小化到托盘图标
    Winform的html编辑控件htmleditor 有时候无法为里面HTML属性初始化
    C# HttpWebRequest保存cookies模拟登录的方法【z】【解决】
    快速生成解决方案 ctrl + shilf + b
    datagridview只允许单选
    数据库int类型 才可以自增长
    C# dataTable实用例
  • 原文地址:https://www.cnblogs.com/wioponsen/p/11429583.html
Copyright © 2011-2022 走看看