新知一下
海量新知
6 0 8 4 5 1 9

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

深度学习技术前沿 | 深度学习技术前沿信息 2021/11/27 17:05

ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation

新知达人, ESPNet系列:自动驾驶领域轻量级分割模型

  • 论文地址:https://arxiv.org/abs/1803.06815v2

  • 论文代码:https://github.com/murufeng/awesome_lightweight_networks/blob/main/light_cnns/ESPNet/espnetv1.py

ESPNet是用于语义分割的轻量级网络,主要思想基于传统卷积模块设计,提出一种高效空间金字塔卷积模块(ESP Module),该模块包含point-wise卷积和空洞卷积金字塔,有助于减小模型运算量和内存、功率消耗,以提高在终端设备上的适用性。综合比较,ESPNet能在GPU/笔记本/终端设备上达到112FPS/21FPS/9FPS。

主要做法: 新知达人, ESPNet系列:自动驾驶领域轻量级分割模型

ESP模块将标准卷积分解成point-wise卷积和空洞卷积金字塔(spatial pyramid of dilated convolutions),point-wise卷积将输入映射到低维特征空间,空洞卷积金字塔使用K组

空洞卷积的同时下采样得到低维特征,每个空洞卷积的dilation rate为

。这种分解方法能够大量减少ESP模块的参数量和内存,并且保持较大的有效感受域。

网络架构如下:

新知达人, ESPNet系列:自动驾驶领域轻量级分割模型

新知达人, ESPNet系列:自动驾驶领域轻量级分割模型

代码实现如下:

import torch

from light_cnns import espnetv1

model = espnetv1()

model.eval()

print(model)

input = torch.randn(13224224)

y = model(input)

print(y.size())

ESPNetv2: A Light-weight, Power Efficient, and General Purpose Convolutional Neural Network

新知达人, ESPNet系列:自动驾驶领域轻量级分割模型

  • 论文地址:https://arxiv.org/abs/1811.11431

  • 论文代码:https://github.com/murufeng/awesome_lightweight_networks/blob/main/light_cnns/ESPNet/espnetv2.py

ESPNetv2主要基于ESPNetv1进行了模型轻量化处理,主要包括:

  1. 基于深度可分离空洞卷积以及分组point-wise卷积改进ESP模块,提出了EESP(Extremely Efficient Spatial Pyramid)模块。相对于ESPNet拥有更好的精度以及更少的参数。

  2. 设计了cyclic learning rate scheduler,比一般的固定学习率的scheduler要好。

新知达人, ESPNet系列:自动驾驶领域轻量级分割模型

其中 下采样版本的EESP模块(Strided EESP with shortcut connection to an input image) ,主要改进如下:

  1. 修改深度可分离空洞卷积为stride=2的版本。为模块原本的shortcut添加平均池化操作。

  2. 将element-wise相加操作替换为concate操作,这样能增加输出的特征维度。

  3. 为防止随着下采样产生的信息丢失,添加一条连接输入图像的shortcut,该路径使用多个池化操作来使其空间大小与模块输出的特征图一致,然后使用两个卷积来提取特征并调整维度,最后进行element-wise相加。

新知达人, ESPNet系列:自动驾驶领域轻量级分割模型

网络架构如下:

新知达人, ESPNet系列:自动驾驶领域轻量级分割模型

代码实现如下:

import torch

from light_cnns import espnetv2

model = espnetv2()

model.eval()

print(model)

input = torch.randn(13224224)

y = model(input)

print(y.size())

后续将持续更新模型轻量化处理的一系列方法,包括:剪枝,量化,知识蒸馏等等,欢迎大家Star和Follow

Github地址:https://github.com/murufeng/awesome_lightweight_networks

更多“ESPNet”相关内容

更多“ESPNet”相关内容

新知精选

更多新知精选