图像语义分割系列论文阅读笔记一

A review of semantic segmentation using deep neural networks


摘要

  • 在计算机视觉发展的历史中,一个极其重要的挑战就是语义分割,一种可以将未知图片分为不同区域和对象的技术。
  • 语义分割比对象识别更进一步,因为识别并不是分割的必要步骤,我们可以在不知道图像中物体的情况下进行图像分割。如果可以在不知道物体身份的情况下进行精确的分割,可以为我们提供一个强大的模型去解析世界。
  • 这篇文章回顾了与深度卷积神经网络有关的语义分割领域,全面介绍了这些领域中顶级的分割方法,并总结了他们的优缺点和目前面临的主要挑战。

一、Introduction

在过去的三十年里,图像分割一直是计算机视觉中最难解决的问题之一;与图像分类、对象识别不同,图像分割不需要事先知道视觉概念或对象是什么。图像分割可以在诸多应用中提升当前算法;比如文化遗产保护,图像复制检测,卫星图像分析,即时视觉搜索和人机交互。
在给定一幅新图片的情况下,一个语义分割算法应该输出图像中哪些像素在语义上属于一起。人脑是如何正确的分割目前还不清楚。

与传统图像分割算法的区别:传统的算法通常是基于聚类的,使用来自边缘和轮廓的附加信息;可以基于空间上也位于附近的相似像素来创建聚类。

比较出色的集群方法:1.使用马尔可夫过程进行建模。2.在分层方法中结合轮廓检测。

根据目前语义分割方法的主要组成部分,可以分为三类:
1. 基于区域的语义分割
2. 基于FCN的语义分割
3. 弱监督分割

二、Region-based semantic segmentation

Pipeline: segmentation using recognition

首先从图像中提取自由形式的区域并对其进行分析描述,然后进行基于区域的分类。在测试时,基于区域的预测被转换成像素预测,通过根据包含像素的最高得分区域来标记像素。

代表方法 Regions with CNN feature (RCNN)

根据目标检测结果进行语义分割:
首先利用选择性搜索来提取大量的对象建议,然后计算每个对象的CNN特征;最后利用特定类的线性支持向量机对每个区域进行分类。

与传统的CNN相比,RCNN可以处理更加复杂的任务,目标检测、图像分割;
对于图像分割任务,RCNN为每个区域提取了两种类型的特征:

  1. 完整区域特征
  2. 前景特征

并发现将他们连接在一起做为区域特征可以获得更好的性能。但是同样也有三个缺陷,这也是导致后面继续发展改进的因素:

  • 特征与分割任务不兼容
  • 特征没有包含足够的空间信息用来生成精准边界
  • 生成基于分割的方案需要时间,并且会极大的影响最终性能

针对三个缺陷,后续工作分别进行了改进:
一、特征与分割任务不兼容:
尽管相比于之前手动标注的特征,像SIFT\HOG,CNN feature 已被多次证明又更高的性能,但是它并不是专门为了图像分割任务而设计的。RCNN使用的网络实际上是微调的,用来更好的对bounding boxes分类,提取了完整的区域特征(region feature),但是对前景特征(foreground features)并没有足够的采样;

  • 为了解决这个问题,额外引入了一个特别针对区域前景特征进行微调的网络;然后一块训练这两个网络。
  • 使用MCG代替选择性搜索,可以提高模型性能
  • 采用 pre-computed,讲区域分类跟语义分割结合在一起,然后引入一个可区分的 区域-像素 层;将图像区域映射到图像像素,让整个CNN网络进行专门的微调。

二、The feature does not contain enough spatial information for precise boundary generation
RCNN使用了来自完全连接层的激活,这已经被证实比来自中间层的特征更具语义意义,但是中间层激活包含更多的空间信息,定位更准确。为了解决这个问题:

  • 采用超列(hypercolumns)作为像素描述符,由该像素上所有CNN单元的激活组成;
  • CNN的核心思想是以类似于从粗(coarse)到细(fine)的图像金字塔的方式对待CNN的各个阶段,coarse layer会带来更高的准确度,但是空间精度差;fine layer则相反。因此,通过连接并使用CNN各个阶段的信息作为 hypercolumns 可以带来显著的提升。
  • 类似CFM,从最后的卷积特征图中提取 segment features,然后是一个 空间金字塔池层。

