SegNet网络结构
SegNet网络结构
- 网络架构
- Encoder
- Decoder
- 贴一张我的处理结果吧
刚刚接触深度学习–semantic segmentation相关的研究,对SegNet的网络结构进行了学习,虽然已经有了很多的解释,还是想要自己写一下,将整体结构做一个梳理。博客底部附有参考链接,感谢大神们的分析以及代码的赞助。
SegNet是通过对图像中每一个像素点进行分类,识别每一个像素点的类别来实现图像的分割。其思路与FCN的思路十分相似,只是两者的Encoder与Decoder技术不同。
网络架构
网络结构:包括Encoder和Decoder两个部分,Encoder是由4层上采样组成,Decoder由4层下采样组成,Encoder与Decoder之间呈一种对称关系。左边使用了VGG-16的前13层卷积网络,并做了少许的改动,用于提取特征并保存池化索引;右边是一个反卷积与upsampling的过程,通过反卷积使得图像分类后特征得以重现,upsampling还原到图像原始尺寸,该过程称为Decoder;最后使用Softmax输出不同分类的最大值,得到最终分割图。
Encoder
通过卷积提取特征,SegNet使用的卷积为same卷积,即卷积后保持图像原始尺寸;在Decoder过程中,同样使用same卷积,不过卷积的作用是为upsampling变大的图像丰富信息,使得在Pooling过程丢失的信息可以通过学习在Decoder得到。
其Encoder部分使用了VGG-16的前13层,与VGG-16不同的是,多了一步保存max-pooling索引的操作,目的是Decoder可以利用其来做非线性上采样。
Decoder
pooling在CNN中能够将图像缩小,包括两种方式:max和mean。文章中用到的是max-pooling的方式,在一个22的filter中,取出其中权重最大的值,同时保存最大权值在22 filter中的位置。从网络框架图可以看到绿色的pooling与红色的upsampling通过pool indices相连,实际上是pooling后的indices输出到对应的upsampling(因为网络是对称的,所以第1次的pooling对应最后1次的upsamping,如此类推)。
SegNet与FCN上采样方式对比。
SegNet:图像经过max-pooling后在每一个filter中会损失3个权值,但是因为在pooling过程中同时保存了最大权值的索引位置,根据pooling-indices可以在upsampling中可以pooling相对于pooling filter的相对位置,将数据放回对应位置后进做卷积训练。在与encoder中第一层对应的decoder层中(即decoder的最后一层卷积),与原图像为RGB的3通道不同,该层产生的是一个通道为K(类别数)的multi-channel feature maps,然后将其送入softmax分类器,做逐像素的分类处理。
FCN:我还没有看~~看完了再补吧。
第一次接触神经网络模型,虽然有很多博客可以参考,也看了原文,但是理解还是不够透彻,继续加油!
贴一张我的处理结果吧
因为我的电脑GPU是3G的,使用原图时一直提示内存不够,用nvidia-smi看了一下GPU的利用率,基本上是没有空间了,然后将图像缩小为之前的1/3,识别率才62%,分割效果比较差。
链接: https://blog.csdn.net/qq_41576083/article/details/84973380.
链接: https://blog.csdn.net/k87974/article/details/79926014
链接: https://blog.csdn.net/zhuzemin45/article/details/79709874
感谢男朋友把自己的CSDN借给我用,第一次写博客还有点小紧张,但是写的是什么鬼!!!
SegNet网络结构相关推荐
- 语义分割中的深度学习方法全解:从FCN、SegNet到各版本DeepLab
语义分割中的深度学习方法全解:从FCN.SegNet到各版本DeepLab 原文:https://www.sohu.com/a/155907339_610300 图像语义分割就是机器自动从图像中分割出 ...
- 【Keras】基于SegNet和U-Net的遥感图像语义分割
from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...
- SegNet 语义分割网络以及其变体 基于贝叶斯后验推断的 SegNet
HomePage: http://mi.eng.cam.ac.uk/projects/segnet/ SegNet Paper: https://www.computer.org/csdl/trans ...
- Keras】基于SegNet和U-Net的遥感图像语义分割
from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...
- Pytorch:图像语义分割-FCN, U-Net, SegNet, 预训练网络
Pytorch: 图像语义分割-FCN, U-Net, SegNet, 预训练网络 Copyright: Jingmin Wei, Pattern Recognition and Intelligen ...
- 【语义分割】一文概览主要语义分割网络,FCN、UNet、SegNet、DeepLab
目录 前言知识 一.语义分割与实例分割的区别 1. Semantic Segmentation(语义分割): 2. Instance Segmentation(实例分割): 二.语义分割一般网络架构 ...
- SegNet学习笔记(附Pytorch 代码)
SegNet 的应用 SegNet常用于图像的语义分割.什么是语义分割了?,我们知道图像分割大致可以划分为三类,一类是语义分割.一类是实例分割,一类是全景分割,另外还有一些可以归为超像素分割.打个比方 ...
- 【图像超分辨率】基于ResNet或GAN的遥感图像超分辨率论文
基于ResNet或GAN的遥感图像超分辨率论文 <空间感知残差网络的遥感图像超分辨率重建> 操作: 遥感图像特点: 网络模型: 去掉批处理层的原因: 具体操作 损失方程: <改进的残 ...
- Semantic Segmentation--SegNet:A Deep Convolutional Encoder-Decoder Architecture..论文解读
title: Semantic Segmentation–SegNet:A Deep Convolutional Encoder-Decoder Architecture-论文解读 tags: Obj ...
最新文章
- 服务发现系统之consul入门
- Android开源控件ViewPager Indicator的使用方法
- 数字线索: F-35单价已低于四代机,其成本控制是如何实现的?
- 详解虚函数的实现过程之初探虚表(1)
- 解决fullgc_「OOM」Java heap space原因与解决
- 參加microsoft主管信息論壇
- oracle 删除用户和依赖,Oracle 12.2使用手动创建与注册依赖对象来执行联机重定义...
- ubuntu MySQL的卸载
- median _matlab 中值滤波函数
- Cell综述:人类肠道菌群-从关联到调控
- 使用VBS编写xshell/SecureCRT自动化脚本
- 原生JS的ajax,原生ajax传递参数格式,ajax参数传递,ajax传递参数
- 苹果手机不和安卓手机比堆料的原因
- 用搜狗输入法原样输出10的若干次方
- 编程语言是怎么发展的?
- 卡迪夫大数据专业排名_2019QS排名出炉啦!看看卡迪夫大学那些世界前百强的学科...
- final关键字、权限、内部类
- C语言中的整型变量与实行常量
- 随性随笔_201508
- 《王者荣耀》等“爆款”游戏是如何诞生的?| 马晓轶青腾大学演讲
热门文章
- 【英语学习】【WOTD】reverberate 释义/词源/示例
- Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(11) - 数据可缓存性控制指令
- 2.2基本算法之递归和自调用函数_用栈算法递归解决汉诺塔问题
- 关于redis的pipline和lua脚本
- 2019日历全年一张_看,日历里居然藏着一座艺术馆!让这本最美日历开启2021年好运...
- C++:成绩类Score
- qt 怎么设计个性化的滑块_滑块上走滑块模具结构设计,不一样的结构思维成就你的高薪职业...
- 《OpenGL编程指南(原书第8版)》——计算着色器
- Windows下学习Objective-C 2.0
- 【总结整理】写给非技术产品经理的技术能力要求----摘自《人人都是产品经理》...