SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

发表于2016年,作者 Vijay Badrinarayanan, Alex Kendall, Roberto Cipolla, Senior Member

模型结构:

创新点:

在 encoder 部分的最大池化操作时记录了最大值所在位置(索引),然后在 decoder 时通过对应的池化索引实现非线性上采样,这样在上采样阶段就无需学习。上采样后得到的是一个稀疏特征图,再通过普通的卷积得到稠密特征图,再重复上采样。最后再用激活函数得到onehot 分类结果。SegNet 主要比较的是 FCN,FCN解码时用反卷积操作来获得特征图,再和对应 encoder 的特征图相加得到输出。SegNet 的优势就在于不用保存整个 encoder 部分的特征图,只需保存池化索引,节省内存空间;第二个是不用反卷积,上采样阶段无需学习,尽管上采样完以后还要卷积学习。

训练时设置:

对RGB的输入图像做 local contrast normalization,参数初始化用了 he_normal。

评价指标:

参数量,运行时间,内存消耗。

全局精度,分类平均精度,miou,边界精度(semantic contour score,图像对角线0.75%个像素的边界误差计算F1-score)[57,58,59]。这些指标都在权重根据类别调整和未调整两个状态下进行了评估

模型比较:

1、不同 decoder 变体性能比较,主要是 SegNet 和 FCN 的变体,来说明 SegNet 的内存节省和 encoder 部分特征图的重要性

2、用了两个数据集(道路景象分割,室内景象分割),来比较 SegNet 和传统方法,以及 SegNet 和其余的深度学习方法(不同迭代次数下比较)

讨论和展望:

SegNet 虽然在精确度上没有提升,但是考虑到实际操作时的内存和时间消耗,SegNet 表现很好。未来希望设计效率更高的网络,实现实时分割。同时也对深度学习分割结构的预测不确定性感兴趣[69,70]。

备注:

最大池化为了实现平移不变性,在图片有微小平移时依然可以鲁棒。同时最大值一定程度上反映的是边界信息

和DeconvNet的区别在于取消了全连接层,大大减少了参数数量。此外它在反池化后用的卷积,DeconvNet用的反卷积。

重要参考文献:

[2] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in CVPR, pp. 3431–3440, 2015.

[3] C. Liang-Chieh, G. Papandreou, I. Kokkinos, K. Murphy, and A. Yuille, “Semantic image segmentation with deep convolutional nets and fully connected crfs,” in ICLR, 2015.

[4] H. Noh, S. Hong, and B. Han, “Learning deconvolution network for semantic segmentation,” in ICCV, pp. 1520–1528, 2015.

[57] G. Csurka, D. Larlus, F. Perronnin, and F. Meylan, “What is a good evaluation measure for semantic segmentation?.,” in BMVC, 2013.

[58] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in https://arxiv.org/pdf/1605.06211v1.pdf, 2016.

[59] D. R. Martin, C. C. Fowlkes, and J. Malik, “Learning to detect natural image boundaries using local brightness, color, and texture cues,” IEEE transactions on pattern analysis and machine intelligence, vol. 26, no. 5,pp. 530–549, 2004.

[69] Y. Gal and Z. Ghahramani, “Dropout as a bayesian approximation: Insights and applications,” in Deep Learning Workshop, ICML, 2015.

[70] A. Kendall, V. Badrinarayanan, and R. Cipolla, “Bayesian segnet: Model uncertainty in deep convolutional encoder-decoder architectures for scene understanding,” arXiv preprint arXiv:1511.02680, 2015.

编辑于 2019-04-21 19:36:13

