精华内容
下载资源
问答
  • 空洞空间金字塔池化
    千次阅读
    2021-02-09 23:55:35

          ASPP是基于空洞卷积(Dilatd/Atrous Convolution)SPP(空间金字塔池化)的。ASPP对所给定的输入以不同采样率的空洞卷积并行采样,相当于以多个比例捕捉图像的上下文。

         

          ASPP实际上是空间金字塔池的一个版本,其中的概念已经在SPPNet中描述。在ASPP中,在输入特征映射中应用不同速率的并行空洞卷积,并融合在一起。由于同一类的物体在图像中可能有不同的比例,ASPP有助于考虑不同的物体比例,这可以提高准确性。

          DeepLab v2中就有用到ASPP模块

          这里设计了几种不同采样率的空洞卷积来捕捉多尺度信息,但我们要明白采样率(dilation rate)并不是越大越好,因为采样率太大,会导致滤波器有的会跑到padding上,产生无意义的权重,因此要选择合适的采样率。

     

     

    更多相关内容
  • ASPP - 空洞空间金字塔池化

    千次阅读 2022-01-18 14:56:54
    文章目录1 空洞卷积1.1 空洞卷积的理解1.1.1 一维1.1.2 二维1.2 空洞卷积的优劣2. ASPP3. 代码 1 空洞卷积 1.1 空洞卷积的理解 1.1.1 一维 (a) 正常卷积:输入特征 Input feature,kernel = 3,stride = 1,pad = ...

    1 空洞卷积

    1.1 空洞卷积的理解

    1.1.1 一维

    (a) 正常卷积:输入特征 Input feature,kernel = 3,stride = 1,pad = 1,输出特征 Output feature。
    (b) 空洞卷积:与图 (a) 不同之处在于 pad = 2,同时引入一个 rate = 2(表示卷积核中参数间间隔的超参)。

      还可通过下图进一步理解普通卷积与空洞卷积的区别,其中 hole size 即为上图中的 rate。

    1.1.2 二维

    正常卷积:蓝色为输入,绿色为输出,移动的阴影为卷积核(kernel = 2, stride = 1,pad = 0);

    空洞卷积:蓝色为输入,绿色为输出,移动的阴影为卷积核(kernel = 3, stride = 1, pad = 0, rate = 1);

      以上演示动图来源于此,对理解卷积操作有很大的帮助。在实际中,空洞卷积一般有两种实现方式:(1)卷积核填充 0;(2)输入等间隔采样。

    1.2 空洞卷积的优劣

      一般认为图片中相邻的像素点存在信息冗余,故而空洞卷积具备以下两个优势

    (1) 扩大感受野:传统的下采样虽可增加感受野,但会降低空间分辨率。而使用空洞卷积能够在扩大感受野的同时,保证分辨率。这十分适用于检测、分割任务中,感受野的增大可检测、分割大的目标,高分辨率则可精确定位目标。
    (2) 捕获多尺度上下文信息:空洞卷积中参数 dilation rate 表明在卷积核中填充 (dilation rate-1) 个 0。设置不同 dilation rate 给网络带来不同的感受野,即获取了多尺度信息。

      空洞卷积得到的某一层的结果中,邻近的像素是从相互独立的子集中卷积得到的,相互之间缺少依赖,故而空洞卷积也存在不足

    (1) 局部信息丢失:由于空洞卷积的计算方式类似于棋盘格式,某一层得到的卷积结果,来自上一层的独立的集合,没有相互依赖,因此该层的卷积结果之间没有相关性,即局部信息丢失;
    (2) 远距离获取的信息没有相关性:由于空洞卷积稀疏的采样输入信号,使得远距离卷积得到的信息之间没有相关性。

    2. ASPP

      上图即为 ASPP 模块示意:对 Input Feature Map 以不同采样率的空洞卷积并行采样;然后将得到的结果 concat 到一起,扩大通道数;最后通过 1 × 1 1 \times 1 1×1 的卷积将通道数降低到预期的数值。相当于以多个比例捕捉图像的上下文。

      上图为添加 ASPP 模块后的网络结构,将 Block3 的输出输入到 ASPP,经过多尺度的空洞卷积采样后经过池化操作,然后由 1 × 1 1 \times 1 1×1 卷积将通道数降低至预期值。

    3. 代码

      一个没有 BN 层的 PyTorch 实现的 ASPP 代码(DeepLabv3 的 ASPP 中加入了 BN 层)如下:

    #without bn version
    class ASPP(nn.Module):
        def __init__(self, in_channel=512, depth=256):
            super(ASPP,self).__init__()
            self.mean = nn.AdaptiveAvgPool2d((1, 1)) #(1,1)means ouput_dim
            self.conv = nn.Conv2d(in_channel, depth, 1, 1)
            self.atrous_block1 = nn.Conv2d(in_channel, depth, 1, 1)
            self.atrous_block6 = nn.Conv2d(in_channel, depth, 3, 1, padding=6, dilation=6)
            self.atrous_block12 = nn.Conv2d(in_channel, depth, 3, 1, padding=12, dilation=12)
            self.atrous_block18 = nn.Conv2d(in_channel, depth, 3, 1, padding=18, dilation=18)
            self.conv_1x1_output = nn.Conv2d(depth * 5, depth, 1, 1)
     
        def forward(self, x):
            size = x.shape[2:]
     
            image_features = self.mean(x)
            image_features = self.conv(image_features)
            image_features = F.upsample(image_features, size=size, mode='bilinear')
     
            atrous_block1 = self.atrous_block1(x)
            atrous_block6 = self.atrous_block6(x)
            atrous_block12 = self.atrous_block12(x)
            atrous_block18 = self.atrous_block18(x)
     
            net = self.conv_1x1_output(torch.cat([image_features, atrous_block1, atrous_block6,
                                                  atrous_block12, atrous_block18], dim=1))
            return net
    

    参考

    1. 空洞卷积(扩张卷积,带孔卷积,atrous convolution)的一些总结与理解
    2. 总结-空洞卷积(Dilated/Atrous Convolution)
    3. [语义分割]SPP、空洞卷积与ASPP总结_lipengfei0427的博客-程序员宝宝_aspp模块;
    展开全文
  • 带孔空间金字塔池化(ASPP)

    千次阅读 2021-09-06 03:36:51
    在DeepLab中,采用空间金字塔池化模块来进一步提取多尺度信息,这里是采用不同rate的空洞卷积来实现这一点。 ASPP模块主要包含以下几个部分: (1)一个1×1卷积层,以及三个3x3的空洞卷积,对于output_stride=...
    • 在DeepLab中,采用空间金字塔池化模块来进一步提取多尺度信息,这里是采用不同rate的空洞卷积来实现这一点。

    • ASPP模块主要包含以下几个部分:

      • (1)一个1×1卷积层,以及三个3x3的空洞卷积,对于output_stride=16,其rate为(6, 12, 18) ,若output_stride=8,rate加倍(这些卷积层的输出channel数均为256,并且含有BN层);

      • (2)一个全局平均池化层得到image-level特征,然后送入1x1卷积层(输出256个channel),并双线性插值到原始大小;

      • (3)将(1)和(2)得到的4个不同尺度的特征在channel维度concat在一起,然后送入1x1的卷积进行融合并得到256-channel的新特征。

      • 在这里插入图片描述

      • 在这里插入图片描述

    • DeepLab-LargeFOV(左:即仅单个atrous conv),DeepLab-ASPP(右,即ASPP):

      • 在这里插入图片描述
    展开全文
  • 网络往往要求输入是固定大小的数据,于是我们需要对不同大小的图片进行裁剪或者缩小到指定大小,这样会导致部分信息丢失。...SPP还可以和空洞卷积相结合,得到ASPP(atrous spatial pyramid pooling) ...

     (1)SPP层能达到什么样的效果?

    由于全连接层对数据大小的输入是由要求的,比如要求是256*1才能输入到全连接层里面,那你288*1的特称图就不能输入到全连接层了。

    SPP层能达到的效果是:不管你的特征图是size多大的(随便来一个size大小都可以),只要输入到SPP层里面,出来的特征图都是固定的、特定的size,比如就是固定的256*1,不管你输入特征图是多少,从SPP层里出来,最后都是256*1

    (2)假设你输入特征图是M*M大小,想要得到一个N*N大小的输出特征图,需要size多大的池化核以多长的步长stride来对输入特征图做padding?

    根据你输入的特征图的size和期望输出的特征图的size,来确定池化的window size和stride步长

    比如:你输入一个C*M*M(其中C为通道数)的特征图,想要得到一个C*N*N的特征图

    那么就可以求出:window size=M/N(向上取整),stride=M/N(向下取整)

    (3)SPP就是将一个输入特征图得到多个大小不一样的输出特征图,然后将这些特征图进行flatten(铺平,展成一维数组),然后这些一维数组再进行拼接(concatenate)最后就可以将拼接得到的特征图送到FC(全连接层)去进行分类

    下面的图里面就是一个输入特征图分别得到一个4*4的输出特征图,一个2*2特征图以及一个1*1特征图(通道数都为256),展平,拼接后得到256(16+4+1)*1大小的特征图不管你输入特征图size是多少,都会得到一个4*4的输出特征图,一个2*2特征图以及一个1*1特征图

    (4)SPP还可以和空洞卷积相结合,得到ASPP(atrous spatial pyramid pooling)

    借鉴SPP金字塔池化的思想,用不同膨胀率的卷积核作卷积,一个输入特征图也可以得到几个不同的输出特征图(如下图:分别采用1*1卷积核卷积,3*3卷积核膨胀率dilation rate=6卷积,3*3卷积核膨胀率dilation rate=12卷积,3*3卷积核膨胀率dilation rate=18卷积,再将得到的四个结果进行concat拼接)

     

    总结:一个输入特征图,得到几个固定大小(但大小不一样)的输出的特征图 ,自上而下从小到大摆放,就像一个上小下大的金字塔,所以叫金字塔池化。

    展开全文
  • 文章目录1、介绍2、SPP显著特点3、什么是金字塔池化层 参考:https://blog.csdn.net/qqliuzihan/article/details/81217766 1、介绍 在一般的CNN结构中,在卷积层后面通常连接着全连接。而全连接层的特征数是固定的,...
  • 引言在分辨率大,分割目标尺度范围广的语句分割任务...存在的问题由于池化是一种直接粗暴的方式,所以每一次池化后都会牺牲空间分辨率,多次池化后可能造成信息丢失而影响分割效果提出的方法论文地址https://ieeexp...
  • 空间金字塔池化方法,以更好地执行用于深度学习目的的语义图像分割。 通过以不同的速率应用扩张卷积,研究人员已经表明,这种策略可以更好地管理视野,并能够更好地识别多个尺度的物体。 通过利用 FPGA 的并行化能力...
  • 原文转自:http://blog.csdn.net/xzzppp/article/details/51377731参考论文:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition参考论文简单介绍1...这就是空间金字塔池化的意义(多...
  • Dense-Blocks instead of Convolution layers and ...密集模块代替卷积模块并增加空洞金字塔池化桥接单元 # -*- coding: utf-8 -*- import numpy as np import random import keras from keras import backend as K
  • SPPNet-引入空间金字塔池化改进RCNN 晓雷 2 个月前 继续总结一下RCNN系列。上篇RCNN- 将CNN引入目标检测的开山之作 介绍了CNN用于目标检测的基本思想和流程。后续出现了SPPnet,Fast-RCNN ,Faster-RCNN...
  • 金字塔池化系列的理解SPP、ASPP

    万次阅读 多人点赞 2019-11-20 16:25:07
    金字塔池化系列的理解SPP、ASPP 问题 在spp出来之前,所有神经网络都是要输入固定尺寸的图片,比如经常遇到的224×224,图片输入网络前都要resize到224×224,导致图片变形,其中的信息也变形了,从而限制了识别精度...
  • 论文题目:基于深度敏感空间金字塔池化的RGBD语义分割 摘要 标准的2D卷积核的RGBD语义分割模型多是将深度图作为一个单独的通道,这种特性无法充分挖掘深度信息带来的几何结构信息。 针对这一缺陷,提出了构建深度...
  • DeepLab系列总结

    千次阅读 多人点赞 2018-12-20 22:46:06
    V2的贡献在于更加灵活的使用了atrous convolution,提出了空洞空间金字塔池化ASPP。还是先给图 虽然名字挺复杂,但是看图就能轻易理解ASPP作用,说白了就是利用空洞卷积的优势,从不同的尺度上提取特征。这么做的...
  • 3. 空金字塔池化(Spatial Pyramid Pooling)[3]...空间金字塔池化可以把任何尺度的图像的卷积特征转化成相同维度,这不仅可以让CNN处理任意尺度的图像,还能避免cropping和warping操作,导致一些信息的丢失,具有
  • PyTorch入门(五)常用的池化操作

    千次阅读 2020-04-05 17:22:13
    常用的池化操作 深度学习中常规的池化层的池化操作有最大池化(Max ...金字塔池化有空间金字塔池化(spatial pyramid pooling, SPP)、空洞空间金子塔池化(atrous pyramid pooling, ASPP)和密集空洞空间金字塔池化...
  • Strip Pooling:重新思考场景解析的空间池化 paper题目:Strip Pooling: Rethinking Spatial Pooling for Scene Parsing paper发表于CVPR 2020 paper地址:链接 Abstract 空间池化已被证明在为逐像素预测任务...
  • 针对这个问题,把Deeplab V3+模型的骨干网(ResNet101)的瓶颈单元设计为1D非瓶颈单元,且对空洞空间金字塔池化模块(Atrous Spatial Pyramid Pooling,ASPP)的卷积层进行分解.该算法能大幅度降低Deeplab V3+网络的...
  • [语义分割]SPP、空洞卷积与ASPP总结

    千次阅读 2020-10-29 20:30:08
    ASPP全称:Atrous Spatial Pyramid Pooling,中文可以理解为空洞空间卷积池化金字塔或者多孔空间金字塔池化。在这其中,要理解两个概念:一个是SPP,池化金字塔结构或者叫空间金字塔池化层,都是一个东西;另一个是...
  • 空洞卷积

    千次阅读 2019-08-12 15:03:21
    空洞卷积 # 在原始卷积核的每两个元素之间插入 d − 1个空洞 # 膨胀的卷积核尺寸 = 膨胀系数 * (原始卷积核尺寸 - 1) + 1 # 也可以写成 m + (m − 1) × (d − 1) 二者是相等的 # m为原始卷积核尺寸 d为膨胀系数 # ...
  • ESPNet系列的核心在于空洞卷积金字塔,每层具有不同的dilation rate,在参数量不增加的情况下,能够融合多尺度特征,相对于深度可分离卷积,深度可分离空洞卷积金字塔性价比更高。另外,HFF的多尺度特征融合方法也很...
  • 利用空洞空间金字塔池化,在不丢失信息的前提下提取图像多尺度特征,并结合残差单元使网络不易出现退化。利用编码器模块与左路径提取图像全局上下文信息,利用解码器模块与右路径恢复图像空间分辨率,根据融合后的特征...
  • Dense Atrous Spatial Pyramid Pooling(DASPP)

    千次阅读 2020-11-24 20:36:33
    Dense Atrous Spatial Pyramid Pooling-密集空洞空间金字塔池化1 Atrous convolution and pyramid pooling2 Denser feature pyramid and larger receptive field2.1 Denser feature pyramidDenser scale sampling:...
  • 【目标检测】|空洞卷积aspp

    千次阅读 2021-06-15 09:35:55
    空洞卷积(扩张卷积,带孔卷积,atrous convolution)是一种区别于普通卷积的卷积方式,从字面理解,就是卷积层中有洞。 空洞卷积的rate的意思是在普通卷积的基础上,相邻权重之间的间隔(卷积核中参数之间的间隔)为...
  • 我们知道正常的卷积已经能够提取特征了,那么空洞卷积又是做什么的呢?空洞卷积(atrous convolutions),又称扩张卷积(dilated convolutions),向卷积层引...
  • DeepLabV3论文解读(空洞卷积/膨胀卷积 理解) 最近在做基础网络研究,设计的网络结构除了在分类数据集上测试,还需要在分割和检测网络上测试效果,故选择了DeepLabV3作为对比平台。本想直接替换backbone查看结果,...
  • 作者使用空洞空间金字塔池化(ASPP)来实现连接模块R,它将特征f_i^t作为输入,将之变换为RFP特征,如上图所示。在该模块中,有4个平行的分支,将f_i^t作为输入,输出然后沿着通道维度进行concat,得到最终的输出R...
  • 不需要提前预训练网络 卷积神经网络中拍案叫绝的操作 多孔的空间金字塔池化(ASPP) 代码 SEnet 注意力机制 代码 Inception 模块 pytorch代码实现 one/zero short dense net 目标检测网络 会议期刊 ArXiv是计算机领域...
  • 针对挑战二,受到特征金字塔的启发,提出了多孔空间金字塔池化(atrous spatial pyramid pooling,ASPP)。 针对挑战三,采用全连接的条件随机场 (CRF) [22] 来提高模型捕获精细细节的能力。 图像分割中大多数表现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,189
精华内容 475
关键字:

空洞空间金字塔池化

友情链接: rightmenu.rar