语义分割_图像语义分割综述

本文详细介绍了语义分割的概念、传统方法与深度学习方法的对比,重点探讨了深度学习在语义分割中的应用,包括FCN、SegNet、Dilated Convolution、DeepLab系列和PSPNet等代表性模型,阐述了它们的核心思想和优缺点。
摘要由CSDN通过智能技术生成

本文转载自知乎用户“stone”

一、什么是语义分割

语义分割是在像素级别上的分类,属于同一类的像素都要被归为一类,因此语义分割是从像素级别来理解图像的。比如说如下的照片,属于人的像素都要分成一类,属于摩托车的像素也要分成一类,除此之外还有背景像素也被分为一类。注意语义分割不同于实例分割,举例来说,如果一张照片中有多个人,对于语义分割来说,只要将所由人的像素都归为一类,但是实例分割还要将不同人的像素归为不同的类。也就是说实例分割比语义分割更进一步。

01e2232b714664b9494a991f9286103b.png

图1(a). 原图

e9961b766dd786e811e8191b4d8382e6.png

图1(b). 分割结果

二、语义分割的思路

I.传统方法

在深度学习方法流行之前,TextonForest和基于随机森林分类器等语义分割方法是用得比较多的方法。不过在深度卷积网络流行之后,深度学习方法比传统方法提升了很多,所以这里就不详细讲传统方法了。

II.深度学习方法

深度学习方法在语义分割上得到了巨大成功,深度学习方法解决语义分割问题可以概括为几种思路。下面进行详细介绍。

1.Patch classification

最初的深度学习方法应用于图像分割就是Patch classification。Patch classification方法,顾名思义,图像是切成块喂给深度模型的,然后对像素进行分类。使用图像块的主要原因是因为全连接层需要固定大小的图像。

2.全卷积方法

2014年,全卷积网络(FCN)横空出世,FCN将网络全连接层用卷积取代,因此使任意图像大小的输入都变成可能,而且速度比Patch classification方法快很多。

尽管移除了全连接层,但是CNN模型用于语义分割还存在一个问题,就是下采样操作(比如,pooling)。pooling操作可以扩大感受野因而能够很好地整合上下文信息(context中文称为语境或者上下文,通俗的理解就是综合了更多的信息来进行决策),对high-level的任务(比如分类),这是很有效的。但同时,由于pooling下采样操作,使得分辨率降低,因此削弱了位置信息,而语义分割中需要score map和原图对齐,因此需要丰富的位置信息。

3.encoder-decoder架构

encoder-decoder是基于FCN的架构。encoder由于pooling逐渐减少空间维度,而decoder逐渐恢复空间维度和细节信息。通常从encoder到decoder还有shortcut connetction(捷径连接,也就是跨层连接)。其中U-net就是这种架构很流行的一种,如下图:

b7cd0c2e6b6cf3c250b0f15f837bc14a.png

4.空洞卷积

dilated/atrous (空洞卷积)架构,这种结构代替了pooling,一方面它可以保持空间分辨率,另外一方面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值