图线分割的基本概念以及算法
图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性。
1. 基于阈值的分割方法
阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。因此,该类方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值。
2. 基于边缘的分割方法
边缘是两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续性的反映,体现了灰度、颜色、纹理等图像特性的突变。通常,是基于灰度值的边缘检测(Canny等)。
3. 基于图论的分割方法
图像分割问题与图的最小割(min cut)问题相关联。首先将图像映射为带权无向图G=<V,E>,图中每个节点N∈V对应于图像中的每个像素,每条边∈E连接着一对相邻的像素,边的权值表示了相邻像素之间在灰度、颜色或纹理方面的非负相似度。而对图像的一个分割s就是对图的一个剪切,被分割的每个区域C∈S对应着图中的一个子图。而分割的最优原则就是使划分后的子图在内部保持相似度最大,而子图之间的相似度保持最小。基于图论的分割方法的本质就是移除特定的边,将图划分为若干子图从而实现分割。目前所了解到的基于图论的方法有GraphCut,GrabCut和Random Walk等。
4. 基于能量泛函的分割方法
主要指的是活动轮廓模型(active contour model, also calle snakes),其基本思想是使用连续曲线来表达目标边缘,并定义一个能量泛函使得其自变量包括边缘曲线,因此分割过程就转变为求解能量泛函的最小值的过程,一般可通过求解函数对应的欧拉(Euler.Lagrange)方程来实现,能量达到最小时的曲线位置就是目标的轮廓所在。
Snake 是最小化能量泛函 (energy minizing, deformable spline),snake受到约束力和图像力的影响,这两种力使得初始边界其接近目标边界。 在二维离散(图像)情况下,其具体方法为活动形状模型(active shape model)。另外,snake也可以通过忽略缺失的边界信息来找到图像中虚拟边界(Illusory contours )。Snake最大的问题就是需要其他machanisms (like IoU) 为其提供initial contour。
对比传统的特征提取方法, Sanke 具有
优点:
- 自动、自适应的search minimum state
- 图像外力以intuitive方式作用
- 具有高斯平滑以解决scle sensitivity
- 可以用来追踪动态目标
缺点:
- 易陷入local minimum (可simulated annealing 改善)
- 小目标容易被忽视
- 准确率取决于优化方法
能量方程
定义
n 个点 v_i, i = 0, ..., n-1;
内力E_internal (包括continuity of the contour E_cont 和 smoothness of the contour E_curv);
外力E_external (包括图像力E_image, 约束力E_con );
Snake 能量方程为外力和内力的和:
其中E_internal:
E_image:
通过梯度下降法优化能量方程
CVPR2020 Deep Snake for Real-Time Instance Segmentation