grab cut算法是graph cut算法的改进。在理解grab cut算之前,应该学习一下graph cut算法的概念及实现方式。
我搜集了一些graph cut资料:http://yunpan.cn/QGDVdBXwkXutH
grab cut算法详细描述见资料中的pdf文件:“GrabCut” — Interactive Foreground Extraction using Iterated Graph Cuts
grab cut算法是一种基于图论的图像分割方法,首先要定义一个Gibbs能量函数,然后求解这个函数的min-cut,这个min-cut就是前景背景的分割像素集合。
1. 能量函数的定义
在grab cut算法中,能量函数定义为:
其中U函数部分表示能量函数的区域数据项,V函数表示能量函数的光滑项(边界项)。
我们使用混合多高斯模型D(x)表示某个像素属于前景或背景的概率,这里K=5,表示第i个单高斯函数对概率贡献的权重系数,所以有, 为第i单高斯函数。为第i个单高斯函数的均值,为第i个单高斯函数的协方差。