点击我爱计算机视觉标星,更快获取CVML新技术

前几日52CV君分享了论文《Real-Time Joint Semantic Segmentation and Depth Estimation Using Asymmetric Annotations》(详见:17毫秒每帧!实时语义分割与深度估计),引起了广泛关注,被转载到多个网站。

文中原作者修改了一篇BMVC2018的论文《Light-Weight RefineNet for Real-Time Semantic Segmentation》中提出的算法,使用知识蒸馏的方法,使轻量级模型17毫秒完成语义分割与深度估计任务。
可惜那篇文章并没有开源代码。其使用的Light-Weight RefineNet模型非常值得参考。
恰巧昨日原作者开源了Light-Weight RefineNet,今天我们就来看看其庐山真面目。
作者信息:

该文的目的很简单,在CVPR2017的RefineNet语义分割算法基础上减少模型参数和计算量。

RefineNet的网络架构:

RefineNet使用经典的编码器-解码器架构,CLF为3*3卷积,卷积核个数为语义类的个数,编码器的骨干网可以是任意图像分类特征提取网络,重点是解码器部分含有RCU、CRP、FUSION三种重要结构。

RCU即residual convolutional unit(残差卷积单元),为经典残差网络ResNet中的residual block去掉batch normalisation部分,由ReLU和卷积层构成。
CRP为链式残差池化(chained residual pooling),由一系列的池化层与卷积层构成,以残差的形式排列。
RCU与CRP中使用3*3卷积和5*5池化。
FUSION部分则是对两路数据分别执行3*3卷积并上采样后求和SUM。

Light-Weight RefineNet改进方法

改进图示:

1)替换3*3卷积为1*1卷积
虽然理论3*3卷积理论上有更大的感受野有利于语义分割任务,但实际实验证明,对于RefineNet架构的网络其并不是必要的。

2)省略RCU模块
作者尝试去除RefineNet网络中部分及至所有RCU模块,发现并没有任何的精度下降,并进一步发现原来RCU blocks已经完全饱和。

表格中RefineNet-101为原始RefineNet网络,RefineNet-101-LW-WITH-RCU为使用了1)中的改进替换卷积,RefineNet-101-LW为使用了1)与2)中的改进替换卷积并省略RCU。
从上图表格中可知,1)的改进直接减少了2倍的参数量降低了3倍的浮点计算量,2)的改进则进一步使参数更少浮点计算量更小。

3)使用轻量级骨干网
作者发现即使使用轻量级NASNet-Mobile 、MobileNet-v2骨干网,网络依旧能够达到非常稳健的性能表现,性能不会大幅下降。

实验结果
软硬件平台:8GB RAM, Intel i5-7600 处理器, 一块GT1080Ti GPU,CUDA 9.0 ,CuDNN 7.0。
作者首先在NYUDv2 和 PASCAL Person-Part数据集上进行了实验,结果如下:

可以看到虽性能略有下降,但参数量和计算时间大幅降低。

同时作者也在PASCAL VOC数据库上进行了实验,并加入NASNet-Mobile 、MobileNet-v2骨干网,发现对比于使用相同骨干网路的目前几乎是最先进的语义分割架构DeepLab-v3,RefineNet-LW的性能表现更具优势。

语义分割结果对比图示:

总结
这篇文章的改进非常简单,几乎所有想法都来自于实验摸索出来的。原来通过实验发现现有模型中的计算冗余也很有价值啊!

代码地址:
https://github.com/DrSleep/light-weight-refinenet
论文地址:
http://bmvc2018.org/contents/papers/0494.pdf

代码论文下载:
在“我爱计算机视觉”公众号对话界面回复“17ms”,即可收到代码及Light-Weight RefineNet论文的百度云下载地址。


长按关注我爱计算机视觉

【点赞与转发】就是一种鼓励

