论文链接:https://arxiv.org/abs/1803.06815
论文代码链接:https://github.com/sacmehta/ESPNet
Abstract
我们引入了一个快速有效的卷积神经网络ESPNet,用于资源约束下的高分辨率图像的语义分割。ESPNet基于一个新的卷积模块,即高效的空间金字塔(ESP),它在计算,存储和功率方面都很有效。目前最先进的语义分割网络PSPNet,轻量化网络有MobileNet、ShuffleNet、ENet等。
Introduction
ESP基于卷积分解原理,将标准卷积分解为两个步骤:(1)逐点卷积和(2)扩张卷积的空间金字塔,如图1所示。逐点卷积减少通道数降低了参数量。扩张卷积的空间金字塔结构增加感受野对特征图进行采样。扩张卷积的空间金字塔使用K,n×n扩张的卷积核同时重新采样这些低维特征图,每个扩展率为2k-1,k={1,…, K}。这种因式分解大大减少了ESP模块所需的参数和存储器数量,同时保留了一个大的有效接收场 [(n − 1)2(K−1) + 1]2。这种金字塔卷积运算被称为扩张卷积的空间金字塔,因为每个膨胀卷积核都学习具有不同接收场的权重,因此类似于空间金字塔。
目前已经有多种技术用来加速卷积神经网络,如卷积分解、网络压缩和低位网络。
ESPNet
宽度分配器K:为了降低计算成本,我们引入了一个简单的超参数K。K的作用是在网络中的每个ESP模块上均匀地缩小特征映射的维度。减少:对于给定的K,ESP模块首先使用逐点卷积将特征图从M维空间缩减到K/N维空间(图1a中的步骤1)
ESP的参数计算
(1)逐点卷积
parameters = 1x1xMxK/N
(2)扩张卷积的空间金字塔
parameters = nxnx(N/K)2xK
(3)总和
MK/N+(nN)2/K
标准卷积的参数量为n2xMN
HFF
为了解决由于引入dilated convolution带来的网格效应,将不同dilation的特征图分层求和,然后再concatenate
ESPNet的变体
ESPNet-A
第一个变体ESPNet-A(图4a)是一个标准网络,它将RGB图像作为输入,并使用ESP模块学习不同空间级别的信息。
ESPNet-B
第二个变体ESPNet-B(图4b)通过共享前一个跨步ESP模块和之前的ESP模块之间的特征图来改善ESPNet-A内部信息的流动。
ESPNet-C
第三种变体ESPNet-C(图4c)强化了ESPNet-B内部的输入图像,以进一步改善信息流。
这三种变体产生的输出的空间尺寸是输入图像的1/8。
ESPNet
第四种变体ESPNet(图4d)在ESPNet-C中添加了一个轻量级解码器(使用reduceupsample-merge原理构建),输出与输入图像相同空间分辨率的分割掩模。
代码中网络结构也是完全按照d图中ESPNet网络结构搭建