本文最后更新于:2020年8月18日 晚上

Song Y, Yan H. Image Segmentation Techniques Overview[C]//2017 Asia Modelling Symposium (AMS). IEEE, 2017: 103-107.

图像分割技术综述

摘要

图像分割技术被广泛应用于医学图像处理、人脸识别、行人检测等领域。目前的图像分割技术包括基于区域的分割,边缘检测分割,基于聚类的分割,基于弱监督学习的CNN分割,等等。本文分析并总结了这些图像分割算法,并比较了不同算法的优缺点。最后,结合这些算法对图像分割的发展趋势进行了预测。

关键词:图像分割;基于区域;边缘检测;聚类;弱监督学习;CNN

1.介绍

图像是一种传递信息的方式,并且图像包含许多有用的信息。理解图像并从图像中提取信息以完成某些工作是数字图像技术中的重要应用领域,理解图像的第一步是图像分割。实际上,通常不是对图像的所有部分都感兴趣,而仅对某些具有相同特征的区域感兴趣。图像分割是图像处理和计算机视觉的热点之一。这也是图像识别的重要基础。它基于某些标准将输入图像划分为一些相同性质的类别,以提取人们感兴趣的区域。这是图像分析以及理解图像特征提取和识别的基础。

有许多常用的图像分割算法。本文主要介绍以下五种算法,以简化分析。第一种是阈值分割方法。阈值分割是基于区域的分割算法中最常用的分割技术之一[1]。其本质是根据特定标准自动确定最佳阈值,并根据灰度使用这些像素以实现聚类。第二种是区域增长分割法。区域增长算法的基本思想是将具有相似属性的像素合并以形成区域,也就是说,对于每个要划分的区域,首先找到一个种子像素作为生长点,然后用该区域中具有相似属性的像素点合并周围邻域。第三种是边缘检测分割方法。边缘检测分割算法是指利用像素的不同区域边缘的的像素灰度或颜色不连续性检测区域来实现图像分割[2]。第四种是基于聚类的分割。基于聚类的算法以事物之间的相似度为分类准则,即根据样本集的内部结构将其划分为多个子类,以使同类样本尽可能相似,不同的样本尽可能不相似[3]。第五种是基于弱监督学习的CNN分割方法。它涉及为图像中的每个像素分配语义标签的问题,由三个部分组成。1)提供包含哪些对象的图像。2)给出对象的边界。3)图像中的目标区域标记有部分像素[4]。

目前,从国际上的图像分割方法来看,分割方法过程的具体操作是非常多样和复杂的,还没有公认的统一标准。本文讨论并比较了上述四种方法,并从缺点中学习以分析更好的解决方案并做出未来的预测。

2.分析

2.1 基于区域的分割方法

2.1.1 阈值分割

阈值分割是最简单的图像分割方法,也是最常见的并行分割方法之一。它是一种常见的分割算法,它根据不同目标的灰度值直接划分图像灰度信息处理。阈值分割可以分为局部阈值法和全局阈值法。全局阈值方法通过单个阈值将图像分为目标和背景两个区域[5]。局部阈值方法需要选择多个分割阈值,并通过多个阈值将图像分为多个目标区域和背景。

最常用的阈值分割算法是最大的类间差异方法(Otsu),该方法通过最大化类之间的差异来选择全局最佳阈值。除此之外,还有基于熵的阈值分割方法,最小误差方法,共现矩阵方法,矩保持方法,简单统计方法,概率松弛方法,模糊集方法和阈值方法与其他方法相结合[6]。

阈值法的优点是计算简单,运算速度更快。特别地,当目标和背景具有高对比度时,可以获得好的分割效果。缺点是,对于在图像中没有明显的灰度差异或灰度值有较大重叠的图像分割问题,很难获得准确的结果。由于它仅考虑图像的灰度信息而不考虑图像的空间信息,因此对噪声和灰度不均匀敏感,因此经常将其与其他方法结合使用[7]。

2.1.2 区域增长分割

