场景解析和语义分割区别_深度学习-语义分割总结

什么是语义分割

对图片的每个像素都做分类。

较为重要的语义分割数据集有:VOC2012 以及 MSCOCO 。

有哪几种方法

传统机器学习方法:如像素级的决策树分类,参考TextonForest 以及 Random Forest based classifiers 。再有就是深度学习方法。更确切地说,是卷积神经网络。

深度学习最初流行的分割方法是,打补丁式的分类方法 ( patch classification ) 。逐像素地抽取周围像素对中心像素进行分类。由于当时的卷积网络末端都使用全连接层 ( full connected layers ) ,所以只能使用这种逐像素的分割方法。

2014年,来自伯克利的 Fully Convolutional Networks(FCN) 卷积网络,去掉了末端的全连接层。随后的语义分割模型基本上都采用了这种结构。除了全连接层,语义分割另一个重要的问题是池化层。池化层能进一步提取抽象特征增加感受域,但是丢弃了像素的位置信息。但是语义分割需要类别标签和原图像对齐,因此需要从新引入像素的位置信息。有两种不同的架构可以解决此像素定位问题。

第一种是编码-译码架构。编码过程通过池化层逐渐减少位置信息、抽取抽象特征;译码过程逐渐恢复位置信息。一般译码与编码间有直接的连接。该类架构中U-net 是最流行的。

第二种架构是膨胀卷积 ( dilated convolutions ) ,抛弃了池化层。使用的卷积核如下图。

bd5ba17916c08cc15f94ce5c6b2e9747.png

条件随机场的后处理 经常用来提高分割的精确度。后处理利用图像的光感强度(可理解为亮度),将周围强度相近的像素分为同一类。能提高 1-2 个百分点。

文章汇总

FCN 2014年

主要的贡献:

为语义分割引入了 端到端 的全卷积网络,并流行开来

重新利用 ImageNet 的预训练网络用于语义分割

使用 反卷积层 进行上采样

引入跳跃连接来改善上采样粗糙的像素定位

说明:

比较重要的发现是,分类网络中的全连接层可以看作对输入的全域卷积操作,这种转换能使计算更为高效,并且能重新利用 ImageNet 的预训练网络。经过多层卷积及池化操作后,需要进行上采样,FCN 使用反卷积(可学习)取代简单的线性插值算法进行上采样。

9d07a6f7d05b8b614c3efabb8a1b1640.png

SegNet 2015年

编码-译码架构

主要贡献:

将池化层结果应用到译码过程。引入了更多的编码信息。使用的是pooling indices而不是直接复制特征,只是将编码过程中 pool 的位置记下来,在 uppooling 是使用该信息进行 pooling 。

d7e59723f3a61885503c78d01855cee9.png

dcab038eb4f8eadee965fe77db3c640d.png

U-Net 2015

U-Net 有更规整的网络结构,通过将编码器的每层结果拼接到译码器中得到更好的结果。

8ffd6554fd2f29f0f388e39a7711d0fb.png

Dilated Convolutions 2015年

通过膨胀卷积操作聚合多尺度的信息

主要贡献:

使用膨胀卷积

提出 ’context module‘ ,用来聚合多尺度的信息

说明:

池化在分类网络中能够扩大感知域,同样降低了分辨率。所以作者提出了膨胀卷积层。

dilation.gif

f1a11cdbb8e25aa6c33f78d45bfc350d.png

(a) 原始的 3×33×3卷积,1-dilated,感受野为 3×33×3;

(b) 在(a)的基础上进行 3×33×3卷积,2-dilated,感受野为 7×77×7;

(c) 在(b)的基础上进行 3×33×3卷积,4-dilated,感受野为 15×1515×15;

由于padding和卷积的stride=1,卷积前后feature map大小可以保持不变,但每个元素的感受野指数增大。Link

