计算机视觉理论笔记 (9) - 图像分割 (Image Segmentation)
图像分割
总览
图像分割目的:将属于同一对象的像素分组到一起。
分割被定义为将图像分解为分段(segments),区域(region)或者对象(object)的过程:
- 在使用分割输出的环境中,分割是有意义的。
- 当应用程序中的兴趣部分(segments of interest)已经被分割出来时,程序停止。
- 区域分割 (region segmentation) vs 语义分割 (segmentic segmentation)。
分段通常是不重叠 (non-overlapping) 的。
分段中的像素: 通常是具有相似的视觉特性(visual properties),在空间上相连,属于同一对象。
视觉特性: 可衡量特征,包括像素强度或颜色,边缘,纹理(texture),运动,深度。
分割方法
- 基于轮廓 (contour-based): 也成为基于边缘,检测线段之间的边缘并线段的闭合轮廓(closed contours)。
- 基于聚类 (clustering-based): 阈值化。将具有相似视觉特性的所有像素组合在一起。
- 边缘/轮廓 和 聚类的结合。
- 基于深度学习进行分割。
基于聚类的图像分割 (Clustering-based Image Segmentation)
将像素分组为K个簇,如:
- 簇内的像素比与其他簇的像素具有更多相似性。
- 不考虑空间连通性(spatial connectivity)。
不同的簇化策略(grouping strategies)
- 阈值化(thresholding): 若特征能被认为是一组独立的标量。
- 聚集集群(agglomerative clustering): 从单独的簇中的每个点开始,在每次迭代中,合并两个“最近”的簇。
- 分裂集群(Divisive Clustering): 首先将所有的点分组到一个大的簇中。在每次迭代时,拆分“最大”的簇。
阈值化
下图左边图像 250 x 250,由黑色(0)和白色(255)组成。右边是像素直方图,可以看到白点和黑点的总数差不多,都在30000以上。
如图 R1~R6 为所选阈值。
阈值的选择是一个广泛研究的问题。没有最佳的解决方案(optimal solution)。基于直方图的方法(Histogram based approaches): 互动性阈值(Interactive threshold) ,可以通过直观观察直方图确定阈值。当然,我们希望整个过程自动化,因此可以使用启发式(Heuristic)方法。最小化方法(Minimisation methods): Otsu’s method。
启发式方法
- 选择初始估计的T值 (最大和最小灰度值的中间值)
- 将像素根据其像素强度 分类到 强度大于T的簇G1 以及 强度小于T的簇G2中。
- 计算两个组平均的μ1和μ2。
- 接着,获得新的T = 1/2(μ1 + μ2)
- 如果新的T和旧的T差别还很大,则返回步骤 2 再次进行。
Otsu’s method
- 计算归一化的直方图
- 选择阈值k,将像素点分为C0和C1。μi 指 Ci 的 平均值,其中 i = 0, 1。
- 验证方法,计算类内方差(within-class variance σ2W)或类间方差(between-class variance σ2B)
- 从阈值k = 0开始运行到阈值k = 255,选择能让类内方差最小以及类间方差最大化的k值。
注:Otsu’s方法仅限于两个簇或者一个阈值的情况。
数据聚类算法
K-means 聚化算法
K-medoids算法:与K-mean类似,仅聚类中心无法通过平均来计算。其中,每个簇的“中心”是该簇中位于最中心的点(即与其他点平均距离最小的点)。
基于强度或者颜色的K-mean聚类,簇不必在空间上保持连贯 (spatially coherent)。
基于(r, g, b, x, y)值的聚类可以增强空间一致性(spatial coherent)。
优点
简单又快速,且能够收敛到误差函数(error function)的局部最小值。
缺点
需要自行选择k值。对初始值敏感。对异常值 (outliars) 敏感。且其倾向于找"球形"簇(spherical clusters)。
均值移动分割 (Mean Shift Segmentation)
先进且通用的基于聚类的分割技术。‘
均值移动分割算法寻求给定分布的密度的众数(mode)或局部最大值(local maximum)。
- 选择搜索窗口 search window (宽度和位置)
- 计算搜索窗口中数据的平均值。
- 将搜索窗口居中于新的平均位置 (mean location)。
- 重复直到收敛。
簇:在模式吸引力盆(attraction basin of a mode)中的所有数据点。
吸引力盆地 (attraction basin):所有轨迹(trajectories)都通向同一模式的区域
- 查找特征 (颜色,梯度,纹理等)
- 在各个像素位置初始化窗口。
- 对每个窗口执行均值移动直到收敛。
- 合并具有相同"峰值"或模式的窗口。
优点
- 不假设球形簇。
- 仅需要选择一个参数 - 窗口大小(window size)。
- 查找可变数量的模式(variable number of mode)。
- 对异常值的稳健性。
缺点
- 输出取决于窗口大小。
- 计算昂贵。
- 在特征空间的维度(dimension of feature space)上无法很好地缩放。
其他分割方法
基于区域方法: 拆分和合并(region-based method: split and merge)
基于图的方法:NCut (Graph-based Method)
图像遮罩 (Image Matting)
语义分割 (Semantic Segmentation)
语义分割将图像的像素分为语义上有意义的对象 (semantically meaningful objects) 的过程。其将每个像素与类别或语义标签 semantic label (例如 花,人,道路,天空,海洋或汽车等)相关联。
实例分割 (Instance Segmentation)
对感兴趣对象的像素进行分类和定位的过程。
图像分割后期处理 (Post Processing for Image Segmentation)
- 二元形态学过滤 (Binary Morphological Filters)
- 多数投票 (Majority voting): 看分类后标签附近的其他标签,若都为同一个数,则当前标签也被改成这个数 (5 x 5, 7 x 7的区域)。
这些后期处理都用于降噪。