三、Generating segment-based proposals takes time and would greatly affect the final performance.
以往只在预先生成的建议中制定 segmentation masks 的方法不同,最近的工作倾向于使整个过程端到端可训练。这不仅可以消除目标提案的副作用,而且可以提高效率。

三、FCN-based semantic segmentation

基于FCN的方法的关键思想是,它们学习从像素到像素的映射,而不提取区域建议。FCN pipeline是经典CNN的延伸。其主要思想是让经典的CNN接受任意大小的图像作为输入。CNN仅为特定大小的输入接受和产生标签的限制来自完全连接的层,根据定义,这些层是固定的。与之相反的是,FCN只有卷积层和池化层,这使它们能够对任意大小的输入进行预测。

FCN的输出大小取决于输入大小,而不总是产生固定大小的输出。因此,这些类型的网络通常用于局部任务而不是全局任务(即,语义分割或对象检测,而不是对象分类)。

由于FCN由卷积、合并和上采样层组成,根据损失函数的定义,它们可以是端到端可训练的。为了对比,FCN网络产生具有21个通道的像素密集型输出,每个通道对应一个Pascal VOC-2012级(包括背景),使用每像素的Softmax损耗函数。在上述配置情况下,尝试了两种不同的学习方案。第一种方法使用批次大小为20张的图像并累积所有图像的梯度,第二种方法使用批次大小为1的方法,即在线学习(online learning)。他们的实验表明,动量(momentum)更大的在线学习可以在更少的训练时间内产生更好的FCN模型。

FCN方法的一个问题是,通过几个交替的卷积和池化层传播,输出特征地图的分辨率被下采样。因此,FCN的直接预测通常分辨率较低,导致对象边界相对模糊。最近提出了多种基于FCN的方法来解决这个问题。

  • 提出了一种多尺度卷积网络,该网络由多个具有不同分辨率输出的尺度子网络组成,以逐步细化粗略预测。
  • 将粗略的高层信息与精细的低层信息结合起来。多层输出之后是解卷积层,用于从双线性上采样到像素密集输出。为了准确地重建物体边界的高度非线性结构,用深度反卷积网络代替了简单反卷积过程,用于识别像素类标签和预测分割掩码。
  • 除了解卷积层,DeepLab还提供了一种提高输出分辨率的替代方案。该算法首先利用Arous卷积来提高特征分辨率,然后利用双线性插值对得分图进行上采样,使其达到原始图像的分辨率。然后,采用CRF方法对目标边界进行细化。不是将CRF推理作为与CNN训练断开的后处理步骤,而是扩展,并通过将密集的CRF解释为递归神经网络(RNN)来引入端到端可训练网络。

除了产生高分辨率的预测以获得更好的分割外,一些工作还试图通过利用上下文信息来提高分割精度。例如:

  • 利用全局平均池来获取全局上下文,并将全局上下文加入到全卷积网络中进行语义分割,使得准确率不断提高。
  • 作为其扩展,通过金字塔场景解析网络进行基于不同区域的上下文聚合,提出了更具代表性的全局上下文信息。
  • 作为全局上下文的替代,利用指数扩展的膨胀卷积来聚合多尺度上下文信息。
  • 探索了两种类型的空间上下文来提高分割性能:补丁-补丁上下文和补丁-背景上下文,并利用CRF对上下文关系进行显式建模。

四、Weakly supervised semantic segmentation

语义分割的相关方法大多依赖于具有大量像素级segmentation mask,但是手动标注这些十分耗时,而且成本高昂,最近提出了一些弱监督方法,致力于利用标注的bounding boxs、甚至是图像级别的标签,实现语义分割:

  1. 使用边界框注释作为监督来训练网络,并迭代地改进用于语义分割的estimated masks.
  2. 提出了一种训练弱标注数据语义分割模型的期望最大化(EM)方法,即图像级或边界框标注,发现仅使用图像级标注训练高质量的分割模型是不够的,而使用边界框标注可以获得与像素级标注竞争的模型。然而,将它们结合在一起通常是有益的。
  3. 完全监督语义分割则采用了不同的网络和训练过程。 将弱监督问题归结为输入标签噪声问题,探讨了递归训练作为去噪策略。通过仔细设计给定边界框的输入标签,在相同的训练过程下,它们达到了完全监督模型的∼95%的质量。

