ESPNet:

ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation (ECCV2018)
https://arxiv.org/pdf/1803.06815.pdf
PyTorch: https://github.com/sacmehta/ESPNet

在这里插入图片描述
特点:

  1. ESP Module基于"reduce-split-transform-merge"的策略设计原理,将标准卷积分解为两个步骤:point-wise convolutions 逐点卷积和spatial pyramid of dilated convolutions 空间金字塔型膨胀卷积。

对于一个 n * n * M * N 的标准卷积核,ESP模块将其分解为以下三步:
Step-1: Reduce(Point-wise convolutions):d个 1x1xM 的卷积核,将维的输入feature map降至d维;
Step-2: Split & Transform(Spatial pyramid of dilated convolutions):使用K个不同膨胀率的卷积核对上一步输出的feature map并行进行卷积,将会得到K个相同大小的feature map;
Step-3*: HFF(Hierarchical feature fusion):分层特征融合,即将上一步得到的K个相同大小的feature map按照一定规则进行拼接,得到最终的输出feature;

  1. 为了解决由于引入dilated convolution带来的网格效应,将不同dilation的特征图分层求和,然后再concatenate。具体做法就是从最小的膨胀卷积核输出的那张feature map开始,逐级叠加。这样的做法并没有引入任何新的参数,同时计算量上也没有增加太多,但却有效地改善了网格效应。

  2. 参数量:
    ESP模块的参数量为 M N K + ( n N ) 2 K \frac{MN}{K}+\frac{(nN)^2}{K} KMN+K(nN)2, 其中每部分参数数量如下:

  • Reduce部分: M ∗ N K M \ast \frac{N}{K} MKN
  • Split部分: K ∗ n 2 ∗ ( N K ) 2 K \ast n^{2} \ast (\frac{N}{K})^{2} Kn2(KN)2
  • ESP模块的感受野大小为\left [ (n-1)2^{K-1}+1 \right ]^2其实就是K个膨胀卷积核中最大的那一个的感受野。

输入的feature map大小为128x128xM,输出的feature map大小为128x128xN。ESP模块的具体计算如下:
① 经过Reduce以后,变为128x128xd
② 经过Split后,可以得到K张128x128xd的feature map
③ 经过HFF融合以后,变为128x128x(dxK),注意d=N/K,所以输出大小为128x128xN

在这里插入图片描述
与其他模块结构和参数量对比:在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