0
点赞
收藏
分享

微信扫一扫

ESPNet: 自动驾驶领域轻量级分割模型


原文:ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation

论文链接:https://arxiv.org/abs/1803.06815v2

主要思想

基于传统卷积模块设计,提出一种高效空间金字塔卷积模块(ESP Module),有助于减小模型运算量和内存、功率消耗,以提高在终端设备上的适用性。这款模型和MobileNet系列、ShuffNet系列相似,都是轻量级模型,可以部署到移动端。

模型具体结构

如下图所示,模型主要有两个模块构成,一个是Efficient spatial pyramid模块,一个是HFF模块。

ESPNet: 自动驾驶领域轻量级分割模型_卷积

 

Efficient spatial pyramid

这个部分由两个子部分构成,前面部分是逐点卷积,就是采用K个1x1xM的小卷积核对原图进行卷积操作,1x1卷积的作用其实就是为了降低维度,这样就可以减少参数,这也是轻量级模型的思路。后面的部分是空洞卷积,即在没有进行下采样(pooling)的操作下,扩大感受野。使用不同膨胀率的卷积核,可以得到不同感受野下的feature,这一点有点类似金字塔池化,所以这个模块也叫ESP。

参数计算

下面来计算下一共包含的参数,其实在效果上,以这种轻量级的网络作为backbone效果肯定不如那些重量级的,比如Resnet,但是在运行速度上有很大优势。


如上图所示,对Efficient spatial pyramid第一部分来说,d个1*1*M的卷积核,将M维的输入feature map降至d维。此时参数为:M*N/K,第二部分参数量为K*n2*(N/K)2,和标准卷积结构相比,参数数量降低很多。


HFF模块

ESPNet: 自动驾驶领域轻量级分割模型_3d_02

 

如上图所示,因为使用了大感受野的膨胀卷积,导致了gridding artifacts现象,如下图所示。本文提出了使用HFF方法来解决该问题,具体做法就是从最小的膨胀卷积核输出的那张feature map开始,逐级叠加。这样的做法并没有引入任何新的参数,同时计算量上也没有增加太多,但却有效地改善了网格效应。

ESPNet: 自动驾驶领域轻量级分割模型_卷积_03

 

这里其实就是对空洞卷积的结果进行逐层点加向下传递,然后在通道方向上进行concat,concat之后,再对之前的特征做一个点加,这一点采用了残差的思想。

和其它模型的对比

这里,文章对其它模型和该模型做了一个对比,包括参数的数量以及核心网络结构,如下图所示。在这里,不再一一阐述。

ESPNet: 自动驾驶领域轻量级分割模型_卷积核_04

 

ESPNet模型

作者提出了四种模型,分别如下图所示。

ESPNet: 自动驾驶领域轻量级分割模型_卷积_05

 

下面是以不同网络模型作为backbone的语义分割网络在VOC数据上的表现效果。

ESPNet: 自动驾驶领域轻量级分割模型_卷积_06

 

可以发现,ESPNet在较少的参数下,依然取得了很好的效果。

源代码

作者开源了基于ESPNet的语义分割网络源代码,支持测试和训练。下面为kitti数据集上的测试效果。

源代码链接:

​​https://github.com/sacmehta/ESPNet​​


ESPNet: 自动驾驶领域轻量级分割模型_卷积_07

ESPNet: 自动驾驶领域轻量级分割模型_卷积_08


上述内容,如有侵犯版权,请联系作者,会自行删文。


举报

相关推荐

0 条评论