图像分割与超像素

  在计算机视觉领域,图像分割(Segmentation)指的是将数字图像细分为多个图像子区域(像素的集合)(也被称作超像素)的过程。超像素由一系列位置相邻且颜色、亮度、纹理等特征相似的像素点组成的小区域。这些小区域大多保留了进一步进行图像分割的有效信息,且一般不会破坏图像中物体的边界信息。
  在基于超像素的分类算法中,超像素产生是其中很重要的一步。每一种超像素算法都有其特有的优点,对于一个特定的应用选择一个更加合适的超像素算法能够提高这个应用的性能。虽然超像素算法已普遍用于图像分类中,但目前为止,没有一种针对于图像分类应用而设计超像素算法。在一幅图像中同时存在混合超像素和纯超像素,然而,混合超像素会严重影响分类的准确性。因此,对于图像分类问题应尽可能产生较少的混合超像素。



SEEDS超像素分割 python 超像素分类_SEEDS超像素分割 python


  上图表示一个超像素产生结果,1,2,3,4,5,6分别是超像素块,在分类中,超像素中的所有像素被视为具有相同的标记。可以看出1,3,4具有纯超像素,即每一个像素都是一个类别,但是2,5,6则是混合超像素,如果超像素块5以L标记的类别作为标记,则只有黑色圈圈的两个像素分类正确,而其他14个像素类别全部错误。

模糊超像素核心思想

  基于上述原因,文章《Fuzzy-Superpixels for Polarimetric SAR ImagesClassification》首先针对图像分类问题提出一个新的超像素概念:模糊超像素,希望在产生超像素的过程中抑制混合超像素的生成。在模糊超像素中,不是所有像素都被安排到一个特定的超像素中。宁可忽略一些不确定的像素也要尽量保证不错分。
  假设一幅图像由81个像素组成,每个像素由一个圆圈表示。图像分为6个超像素,每一个超像素由一个颜色表示。同一个超像素中的像素被认为具有相同的类标,因此,基于超像素的分类算法依赖于生成的超像素。如果生成的超像素不是一个纯超像素而是一个混合超像素,那么不论后续采用多么优秀的分类算法,对于这个超像素中像素的分类正确率都不可能达到100%。



SEEDS超像素分割 python 超像素分类_搜索_02

SEEDS超像素分割 python 超像素分类_SEEDS超像素分割 python_03


图2 传统超像素分割和FS分割


  文章为了增加超像素中纯超像素的数量,减少混合超像素的数量,提出了混合超像素的概念,如果一个像素不能确定是否属于一个超像素,那么这个像素被认为是一个待定像素,它不属于任何超像素。因此,基于模糊超像素的概念,图像中的像素可以分为两部分:超像素部分和待定像素部分。模糊超像素如下图所示。假设图像大小为9 × 9,图像中的像素由7种颜色表示。除了白色外,其他颜色表示不同的超像素。白色圆圈表示的像素是待定像素。相较于传统的超像素图2左,基于模糊超像素生成的超像素之间有一定空隙。待定像素的类标可通过后续的算法确定。

模糊超像素算法核心

  针对多极化SAR,根据像素的空间位置和极化SAR图像的性质在3-D [Cov,X,Y]空间聚类像素【Cov是极化协方差矩阵,x,y是像素坐标】,主要由四步组成:

  1. 聚类中心初始化
  2. 判定重叠搜索区域和非重叠搜索区域
  3. 生成模糊超像素,即像素被划分为两部分,超像素部分和待定像素部分
  4. 后处理

举例说明该算法:
   假设选择中心像素,和相应的搜索区域大小是5×5。初始模糊超像素中心像素为8、21、34、48、61、75,对应6个期望的模糊超像素区域,用6种不同的颜色表示。用不同颜色的矩形对不同中心像素的搜索区域进行区分。例如,红色矩形是中心像素21的搜索区域。从图4可以看出,搜索区域包括不重叠区域和重叠区域。将非重叠搜索区域中的像素分配给相应的超像素。例如,像素1位于中心像素21的非重叠搜索区域,即其他中心的搜索区域w
  1.假设一幅图像由 N个像素组成,期望的超像素数量为K。SEEDS超像素分割 python 超像素分类_SEEDS超像素分割 python_04,在一个以S为间距的规则化网格中选择聚类中心,为了避免聚类中心落在边界处或是噪声像素上,聚类中心在一个3×3的邻域内移动到最低梯度位置。为了提高算法运算速度,将每一个聚类中心的搜索区域缩减至2S×2S,而不是对一个聚类中心,搜索图像中的所有像素。
  2.FS算法采用模糊C聚类方法生成超像素,根据初始聚类中心和给定的搜索区域,确定重叠搜索区域和非重叠搜索区域。在非重叠搜索区域中的像素属于其聚类中心对应的超像素。
对于任意一个像素,其对于不同聚类中心的隶属度和为1。定义如下:SEEDS超像素分割 python 超像素分类_图像分类_05其中i是重叠搜索区域的像素,j是相关的中心像素,c是与像素i可能相关的所有聚类中心。
  重叠区域中的像素到其对应的聚类中心的目标函数定义为:
SEEDS超像素分割 python 超像素分类_搜索_06其中,SEEDS超像素分割 python 超像素分类_搜索_07,SEEDS超像素分割 python 超像素分类_聚类_08是中心像素,SEEDS超像素分割 python 超像素分类_聚类_09是权重索引,SEEDS超像素分割 python 超像素分类_SEEDS超像素分割 python_10是像素i和中心像素j之间的距离计算公式,既考虑了极化 SAR 图像的性质又考虑了像素之间的位置关系,其具体定义如下:SEEDS超像素分割 python 超像素分类_聚类_11其中,SEEDS超像素分割 python 超像素分类_搜索_12是基于 Wishart 分布的距离,SEEDS超像素分割 python 超像素分类_搜索_13 是空间距离,定义如下SEEDS超像素分割 python 超像素分类_聚类_14构造新的目标函数,计算使SEEDS超像素分割 python 超像素分类_搜索_15获得最小值的必要条件,新的目标函数定义为:SEEDS超像素分割 python 超像素分类_图像分类_16

总结

  本文针对图像分类问题,提出一个新颖的超像素概念,模糊超像素。模糊超像素的目的是强制减少混合超像素的生成。在模糊超像素中,图像像素被分为两部分:超像素部分和待定像素部分。也就是说,不是所有像素都被安排到一个特定的超像素中。另外,基于模糊超像素的概念,本章为极化SAR图像提出一个生成模糊超像素的算法。
该算法的主要优点如下:

  1. 该模糊超像素算法易于理解与实现。
  2. 由该算法生成的超像素的边界一致性优于其他超像素算法,同时该算法相较于其他超像素算法能产生更多的纯超像素,更少的混合超像素。
  3. 基于该算法的极化SAR图像分类算法的性能优于基于其他超像素算法的分类性能。