除了使用 boxs 标注作为弱监督信号外,也有一些基于图像水平标签的作品:

  1. 解释多实例学习(MIL)框架内的分割任务,并添加了额外的一层,以约束模型为图像级别分类的重要像素分配更多权重。在测试过程中,去除约束层,并通过取每个图像像素的最大概率来推断该像素的标签。
  2. 提出了一种自训练框架,即约束CNN,并利用一种新的损失函数来加强每幅图像标注与预测分割掩模之间的一致性。
    采用图像级监控的一个主要局限性是忽视了目标的定位。为了提高定位性能,一些方法]提出了利用客观性的概念,或者将其合并到损失函数中,或者通过使用预先训练的网络作为外部客观性模块.
  3. 另一种提高分割性能的有希望的方法是利用附加的弱监督图像(如Web图像)来训练CNN.

五、Discussion

5.1 Strengths and benefits

如果我们能够执行自动图像标注,那么这将具有实际和理论上的好处:
在自动图像分割的情况下,不必在所有像素位置尝试使用对象检测器,我们现在只需尝试图像中的片段数量,该数量通常在10到100之间,当然比图像中的位置数量少几个数量级。此外,还可以尝试在不同的方向上使用对象检测器,这也可以通过图像分割来减轻。其优点不仅限于计算速度,而且还提高了准确性。当执行基于窗口的目标检测时,通常还必须处理背景噪声和干扰。如果自动图像分割算法运行良好,那么它将自动去除背景噪声,这将显著提高目标识别的准确率。

此外,自动图像分割可以让我们深入了解人类视觉系统是如何执行同样的任务的。它可以为视觉信息系统的优势和劣势提供理论依据;它可以让我们深刻地洞察视觉信息系统无法正确理解世界上的视觉概念或物体的情况。

自动分割可以超越对象识别和检测,因为它不需要事先知道对象或视觉概念。这可以导致一般计算机视觉的重大突破,因为它允许系统学习新的对象。当发现未知对象并且未被现有数据库分类时,则可以为新的未知对象创建新的条目,并且这可以导致真正的通用计算机视觉系统。

因此,图像自动分割的主要优点如下:

  1. 可以提高计算效率。
  2. 消除背景噪声,提高精度。
  3. 它可以从理论上和深度上深入了解视觉系统是如何工作的,以及它的局限性是什么。
  4. 它可以比目标检测和识别更通用。

5.2 Major challenges and weaknesses

  1. 方法的通用性有多大?
    现实地说,目前还不清楚顶级算法在普通图像上的效果如何。通常情况下,数据集的最佳方法只针对特定情况、地点或背景的图像进行微调,因此通用性尚不清楚。因此,这显然是研究界未来面临的主要挑战之一。
  2. 训练算法需要多少数据?
    一些最好的方法需要大量的标记数据。这意味着在某些情况下,这些算法将不适用,因为标记的数据集不可用。对于场景分类,可信的数据集通常包含数百万到数亿的训练图像;然而,对于大多数应用,训练集的大小更可能是数千。如果领域专家发现很难或不可能创建非常大的训练集,那么是否有可能设计出需要更少样本的深度学习算法?
  3. 需要多少计算资源?
    一些顶级的方法在训练阶段需要相当多的近超级计算机的使用,这可能在所有情况下都是可用的。因此,许多研究人员都在思考这样一个问题:对于特定数量的参数,可以达到的最佳精度是多少?
  4. 这些方法什么时候会失败?
    获得更高的精确度是有益的,但重要的是要了解错误分割的后果。

六、Conclusion

近年来,图像分割技术取得了长足的进步。最近的工作主要基于深度学习技术,这导致了分割准确率的突破性改进(例如,目前在Pascal VOC-2012测试集上报告的准确率超过79%(MIU)[44])。

由于图像分割是一种中层表示,它们有可能在视觉理解的广泛领域(从图像分类到图像合成;从对象识别到对象建模;从高性能索引到相关反馈和交互式搜索)做出重大贡献。

个人感受:
自卷积神经网络应用以来,CV的相关模型在精度提升的方向上一路狂奔,每年的最新论文都会有百分之一左右的提升,某些方向已经取得了超越人眼的准确率,但是在具体的应用落地上和实际的一些场景上,好多模型就显得通用性不行,训练集、测试集效果不错,但是到了实际应用,总会出现各式各样的问题,产学结合,从实际应用出发,未尝不是一个新的思路。

第一篇博客,记录自己的搬砖成长过程,stay calm,keep going,路漫漫其修远兮。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值