编码机

一键抠图的软件是怎么做到的这些语义

发布时间:2023/6/16 17:54:58   
中科医院曝光 http://www.csxsl.com/

选自Medium

作者:BharathRaj

机器之心编译

参与:GeekAI、张倩

分类问题是为整个图像分配一个标签,而语义分割则是将从属于同一类的对象看成一个整体,为图像中的每一个像素点分配一个标签。本文对一些经典语义分割方法和基于深度学习的语义分割方法进行了讨论,此外还讨论了常见的选择和应用损失函数的方法。

语义分割。

经典方法

在深度学习时代到来之前,大量的图像处理技术被用来将图像分割成一些感兴趣的区域(ROI)。下面列出了一些常用的方法。灰度分割这是最简单的该方法存在的问题是,规则必须是硬编码的。此外,仅使用灰度信息来表示复杂的类(比如人)是极其困难的。因此,需要特征提取和优化技术来恰当地学习这些复杂类所需的表征形式。

条件随机场不妨考虑通过训练模型为每个像素分配一个类来分割图像。如果我们的模型不完美,我们可能会得到自然界中可能不存在的带有噪声的分割结果(如图中所示,狗像素与猫像素混合在一起)。

带有狗标签的像素和带有猫标签的像素混合的结果(图c)。图d显示了一个更加符合真实情况的分割结果。可以通过考虑像素之间的先验关系来避免这些问题,如果目标是连续的,那么相邻的邻像素往往具有相同的标签。使用CRF是一种用于结构化预测的统计建模方法。与离散分类器不同,CRF在进行预测之前可以考虑相邻的上下文环境,比如像素之间的关系。这使得它成为语义分割的理想候选建模方案。本节将探讨把CRF用于语义分割的方法。图像中的每一个像素都与一组有限的可能状态相关联。在我们的例子中,目标标签是一组可能的状态。将一个状态(或标签u)分配给单个像素(x)的成本被称为一元成本。为了对像素之间的关系建模,我们还考虑了将一对标签(u,v)分配给一对像素(x,y)的代价,这被称为成对代价。我们可以考虑相邻的像素对(网格CRF)或者考虑图像中的所有像素对(密集CRF)。

密集CRFvs网格CRF所有像素的一元成本和成对成本之和被称为CRF的能量(或成本/损失)。通过最小化能量,可以得到一个好的分割输出结果。

深度学习方法

深度学习极大地简化了进行语义分割的工作流程,并且得到了非常好的分割结果。在本节中,我们将讨论用于训练这些深度学习方法的流行的模型架构和损失函数。1.模型架构全卷积网络(FCN)是最简单、最流行的用于语义分割的架构之一。在论文「FCNforSemanticSegmentation」中,作者使用FCN首先通过一系列卷积操作将输入图片下采样至一个较小的尺寸(同时得到更多的通道)。这组卷积操作通常被称为编码器(encoder)。然后通过双线性插值或者一系列转置卷积对编码后的输出进行上采样。这组转置卷积通常被称为解码器(decoder)。

FCN中的下采样和上采样过程。尽管这个基础的架构很有效,但是它也有一些缺点。其中一个缺点就是由于转置卷积(或称反卷积)操作的输出不均匀重叠而导致棋盘状伪影的存在。

棋盘状伪影的形成过程。另一个缺点是,由于编码过程中损失了一部分信息,导致边界的分辨率很低。研究人员提出了一些解决方案来提高基础FCN模型的性能。下面是一些被证明行之有效的流行的解决方案:U-NetU-Net是对简单的FCN模型架构的一种升级方案。它具有从卷积块的输出到相应的同一级的转置卷积块的输入之间的跳跃连接。

U-Net这种跳跃连接让梯度可以更好地流动,并提供了来自多个尺度的图像大小的信息。来自更大尺度(较上层)的信息可以帮助模型更好地分类。来自更小尺度(较底层)的信息可以帮助模型更好地进行分割。Tiramisu模型Tiramisu模型类似于U-Net,而不同的是,它使用Dense块进行卷积和转置卷积(正如DenseNet的论文中所做的那样)。一个Dense块由若干层卷积组成,其中所有较早的层的特征图会被用作所有后续层的输入。生成的网络具有极高的参数效率,可以更好地利用较早的层的特征。

Tiramisu网络这种方法的缺点是,由于几个机器学习框架中的连接操作的性质,它的内存效率不是很高(需要大型GPU才能运行)。多尺度方法一些深度学习模型显式地引入了整合来自多个尺度的信息的方法。例如,金字塔场景解析网络(PSPNet)使用四种不同尺寸的卷积核和步长来执行池化操作(最大池化或平均池化),从而输出卷积神经网络(如ResNet)的特征图。然后,它使用双线性插值对所有池化输出和卷积神经网络的输出特征图的尺寸进行上采样,并在相应的通道上将它们连接起来。最后对这个连接的输出进行卷积操作从而生成预测结果。

PSPNetAtrous卷积(膨胀卷积)是一种可以在不增加大量参数的情况下,结合多尺度的特征的高效的方法。通过调节膨胀率(dilatedrate),同一个卷积核的权值可以在空间中拓展地更远。这使其能够学习更多的全局上下文。

级联的Atrous卷积。DeepLabv3网络的论文使用了不同膨胀率的Atrous卷积捕获来自多个尺度的信息,从而避免了显著的图像尺寸损失。他们通过级联的方式(如上图所示)和以并行的Atrous空间金字塔池化的方式(如下图所示)对Atrous卷积进行了实验。

并行的Atrous卷积。CNN-CRF的混合方法一些方法使用卷积神经网络作为特征提取器,然后将特征作为一元成本(势)输入给密集CRF(DenseCRF)。由于CRF具有对像素间关系建模的能力,这种CNN-CRF的混合方法得到了很好的分割结果。

使用CNN和CRF相结合的方法。某些方法将CRF包含在了神经网络中,正如「CRF-as-RNN」(

转载请注明:http://www.aideyishus.com/lkgx/4944.html

------分隔线----------------------------