区域增长方法是一种典型的串行区域分割算法,其基本思想是将像素的相似属性共同形成一个区域[8]。该方法需要首先选择种子像素,然后将种子像素周围的相似像素合并到种子像素所在的区域。

图1示出了用于区域生长的已知种子点的示例。图1(a)显示了分割图像的需求。已知两个种子像素(标记为灰色方块)已准备好进行区域生长。这里使用的标准是,如果认为像素和种子像素之间的灰度值差的绝对值小于某个阈值T,则该像素被包括在种子像素所在的区域中。图1(b)显示了T = 3时的区域增长结果,整个区域被很好地分为两个区域。图1(c)显示了T = 6时区域增长的结果,整个图都在一个区域中。因此,阈值的选择非常重要[9]。

image-20200813222646201

区域增长的优点是通常可以将具有相同特征的连接区域分开,并提供良好的边界信息和分割结果。区域增长的想法很简单,只需几个种子点即可完成。并且可以自由指定生长过程中的生长标准。最后,它可以同时选择多个标准。缺点是计算量大[10]。噪声和灰度不均匀也会导致空隙和过度分割。最后是阴影对图像的影响往往不是很好[11]。

2.2 边缘检测分割

对象的边缘呈图像的不连续局部特征的形式,即图像的最重要部分局部亮度发生变化,例如灰度值的突变,颜色的突变,纹理的变化等[12]。使用不连续性是为了检测边缘,从而达到图像分割的目的。

在图像中具有不同灰度值的两个相邻区域之间总是存在灰度边缘,并且存在灰度值不连续的情况。通常可以使用导数运算来检测这种不连续性,并且可以使用微分运算符来计算导数[13]。并行边缘检测通常通过空间域差分算子完成,以通过对模板和图像进行卷积来执行图像分割。平行边缘检测通常被用作图像预处理的方法。广泛的一阶微分算子是Prewitt算子,Roberts算子和Sobel算子[14]。二阶微分算子具有非线性算子,例如Laplacian,Kirsch算子和Wallis算子。

2.2.1 Sobel算子

Sobel运算符主要用于边缘检测,从技术上讲,它是离散微分运算符,用于计算图像亮度函数的梯度近似值。Sobel算子是基于一阶导数的典型边缘检测算子。由于Sobel算子采用了相似局部平均操作,因此噪声具有平滑的效果,并可以有效消除噪声的影响。Sobel算子对像素位置的影响是加权的,这比Prewitt算子和Roberts算子好。Sobel算子由两组3x3矩阵组成,分别是横向和纵向模板,并分别用像平面绘制,以获取水平和纵向差异之间的差异。在实际使用中,以下两个模板用于检测图像的边缘。

image-20200814164217587

等式(1)是检测水平边缘(横向模板),等式(2)是检测垂直边缘(纵向模板)。

可以使用以下公式来组合图像每个像素的水平和垂直梯度近似值,以计算梯度的大小:

image-20200814164442799

可以使用以下公式计算梯度:

image-20200814164538315

在上述示例中,如果上述角度等于0,即图像具有纵向边缘,且左侧比右侧更暗。

2.2.2 Laplacian 算子

拉普拉斯算子是各向同性算子,二阶微分算子。当只考虑边缘的位置而不考虑其周围的像素灰度差异时[15],这种方法更为合适。拉普拉斯算子对孤立像素的响应强于边缘或线条,因此仅适用于无噪点图像。在存在噪声的情况下,拉普拉斯算子需要在检测边缘之前执行低通滤波。因此,通常的分割算法将拉普拉斯算子与平滑算子结合在一起以生成新模板。

拉普拉斯算子也是具有旋转不变性的最简单的各向同性微分算子。二维图像函数的拉普拉斯变换是各向同性的二阶导数,它更适合于数字图像处理,并且拉算子表示为离散形式:

image-20200814171900904

另外,拉普拉斯算子也可以以模板的形式表示。

image-20200814172024355

