一、概述

SegNet是Cambridge提出旨在解决自动驾驶或者智能机器人的图像语义分割深度网络,开放源码,基于caffe框架。SegNet基于FCN,修改VGG-16网络得到的语义分割网络,有两种版本的SegNet,分别为SegNetBayesian SegNet,同时SegNet作者根据网络的深度提供了一个basic版(浅网络)

二、架构

1.架构介绍
  • SegNet和FCN思路十分相似,只是Encoder,Decoder使用的技术不一致;

  • SegNet的编码器部分使用的是VGG16的前13层卷积网络;

  • 每个编码器层都对应一个解码器层;

  • 最终解码器的输出被送入softmax分类器以独立的为每个像素产生类概率;

  • 左边是卷积提取特征,通过pooling增大感受野,同时图片变小,该过程称为Encoder

  • 右边是反卷积(在这里反卷积与卷积没有区别)与upsampling,通过反卷积使得图像分类后特征得以重现,upsampling还原到图像原始尺寸,该过程称为Decoder

    • 绿色的pooling与红色的upsampling通过max-pooling indices(最大池化索引)相连;
  • 最后通过Softmax,输出不同分类的最大值,得到最终分割图。

2.Encoder
  • 卷积层+批归一化层+RELU组成,然后是最大池化;

  • SegNet使用的卷积为same卷积,即卷积后保持图像原始尺寸;

3.Decoder——Pooling & Upsampling
  • 在Decoder过程中,使用same卷积,作用是为upsampling变大的图像丰富信息,使得在Pooling过程丢失的信息可以通过学习在Decoder得到;

  • Upsamping就是Pooling的逆过程(index在Upsampling过程中发挥作用)

  • 在SegNet中的Pooling与其他Pooling多了一个index功能(该文章亮点之一),也就是每次Pooling,都会保存通过max选出的权值在2x2 filter中的相对位置;

  • SegNet上采样不需要训练学习(只是占用了一些存储空间);

  • FCN则是用transposed convolution策略,即将feature 反卷积后得到upsampling,这一过程需要学习;

  • max-pooling indics advantage:

    • 改进了边界划分
    • 减少了实现端到端训练的参数数量
    • 这种upsampling模式可以包含到任何编码-解码网络中
  • 在upsampling中:稀疏特征图 -> 多次卷积 -> 密集特征图;

  • SegNet中的卷积与传统CNN的卷积并没有区别;

4.Bayesian SegNet

A. 先验概率:(概率论:由原因推结果)

在SegNet中最后每个像素都会对每一类的概率进行计算,再通过 softmax 输出概率最大的一个,然后这个像素点就认为是这一类别,对应的概率就是这一像素属于该类的概率。

B. 先验概率的缺点:

  • 对于不同的样本,先验概率无法保证一定正确;
  • 需要后验概率(概率论:Bayes公式 由结果推原因),它能给出结果的可信程度,即置信度

C. Different:

网络:与普通比,Bayesian SegNet只是在卷积层中多加了一层DropOut

D. DropOut:

————————————————

补课:

  • 在传统神经网络中DropOut层的主要作用是防止权值过度拟合,增强学习能力;
  • 输入经过DropOut层之后,随机使部分神经元不工作(权值为0),即只激活部分神经元,结果是这次迭代的向前和向后传播只有部分权值得到学习;
  • DropOut层服从二项分布,结果不是0,就是1;

————————————————

  • Bayesian SegNet中,SegNet作者把概率设置为0.5,即每次只有一半的神经元在工作;
  • Bayesian SegNet中通过DropOut层实现多次采样,多次采样的样本值为最后输出,方差为其不确定度,方差越大不确定度越大;

E. Bayesian SegNet的用处:

  1. 对于分类的边界位置,不确定性较大,即其置信度较低;
  2. 对于图像语义分割错误的地方,置信度也较低;
  3. 对于难以区分的类别,例如人与自行车,road与pavement,两者如果有相互重叠,不确定度会增加。

三、一些结果

新的评价指标BF指标:边界F1测量

尝试了两个数据集:

  1. 用于道路场景分割的CamVid数据集;
  2. 一个是用于室内场景分割的SUN RGB-D数据集;
1.用于道路场景分割的CamVid数据集

道路场景分割的CamVid数据集上,与传统方法相互比较:

如上所示,SegNet在多类分割问题上获得了非常好的结果。它也获得了最高级别的类平均值和全局平均值。

道路场景分割的CamVid数据集上,与深度学习方法相比较:

获得最高的全局平均准确度(G),类别平均准确度(C),mIOU和边界F1测量(BF)。它的结果优于FCN,DeepLabv1和DeconvNet。

定性结果:

2.用于室内场景分割的SUN RGB-D数据集

在室内场景分割的SUN RGB-D数据集,与深度学习方法比较:

