精华内容
下载资源
问答
  • deeplab介绍

    2020-10-26 11:15:18
    DeepLab 是结合了深度卷积神经网络(DCNNs)和概率图模型(DenseCRFs)的方法。 在实验中发现 DCNNs 做语义分割时精准度不够的问题,根本原因是 DCNNs 的高级特征的平移不变性,即高层次特征映射,根源于.

    ■ 论文 | Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

    ■ 链接 | https://www.paperweekly.site/papers/1676

     

    DeepLab 是结合了深度卷积神经网络(DCNNs)和概率图模型(DenseCRFs)的方法。

    在实验中发现 DCNNs 做语义分割时精准度不够的问题,根本原因是 DCNNs 的高级特征的平移不变性,即高层次特征映射,根源于重复的池化和下采样。

    针对信号下采样或池化降低分辨率,DeepLab 是采用的 atrous(带孔)算法扩展感受野,获取更多的上下文信息。

    分类器获取以对象中心的决策是需要空间变换的不变性,这天然地限制了 DCNN 的定位精度,DeepLab 采用完全连接的条件随机场(CRF)提高模型捕获细节的能力。

    除空洞卷积和 CRFs 之外,论文使用的 tricks 还有 Multi-Scale features。其实就是 U-Net 和 FPN 的思想,在输入图像和前四个最大池化层的输出上附加了两层的 MLP,第一层是 128 个 3×3 卷积,第二层是 128 个 1×1 卷积。最终输出的特征与主干网的最后一层特征图融合,特征图增加 5×128=640 个通道。

    实验表示多尺度有助于提升预测结果,但是效果不如 CRF 明显。

    论文模型基于 VGG16,在 Titan GPU 上运行速度达到了 8FPS,全连接 CRF 平均推断需要 0.5s ,在 PASCAL VOC-2012 达到 71.6% IOU accuracy。

    DeepLabv2

    DeepLabv2 是相对于 DeepLabv1 基础上的优化。DeepLabv1 在三个方向努力解决,但是问题依然存在:特征分辨率的降低、物体存在多尺度,DCNN 的平移不变性。

    因 DCNN 连续池化和下采样造成分辨率降低,DeepLabv2 在最后几个最大池化层中去除下采样,取而代之的是使用空洞卷积,以更高的采样密度计算特征映射。

    物体存在多尺度的问题,DeepLabv1 中是用多个 MLP 结合多尺度特征解决,虽然可以提供系统的性能,但是增加特征计算量和存储空间。

    论文受到 Spatial Pyramid Pooling (SPP) 的启发,提出了一个类似的结构,在给定的输入上以不同采样率的空洞卷积并行采样,相当于以多个比例捕捉图像的上下文,称为 ASPP (atrous spatial pyramid pooling) 模块。

    DCNN 的分类不变形影响空间精度。DeepLabv2 是采样全连接的 CRF 在增强模型捕捉细节的能力。

    论文模型基于 ResNet,在 NVidia Titan X GPU 上运行速度达到了 8FPS,全连接 CRF 平均推断需要 0.5s ,在耗时方面和 DeepLabv1 无差异,但在 PASCAL VOC-2012 达到 79.7 mIOU。

    DeepLabv3

    好的论文不止说明怎么做,还告诉为什么。DeepLab 延续到 DeepLabv3 系列,依然是在空洞卷积做文章,但是探讨不同结构的方向。

    DeepLabv3 论文比较了多种捕获多尺度信息的方式:

    1. Image Pyramid:将输入图片放缩成不同比例,分别应用在 DCNN 上,将预测结果融合得到最终输出。

    2. Encoder-Decoder:利用 Encoder 阶段的多尺度特征,运用到 Decoder 阶段上恢复空间分辨率,代表工作有 FCN、SegNet、PSPNet 等工。

    3. Deeper w. Atrous Convolution:在原始模型的顶端增加额外的模块,例如 DenseCRF,捕捉像素间长距离信息。

    4. Spatial Pyramid Pooling:空间金字塔池化具有不同采样率和多种视野的卷积核,能够以多尺度捕捉对象。

    DeepLabv1-v2 都是使用带孔卷积提取密集特征来进行语义分割。但是为了解决分割对象的多尺度问题,DeepLabv3 设计采用多比例的带孔卷积级联或并行来捕获多尺度背景。

    此外,DeepLabv3 将修改之前提出的带孔空间金字塔池化模块,该模块用于探索多尺度卷积特征,将全局背景基于图像层次进行编码获得特征,取得 state-of-art 性能,在 PASCAL VOC-2012 达到 86.9 mIOU。

    DeepLabv3+

    DeepLabv3+ 架构

    DeepLabv3+ 继续在模型的架构上作文章,为了融合多尺度信息,引入语义分割常用的 encoder-decoder。在 encoder-decoder 架构中,引入可任意控制编码器提取特征的分辨率,通过空洞卷积平衡精度和耗时。

    在语义分割任务中采用 Xception 模型,在 ASPP 和解码模块使用 depthwise separable convolution,提高编码器-解码器网络的运行速率和健壮性,在 PASCAL VOC 2012 数据集上取得新的 state-of-art 表现,89.0 mIOU。

    Xception 改进

    Entry flow 保持不变,但是添加了更多的 Middle flow。所有的 max pooling 被 depthwise separable convolutions 替代。在每个 3x3 depthwise convolution 之外,增加了 batch normalization 和 ReLU。

    实验

    论文提出的模型在主干网络 ResNet-101 和 Xception均进行验证。两种方式均在 ImageNet 预训练。其中 Xception 预训练过程中,使用 50 个 GPU,每个 GPU batch size=32,分辨率 299x299。Xception 相比 ResNet-101,在 Top-1 和 Top-5 分别提高 0.75% 和 0.29%。

    在实验过程中,分别考虑 train OS: The output stride used during training、eval OS: The output stride used during evaluation、Decoder: Employing the proposed decoder structure、MS: Multi-scale inputs during evaluation、 Flip: Adding left-right flipped inputs 等各种情况。

    另外使用 depthwise separable convolution,使用 Pretraining on COCO 和 Pretraining on JFT,在这些 tricks 辅助下,PASCAL VOC 2012 test set 达到惊人的 89.0%,取得新的 state-of-the-art 水平。

    结论

    从 DeepLabv1-v4 系列看,空洞卷积必不可少。从 DeepLabv3 开始去掉 CRFs。

    Github 目前还未有公布的 DeepLabv3,但是有网友的复现版本。DeepLabv3+ 更是没有源代码,复现起来估计有些难度。

    DeepLabv3 复现:

    https://github.com/NanqingD/DeepLabV3-Tensorflow

    DeepLabv1-v4 没有用很多 tricks,都是从网络架构中调整,主要是如何结合多尺度信息和空洞卷积。从FCN,ASPP,Encoder-Decoder with Atrous Conv,每一个想法看上去在别的都实现过,但是论文综合起来就是有效。

    Deeplabv1,v2 耗时为 8fps,从 Deeplabv3 开始,论文已经不说运行时间的问题,是否模型越来越慢了。

    MobileNetV2 已经实现 Deeplabv3,并努力在 MobileNetV2 中复现 DeepLabv3+ 版本。

    参考文献

    [1] Semantic image segmentation with deep convolutional nets and fully connected CRFs

    [2] DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

    [3] Rethinking Atrous Convolution for Semantic Image Segmentation

    [4] Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

    展开全文
  • 用卷积滤波器matlab代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率...
  • DL之DeepLabv3:DeepLab v3和DeepLab v3+算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略 目录 DeepLab v3和DeepLab v3+算法的简介(论文介绍) DeepLab v3 DeepLab v3+ 0、实验结果 Deep...

    DL之DeepLabv3:DeepLab v3和DeepLab v3+算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

     

     

     

    目录

    DeepLab v3和DeepLab v3+算法的简介(论文介绍)

    DeepLab v3

    DeepLab v3+

    0、实验结果

    DeepLab v3算法的架构详解

    DeepLab v3算法的案例应用


     

     

     

     

     

     

    相关文章
    DL之DeepLabv1:DeepLabv1算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
    DL之DeepLabv1:DeepLabv1算法的架构详解
    DL之DeepLabv2:DeepLab v2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
    DL之DeepLabv2:DeepLab v2算法的架构详解
    DL之DeepLabv3:DeepLab v3和DeepLab v3+算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
    DL之DeepLabv3:DeepLab v3和DeepLab v3+算法的架构详解

    DeepLab v3和DeepLab v3+算法的简介(论文介绍)

     

    DeepLab v3

    Abstract  
           In this work, we revisit atrous convolution, a powerful tool  to explicitly adjust filter’s field-of-view as well as control the  resolution of feature responses computed by Deep Convolutional  Neural Networks, in the application of semantic image  segmentation. To handle the problem of segmenting objects  at multiple scales, we design modules which employ atrous  convolution in cascade or in parallel to capture multi-scale  context by adopting multiple atrous rates. Furthermore, we  propose to augment our previously proposed Atrous Spatial  Pyramid Pooling module, which probes convolutional features  at multiple scales, with image-level features encoding  global context and further boost performance. We also elaborate  on implementation details and share our experience  on training our system. The proposed ‘DeepLabv3’ system  significantly improves over our previous DeepLab versions  without DenseCRF post-processing and attains comparable  performance with other state-of-art models on the PASCAL  VOC 2012 semantic image segmentation benchmark.
           在本工作中,我们重新讨论了atrous convolution,这是一个强大的工具,可以显式调整滤波器的视野,并控制深度卷积神经网络计算的特征响应的分辨率,这是在语义图像分割中的应用。针对多尺度目标分割问题,设计了采用级联或并行的无级卷积模块,采用多尺度速率捕获多尺度上下文。此外,我们建议增加先前提出的Atrous空间金字塔池模块,该模块在多个尺度上探测卷积特征,并使用图像级特征编码全局上下文,进一步提高性能。我们也详细阐述了系统的实施细节,并分享了我们在训练系统方面的经验。提出的“DeepLabv3”系统在没有经过DenseCRF后处理的情况下,大大改进了我们之前的DeepLab版本,并在PASCAL VOC 2012语义图像分割基准上取得了与其他先进模型相当的性能。
    Conclusion  
           Our proposed model “DeepLabv3” employs atrous convolution  with upsampled filters to extract dense feature maps  and to capture long range context. Specifically, to encode  multi-scale information, our proposed cascaded module gradually  doubles the atrous rates while our proposed atrous spatial  pyramid pooling module augmented with image-level  features probes the features with filters at multiple sampling  rates and effective field-of-views. Our experimental results  show that the proposed model significantly improves over  previous DeepLab versions and achieves comparable performance  with other state-of-art models on the PASCAL VOC  2012 semantic image segmentation benchmark.
           我们提出的“DeepLabv3”模型利用上采样滤波器的卷积来提取密集的特征图,并捕获长范围的上下文。具体来说,为了对多尺度信息进行编码,我们提出的级联模块逐步将atrous速率提高一倍,而我们提出的atrous空间金字塔池模块使用图像级特征增强,探测具有多个采样速率和有效视场的过滤器的特征。实验结果表明,该模型较之前的DeepLab版本有了明显的改进,并在PASCAL VOC 2012语义图像分割基准上取得了与其他现有模型相当的性能。

    论文
    Liang-ChiehChen, George Papandreou, Florian Schroff, HartwigAdam.
    Rethinking AtrousConvolution for Semantic Image Segmentation. CVPR, 2017
    https://arxiv.org/abs/1706.05587

     

    DeepLab v3+

    Abstract  
           Spatial pyramid pooling module or encode-decoder structure  are used in deep neural networks for semantic segmentation  task. The former networks are able to encode  multi-scale contextual information by probing the incoming  features with filters or pooling operations at multiple rates  and multiple effective fields-of-view, while the latter networks  can capture sharper object boundaries by gradually  recovering the spatial information. In this work, we propose  to combine the advantages from both methods. Specifically,  our proposed model, DeepLabv3+, extends DeepLabv3 by  adding a simple yet effective decoder module to refine the  segmentation results especially along object boundaries. We  further explore the Xception model and apply the depthwise  separable convolution to both Atrous Spatial Pyramid Pooling  and decoder modules, resulting in a faster and stronger  encoder-decoder network. We demonstrate the effectiveness  of the proposed model on the PASCAL VOC 2012 semantic  image segmentation dataset and achieve a performance  of 89% on the test set without any post-processing. Our  paper is accompanied with a publicly available reference  implementation of the proposed models in Tensorflow.
           深度神经网络采用空间金字塔汇聚模块编码解码器结构进行语义分割。前者通过滤光器探测输入特征或以多种速率和多个有效视场汇聚操作来编码多尺度上下文信息,后者通过逐步恢复空间信息来捕捉更清晰的对象边界。在这项工作中,我们建议结合这两种方法的优点。具体来说,我们提出的模型DeepLabv3+扩展了DeepLabv3,添加了一个简单而有效的解码器模块来细化分割结果,尤其是沿着对象边界的分割结果。我们进一步探讨了Xception模型,并将深度可分离卷积应用于无源空间金字塔池和解码器模块中,得到了一个更快、更强的编解码器网络。我们在PASCAL VOC 2012语义图像分割数据集上验证了该模型的有效性,在没有任何后处理的情况下,测试集的性能达到89%。我们的论文附带了Tensorflow中提出的模型的公开参考实现。
    Conclusion  
           Our proposed model “DeepLabv3+” employs the encoderdecoder  structure where DeepLabv3 is used to encode the  rich contextual information and a simple yet effective decoder  module is adopted to recover the object boundaries.  One could also apply the atrous convolution to extract the  encoder features at an arbitrary resolution, depending on  the available computation resources. We also explore the  Xception model and atrous separable convolution to make  the proposed model faster and stronger. Finally, our experimental  results show that the proposed model sets a new  state-of-the-art performance on the PASCAL VOC 2012  semantic image segmentation benchmark.
           我们提出的模型“DeepLabv3+”采用了encoderdecoder结构,其中DeepLabv3用于编码丰富的上下文信息,并采用一个简单而有效的解码器模块来恢复对象边界。根据可用的计算资源,还可以应用无源卷积以任意分辨率提取编码器的特性。同时,我们还研究了Xception模型和atrous可分离卷积,使所提出的模型更快、更强。最后,我们的实验结果表明,该模型在PASCAL VOC 2012语义图像分割基准上设置了一个新的最先进的性能。

    论文
    Liang-ChiehChen, YukunZhu, George Papandreou, Florian Schroff, Hartwig Adam.
    Encoder-Decoder with AtrousSeparable Convolution for Semantic Image Segmentation. Feb. 2018
    https://arxiv.org/abs/1802.02611v1

     

    0、实验结果

    1、Performance on PASCAL VOC 2012 test

                                     DeepLab v3                                  DeepLab v3+

     

    2、 DeepLabv3+算法PASCAL VOC 2012

    Visualization results on the PASCAL VOC 2012 valset

     

     

    DeepLab v3算法的架构详解

    更新……

    DL之DeepLabv3:DeepLab v3和DeepLab v3+算法的架构详解

     

     

    DeepLab v3算法的案例应用

    更新……

     

     

     

    展开全文
  • DeepLab V3 Plus的高性能Pytorch实现 介绍 此存储库是(重)实现的PyTorch中的语义图像分割,用于在PASCAL VOC数据集上进行语义图像分割。 此回购协议的mIuU高于纸面结果的78.85%,为79.19%。 要求 在运行脚本之前...
  • 用卷积滤波器matlab代码DeepLab v2 support cudnn-v5 使用最新的Caffe / Master升级。 所有层都是最新的。 支持Pascal architecture和cudnn-v5 。 欢迎测试和调试:) 介绍 DeepLab是基于的最先进的深度学习系统,用于...
  • matlab高斯金字塔代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率和...
  • 用卷积滤波器matlab代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率...
  • Deeplab

    千次阅读 2019-12-16 17:22:42
    有什么问题欢迎留言指正~~~...Deeplab至今总共有四个版本: deeplabv1: https://arxiv.org/abs/1412.7062 由于这个版本时间太早,同时主要说的CRF在后面的版本里也被删除了,这里就不进行过多介绍了。 deeplabv2: ...

    有什么问题欢迎留言指正~~~

    Deeplab至今总共有四个版本:

    deeplabv1:

    https://arxiv.org/abs/1412.7062

    由于这个版本时间太早,同时主要说的CRF在后面的版本里也被删除了,这里就不进行过多介绍了。

    deeplabv2:

    https://arxiv.org/pdf/1606.00915.pdf

    主要引入了空洞卷积(atrous convolution)和ASPP(atrous spatial pyramid pooling)结构。

    这里主要讲解一下空洞卷积:

    空洞卷积的出现是为了解决小核(3*3)感受野过小,而采用下采样会降低图片精度的问题而提出的。空洞卷积可以有效的扩大感受野,是现在语义分割中比较好用的利器之一。

                                                               

    推荐一下讲的比较好的一篇文章:https://www.zhihu.com/question/54149221

    ASPP(atrous spatial pyramid pooling)

    通过使用不同rate的空洞卷积解决了多尺度问题。ASPP是根据何凯明提出的SPP思想产生的(https://arxiv.org/pdf/1406.4729.pdf),spp主要解决了对于不同尺度大小的图片如何把他进行缩放能够使得输入固定,方便网络对于不同大小的图片进行处理。换一种角度,我们想解决图像处理中的多尺度问题,也就可以把同一张图片变换成不同尺度让网络学习进行训练,也就可以认为是将同一张图片经过不同大小感受野的卷积核实现(金字塔思想)。

    此外该模型还采用了CRF

    卷积网络生成的结果只能表示粗糙的物体位置,但不能很好的描述物体边界。而全连接的CRF能够很好的恢复物体边界。

    传统的CRF被用于平滑噪声分割图,将相邻的节点耦合起来,倾向于将相同的标签分配到空间上的近端像素,换句话,他会根据每个像素点周围的像素点标签分配该像素点的标签。

    这里CRF就是一个后处理的过程。后期就被抛弃了。。。

    deeplabv3:

    https://arxiv.org/abs/1706.05587

    对deeplabv2提出了ASPP进行了改进,可以看作采用了并行空洞卷积和串行空洞卷积,下面会详细解释并行和串行空洞卷积。同时废除了后处理CRF也得到了很好的结果。

    串行空洞卷积:

    卷积操作虽然好用但存在着致命的缺陷,就是感受野小。为了解决这个问题提出了池化操作,但随着网络层数的加深,过多的池化层会导致原图像缩小过多,丢失图片细节甚至是小物体,更不利于语义分割。为了解决池化带来的问题同时增大卷积网络的感受野提出了空洞卷积。

    deeplabv3使用resnet作为backbone提取图片特征,然后在resnet后面又重复放了三个Block4(也就是重新命名的block5,nlock6,block7),但由于block本来带有的池化层,会导致图片长宽缩的过于小,也就是下面图片中的第一行,最小的会缩小到源图像的256分之一。太小了不适合语义分割,因此的deeplabv3去除了block的池化层,将3*3卷积使用空洞卷积代替。每往下传递一个block就将空洞卷积的rate增大2倍,也就代替了池化操作。

    同时由于空洞卷积会存在gridding 的影响,为了解决采用了multi-grid方法,例如,采用(1,2,4)则对于block5: rate=4,那么他的空洞卷积为4*(1,2,4)=(4,8,16)

    并行空洞卷积:

    这里也就是对ASPP进行的改进,同一层block使用不同大小的空洞卷积,实现多尺度。

    当空洞卷积的rate特别大的时候,卷积核中的有效参数就会变少,比如,当rate=feature map size时,3*的卷积核就相当于1*1的卷积核,其他参数都作用在了图片的padding部分。所以并行结果中增加了1*1的卷积核。同时为了整合图片的全局信息,增加了global average pooling。

    deeplabv3+:

    https://arxiv.org/abs/1802.02611

    这部分很简单,主要就是两个贡献:

    一个是对于decoder的改进(红色虚线框内),加入了类似于FCN的skip connect融合思想。对于ASPP生成的feature map在上采样的插值过程中加入了encoder的feature map。

     

    另一个就是更改了网络backbone,使用了Xception,也就是精简了网络。

    展开全文
  • 语义分割模型-DeepLab

    2019-08-05 15:21:40
    介绍DeepLab系列,由谷歌推出的针对语义分割的模型,到目前为止,共有四个版本,这里重点介绍下前两个版本,由于时间原因,并没有来得及读v3+的论文 针对其中用到的主要方法,和大家分享下 空洞卷积 结构化...

    语义分割模型-DeepLab

    介绍下DeepLab系列,由谷歌推出的针对语义分割的模型,到目前为止,共有四个版本,这里重点介绍下前两个版本,由于时间原因,并没有来得及读v3+的论文
    针对其中用到的主要方法,和大家分享下

    1. 空洞卷积
    2. 结构化预测—全连接的CRF
    3. 多尺度预测—ASPP

    空洞卷积

    空洞卷积(Dilated Convolution/Atrous Convolution):在标准卷积核的两个相邻元素间填充0。 dilated rate:即扩张率,当其为r时, 卷积核两个相邻元素间填充(r-1)个0。可认为标准卷积是空洞卷积的一个特殊形式。
    在这里插入图片描述
    例如第一个例子:它扩张完后的大小为:5=3+(3-1)*(2-1)
    在这里插入图片描述
    空洞卷积的计算量是不变的,卷积的过程是完全相同的,只是卷积核变了一下
    作用:

    1. 不丢失分辨率、不增加计算量的同时,扩大了感受野:在传统DCNN中,取消后两个Pooling层,并用空洞卷积替代原本的标准卷积。
    2. 捕获多尺度上下文信息:通过设置dilated rate参数,来获取不同尺寸的感受野,即获取了多尺度信息。

    首先解释一下第一个作用

    下面的第一幅图片是标准卷积,核为3,步长和padding为1
    第二幅图片是扩张率为2的卷积。
    在这里插入图片描述
    在这里插入图片描述
    第一个的一个输出特征跨了3个输入特征;下面的一个输出特征跨了5个输入特征。
    空洞卷积在计算量不增大的前提下,可以有效增大感受野
    既然它扩大了感受野,那原来用于扩大感受野的pooling操作就可以去掉了,这样也就保持了图片的分辨率

    那么膨胀率能一味增大么?感受野能一味增大么?
    答案是不能。下面看一个图片
    在这里插入图片描述
    DeepLab v3中做出的一个很有趣的解释,对象比Dilated-r还小的时候
    Dilated Rate扩张率 和图片尺寸相同,图中都为14,33的空洞卷积退化为11。这也是扩张率不能一味增大的原因。

    空洞卷积的不足

    不足(Gridding效应):

    1. 局部信息丢失:只对一些大物体的分割有效果,但不适用于小物体。 在图像需要全局信息或者语音文本需要较长的序列信息依赖的问题中,能很好的应用空洞卷积。
    2. 连续性丢失:空洞卷积得到的某一层的结果中,邻近的像素是从相互独立的子集中卷积得到的,相互之间缺少依赖。

    解决办法:图森组的Hybrid Dilated Convolution(HDC)结构,采用了锯齿波空洞率的串行卷积序列,以及残差结构,有效的消除了Gridding问题。它在DeepLab v3中有用到,具体可以参考相关文献。

    理解连续性的丢失

    在这里插入图片描述
    在原始特征图上周期性采样形成4组分辨率降低的特征图,然后使用原始的空洞卷积参数(去掉了空洞0)分别进行卷积,之后将卷积的结果进行上采样组合。从该分解观点可以看出,卷积前后的4个组之间没有相互依赖,使得收集到不一致的局部信息。

    DeepLab v1

    V1的DCNN架构是由VGG-16改造而来:

    • 全连接层改为卷积层
    • 进行fine tuning,分类层由1000类改为21类
    • 去掉最后两层Pooling层
    • 其后的卷积层改为空洞卷积

    在这里插入图片描述
    将输出进行双线性插值,恢复至输入图像的尺寸,之后使用全连接的CRF进行后处理
    VGG16架构统一简洁,从头到尾全部使用的是3x3的卷积和2x2的max pooling。

    • 为什么扩张率是2,4这样递增??
      可以参考pooling层的作用,保证改造后的网络和原来网络的感受野基本相等。

    预训练的数据集为ImageNet。DeepLab使用的数据集是PASCAL VOC,20类物体+背景类。
    使用空洞卷积输出结果是原来的1/8,且光滑,所以简单插值即可。而FCN得到的结果是1/32,再进行反卷积,效果不好。
    在这里插入图片描述

    VGG-16

    架构统一简洁,从头到尾全部使用的是3x3的卷积和2x2的max pooling。

    采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核。对于给定的感受野,采用堆积的小卷积核优于大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且由于参数更少,计算代价也会比较小。
    在这里插入图片描述

    全连接的CRF

    DCNN已经可以在分类问题上取得很好的结果,但同时也造成了定位不精确的问题,故而局部的CRF不再适用,这里加入全连接的CRF,来精细勾画边缘信息。
    在这里插入图片描述
    一方面感受野大了可以检测分割大目标,另一方面分辨率高了可以精确定位目标,二者需取一个trade-off。
    简单的使用双线性插值造成的边缘光滑的问题
    对于图片上的每一个像素点来说,我们需要利用它与其他所有像素点之间的关系,来提高这一点的分类准确率。
    DL说白了就是进行特征提取,而PGM能够从数学理论很好的解释事物本质间的联系。
    在这里插入图片描述
    对于每一个像素点i,当xi是飞机时,求出Ex1;当xi是人时,求出Ex2;依次求出21个Ex,找出最小的那个Ex。
    在这里插入图片描述
    在这里插入图片描述
    p:位置。I:颜色强度。
    Ex越大,越容易断开。
    不够像的就从中间断开,从而有利于细化边缘。
    一般使用平均场近似推理计算,具体可参考相关论文。

    DeepLab v1于PASCAL VOC上使用CRF前后的分割结果:在这里插入图片描述

    多尺度预测

    目前常用的捕获多尺度信息的方式:
    在这里插入图片描述
    第一种是比较老旧的做法,第二种是Encoder-Decoder,FCNSegNet都属于这种
    接下来我们看下右边两种。第三个是一系列串联的空洞卷积,注意它们的膨胀率是在逐渐递增的;第四个就是并联形式,类似金字塔。
    当然这几种的组合,是个不错的改进方向。V3+就是2和4的组合;v3做了3和4两个版本,但发现组合起来并没有得到改善。
    我们先来介绍下第四种。使用单一的原始图像,经过若干卷积池化层后,得到特征图;再对这个图进行不同尺度的并行操作,最后将特征融合,类似于空间金字塔结构。

    Atrous Spatial Pyramid Pooling(ASPP)

    Atrous Spatial Pyramid Pooling(ASPP):在给定的输入上使用不同扩张率的空洞卷积并行采样,相当于以多个尺度捕捉图像的上下文。
    在这里插入图片描述
    最终将不同卷积层得到的结果做像素加融合到一起.
    用了【2,4,8,12】实验,但效果不如这个
    那具体是怎么应用到网络中的呐
    不同dilated rate的卷积得到不同的感受野。在同一Input Feature Map的基础上,并行的使用4个空洞卷积,空洞卷积配置为r={6,12,18,24} ,核大小为3×3 。
    在这里插入图片描述
    前面完全一样,只是全连接层发生了改变。左边是原始的,右边是采用ASPP架构的。
    这个是v2提出来的,那我们看v3在多尺度预测方面做了什么改善。做了下面两个版本。
    在这里插入图片描述
    首先来看并行的这个版本,我们这里只关注金字塔部分,看它相对于ASPP做了哪些改善
    3个3*3的卷积层,一个image-level的特征图
    全局池化,来避免信息的缺失
    在这里插入图片描述
    接下来看下图3形式的串联。
    借鉴了HDC的思想,每个block里3个3乘3的空洞卷积层,但它们的膨胀率都不一样。每个block里设置了锯齿状的rate,使得感受野更全面的覆盖输入图。
    比如这里,block4是[1,2,1],block5是[2,4,2],依次递增

    总结

    相对v1的改进方法:

    • 基础网络由VGG-16改为ResNet
    • 采用ASPP架构
    • 在MS-COCO数据集上预训练模型
    • 通过随机缩放输入图片做数据增强
      -更改学习策略,即学习率衰减的模式由step改为poly
      DeepLab v3
      相对v2的改进方法:
    • 不再使用CRF
    • 复制ResNet的一些block,并将其级联到一起
    • 改进ASPP的结构
    • 模型更将通用,可用于任意网络
      DeepLab v3+
    • 采用Encoder-Decoder架构,恢复原始分辨率的分割结果,使得边缘细节信息能够较好的保留
    • 基础网络由ResNet-101替换成Xception模型

    参考文献

    • Yu, F. and V. J. a. p. a. Koltun (2015). “Multi-scale context
      aggregation by dilated convolutions.”

    • Chen, L.-C., et al. (2014). "Semantic image segmentation with deep
      convolutional nets and fully connected CRFs.“

    • Chen, L. C., et al. (2018). “DeepLab: Semantic Image Segmentation
      with Deep Convolutional Nets, Atrous Convolution, and Fully Connected
      CRFs.” Ieee Transactions on Pattern Analysis and Machine Intelligence
      40(4): 834-848.

    • Chen, L.-C., et al. (2017). "Rethinking atrous convolution for
      semantic image segmentation.“

    • Chen L C, Zhu Y, Papandreou G, et al. Encoder-decoder with atrous
      separable convolution for semantic image segmentation[C]//Proceedings
      of the European Conference on Computer Vision (ECCV). 2018: 801-818.

    • Wang P, Chen P, Yuan Y, et al. Understanding convolution for semantic
      segmentation[C]//2018 IEEE Winter Conference on Applications of
      Computer Vision (WACV). IEEE, 2018: 1451-1460.

    • https://arxiv.org/abs/1901.02985
      https://zhuanlan.zhihu.com/p/50369448
      https://blog.csdn.net/Dlyldxwl/article/details/81148810

    展开全文
  • 用卷积滤波器matlab代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率...
  • 用卷积滤波器matlab代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率...
  • pytorch-deeplab-xception 于2018/12/06更新。 提供在VOC和SBD数据集上训练的模型。 于2018/11/24更新。 发布最新版本的代码,该代码可以解决一些以前的问题,并增加对新主干和多GPU培训的支持。 有关以前的代码,...
  • 用卷积滤波器matlab代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率...
  • DeepLab V3

    2020-01-14 11:27:10
    摘要 本文首先回顾了空洞卷积在语义分割中的...此外,我们扩充了在DeepLab V2中提出的ASPP模块,进一步提升了它的性能。并且我们还分享了一些训练系统方面的经验和一些实施方面的细节。 介绍 作者提到DeepLab系...
  • 用卷积滤波器matlab代码DeepLab v2具有CUDA 6.0兼容性并减少了FCN的内存 这是经过以下修改的DeepLab-v2 caffe: CUDA 6.0兼容性 共享FCN的内存 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它...
  • 用卷积滤波器matlab代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率...
  • DeepLab v1、v2、v3

    2019-07-09 08:43:35
    官方PPT:DeepLab官方介绍 DeepLab v1: 论文地址:DeepLab v1,ICLR 2015 代码: bitbucket-Caffe DeepLab github-Caffe DeepLab v2: 论文地址:DeepLab b2,TPAMI 2017 代码: DeepLab v2 Tensorflow bitbucket-C...
  • 在GitHub上找到一个不错的代码:https://github.com/DrSleep/tensorflow-deeplab-resnet 改代码的baseline是resnet101,使用了空洞卷积 前言: 代码的model.py,network.py是建立深度学习网络的部分,这部分代码...
  • DeepLab V2论文理解

    2019-07-12 15:16:24
    论文原文 ... 介绍 DeepLabV2是在DeepLab的基础上进行了改进,DeepLab论文请看:...DeepLab使用了空洞卷积增大感受野,CRF条件随机场细化结果,多次度预测的3大Trick使得语义分割模型更加的...
  • 该文章详细介绍deeplab-v3网络中用到的resnet、空洞卷积、空间空洞金字塔池化等内容,并对部分代码进行了详细解读,理解比较容易。 语义分割模型常用的度量标准/准确度:pixel accuracy, mean accu...
  • DL之DeepLabv2:DeepLab v2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略 目录 DeepLab v2算法的简介(论文介绍) 0、实验结果 1、DeepLab-v2 改进点 DeepLab v2算法的架构详解 DeepLab ...
  • DeepLab1 介绍1.1 背景1.2 Deeplab V1介绍1.3 结构1.4 特点1.4.1 空洞卷积的使用1.4.2 CRF的应用1.5 DeepLab系列总结2 代码3 总结参考资料 1 介绍 相比于传统的视觉算法(SIFT或HOG),Deep-CNN以其end-to-end方式获得...
  • deeplab v3+入门摸索

    2018-11-28 17:39:20
    deeplab: https://github.com/tensorflow/models/tree/master/research/deeplab 2.数据集 使用的数据集:PASCAL-VOC2012 数据集介绍:https://cloud.tencent.com/developer/news/231005 这篇文章后半部分介绍了...
  • DeepFaceLab 是一个应用机器学习进行视频中人物换脸的工具。本文主要是讲诉Deepfacelab的使用,纠正一些网络文章的错误,注意事项。
  • 用卷积滤波器matlab代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率...
  • 语义分割-Deeplab1|2|3, CRF as RNN介绍

    千次阅读 2019-06-12 11:32:25
    只整理关键点 属于语义分割范畴,语义分割需要分割每个像素到指定...标准的 dcnn 输出特征分辨率小+对输入变换具有内在不变性,deeplab 引入了空洞卷积(atrous conv, 解决分辨率问题)+ CRF(解决精分割问题)。 C...
  • DeepLab全家桶小结

    2021-06-19 16:28:29
    目标分割经过了FCN->...U-net++等等的迭代之后,出现了一个通过改良VGG网络融合机器学习方法CRF得到的...在进行DeepLab介绍之前,我想先讲一下空洞卷积和感受野的计算方法,在这两个概念明确了之后,我们能够更好的..
  • 用卷积滤波器matlab代码DeepLab v2 介绍 DeepLab是基于的最先进的深度学习系统,用于语义图像分割。 它结合了(1)粗糙卷积以显式控制深度卷积神经网络中计算特征响应的分辨率;(2)粗糙空间金字塔池,以多个采样率...
  • 从FCN到DeepLab

    万次阅读 多人点赞 2016-09-22 15:33:08
    前言 最近看了一些语义分割的文章DeepLab,写写自己的感受,欢迎指正。介绍 图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类。  图像语义分割,从FCN把深度学习引入这个任务到现在,...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 183
精华内容 73
关键字:

deeplab介绍