其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。
图像分割(image segmentation)技术是计算机视觉领域的个重要的研究方向,是图像语义理解的重要一环。图像分割是指将图像分成若干具有相似性质的区域的过程,从数学角度来看,图像分割是将图像划分成互不相交的区域的过程。近些年来随着深度学习技术的逐步深入,图像分割技术有了突飞猛进的发展,该技术相关的场景物体分割、人体前背景分割、人脸人体Parsing、三维重建等技术已经在无人驾驶、增强现实、安防监控等行业都得到广泛的应用。
图像分割技术从算法演进历程上,大体可划分为基于图论的方法、基于像素聚类的方法和基于深度语义的方法这三大类,在不同的时期涌现出了一批经典的分割算法。
基于图论的分割方法
此类方法基于图论的方法利用图论领域的理论和方法,将图像映射为带权无向图,把像素视作节点,将图像分割问题看作是图的顶点划分问题,利用最小剪切准则得到图像的最佳分割。此类方法把图像分割问题与图的最小割(MIN-CUT)[1]问题相关联,通常做法是将待分割的图像映射为带权无向图G=(V,E),其中,V={ ,…,
}是顶点的集合,E为边的集合。图中每个节点N∈V对应于图像中的每个像素,每条边∈E连接着一对相邻的像素,边的权值w(
),其中 (
)∈E,表示了相邻像素之间在灰度、颜色或纹理方面的非负相似度。而对图像的一个分割S就是对图的一个剪切,被分割的每个区域C∈S对应着图中的一个子图。
分割的原则就是使划分后的子图在内部保持相似度最大,而子图之间的相似度保持最小。我们以一个两类的分割为例,把G = (V,E) 分成两个子集A,B,另: ,CUT(A,B) =
, 其中
, 是权重(weight), 最小割就是让上式的值最小的分割。
基于图论的代表有NormalizedCut,GraphCut和GrabCut等方法
-
NormalizedCut[2]
想要理解Normalized Cut 需要先理解什么是分割(CUT)与最小化分割(MIN-CUT),我们拿下图做例子,我们把图一看成一个整体G,现在需要把它分成两个部分。显然中间的红色虚线切割的边就是最小化分割。
最小化分割解决了把权重图G分成两部分的任务,但是问题来了,如下图所示,想要的结果是中间实线表示的分割,但是最小化切割却切掉了最边缘的角。这中情况很容易理解,因为最小化切割就是让CUT(A,B)的值最小的情况,而边缘处CUT值确实是最小,因此我们输最小化切割时会有偏差的(bias)。如何去除这种偏差就要引入Normalized Cut算法了。