语义分割网络概述

目录

一.语义分割

二.有哪些不同的方法去解决语义分割问题?

三.论文总结

FCN

SegNet

Dilated Convolutions

DeepLab(v1&v2)

RefineNet

PSPNet

Large kernel Matters

DeepLab v3

BiseNet


首先解释语义分割问题,然后大概了解一下一些常规方法,最后介绍几篇有代表性的文章。

一.语义分割

语义分割是从像素级别理解图像,也就是说我们想要给图像中的每个像素分配一个类别标签,例如下面这张图

 

除了识别出摩托车和骑手之外,我们还需要画出每个物体的轮廓。因此,跟目标识别不同的是,我们需要密集的像素级别的预测(这里的密集指的就是对每个像素预测,稀疏对应的是只需要预测有什么目标)

VOC2012 和MSCOCO 是语义分割方面比较常用的数据集

二.有哪些不同的方法去解决语义分割问题?

在深度学习应用于计算机视觉之前,人们常用的方法有 TextonForest 和 Random Forest based classifiers . 像图像分类一样,CNN在图像分割方面也取得了巨大的成功

其中一个比较流行的原始 深度学习方法是  patch classfication ,该方法预测每个像素的标签通过该像素周围的图像块来预测。使用图像块的原因是由于分类网络通常有全连接层因此需要固定尺寸的图像。

. 2014年提出了全卷积神经网络(Fully Convolutional Networks (FCN) ),流行的CNN架构不用任何的全连接层用来实现密集预测,它允许分割后的map图生成任意尺寸的分割图像,并且速度比patch classfication快。 几乎后续所有的语义分割网络采用了这种模式来构建网络。

抛开全连接层,用CNN做分割最主要的问题存在于pooling层,polling层可以增加感受野的尺寸,聚合上下文的信息,但是会丢掉原始图像的空间位置信息(就是像素具体所处的位置)。然而语义分割需要精准的标签和像素的映射信息(也就是需要位置信息),为了解决这个问题,文献中提到了两种结构去处理它。

(1)第一种是encoder-deconder架构,encoder逐渐地用polling降低空间维度,decoder逐渐恢复目标和空间位置信息的细节。通常有从编码器到解码器的快捷连接,以帮助解码器更好地恢复对象细节。其中的一个代表架构是U-Shape,其架构如下图所示:

(2)第二种架构是用空洞卷积( dilated/atrous convolutions)并取消池化层

关于空洞卷积的具体说明,详见下文。

 

Conditional Random Field (CRF) postprocessing (CRF后处理)通常用来提升分割效果。CRF是一个图模型,它基于潜在的图像强度来进行光滑分割。他们的工作基于这样的观察:相似强度的像素往往被标记为相同的类,通常CRF可以提高1%~2%的性能。

三.论文总结

后面的部分会总结几篇有代表性的文章,所有的文章对应模型的评价信息参见http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php

  1. FCN(点击连接进入)

  2. SegNet(点击连接进入)

  3. Dilated Convolutions(点击连接进入)

  4. DeepLab(v1&v2)(点击连接进入)

  5. RefineNet(点击连接进入)

  6. PSPNet(点击连接进入)

  7. Large kernel Matters(点击连接进入)

  8. DeepLab v3(点击连接进入)

  9. BiseNet(点击连接进入)

 

本文主要翻译自http://blog.qure.ai/notes/semantic-segmentation-deep-learning-review 

 

### 关于语义分割网络中使用的图像增强技术 #### 图像增强的目的与意义 为了提高语义分割的效果,在训练过程中通常会对输入图像进行各种形式的增强操作。这些增强方法旨在增加数据集多样性,防止过拟合,并使模型能够更好地泛化到未见过的数据上[^1]。 #### 增强方式概述 常见的用于语义分割任务中的图像增强手段主要包括几何变换、颜色空间调整以及噪声注入等几类: - **几何变换**:包括旋转、缩放、平移、翻转等操作。这类变化可以模拟实际场景下摄像头视角的变化情况,从而让模型学会识别不同角度下的目标物体。 - **颜色空间转换**:比如改变亮度、对比度、饱和度或者执行直方图均衡化等处理。这有助于提升算法对于光照条件差异较大的环境适应能力。 - **噪声添加**:向原始图片加入随机高斯白噪点或者其他类型的干扰因素,使得最终构建出来的卷积神经网路具备更强鲁棒性面对真实世界中存在的各类不确定性和复杂状况[^2]。 #### 数据一致性的重要性 值得注意的是,在实施上述任何一种增强策略之前,确保所有参与运算的对象之间保持良好的同步关系是非常重要的。例如当涉及到带有标注信息(如mask掩码)的情况时,必须保证经过相同参数设定后的同一轮次内的每一对应位置上的像素点都能一一对应起来;否则将会导致错误的学习信号传递给优化过程造成负面影响。因此如果遇到`demo1`中有而`demo2`里缺失某些特定格式的结果文件,则可能是由于两者间存在命名规则不符所引起的匹配失败问题[^3]。 ```python import numpy as np from skimage import transform, exposure def augment_image(image, mask=None): """Apply augmentation to an image and its corresponding mask.""" angle = np.random.uniform(-20, 20) scale_factor = np.random.uniform(0.9, 1.1) augmented_image = transform.rotate(image, angle=angle, resize=True) augmented_image = transform.rescale(augmented_image, scale_factor) if mask is not None: augmented_mask = transform.rotate(mask, angle=angle, resize=True) augmented_mask = transform.rescale(augmented_mask, scale_factor) # Ensure the shapes match after transformations min_shape = (min(augmented_image.shape[0], augmented_mask.shape[0]), min(augmented_image.shape[1], augmented_mask.shape[1])) augmented_image = transform.resize(augmented_image, min_shape) augmented_mask = transform.resize(augmented_mask, min_shape) return augmented_image, augmented_mask return augmented_image ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值