图割与最大流和连续最大流算法

图割

       在图像分割中,图割是近年来十分流行的交互式分割方法。与比它早一些出现的水平集、活动轮廓等分割方法相似,都是基于能量最小化的最优求解从而得到分割结果,不同的是其结果能得到全局最优解。

        在离散域中,图像的分割可以通过使以下能量函数最小化得到:

(公式1)

        其中D是区域项能量,衡量了将像素p划分到区域lp(例如分割对象或者背景)的代价,V是平滑项能量,衡量了将相邻的两个像素p,q分别划分到区域lp和lq的代价。

这个能量最小化的过程可以通过最大流算法求解,用图(graph)来表示如下:

图割与最大流和连续最大流算法_第1张图片

        这个图的顶点集合为V,边的集合为E。图像中每一个像素点对应一个顶点,另外还有两个特殊的顶点:源点s和汇点t。有两种边:一种是连接两个相邻像素点的边en,一种是连接每个像素点和s或者t的边et。对图像的分割的过程从而转化成对上述图的切割,使这个图中的顶点分成互斥的两个集合,这个切割路径所经历的那些边的能量之和便对应公式1中的能量。分割的目标就是求得代价最小的这样一个切割,称为最小割。

最大流 

      在最优化理论中,最小割与最大流是一组对偶问题。将这些边设想成管道,从源头s出发向t输送石油,将每个边上的能量理解为该管道所能运送的最大流量,那么从s向t所能运送的最大流量实际上是被运量小的那些边所限制(类似于短板效应),这个最大流等于最小割所经过的那些边的能量之和。从而最小割的问题可转化为最大流的问题。

        最大流的目标函数为及约束条件为:

图割与最大流和连续最大流算法_第2张图片(公式2)

        其中p是各个边上的实际流量,C是对应边上所允许通过的流量最大值。

        上述方法对图进行离散化的表示的缺点是存在网格偏差。因此近些年转而通过连续最大流的方法来求解图像分割问题。

连续最大流

        在连续域中所定义的与公式1所对应的能量函数为:

(公式3)

        这里的lambda取值为0(表示目标区域)或者1(背景)。如果进行松弛化处理,使其取值范围为[0,1],则该最优化问题变成一个凸包优化问题。

        通过连续最大流来求该能量函数的最小值,连续最大流的目标函数及约束条件为:

图割与最大流和连续最大流算法_第3张图片 (公式4)

        可以证明公式4与公式3是等价的。对公式4的求解可通过其增广拉格朗日函数进行:

图割与最大流和连续最大流算法_第4张图片(公式5)

        连续最大流的优点有二:一是避免了网格偏差,二是对公式5的最优化过程可以并行计算,因此可通过GPU实现快速分割。

参考文章:

图割和最大流:

Boykov, Yuri Y., and Marie-Pierre Jolly. "Interactive graph cuts for optimal boundary & region segmentation of objects in ND images." Computer Vision, 2001. ICCV 2001. Proceedings. Eighth IEEE International Conference on. Vol. 1. IEEE, 2001.

连续最大流:

Yuan, Jing, Egil Bae, and Xue-Cheng Tai. "A study on continuous max-flow and min-cut approaches." Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. IEEE, 2010.
Guo, Fumin, et al. "Globally optimal co-segmentation of three-dimensional pulmonary 1 H and hyperpolarized 3 He MRI with spatial consistence prior." Medical image analysis 23.1 (2015): 43-55.


你可能感兴趣的:(图像处理)