图像分割知识点
(一) 图像分割技术介绍知乎-SIGAI图像分割技术从算法演进历程上,大体可划分为基于图论的方法、基于像素聚类的方法和基于深度语义的方法这三大类基于图论的分割方法基于图论的代表有NormalizedCut,GraphCut和GrabCut等方法NormalizedCutNormalizeCut(A, B) = Cut(A, B) / volA + Cut(A, B) / volB...
(一) 图像分割技术介绍 知乎-SIGAI
图像分割技术从算法演进历程上,大体可划分为基于图论的方法、基于像素聚类的方法和基于深度语义的方法这三大类
-
基于图论的分割方法
基于图论的代表有NormalizedCut,GraphCut和GrabCut等方法
NormalizedCut
NormalizeCut(A, B) = Cut(A, B) / volA + Cut(A, B) / volB,通过公式可以很清晰的看到NormalizeCut在追求不同子集间点的权重最小值的同时也追求同一子集间点的权重和最大值。
GraphCut
Graph Cuts图是在普通图的基础上多了2个顶点,这2个顶点分别用符号”S”和”T”表示,称为终端顶点。
Graph Cuts中的Cuts是指这样一个边的集合,这些边集合包括了上面定义的2种边,该集合中所有边的断开会导致残留“S”和“T”图的分开,所以就称为“割”。
这个最小割把图的顶点划分为两个不相交的子集S和T,其中s ∈S,t∈ T和S∪T=V 。这两个子集就对应于图像的前景像素集和背景像素集,那就相当于完成了图像分割。
GrabCut ?
Rother 等人提出了基于迭代的图割方法,称为Grab Cut 算法。该算法使用高斯混合模型对目标和背景建模,利用了图像的RGB 色彩信息和边界信息,通过少量的用户交互操作得到非常好的分割效果。 -
基于聚类的分割方法
基于像素聚类的代表方法有K-means(K均值),谱聚类,Meanshift和SLIC等
K-means
K-means算法是输入聚类个数k,以及包含 n个数据对象的数据库,输出满足方差最小标准k个聚类的一种算法。
谱聚类
谱聚类方法缺点:
a)谱聚类对参数非常敏感;
b)时间复杂度和空间复杂度大。
对于 k-way 谱聚类算法,一般分为以下步骤:
(1) 构建相似度矩阵 W;
(2) 根据相似度矩阵 W 构建拉普拉斯矩阵 L(不同的算法有不同的 L 矩阵);
(3) 对 L 进行特征分解,选取特征向量组成特征空间;
(4) 在特征空间中利用 K 均值算法,输出聚类结果;
Meanshift?
Meanshift 算法的原理是在d 维空间中,任选一点作为圆心,以h为半径做圆.圆心和圆内的每个点都构成一个向量。将这些向量进行矢量加法操作,得到的结果就是Meanshift 向量。继续以Meanshift 向量的终点为圆心做圆,得到下一个Meanshift 向量.通过有限次迭代计算,Meanshift 算法一定可以收敛到图中概率密度最大的位置,即数据分布的稳定点,称为模点。利用Meanshift做图像分割,就是把具有相同模点的像素聚类到同一区域的过程
SLIC(simple linear iterative clustering
将彩色图像转化为CIELAB颜色空间和XY坐标下的5维特征向量,然后对5维特征向量构造距离度量标准,对图像像素进行局部聚类的过程
SLIC 算法的实质是将K-means 算法用于超像素聚类,众所周知,K-means 算法的时间复杂度为O(NKI),其中, N 是图像的像素数,K 是聚类数, I 是迭代次数
SLIC具体实现的步骤:
(1)将图像转换为CIE Lab颜色空间
(2)初始化k个种子点(聚类中心),在图像上平均撒落k个点,k个点均匀的占满整幅图像。
(3)对种子点在内的nn(一般为33)区域计算每个像素点梯度值,选择值最小(最平滑)的点作为新的种子点,这一步主要是为了防止种子点落在了轮廓边界上。
(4)对种子点周围 2S2S的方形区域内的所有像素点计算距离度量(计算方法在后文),对于K-means算法是计算整张图的所有像素点,而SLIC得计算范围是2S2S,所以SLIC算法收敛速度很快。其中S = sqrt(N/k),N是图像像素个数。
(5)每个像素点都可能被几个种子点计算距离度量,选择其中最小的距离度量对应的种子点作为其聚类中心。 -
基于语义的分割方法
一些物体的结构比较复杂,内部差异性较大,仅利用像素点的颜色、亮度、纹理等较低层次的内容信息不足以生成好的分割效果,容易产生错误的分割。因此需要更多地结合图像提供的中高层内容信息辅助图像分割,称为图像语义分割。
选择了几种代表性的网络进行逐一分析
FCN(Fully Convolutional Networks for Semantic Segmentation)
DeepLab系列
PSPNet(Pyramid Scene Parsing Network)
金字塔池化模块( pyramid pooling module)能够聚合不同区域的上下文信息,从而提高获取全局信息的能力,通过金字塔结构将多尺度的信息,将全局特征和局部特征嵌入基于FCN预测框架中,针对上下文复杂的场景和小目标的做了提升。为了提高收敛的速度,作者在主干网络中增加了额外的监督损失函数。
U-Net
SegNet
(二) 【技术综述】闲聊图像分割这件事儿 知乎-龙鹏-言有三
- 传统方法
边缘与阈值法
阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较。
其中,最广泛使用也最具有代表性质就是OTSU【1】方法,它是用于灰度图像分割的方法,核心思想就是使类间方差最大。
这样的方法,非常简单,要求被分割的物体颜色纹理比较紧凑,类内方差小,只适合一些文本图像的处理,比如车牌,比如指纹。
缺点:无法分割类内方差较大的目标的宿命。它完全没有利用好像素的空间信息,导致分割结果极其容易受噪声干扰,经常出现断裂的边缘,需要后处理。
区域增长,分裂
图割
轮廓模型
更多推荐
所有评论(0)