语义分割Analysis of efficient CNN design techniques for semantic segmentation论文解读

论文链接

http://openaccess.thecvf.com/content_cvpr_2018_workshops/papers/w12/Briot_Analysis_of_Efficient_CVPR_2018_paper.pdf

动机

目前有许多关于如何设计高效网络结构的研究,涉及到各种不同的技巧,但是对高效的网络结构设计技巧没有系统性的总结

贡献

对语义分割领域的网络设计方法技巧进行总结

网络结构设计

  1. 编码器-译码器结构
    在这里插入图片描述
  2. Baseline FCN(最简单的编码器)
    在这里插入图片描述
  3. Cross channel filters
  4. Cross layer connections
  5. Wider bank of filters
  6. Split branching and summation joining
    在这里插入图片描述
  7. Handling scale of objects
    空洞卷积
    在这里插入图片描述

计算量优化技巧

量化:

  1. 使用tensorflow或Nvidia TensorRT将神经网络的float32类型计算量化为int8类型的计算,实现加速
  2. 直接用int8类型计算对神经网络进行训练

高效结构设计原则

  1. 通过约束结构超参数平衡模型大小和准确率:增加网络深度,减少每一个卷积层输入的通道数,减小输入图片的分辨率
  2. 减少冗余的卷积核:卷积核分解(一个7x7卷积层分解为3个3x3卷积层, kxk卷积层分解为1xk卷积层和kx1卷积层)
  3. 通过激活函数校准卷积核(CReLU)
  4. 使用对称性校准卷积核(G-CNN)

卷积设计

  1. 1x1卷积降维,减少卷积的输入通道数
  2. Group convolution
  3. Depth-wise Separable convolution

模型压缩

  1. 权重剪枝:将训练的模型的权重值较小的不重要的连接都去掉,然后再对权重剪枝后的模型进行微调
  2. 滤波器剪枝
  3. 网络蒸馏(teacher-student训练模式)

硬件加速

1.GPU
2. ASICs
3. FPGA
4. SIMD结构

语义分割案例分析

数据集

CamVid

评价指标

Runtime(s), mIoU, per-class IoU

结果

在这里插入图片描述

反思

该论文在深度学习相关应用的落地方面能够提供很多思路。特别是当下神经网络越做越大,落地时对于推理速度的要求难以满足,必须寻找合适的方法对网络推理进行加速,达到实时推理的效果。使用Nvidia TensorRT、FPGA等都是很好的落地策略

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值