SegNet 理解与文章结构的更多相关文章

  1. SQL Server 存储(2/8):理解数据记录结构

    在SQL Server :理解数据页结构我们提到每条记录都有7 bytes的系统行开销,那这个7 bytes行开销到底是一个什么样的结构,我们一起来看下. 数据记录存储我们具体的数据,换句话说,它存在 ...

  2. SQL Server :理解数据页结构

    原文:SQL Server :理解数据页结构 我们都很清楚SQL Server用8KB 的页来存储数据,并且在SQL Server里磁盘 I/O 操作在页级执行.也就是说,SQL Server 读取或 ...

  3. SQL Server :理解数据记录结构

    原文:SQL Server :理解数据记录结构 在SQL Server :理解数据页结构我们提到每条记录都有7 bytes的系统行开销,那这个7 bytes行开销到底是一个什么样的结构,我们一起来看下 ...

  4. 深入浅出理解linux inode结构

    一.inode是什么? 参考文档:http://tech.diannaodian.com/dw/lin/2012/0112/154629.html 做Android底层驱动或者嵌入式Linux的程序猿 ...

  5. 深入浅出理解linux inode结构【转】

    本文转载自:https://blog.csdn.net/fantasyhujian/article/details/9151615 一.inode是什么? 参考文档:http://tech.diann ...

  6. SQL Server 存储(1/8):理解数据页结构

    我们都很清楚SQL Server用8KB 的页来存储数据,并且在SQL Server里磁盘 I/O 操作在页级执行.也就是说,SQL Server 读取或写入所有数据页.页有不同的类型,像数据页,GA ...

  7. 转一篇关于vuex简单理解的文章

    学习vuex半天摸不着头脑无意间发现了这篇文章 对vuex做了一个简单的阐述比较有助于我的理解 现在分享出来希望能给一些朋友一点帮助  这个是原文地址 http://www.ituring.com.c ...

  8. Orchard运用 - 理解App_Data目录结构

    了解一个系统,应该基本上要了解目录结构及其组织形式.这样对于开发人员更是必备的知识,比如开发模块最终安装到哪,主题Themes是如何配置启用. 今天跟大家分享其实是个笔记记录,就是看到有一篇文章介绍A ...

  9. 转一篇对EJB理解的文章

    1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么 ...

随机推荐

  1. 记一次查询超时的解决方案The timeout period elapsed......

    问题描述 在数据库中执行查询语句,大约1秒钟查询出来,在C#中用ado进行连接查询,一直等待很久未查出结果,最后抛出查询超时异常. 异常内容如下: Execution Timeout Expired. ...

  2. FIVE1

    Topic Link http://ctf5.shiyanbar.com/stega/FIVE1/1111110000000000.jpg 1) 直接放到HXD中,你会发现里面有一个zip文件 2)提 ...

  3. 程序员十大热门flag,有你的吗?

    2018的尾声,南方人期盼已久的下雪天终于到了,实在是太鸡冻了! 而赏雪的喜悦也伴随着寒冷的忧伤 早上起床越来越难,衣服怎么裹都还是冷 这时,穿搭届的神话般的人物——程序员们,可能又要引起轰动了吧! ...

  4. 流式大数据计算实践(6)----Storm简介&使用&安装

    一.前言 1.这一文开始进入Storm流式计算框架的学习 二.Storm简介 1.Storm与Hadoop的区别就是,Hadoop是一个离线执行的作业,执行完毕就结束了,而Storm是可以源源不断的接 ...

  5. springboot+cloud 学习(五)统一配置中心 spring cloud config + cloud bus + WebHooks +RibbitMQ

    前言 微服务要实现集中管理微服务配置.不同环境不同配置.运行期间也可动态调整.配置修改后可以自动更新的需求,Spring Cloud Config同时满足了以上要求.Spring Cloud Conf ...

  6. Java集合类源码解析:ArrayList

    目录 前言 源码解析 基本成员变量 添加元素 查询元素 修改元素 删除元素 为什么用 "transient" 修饰数组变量 总结 前言 今天学习一个Java集合类使用最多的类 Ar ...

  7. 20190322-a标签、img标签、三列表、特殊字符实体、表格

    目录 1.a标签 a标签的属性 锚点 2.img标签 img标签的属性 图像热区 3.三列表 有序列表(Ordered List)     ol>li 无序列表(Unordered List)  ...

  8. linux学习笔记-配置vbox虚拟机本地连接和外网同时可用

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 在设置网络里面启用两个网卡,一个桥接,一个网络地址转换 archlinux系统下第一个网络地址转换,第二个桥接 centos7系 ...

  9. vuex2中使用mapGetters/mapActions报错解决方法

    解决方案 可以安装整个stage2的预置器或者安装 Object Rest Operator 的babel插件 babel-plugin-transform-object-rest-spread . ...

  10. 为什么AI的翻译水平还远不能和人类相比?

    为什么AI的翻译水平还远不能和人类相比? https://mp.weixin.qq.com/s/0koIt-qu9IOVxNhbFcZr1Q 作者 | SHARON ZHOU 译者 | 王天宇 编辑 ...