公式(6)是离散的拉普拉斯大蒜模板,公式(7)是扩展的模板

由于Laplacian算子符合下降模型,因此可用于由于模糊效果而改善模糊效果。在成像过程中经常发生扩散效应。

image-20200814173141177

2.3 基于聚类的分割

没有图像分割的一般理论。然而,随着各种学科的许多新理论和方法的引入,已经出现了许多结合了一些特定理论和方法的图像分割方法。所谓的类,是指相似元素的集合。聚类是按照一定的要求和规律对事物进行分类的过程。利用特征空间聚类方法对图像空间中的像素点进行分割,得到相应的特征空间点。根据它们在特征空间中的聚集,对特征空间进行分割,然后将它们映射回原始图像空间,得到分割结果。

K-means是最常用的聚类算法之一。K-means的基本思想是根据距离将样本集合到不同的簇中。两点越接近,越能得到紧凑独立的簇作为聚类目标[16]。K-means的实现过程表示为:

  1. 随机选择K个初始聚类中心;
  2. 计算每个样本到每个聚类中心的距离,将每个样本返回到最近的聚类中心;
  3. 对于每个聚类,以所有样本的均值作为新聚类中心;
  4. 重复步骤2和3,直到聚类中心不再变化或达到设定的迭代次数[17]。

K-Means聚类算法的优点是算法快速、简单、高效、可扩展,适用于大数据集。其时间复杂度接近线性,适合挖掘大规模数据集。K-means的缺点是其聚类数K没有明确的选择标准,且难以估计[18]。其次,从K-means算法框架可以看出,算法的每次迭代都要遍历所有的样本,所以算法的时间非常昂贵。最后,K-means算法是一种基于距离的划分方法[19]。它只适用于凸数据集,不适合聚类非凸类.

image-20200814180001744

2.4 基于弱监督学习的CNN分割方法

近年来,深度学习已经在图像分类、检测、分割、高分辨率图像生成等许多领域取得了突破性的成果[20]。在图像分割方面,提出了一种在该领域更为有效的算法,即基于DCNN的弱监督半监督学习的图像语义分割算法。谷歌的George Papandreou和UCLA的Liang-Chieh Chen在DeepLab的基础上研究了使用边界框和图像级标签作为标记训练数据,并使用期望最大化算法(EM)估计未标记的像素类和CNN参数。DeepLab方法分为两个步骤,第一步仍然使用FCN获取粗略得分图并插值到原始图像大小,然后第二步开始从FCN借用完全连接的CRF以获得细节细分优化[21]。

image-20200814182625369

对于图像级标记数据,我们可以观察到图像的像素值x和图像级的标记z,但不知道每个像素的标签y,因此y被视为隐藏变量。使用以下概率图模式:

image-20200814182803334

使用期望最大化算法估算ø和y。E步是固定的ø,期望值y,M步是固定的y,使用SGD计算ø[22]。

image-20200814183207655

对于具有边界框标记的训练图像,该方法使用CRF自动分割训练图像,然后在分割的基础上进行完全监督。实验表明,单纯使用图像级标记得到的分割效果较差,但使用边界框训练数据[23]可以得到较好的分割结果。

3.结论

从本文中可以看出,很难找到一种适合所有图像的分割方法。目前,图像分割理论的研究还不完善,在应用研究中还存在许多实际问题。通过比较各种图像分割算法的优缺点,图像分割技术的发展可能呈现如下趋势:1)多种分割方法的结合。由于图像的多样性和不确定性,有必要在多特征融合的基础上,结合多种分割方法,充分利用不同算法的优点,以达到更好的分割效果。2)在参数选择上使用机器学习算法进行分析,以提高分割效果。如阈值分割中的阈值选择以及K-means算法中K值的选择。3)使用CNN模型对感兴趣区域(ROI)进行框架化,然后通过非机器学习分割方法进行分割以提高分割效果。相信在未来的研究和探索中,将会有更多的图像分割方法得到进一步发展和更广泛的应用。

附:原文