Recap of basic segmentation methods
- Thresholding
- K-means clustering
- Feature extraction and classification
More sophisticated segmentation methods
- Region splitting and merging
- Watershed segmentation
- Maximally stable extremal regions
- Mean-shifting algorithm
- Superpixel segmentation
- Conditional random field
- Active contour segmentation
- Level-set segmentation
How to evaluate segmentation methods
- Quantitative evaluation metrics
- Receiver operating characteristic
图像分割简介 Introduction of Image Segmentation
区域应具备以下特性:
- 区域应在某些特征上是均匀/同质的。
- 区域内部应简单,没有孔洞或缺失部分。
- 相邻区域在其各自均匀的特征上应有显著不同的值。
- 每个区域的边界应平滑且空间准确。
几种不同的图像分割方法:
- 基于区域的分割方法 Region based
- 基于轮廓的分割方法 Contour based
- 基于模板匹配的分割方法 Template matching based
- 基于分裂和合并的分割方法 Splitting and merging based
- 基于全局优化的分割方法 Global optimisation based
迄今为止,没有一种单一的分割方法能很好地解决所有问题。
通常,需要应用领域的特殊知识来开发成功的计算机视觉分割方法。
在进行图像分割时,必须考虑具体应用场景,并结合领域知识来选择和调整合适的方法。
基本分割方法 basic segmentation methods
阈值分割 Thresholding
如果区域具有足够不同的强度分布(intensity distributions),则阈值分割方法是合适的。
如果区域有重叠的强度分布,问题就来了:
K均值聚类 K-Means Clustering
如果事先知道簇(clusters)的数量,K均值聚类方法可能有效。
如果簇的数量是未知的,那么问题就来了:
基于特征的分类 Feature Based Classification
通过滑动窗口逐块进行特征提取,然后进行分类的分割方法。这种方法需要大量的训练样本。
复杂分割方法 sophisticated segmentation methods
区域分裂和合并 Region Splitting and Merging
- 基于区域统计递归地将整个图像分割成小块。
- 递归地将区域以层次结构合并在一起。
- 顺序地结合分裂和合并过程。
最简单的实现方法(二色实现法):
θ(f,t)={10if f≥telse
- 应用阈值分割,然后计算连通分量(connected components)。
- 由于图像实际的光照和对象内部的统计变化,通常这种方法是不够的。
(图中有4个连通分量,即3个白块和1个背景)
连通分量在不同维度的连通性
在二维(2D)中:
- 4连通(4-connected):每个像素与其上下左右的像素连通。
- 8连通(8-connected):每个像素与其上下左右以及四个对角线方向的像素连通。
在三维(3D)中:
- 6连通(6-connected):每个体素(3D像素)与其六个相邻的体素连通(沿X、Y、Z轴方向)。
- 18连通(18-connected):每个体素与其在X、Y、Z轴方向及其邻近的十二个体素连通。
- 26连通(26-connected):每个体素与其所有26个相邻的体素连通,包括沿X、Y、Z轴方向及其对角线方向。
使用4连通性,图像被分割成了10个物体。
使用8连通性,图像被分割成了1个物体。
连通分量算法 Connected Components Algorithm
第一遍:
- 检查每个像素(从左上到右下)。
- 如果是对象像素,检查它的邻居(N4 4连通 或 N8 8连通)。
- 如果没有邻居有标签,分配一个新的标签。
- 如果邻居有标签,分配最小的标签。
- 在分配标签时记录标签等价性。
- 等价集合例如:{1,2,6} 和 {3,4,5}。
第二遍:
- 再次检查每个像素(从左上到右下)。
- 将每个标签替换为其最小等价标签。
- 所有背景像素默认使用零标签。
在测量空间中的簇/聚类 Clustering in the measurement space
- 假设图像中的均匀区域在测量空间中表现为聚类(简单的例子:直方图)。
- 优化区域内相似性和区域间不相似性的指标。
- 聚类可以通过在空间中找到谷值,并将它们之间的间隔声明为聚类来完成。
- 分割是将聚类映射回图像域。
- 聚类标签的连通分量构成了分割的片段。
基于直方图的递归分割 Recursive histogram based splitting
在整个图像上执行直方图模式搜索:
- 首先在整个图像上计算直方图,识别不同的模式或峰值,这些模式对应于图像中的不同区域或物体。
在从聚类得到的每个区域上执行模式搜索:
- 将图像分割成不同的聚类后,对每个聚类区域再次进行直方图模式搜索,进一步分割这些区域。
直到获得的区域不能再进一步分解:
- 递归地对每个区域进行分割,直到所有区域都无法再进一步分割为止。
- 当前掩膜:表示正在处理的图像区域。
- 计算掩膜图像的直方图:生成当前区域的直方图。
- 聚类:根据直方图的模式进行聚类。
- 推送/弹出掩膜:管理要处理的掩膜区域堆栈。
- 结果掩膜:最终的分割结果。
这个方法通过递归分割和直方图分析,逐步将图像分割成更小的均匀区域,直到所有区域都达到分割标准。
基于启发式的区域合并 Heuristics-based region merging
使用相对边界长度(boundary lengths)和边缘强度(edge strengths):
- 比较相邻区域的边界长度和边缘的强度来决定是否合并。
使用最近点(closest points)或最远点(farthest points)之间的距离:
- 根据相邻区域的最近点或最远点之间的距离来决定是否合并。
使用平均颜色差异(colour difference)或大小差异(size difference):
- 计算相邻区域的平均颜色差异或大小差异,如果差异较小,则合并这些区域。
基于图的区域合并 Graph-based Region Merging
使用区域 Ri 之间的相对差异性进行合并:
使用最小生成树(MST)将区域表示为图:
定义一个差异性度量 ω(如强度差异):
使用图的边 e 计算内部区域差异性:
I(R)=e∈MST(R)maxω(e)
计算相邻区域之间的差异性:
D(Ri,Rj)=e(vi∈Ri,vj∈Rj)minω(e)
合并任何两个差异性小于这两个区域的内部差异性最小值的相邻区域:
- 如果两个相邻区域之间的差异性小于它们内部差异性的最小值,则将这两个区域合并。
通过区域生长进行合并 Merging by region growing
这种方法通过从一个种子像素开始,逐步合并相似的像素,最终形成一个大的连通区域。
定义相似性度量:
- 选择一个合适的相似性度量,用于衡量像素之间的相似程度。
从一个种子像素开始:
如果邻近像素相似,则将其添加到区域:
- 检查种子像素周围的像素,如果这些像素与种子像素相似,则将它们添加到区域中。
重复上述步骤,直到没有更多相似的像素:
- 继续检查并添加相似的邻近像素,直到没有更多的像素符合相似性条件为止。
区域生长的开始:
区域生长过程:
- 随着迭代进行,越来越多的像素被添加到区域中,直到没有更多相似的像素。
分水岭分割 Watershed Segmentation
分水岭算法借用了地形表面浸没的类比,用于图像分割。
分水岭算法将图像视为一个拓扑表面,其中灰度值表示高度。通过模拟雨水从山顶流向山谷的过程,可以确定不同区域之间的边界。具体来说,分水岭分割方法通过识别图像中的“山脊线”来分割不同的区域,这些“山脊线”代表着图像中灰度值变化最大的边界。
Meyer泛洪算法 Meyer’s flooding algorithm
算法的核心思想是从一些初始的种子点(标记)开始,逐渐扩展它们的区域,类似于水从低处流向高处,直到整个图像被分割成不同的区域。
选择一组标记以开始泛洪:
- 这些标记可以是所有的局部最小值。给每个标记赋予不同的标签。
将每个标记的邻近像素放入优先队列:
从队列中弹出具有最高优先级的像素:
- 如果弹出像素的邻居中已经被标记的所有像素具有相同的标签,则将该标签赋予弹出像素。将所有未标记的邻居放入队列中。
重复步骤3,直到队列为空:
- 持续处理队列中的像素,直到所有像素都被处理完。
- 剩下的未标记像素构成了分水岭线。
重要注意事项
如果需要,反转图像或计算边缘以获得局部最小值:
- 通过反转图像或计算边缘来帮助识别局部最小值,这些最小值将作为泛洪算法的种子点。
相关信息
- 左图:原始图像。
- 中左图:边缘检测后的图像。
- 中右图:应用分水岭算法后的初步分割结果。
- 右图:经过后处理后的最终分割结果。
图像通常有很多局部最小值,导致过度分割:
- 图像中可能存在大量的局部最小值,可能会导致分割过细。
需要预处理(图像平滑)来减少错误的最小值:
- 通过图像平滑等预处理步骤来减少错误的局部最小值,以提高分割效果。
需要后处理(盆地合并)来减少碎片化:
- 通过后处理步骤(如盆地合并)来减少过度分割造成的碎片化问题。
存在许多不同的实现和预处理/后处理标准:
- 不同的实现方法和预处理/后处理标准会影响分割结果。
可以从用户定义的标记开始,而不是局部最小值:
- 可以使用用户定义的标记作为种子点,而不是自动检测的局部最小值。
最大稳定极值区域 MSER,Maximally Stable Extremal Regions
MSER是一种图像分割和特征检测方法,基于图像中连通区域在不同阈值下的稳定性来识别显著的区域。这些区域在一定范围的阈值变化中保持其形状不变,因此被认为是稳定的。MSER在计算机视觉和图像处理中的应用广泛,特别是在对象检测和跟踪中。
连通分量特征:
- 由几乎均匀的强度组成的连通分量,周围有对比鲜明的背景。
构造过程:
选择区域:
- 选择在大范围阈值下形状几乎不变的连通分量作为稳定区域。
均值漂移 Mean Shifting
均值漂移在许多应用中是K均值聚类的良好替代方案,尤其是在需要处理复杂数据分布和不确定聚类数量的情况下。
K均值聚类的局限性
- 需要选择K值。
- 对异常值敏感。
- 容易陷入局部最小值。
均值漂移作为许多应用中的良好替代方案
在密度函数中寻找驻点(峰/模式)。
- 均值漂移通过在数据密度分布中寻找峰值,确定数据的聚类中心。这些峰值代表了数据分布的高密度区域。
尝试在特征空间中找到所有可能的聚类中心。
- 均值漂移尝试在特征空间中找到所有可能的聚类中心,而不是预先指定的数量。这使得它在处理复杂数据集时更为灵活。
不需要事先知道聚类的数量。
- 与K均值不同,均值漂移不需要预先指定聚类的数量。这使得它在实际应用中更加方便,因为在许多情况下,聚类的数量是不确定的。
是一种迭代最速上升法的变体。
- 均值漂移是迭代最速上升法的一种变体,通过迭代过程不断调整聚类中心的位置,直到收敛到数据的高密度区域。
迭代模式搜索 Iterative Mode Searching
-
初始化一个随机种子点 x 和窗口 N:
- 从数据集中随机选择一个初始点,并定义一个搜索窗口。
-
计算窗口 N 内的均值(重心) m(x):
-
将搜索窗口移动到均值位置:
-
重复步骤2,直到收敛:
- 继续迭代计算新的均值并移动窗口,直到窗口的位置不再发生显著变化,表示算法收敛。
均值(重心) m(x) 的计算公式:
m(x)=∑xi∈N(x)K(xi−x)∑xi∈N(x)K(xi−x)xi
其中,K(x) 是权重函数(核函数),例如:
K(x)=exp(−∣x∣2)
这个公式表示在窗口内所有点的加权平均,其中权重由核函数 K 决定,距离中心越近的点权重越大。
均值漂移算法通过不断移动搜索窗口来寻找数据的高密度区域,最终找到所有的聚类中心。
定义特征(颜色、梯度、纹理等):
将图像像素转换为特征空间中的点:
- 根据定义的特征,将图像中的每个像素映射到特征空间中的一个点。
在特征空间中的多个种子位置初始化窗口:
- 在特征空间中的多个位置初始化搜索窗口,这些位置可以是随机选择的或者基于某些准则选择的。
对每个窗口执行均值漂移,直到收敛:
- 对每个初始化窗口执行均值漂移算法,迭代计算新的均值并移动窗口,直到窗口的位置不再发生显著变化。
合并最终位置相近的窗口:
- 将最终位置相近的窗口合并,认为它们属于同一个聚类中心。
根据窗口的遍历结果对所有点进行聚类:
- 根据每个窗口的遍历路径,将所有点分配到相应的聚类中,完成图像分割。
用它们的聚类方法替换分割的区域颜色。
优缺点
优点:
-
无模型(不假设数据聚类的任何先验形状):
- 均值漂移不依赖于任何特定的聚类形状假设,适应性强。
-
只有一个参数(窗口大小):
- 算法只需要设定一个参数,即窗口大小,简化了参数调整。
-
找到可变数量的模式(聚类):
-
对异常值有鲁棒性:
- 对于数据中的异常值,均值漂移算法具有较强的鲁棒性,不易受到干扰。
局限性:
-
计算开销大(需要移动许多窗口):
-
输出依赖于窗口大小参数值:
- 分割结果对窗口大小的选择非常敏感,不同的窗口大小会导致不同的结果。
-
窗口大小(带宽)的选择并不容易:
- 选择合适的窗口大小(带宽)并不简单,可能需要多次尝试和调整。
-
在特征空间的维度上不具备良好的扩展性:
- 随着特征空间维度的增加,算法的效率和性能会显著下降。
超像素分割 Superpixel Segmentation
传统的像素级滑动窗口分割需要处理大量的窗口,计算量非常大。
基于超像素的分割提高了效率,通过将相似的像素聚集在一起形成超像素,可以减少需要处理的基本单元数量。
超像素的集合实际上是一种对图像的过度分割,通过将图像分割成多个超像素,简化了后续的处理。
最终的图像分割或分类操作是在这些超像素上进行的,而不是在单个像素上进行,从而大大提高了处理效率。
简单线性迭代聚类 Simple linear iterative clustering, SLIC
SLIC 是一种常用的算法,用于生成超像素。它通过迭代聚类的方式将相似的像素分组为超像素。
保留物体边界,快速且内存高效:
- SLIC 算法能够有效地保留图像中的物体边界。
- 该算法计算速度快,适合实时应用。
- 内存使用效率高,适合处理大规模图像数据。
在像素网格上以步长 S 初始化聚类中心 Cj:
- 根据预定的步长 S,在图像上初始化一组聚类中心 Cj。
将 Cj 移动到具有最小梯度的 3×3 窗口中的位置:
- 在每个 3×3 窗口内,寻找梯度最小的位置,将聚类中心移动到该位置。
计算每个像素 i 在 Cj 周围的 2S×2S 窗口内的距离 Dij:
- 计算每个像素 i 到聚类中心 Cj 的距离,距离计算在 2S×2S 窗口内进行。
**将每个像素 i 分配给距离 Dij 最小的聚类 Cj
- 找到每个像素 i 距离最近的聚类中心 Cj,并将其分配给该聚类。
重新计算 Cj 处的像素的平均颜色和位置:
- 对每个聚类重新计算其中心,更新其颜色和位置为该聚类内所有像素的均值。
迭代(返回步骤3)直到残差误差很小:
- 重复上述步骤,直到聚类中心的变化趋于稳定,残差误差足够小为止。
距离计算公式
在 CIELAB 颜色空间中的距离 dlab:
dlab=(lj−li)2+(aj−ai)2+(bj−bi)2
在像素空间中的距离 dxy:
dxy=(xj−xi)2+(yj−yi)2
综合距离 D:
D=(mdlab)2+(Sdxy)2
其中,权重 m 控制颜色与空间距离的影响。
条件随机场 Conditional Random Field,CRF
超像素为进一步分割提供基础:
- 确定超像素之间的空间关系:
- 计算超像素之间的相似性:
- 计算和比较超像素之间的特征相似性,例如颜色、纹理等。
- 将超像素分组以形成更大的分割段:
- 根据相似性和空间关系,将相似的超像素合并成更大的图像段。
条件随机场(CRF)方法:
- 条件随机场是一种概率图模型,用于编码观测值(如超像素)之间的关系,并为一组数据(如图像)构建一致的解释(如分割)。
CRF 在图像分割中的应用包括:
- 建模像素之间的关系:
- 利用CRF建模像素或超像素之间的关系,从而获得更准确的分割结果。
- 集成局部和全局信息:
- CRF 能够有效地结合局部特征和全局信息,从而实现更鲁棒的分割。
无向图结构 undirected graphical structure
节点(Nodes):
- 超像素(Superpixels):节点的值基于超像素的特征,例如颜色、纹理等。
边(Edges):
- 邻接关系(Adjacency):边的值基于超像素之间的相似性,例如颜色相似性、空间距离等。
分割作为能量最小化问题 Segmentation as an energy minimisation problem
CRF 用于图像分割时,通过最小化以下能量函数来实现分割:
E(s,c)=i∑φ(si,ci)+ij∑ψ(si,sj)
单项势能(Unary Potentials)φ
这部分能量基于单个节点(超像素)的特征,表示将超像素 si 分配到类别 ci 的代价。
- 数据项(基于图节点值)
- 计算超像素 si 属于类别 ci 的代价。
- 较低的代价表示 si 属于 ci 的可能性较高。
- 可以通过超像素分类获得。
双项势能(Pairwise Potentials)ψ
这部分能量基于节点之间的关系,表示相邻超像素 si 和 sj 被分配到不同类别的代价。通过平滑项来确保分割结果的一致性,相似的超像素更可能被分配到同一类别。
- 平滑项(基于图边值)
- 计算邻域一致性的代价。
- 如果相邻超像素被分配到不同的类别,则分配一个代价。
- 较高的相似性结果在较低的代价(如果被分配到相同的类别)。
能量最小化通过图割(Graph Cut)解决
图割是一种用于解决能量最小化问题的算法,基于最大流最小割(max-flow min-cut)原理。
- 图的构建:
- 将图像像素或超像素作为节点,将相邻像素或超像素之间的关系作为边,并设置边的权重。
- 能量最小化:
- 能量函数 (E(s, c)) 由单项势能 (\varphi) 和双项势能 (\psi) 组成,通过图割算法来最小化这个能量函数。
- 分割结果:
- 图割算法找到的最小割对应于图像的分割结果,图中的每个节点(像素或超像素)被分配到前景或背景。
具体内容如下:
图像表示为图:
- 图中的节点表示图像中的像素或超像素,边表示像素或超像素之间的相似性或连接关系。
源节点和汇节点:
- 源节点(source)和汇节点(sink)分别代表背景和前景。
边权重:
- 边的权重表示像素或超像素之间的相似性或连接强度。较高的相似性对应较低的边权重,较低的相似性对应较高的边权重。
最大流最小割:
- 通过计算图中的最大流,找到将图分割为前景和背景的最小割。最小割对应于能量最小化问题的最优解。
通过图割算法,CRF 方法能够高效地解决图像分割中的能量最小化问题,实现精确的图像分割。图割在处理复杂图像和高维数据时具有优势,广泛应用于计算机视觉和图像处理领域。
主动轮廓分割 Active Contour Segmentation
主动轮廓分割方法能够动态调整曲线以适应不同的对象边界,通过迭代优化过程实现精确的图像分割。
通过一组控制点和插值表示曲线:
- 使用一组控制点来表示曲线,通过插值生成连续的曲线。
迭代移动控制点以适应对象的曲线:
- 通过迭代过程不断调整控制点的位置,使曲线逐步贴合对象边界。
使用的力:
- 图像力 Image Force:
- 平滑力 Smoothness Force:
- 作用于曲线的内在平滑力,用于保持曲线的光滑性,防止其变得过于粗糙或不规则。
- 用户引导力 User-Guidance Force:
- 由用户提供的指导信息引导的力,帮助调整和优化曲线的位置。
通过结合图像力、平滑力和用户引导力,使主动轮廓能够准确地定位和描述对象的边界。这种方法在医学图像处理、物体检测和边界提取等应用中具有广泛的应用。
蛇形算法 Snakes Algorithm
平滑地跟随对象边界处的高强度梯度:
- 蛇形算法通过跟随图像中对象边界处的高强度梯度,逐步调整和优化曲线,使其贴合对象的边界。
通过平滑插值桥接噪声或缺失梯度的区域:
蛇形算法是主动轮廓分割方法的一种经典实现,通过结合图像特征和曲线光滑性,实现对对象边界的精确定位和描述。
图像中标注了一个可能的边界,这个边界区域的梯度信息可能不够明显。
图像中放大了两个16 x 16像素的区域,一个区域(OK...)具有明显的边界特征,而另一个区域(Um...)则缺乏明显的边界特征。
在梯度信息缺失的情况下:
- 当图像中的梯度信息缺乏时,主动轮廓分割算法依赖于图像力、平滑力和用户引导力来引导轮廓的移动和调整。
- 通过平滑插值和用户引导,主动轮廓分割算法能够跨越噪声区域或梯度缺失区域,确保轮廓的连续性和光滑性。
- 主动轮廓分割方法通过动态调整控制点的位置,使曲线能够适应复杂的图像结构,即使在梯度信息缺乏的情况下,也能找到合适的边界。
选择合适的轮廓模型 contour model:
数学表示:
C:[0,1]→Rn⟹C(s)=[x(s),y(s)]
其中 s 是曲线的参数,[x(s),y(s)] 是曲线上的点。
定义合适的能量泛函 energy functional:
- 使用内部能量、图像能量和外部能量:
- 能量泛函 EC 表示为:
EC=∫01[Eint(C(s))+Eimg(C(s))+Eext(C(s))]ds
- 内部能量 Eint:
- 图像能量 Eimg:
- 外部能量 Eext:
- 例如用户交互力,用于结合用户输入的信息引导曲线调整。
最小化能量泛函:
- 使用高效的优化算法:
- 通过迭代优化算法,最小化能量泛函 EC,使得轮廓曲线逐渐贴合对象边界。
- 图示中的例子展示了一个轮廓模型(用一组控制点表示),在图像中找到并优化对象边界。
- 能量泛函的最小化结合了内部、图像和外部能量,通过优化过程使得轮廓曲线能够精确地定位对象边界。
水平集分割
水平集分割方法在图像分割和对象检测中具有广泛应用,尤其适用于处理复杂形状和拓扑变化的场景。通过迭代优化过程,水平集方法能够实现精确而稳定的分割结果。
-
轮廓随时间演化(迭代):
- 水平集方法通过迭代过程,随着时间 ( t ) 的变化,逐步演化图像中的轮廓。
-
2D 轮廓:
- 上图展示了一个二维轮廓随时间演化的过程。最初的轮廓逐渐分裂成两个独立的部分,说明了水平集方法能够处理复杂的拓扑变化。
-
3D 水平集函数:
- 下图展示了三维水平集函数,水平集函数的零集合对应二维图像中的轮廓。随着时间 ( t ) 的变化,水平集函数的形状也在不断变化,以适应新的轮廓。
初始轮廓:
函数演化:
- 通过迭代优化过程,使水平集函数逐步演化,适应图像中的对象边界。
分裂与合并:
- 水平集方法能够处理复杂的形状变化,包括轮廓的分裂和合并。
两种模型的对比
主动轮廓分割(Active Contour Segmentation)和水平集方法(Level-set Methods)的比较。
主动轮廓 / 蛇形(Snakes)是参数模型
-
显式表示对象边界:
-
通常需要手动交互来初始化曲线:
-
在曲线演化过程中改变拓扑结构具有挑战性:
- 当对象形状发生显著变化时,调整曲线的拓扑结构是困难的。
-
对于大形状变化可能需要重新参数化曲线:
- 在对象形状变化较大时,可能需要重新参数化曲线以适应新的形状。
水平集方法成为更流行的替代方法
-
隐式表示对象边界:
-
边界由高维函数的零集合定义:
-
水平集函数演化以使零集合适应并跟踪对象:
- 通过演化水平集函数,使得零集合能够跟踪对象边界的变化。
-
轻松适应对象形状的拓扑变化:
- 水平集方法能够轻松处理对象形状的拓扑变化,如分裂和合并。
-
计算需求比主动轮廓更高:
主动轮廓方法直观且易于理解,但在处理形状变化和拓扑结构变化时有一定局限性。水平集方法则提供了一种更灵活和强大的工具,能够处理复杂的对象形状和拓扑变化,但计算需求更高。
这是关于水平集分割(Level Set Segmentation)中一种著名实现方法,即Chan-Vese模型的介绍。
Chan-Vese模型
目标:最小化能量泛函:
- Chan-Vese模型通过最小化一个能量泛函来实现图像分割。
E(C)=μ⋅length(C)+ν⋅area(C)+λ1∫Inside(C)∣u0−c1∣2dxdy+λ2∫Outside(C)∣u0−c2∣2dxdy
- μ⋅length(C):
- 曲线长度项,控制曲线的长度,鼓励较短的轮廓,防止过度拟合。
- ν⋅area(C):
- λ1∫Inside(C)∣u0−c1∣2dxdy:
- 内部区域项,度量轮廓内部区域的均方误差, u0 是原始图像, c1 是内部区域的平均灰度值。
- λ2∫Outside(C)∣u0−c2∣2dxdy:
- 外部区域项,度量轮廓外部区域的均方误差, u0 是原始图像, c2 是外部区域的平均灰度值。
模型应用:
- 从初始轮廓开始,通过迭代过程,逐步演化轮廓以最小化能量泛函。
- 图中的例子展示了随着迭代次数增加,轮廓逐步收敛,最终实现对目标区域的精确分割。
分割方法评价 Segmentation Method Evaluation
评价指标 Evaluation Metrics
- 图像分割像素分类:
- 图像分割算法将图像像素分为对象像素(object pixels)和背景像素(background pixels)。
术语和符号
分割对象像素(Set S):
真实对象像素(Set T):
像素分类
真阳性(True Positives, TP):
- 定义:TP=S∩T
- 正确分割为对象的像素。
真阴性(True Negatives, TN):
- 定义:TN=Sc∩Tc
- 正确分割为背景的像素。
假阳性(False Positives, FP):
- 定义:FP=S∩Tc
- 错误地分割为对象的背景像素。
假阴性(False Negatives, FN):
- 定义:FN=Sc∩T
- 错误地分割为背景的对象像素。
维恩图:
维恩图展示了分割对象像素集合 S 和真实对象像素集合 T 的交集和差集:
- 交集(S∩T):真阳性(TP)
- 差集(S∩Tc):假阳性(FP)
- 差集(Sc∩T):假阴性(FN)
- 背景交集(Sc∩Tc):真阴性(TN)
敏感度(Sensitivity):
- 又称为真阳性率(True Positive Rate, TPR)。
- 定义:真实对象中正确分割的比例。
- 计算公式:
TPR=∣TP∣+∣FN∣∣TP∣
特异度(Specificity):
- 又称为真阴性率(True Negative Rate, TNR)。
- 定义:真实背景中正确分割的比例。
- 计算公式:
TNR=∣TN∣+∣FP∣∣TN∣
以上定义和公式可以帮助全面评估图像分割算法的性能,结合使用可以获得更准确的评估结果。
图示解释
敏感度图示:
图示中,红色区域代表真实对象像素(True object pixels),圆圈内的红色区域是正确分割为对象的像素(TP),圆圈外的红色区域是被误分割为背景的对象像素(FN)。
特异度图示:
图示中,黑色区域代表真实背景像素(True background pixels),圆圈内的黑色区域是正确分割为背景的像素(TN),圆圈外的黑色区域是被误分割为对象的背景像素(FP)。
受试者工作特征 Receiver operating characteristic
定义:ROC 曲线是以方法的自由参数(例如阈值)为函数绘制的真阳性率(敏感性)与假阳性率(1-特异性)之间的关系图。
作用:通过ROC曲线,可以评估不同参数设置下分割方法的性能,从而选择最佳的参数。
例子:阈值分割
- 图像和真值(Truth):
- 左侧图像:需要进行分割的图像。
- 右侧图像:分割的真值,用于评估分割效果。
- 计算过程:
- 计算所有可能的强度阈值 τ 下的敏感性与特异性。
- 将结果绘制在ROC曲线图中。
ROC曲线图示
- X轴:1-特异性(False Positive Rate, FPR)
- Y轴:敏感性(True Positive Rate, TPR)
- 不同阈值 τ 下的分割结果:
- τ=0:最左上角点,所有像素都被认为是对象(敏感性为1,特异性为0)。
- τ=32:大多数像素被分割为对象,图像中对象部分与背景部分之间的差异较大。
- τ=64:分割效果更接近真值。
- τ=256:最右下角点,所有像素都被认为是背景(敏感性为0,特异性为1)。
通过ROC分析比较方法的性能:
部分评价指标
精确率(Precision):
- 又称为正预测值(Positive Predictive Value, PPV)。
- 定义:分割对象中正确分割的部分的比例。
- 计算公式:
P=∣TP∣+∣FP∣∣TP∣
召回率(Recall):
- 又称为灵敏度(Sensitivity)或真阳性率(True Positive Rate, TPR)。
- 定义:真实对象中被正确分割的部分的比例。
- 计算公式:
R=∣TP∣+∣FN∣∣TP∣
F-Measure:
- 定义:精确率和召回率的调和平均数,用于综合衡量分割方法的性能。
- 计算公式:
F=2⋅P+RP⋅R
Jaccard 相似系数(Jaccard similarity coefficient,JSC):
- 定义:正确分割的真实对象和分割出的对象的并集中正确分割的部分的比例。
- 计算公式:
JSC=∣S∪T∣∣S∩T∣=FP+TP+FNTP
Dice 相似系数(Dice similarity coefficient,DSC):
- 定义:正确分割的真实对象和分割出的对象的联合集中正确分割的部分的比例。
- 计算公式:
DSC=∣S∣+∣T∣2∣S∩T∣=FP+2TP+FN2TP
考试例题
Given the following binary image after segmentation.
To automatically identify the objects (in white) in this image we can use the connected components labelling algorithm.
How many separate objects will this algorithm find here if it uses 4-connectivity?
A. 4
B. 5
C. 6
D. 7
相关信息
答案选D。除了左下角以外其他的都能被分成一个完整的部分,所以这边有4个。
关于左下角的图形,单独拿出来看,4-连通能被分成3块。所以一共有7个。