膨胀卷积在 DeepLab 中也被称为暗黑卷积 (atrous convolution) 。此卷积能够极大的扩大感知域同时不减小空间维度。本模型移去了VGG网的最后两层池化层,并且其后续的卷积层都采用膨胀卷积。

作者还训练了一个模块,输入卷积结果,级联了不同膨胀系数的膨胀卷积层的,输出和输入有一样的尺寸,因此此模块能够提取不同规模特征中的信息,得到更精确的分割结果。

最后预测结果图是原图的八分之一大小,文章使用插值得到最后的分割结果。

DeepLab (v1 & v2) 2014 & 2016

主要贡献:

使用膨胀卷积

提出了暗黑空间金字塔池化 (ASPP),融合了不同尺度的信息。

使用全连接的条件随机场

说明:

基本网络和 dilated convolutions 一致。最后的结构化预测 (精细分割) 采用全连接的 CDF。提出了ASPP,但结果不如 FC-CDF 。

cdc00d7883c39ded6805e5dc39a02768.png

64428c5a4d79cbbadca8ed6f579316c0.png

RefineNet 2016年

主要贡献:

精心设计的译码模块

所有模块遵循残余连接设计

说明:

膨胀卷积有几个缺点,如计算量大、需要大量内存。这篇文章采用编码-译码架构。编码部分是 ResNet-101 模块。译码采用 RefineNet 模块,该模块融合了编码模块的高分辨率特征和前一个 RefineNet 模块的抽象特征。

每个 RefineNet 模块接收多个不同分辨率特征,并融合。看图。

6fd79005a5eb6534715e05602791fe6b.png

bff5365587300dda82fd0d805e87f32e.png

PSPNet 2016年

Pyramid Scene Parsing Network 金字塔场景解析网络

主要贡献:

提出了金字塔池化模块来聚合图片信息

使用附加的损失函数

说明:

金字塔池化模块通过应用大核心池化层来提高感知域。使用膨胀卷积来修改 ResNet 网,并增加了金字塔池化模块。金字塔池化模块对 ResNet 输出的特征进行不同规模的池化操作,并作上采样后,拼接起来,最后得到结果。

本文提出的网络结构简单来说就是将DeepLab(不完全一样)aspp之前的feature map pooling了四种尺度之后 将5种feature map concat到一起经过卷积最后进行prediction的过程。

附加的损失函数:看不懂

3e2101fac4efb53063cf25153999dd14.png

Large Kernel Matters 2017

主要贡献:

提出了使用大卷积核的编码-译码架构

说明:

理论上更深的 ResNet 能有很大的感知域,但研究表明实际上提取的信息来自很小的范围,因此使用大核来扩大感知域。但是核越大,计算量越大,因此将 k x k 的卷积近似转换为 1 x k + k x 1 和 k x 1 + 1 x k 卷积的和。本文称为 GCN。

本文的架构是:使用 ResNet 作为编译器,而 GCN 和反卷积作为译码器。还使用了名为 Boundary Refinement 的残余模块。

1944eae200699def0790b5d94601a056.png

DeepLab v3 2017

主要贡献:

改进 ASPP

串行部署 ASPP 的模块

说明:

和 DeepLab v2 一样,将膨胀卷积应用于 ResNet 中。改进的 ASPP 指的是将不同膨胀率的膨胀卷积结果拼接起来。并使用了 BN 。

于 Dilated convolutions (2015) 不一样的是,v3 直接对中间的特征图进行膨胀卷积,而不是在最后做。

0a5b8d0643a7be8bfe5a9b538c5ab9f9.png

采集多尺度信息的方法

d70ad40183368247002ca6c9ccb3901f.png

对比

模型分数 (VOC2012)

FCN

67.2

SegNet

59.9

Dilated Convolutions

75.3

DeepLab (v1 & v2)

79.7

RefineNet

84.2

PSPNet

85.4

Large Kernel Matters

83.6

DeepLab v3

85.7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值