参考:超像素—学习笔记

什么是超像素?评价标准?SLIC、SEED、ETPS算法

比较的指标:图像边界的粘附性、算法速度、存储效率、分割性能

超像素算法:将像素组合成感知有意义的原子区域( atomic regions),其可以用于替换像素网格的刚性结构。它们捕获图像冗余,提供计算图像特征的方便原语( primitive ),并且大大降低了后续图像处理任务的复杂性。

超像素:能够提取中层图像特征,作为图像分割算法的预处理步骤。

超像素分割算法的研究:

  1. Achanta等[1]尝试将线性迭代聚类算法应用到图像超像素分割,得到了较为规则的形状,并且各形状大小基本一致,形状与图像的强边缘贴合也表现很好。
  2. Achanta等[2]还将非迭代聚类算法应用到图像超像素分割,实现了聚类中心的直接更新。
  3. Vasquez等[3]提出了一种基于迭代分层随机图收缩的多尺度超像素分割方法。根据图像的多通道特征进行图像初始化分割,然后运用迭代分层随机图收缩方法完成图像超像素分割,并采用分层树表示不同尺度的超像素。
  4. Belizario等[4]利用超级像素对图像采取预分割操作,在此基础上根据其颜色信息得到特征,使用边权重表示超级像素之间相似性的度量提出了一种基于加权递归传播(weighted recursive label propagation, WRLP)的图像自动分割方法。
  5. Ahn等[5]提出AffinityNet算法,可以预测一对相邻图像坐标之间的语义亲和力,通过使用AffinityNet算法预测的相似度的随机游走来实现语义传播,基于超像素描述符向量之间的距离度量来计算超像素相似度。
  6. Salaou等[6]提出了一种新的超像素上下文描述符,以增强学习到的特征,以更好地进行相似度预测。通过迭代合并使用相似度加权目标函数选择的最相似的超像素对来实现图像分割。
  • ACHANTAR,SHAJIA,SMITH K,etal.SLIC superpixelscomparedtostate-of-the-artsuperpixel methods[J].IEEETransactionsonPatternAnalysis and MachineIntelligence,2012,34(11):2274- 2282.
  • ACHANTA R,SÜSSTRUNK S.Superpixelsand polygonsusingsimplenon-iterativeclustering[C]// 2017IEEEConferenceonComputerVisionandPat- ternRecognition(CVPR),Honolulu:IEEE,2017: 4895-4904.
  • VASQUEZD,SCHARCANSKIJ.Aniterativeap- proachforobtainingmulti-scalesuperpixelsbasedon stochasticgraphcontractionoperations[J].Expert SystemsWithApplications,2018,102:57-69.
  • BELIZARIOIV,LINARESOC,NETOJDESB. Automaticimagesegmentationbasedonlabelpropa- gation[J].IETImageProcessing,2021,15(11): 2532-2547.
  • AHNJ,KWAK S.Learningpixel-levelsemantic affinitywithimage-levelsupervisionforweaklysu- pervisedsemanticsegmentation[C]//2018IEEE/ CVF Conferenceon Computer Visionand Pattern Recognition,SaltLake City:IEEE,2018:4981- 4990.
  • CHAIBOU M S,CONZEP H,KALTIK,etal. Learningcontextualsuperpixelsimilarityforconsist- entimagesegmentation[J].MultimediaToolsand Applications,2020,79(3):2601-2627.

一、基于图论的方法

  1. Graph-based方法——使用最小生成树的思想,目的是使同一区域内的元素尽可能相似而不同区域的元素尽可能不相似 [图像边界较好且速度快,但超像素大小和形状都不规则,也就是不能控制超像素的数量和紧凑度]

该算法的复杂度降为O(n logn),运行时间与边E的个数基本成线性关系,大大提升了计算速度。由于该方法是依据图像灰度的密度变化判别区域边缘,因此该方法对边缘的吸附能力大大提高。但该方法无法控制超像素的个数和紧密度。

slic超像素分割算法Python ers超像素分割_相似度

图像分割—基于图的图像分割(Graph-Based Image Segmentation)

  1. Ncut方法——利用轮廓特征和纹理特征来全局最小化代价函数 [可控制数量且形状规整紧凑,但图边界效果不好,计算量大,处理大图片时速度很慢]  //不用

该方法可以得到较为规则的最小割且其全局特性使该方法对于噪声也有一定的鲁棒性,但是该方法对边缘的吸附性不是很强,割集之间有相互渗透的情况,更重要的是,该方法的求解复杂度较大,为O(n的三次方)。虽然之后该作者又提出了一种近似求解方法将复杂度降为了O(n的0.5次方),但计算效率仍然不高,尤其是大尺寸图像所需的计算时间更长。

slic超像素分割算法Python ers超像素分割_算法_02

slic超像素分割算法Python ers超像素分割_算法_03

  1. Superpixel lattice无监督的过分割方法——保持图像拓扑结构信息的贪心算法 [性能严重依赖于预先提取的图像边界]
  2. 基于熵率——包括随机游走熵率和平衡项的目标函数,通过最大化目标函数以是实现分割 [产生的超像素规则且均匀]

二、基于梯度下降的方法(采用聚类的基本思想

  1. 分水岭Watershed方法——基于拓扑理论的数学形态学分割,速度快但不能控制超像素的个数和紧凑度

使用分水岭法分割图像

基于距离变换和分水岭算法的图像分割

基于距离变换与分水岭的图像分割

粘连物体分割与计数应用(二)--基于距离变换+分水岭算法 Halcon/OpenCV实现比较

OpenCV —— 图像分割之基于距离变换的分水岭分割

图像分割之分水岭算法

opencv-python 基于分水岭算法的图像分割

OpenCV-Python 图像分割与Watershed算法 | 三十四

  1. MeanShift方法——迭代模态搜索过程,它产生规则形状的超像素,但速度慢且不能控制超像素的数量、大小、紧凑度  //不用

slic超像素分割算法Python ers超像素分割_slic超像素分割算法Python_04

 

slic超像素分割算法Python ers超像素分割_相似度_05

 

slic超像素分割算法Python ers超像素分割_相似度_06

  1. Quick-shift方法
  2. Turbopixels方法——基于几何流的水平集方法,对初始种子点逐步进行碰撞,最终将超像素近似地平均分布到图像平面上
  3. SLIC(simple linear iterative clustering)方法——基于颜色和距离相似性进行的超像素分割,它可以产生大小均匀、形状规则的超像素

SLIC超像素分割的算法介绍和源码分析

SLIC超像素分割学习笔记

超像素SLIC算法源码阅读

SLIC的代码的深度优化和分析

SLIC图解算法