语义分割Semantic Segmentation研究综述
语义分割和实例分割概念
语义分割:对图像中的每个像素都划分出对应的类别,实现像素级别的分类。
实例分割:目标是进行像素级别的分类,而且在具体类别的基础上区别不同的实例。

语义分割(Semantic Segmentation)
输入:一张原始的RGB图像
输出:带有各像素类别标签的与输入同分辨率的分割图像

对预测的分类目标采用one-hot编码,为每个分类类别创建一个输出的channel。

将分割图相加到原始图像上的效果。

语义分割的难点
在经典的网络中,需要经过多层卷积和池化进行提取特征工作,从而找到分类目标,这个过程会使图像尺寸逐渐减小。需要将分类后的特征图还原到原图尺寸。
通常的做法是编码和解码网络结构。
卷积核池化操作可以看图像编码的过程,也就是下采样过程。
解码理解为编码的逆运算,对输出的特征图不断上采样,逐渐得到一个与原始图像同分辨率的分割图。
卷积动图

最大池化和最大池化的示意图(池化上采样是通过将单个值分配更高的分辨率来达到扩充的目的)

反卷积(转置卷积)

Dilated convolution(空洞卷积)

1. FCN全卷积网络简介
1.1 关键技术:卷积化(convolutionalization)
分类所使用的网络通常会在最后连接全连接层,它会将原来二维的矩阵(图片)压缩成一维的,从而丢失了空间信息,最后训练输出一个标量,这就是我们的分类标签。
语义分割的输出是个分割图,至少是二维的。通常是一个类别为一个通道。

1.2 关键技术:上采样(Upsampling)
需要得到一个与原图像size相同的分割图,需要对最后一层进行上采样。
1.3 关键技术:跳跃结构(Skip Architecture)
由于直接将全卷积的结果上采样后的结果很粗糙。采用跳跃结构,将不同池化层的结果进行上采样,然后结合这些结果来优化输出。(出发点:由于池化层会丢失信息,将不同池化层结果上采样,从而弥补部分信息)

2. u-net简介
u-net作为FCN的改进,通过扩大网络解码器容量来改进了全卷积网络结构,并给编码和解码模块添加了收缩路径(contracting path),从而实现更精准的像素边界定位。
融合之前要crop到对应的层相同尺寸。(思考:融合操作是不是对应通道的相加,具体需要看论文和代码。有没有更合理的特征融合方法)
3. v-net简介
v-net 可以理解为 3D 版本的 u-net ,适用于三维结构的医学影像分割。v-net 能够实现 3D 图像端到端的图像语义分割,加了一些像残差学习一样的trick来进行网络改进,总体结构上与 u-net 差异不大。

语义分割Semantic Segmentation研究综述的更多相关文章
- 语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.
from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里, ...
- 自动网络搜索(NAS)在语义分割上的应用(二)
前言: 本文将介绍如何基于ProxylessNAS搜索semantic segmentation模型,最终搜索得到的模型结构可在CPU上达到36 fps的测试结果,展示自动网络搜索(NAS)在语义分割 ...
- 【Semantic segmentation】Fully Convolutional Networks for Semantic Segmentation 论文解析
目录 0. 论文链接 1. 概述 2. Adapting classifiers for dense prediction 3. upsampling 3.1 Shift-and-stitch 3.2 ...
- FCN与U-Net语义分割算法
FCN与U-Net语义分割算法 图像语义分割(Semantic Segmentation)是图像处理和是机器视觉技术中关于图像理解的重要一环,也是 AI 领域中一个重要的分支.语义分割即是对图像中每一 ...
- [转]综述论文翻译:A Review on Deep Learning Techniques Applied to Semantic Segmentation
近期主要在学习语义分割相关方法,计划将arXiv上的这篇综述好好翻译下,目前已完成了一部分,但仅仅是尊重原文的直译,后续将继续完成剩余的部分,并对文中提及的多个方法给出自己的理解. _论文地址:htt ...
- 综述论文翻译:A Review on Deep Learning Techniques Applied to Semantic Segmentation
近期主要在学习语义分割相关方法,计划将arXiv上的这篇综述好好翻译下,目前已完成了一部分,但仅仅是尊重原文的直译,后续将继续完成剩余的部分,并对文中提及的多个方法给出自己的理解. 论文地址:http ...
- 语义分割的简单指南 A Simple Guide to Semantic Segmentation
语义分割是将标签分配给图像中的每个像素的过程.这与分类形成鲜明对比,其中单个标签被分配给整个图片.语义分段将同一类的多个对象视为单个实体.另一方面,实例分段将同一类的多个对象视为不同的单个对象(或实例 ...
- CVPR2020论文解读:三维语义分割3D Semantic Segmentation
CVPR2020论文解读:三维语义分割3D Semantic Segmentation xMUDA: Cross-Modal Unsupervised Domain Adaptation for 3 ...
- [论文][半监督语义分割]Adversarial Learning for Semi-Supervised Semantic Segmentation
Adversarial Learning for Semi-Supervised Semantic Segmentation 论文原文 摘要 创新点:我们提出了一种使用对抗网络进行半监督语义分割的方法 ...
随机推荐
- 492. Construct the Rectangle
static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...
- Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut aaa
这个错误是说,找不到这个注释: 解决方案: 1.更改自己本机的jdk版本(我的更改了无效): 在工程选择框内点击右键--->build path----->Library--->ad ...
- 按str 存储和按 list 存储
按str 存储1 w2 = open('./trsd_w.txt','a')#a代表追加 w代表重写 if matcher1: flag = 1 w2.write("\n") fo ...
- Spring MVC controller 被执行两次
interceptor 被执行两次 后来发现 时controller被执行两次 后来发现是jsp页面有个: <img src="#" > 导致被执行两次. 解决方案:去 ...
- B-tree B+tree适合文件系统索引和MySQL索引
B-树 B-树,这里的 B 表示 balance( 平衡的意思),B-树是一种多路自平衡的搜索树 它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点.下图是 B-树的简化图. B-树 ...
- hdu 2190 悼念512汶川大地震遇难同胞——重建希望小学
题目 这道题拿到的时候拼凑了一会,感觉挺难的,然后博客说是:递推,我觉得递推其实就是找规律. 这是别人的思路:对于n米的长度,可以是由n-1长度加1而来,对于增加的1,只有三块1*1的砖一种铺法: 还 ...
- node.excel
今天突然间想起来用node如何操作excel,记得之前用Java的poi操作excel,感觉特别爽,计算机代替人的工作,非常有用,所以决定摸索一下. 在网上找了各种模块,有导出的,有导入的,有转为js ...
- opencv学习_4(opencv基础数据结构 CvPoint & CvSize & CvRect & CvScalar & CvArr & CvMat)
1:包含在cxcore/include/cxtypes.h头文件中. 2:CvPoint系列 -----(x,y) CvPoint:表示图像中的点 CvPoint2D32f:二维空间中的点 CvP ...
- 大猪蹄子队 Scrum meeting 合集
大猪蹄子队 Scrum meeting 合集 18-10-29 第一天 http://note.youdao.com/noteshare?id=79ce5a89f85995ef68deae14e538 ...
- MVC-1.1 BundleConfig-ScriptBundle
App_Start中的BudleCnfig.cs中 bundles.Add(new ScriptBundle("~/bundles/jquery").Include( " ...