ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SegNet——论文笔记

2021-07-04 11:33:37  阅读:503  来源: 互联网

标签:卷积 论文 笔记 索引 SegNet 解码器 池化 像素点


1、什么是语义分割(semantic segmentation)?

图像语义分割,简而言之就是对一张图片上的所有像素点进行分类,将所有属于同一类的物体标记为同一像素点。

seg.jpg

SegNet基于FCN,修改VGG-16网络得到的语义分割网络。

2、SegNet(A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation)

在这里插入图片描述

SegNet 有一个编码器网络和一个相应的解码器网络,然后是最终的逐像素分类层。

编码器

  • 在编码器处,执行卷积和最大池化。
  • VGG16 有 13 个卷积层,将原始的全连接层被替换成解码器。
  • 在每个卷积层后添加Batch Normalization层。
  • 在进行 2×2 最大池化时,会存储相应的最大池化索引(位置),用于解码器的反池化操作。

在这里插入图片描述

解码器

  • 在解码器处,执行上采样和卷积。最后,每个像素都有一个 Softmax 分类器。
  • 在上采样期间,调用相应编码器层的最大池化索引以进行上采样,如上所示。
  • 最后,使用 K (分类数量)类 Softmax 分类器来预测每个像素点所属的类别。

上采样的方式

目前上采样的方式有两种,一种是反卷积,另一种是双线性插值。但与其他分割网络不一样的是,SegNet采用了带索引的反池化操作,进一步提高的特征传递的准确性。

损失函数

SegNet是逐像素点预测的,因此对于每个像素点来说,Ground Truth不是0就是1,即使分割图像是单通道的(依据分类数给出索引),那也可以变成One-Hot的形式,例如VOC的label就是21通道的。

所以根据像素点的预测方式,使用交叉熵就可以了。当然,后人改进采用了dice loss、focal loss等,在这里就不展开论述了。

预测精度

作者的数据是基于道路场景分割的 CamVid 数据集所训练的结果,SegNet的预测精度如图所示:

在这里插入图片描述

内存和推理时间

在这里插入图片描述

  • SegNet 比FCN和DeepLabv1慢,因为 SegNet 包含解码器架构,这一块主流的深度学习框架优化做的比较少,多数是以用户自己编写自定义层来实现。
  • 并且 SegNet 在训练和测试期间都具有较低的内存需求。并且模型尺寸比FCN和DeconvNet 小得多。

3、总结

SegNet原理非常简单,特点就是采用了带索引的池化层和根据索引的反池化层,网络结构上也是采用了VGG16的backbone。但由于目前主流的神经网络框架没有针对池化和反池化操作进行优化,所以SegNet的推理时间会比较长,而从预测指标上来看,也没有非常惊艳的结果。所以SegNet只能说是在池化操作上提出了一些奇淫技巧。

4、实现代码

标签:卷积,论文,笔记,索引,SegNet,解码器,池化,像素点
来源: https://blog.csdn.net/weixin_42392454/article/details/118460055

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有