新开源!实时语义分割算法Light-Weight RefineNet相关推荐

  1. 实时语义分割算法大盘点

    本文转载自计算机视觉工坊 语义分割论文 语义图像分割是计算机视觉中发展最快的领域之一,有着广泛的应用.在许多领域,如机器人和自动驾驶汽车,语义图像分割是至关重要的,因为它提供了必要的上下文,以采取行动 ...

  2. 轻量化实时语义分割LiteSeg——从算法原理到模型训练与部署

    前言 1 . LiteSeg 是实时语义分割算法,论文参见 :DICTA 2019 LiteSeg: A Novel Lightweight ConvNet for Semantic Segmenta ...

  3. 语义分割算法性能比较_语义分割江湖那些事儿

    今天的分享者是旷视余昌黔,来自旷视研究院 Detection 组,他将向我们分享旷视研究院 Detection 组近两年持续在做的 Semantic Segmentation 相关工作,代表性成果主要 ...

  4. 【论文阅读--实时语义分割】BiSeNet V2: Bilateral Network with Guided Aggregation

    摘要 低层细节和高层语义对于语义分割任务都是必不可少的.然而,为了加快模型推理的速度,目前的方法几乎总是牺牲低级细节,这导致了相当大的精度下降.我们建议将这些空间细节和分类语义分开处理,以实现高精度和 ...

  5. 旷视科技提出双向网络BiSeNet:实现实时语义分割

    转于:https://zhuanlan.zhihu.com/p/41475332 全球计算机视觉三大顶会之一 ECCV 2018 (European Conference on Computer Vi ...

  6. 实时语义分割网络 BiSeNet(附代码解读)

    实时语义分割网络 BiSeNet BiSeNet Contributions BackGround BiSeNet 结构 Loss function Experimental Results 采用数据 ...

  7. 用TensorFlow.js在浏览器中进行实时语义分割 | MixLab算法系列

    语义分割是监测和描绘图像中每个感兴趣对象的问题 当前,有几种方法可以解决此问题并输出结果 如下图示: 语义分割示例 这种分割是对图像中的每个像素进行预测,也称为密集预测. 十分重要且要注意的是,同一类 ...

  8. 汇总|实时性语义分割算法(全)

    我们在上篇--汇总|实时性语义分割算法(上篇)中,已经总结了[1]~[12],这里我们继续. [13]用于实时语义分割的双向分割网络 <BiSeNet: Bilateral Segmentati ...

  9. 汇总|实时性语义分割算法

    前言 本次给大家更新的是关于实时语义分割的工作. 语义分割论文 语义图像分割是计算机视觉中发展最快的领域之一,有着广泛的应用.在许多领域,如机器人和自动驾驶汽车,语义图像分割是至关重要的,因为它提供了 ...

最新文章

  1. PortableApps的使用方法
  2. 短书评 | 这本Python新书风评很好
  3. 关于项目进度慢的思考----如何提高整体开发效率
  4. Java 折半查询,java之折半查询
  5. Lua学习笔记9:多文件
  6. js long类型精度丢失_解决js处理Long类型丢失精度的问题
  7. java lambda表达式_「JAVA8」- Lambda 表达式
  8. Matlab实用技巧
  9. opencvpython 段力辉是哪本书_OpenCV基础 | 1.python3.6+OpenCV4.0环境配置
  10. 如何清除vsphere主机提示“此主机当前没有管理网络冗余”
  11. Java Swing写的支持合并单元格的JTable
  12. [转]经典JavaScript正则表达式
  13. 《缠中说禅108课》63:替各位理理基本概念
  14. 什么是粘包?socket 中造成粘包的原因是什么? 粘包的处理方式
  15. EXCEL(Power BI)获取天天基金网每日历史净值数据,我去,这也太简单了吧!
  16. excel表格排序,4种排序教程全都有
  17. mysql微信昵称存储_mysql存储昵称带有emoji处理方案
  18. 谈一谈Flutter中的共享元素动画Hero
  19. instanceclient安装与配置
  20. 《火柴男人》:一切都是骗局但我要…

热门文章

  1. mysql 聚簇_mysql索引总结(3)-MySQL聚簇索引和非聚簇索引
  2. matlab中循环读入文件内容,[转载]Matlab利用load循环读入数据文件
  3. 中传计算机学院考研笔记,中传考研 新闻编辑重点笔记 整理版.doc
  4. java先执行static还是构造函数_【Java基础】类的实例化、static、父类构造函数执行顺序...
  5. 第三章计算机网络,第三章-计算机网络及应用.ppt
  6. 爬虫python 新闻,Python爬虫实例--爬取人民网新闻
  7. php实现单例模式类singletonv,php设计模式 singleton (单例模式)
  8. java sqlite 操作_Java SQLite 数据库操作
  9. linux 内存使用率_我的内存都去哪里了?| 美创运维日记
  10. ajax上传文件报404_FTP上传文件需要注意哪些事项