同样,SegNet优于FCN,DeconvNet和DeepLabv1;
对于mIOU指标,SegNet只比DeepLabv1略差一些;

不同类的类平均准确度:

大尺寸目标的准确度更高;
小尺寸目标的准确度较低;

定性分析结果:

3.内存和推断时间

SegNet比FCN慢,因为SegNet包含解码器架构;

SegNet在训练和测试期间的内存要求都很低,并且模型尺寸比FCN小得多;

Reference

  1. 论文翻译
  2. 【语义分割】–SegNet理解
  3. 卷积神经网络CNN(4)—— SegNet
  4. 【语义分割系列:二】SegNet 论文阅读翻译笔记
  5. 一文带你读懂 SegNet(语义分割)

我对SegNet的理解相关推荐

  1. 【NLP】博士笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习初学者 引言:最近自动驾驶项目需要学习一些语义分 ...

  2. 笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉联盟 本文内容概述王博Kings最近的语义分割 ...

  3. 博士笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习初学者 本文内容概述王博Kings最近的语义分割学 ...

  4. 如何妙笔勾檀妆:像素级语义理解

    编者按:在徐凝的<宫中曲>中有这样一句诗,"一日新妆抛旧样",描绘了中唐时期宫中女人换妆的场景,而另一句诗"檀妆唯约数条霞",讲的则是复杂的檀妆其实 ...

  5. DL之SegNet:SegNet图像分割/语义分割算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之SegNet:SegNet图像分割/语义分割算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 导读 基于CNN的神经网络SegNet算法可进行高精度地识别行驶环境. 目录 SegN ...

  6. SegNet 语义分割网络以及其变体 基于贝叶斯后验推断的 SegNet

    HomePage: http://mi.eng.cam.ac.uk/projects/segnet/ SegNet Paper: https://www.computer.org/csdl/trans ...

  7. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  8. SegNet网络简析及caffe工程应用

    最近在工作的业务中需要应用到图像分割,在这里总结一下在应用中遇到的一些问题. 一.SegNet简介 自2015年FCN的提出后,使用卷积层替代全连接层成为了解决像素级分类种where和what的一种有 ...

  9. 图像目标分割_3 SegNet + U-Net

    6.3.1 SegNet背景 SegNet的主要动机是场景理解的应用. 难点:因此它在设计的时候考虑了要在预测期间保证内存和计算时间上的效率.分割的任务其实应用非常地广,需要理解各个像素之间的关系,比 ...

  10. ICCV 2019 | 视频综合理解:行为识别、场景识别以及视频综述

    点击我爱计算机视觉标星,更快获取CVML新技术 本文经作者授权转载自知乎: https://zhuanlan.zhihu.com/p/91986833 未经许可,禁止二次转载. 导语:计算机视觉领域顶 ...

最新文章

  1. 数列分段II(信息学奥赛一本通-T1436)
  2. 新版JupyterLab快捷键+调试技巧(建议收藏)
  3. 注意力机制学习(二)——空间注意力与pytorch案例
  4. display:inline-block带来的问题及解决办法
  5. 前端 如何获取response headers 中的set-cookie:_如何使用moco框架搭建接口mock服务
  6. eclipse 点击 ctrl+鼠标左键看不了源码问题解决
  7. Java springcloud B2B2C o2o多用户商城 springcloud架构- ribbon
  8. C语言课程设计图形库
  9. 华钜同创:拯救你的亚马逊销量!你需要知道这些技巧
  10. android-更新UI的几种方式
  11. Vue制作图片翻面效果
  12. 01-Chrome架构:仅仅打开了1个页面,为什么有4个进程
  13. 计算机休眠后无法唤醒出现蓝屏,电脑休眠后无法唤醒怎么办【解决方法】
  14. 使用for循环打印空心菱形图案
  15. 《夏洛的网》思维导图读书笔记
  16. mysql地理坐标_mysql中如何将地理坐标拆成经度和纬度两份?
  17. vue 实现微信登陆 你学会了吗
  18. 关于计算机技术在电力系统中的论文,论计算机技术在电力系统中的应用
  19. 安装完CentOS 7 后必做的七件事
  20. 2G到4G网络结构的演进过程(图)

热门文章

  1. FileUpload1.PostedFile.FileName未找到文件或者上传失败
  2. Activeperl安装教程
  3. python网络爬虫的流程图_Python 网络爬虫程序架构及运行流程
  4. 【Windows 问题系列第 13 篇】如何修改 Windows10 的鼠标指针样式
  5. 微信小程序:酒桌扑克娱乐喝酒小游戏
  6. JAVA宠物寄养管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  7. HD TUNE 下载使用
  8. 阿里云主要产品及功能介绍,阿里云产品分为6大分类:云计算基础/安全/大数据/人工智能/企业应用/物联网...
  9. 微信小程序 时间插件 (可以选择日期+星期)
  10. 【Squoosh】谷歌开源在线图片压缩工具