图割GraphCus算法。利用颜色、纹理等信息对GraphCut进行改进,形成效果更好的GrabCut算法。
对图像的目标物体和背景建立一个K维的全协方差高斯混合模型。
其中,单高斯模型的概率密度函数用公式表示为:
高斯混合模型可表示为n个单高斯模型的概率密度加权之和:
Pi为第i个高斯模型的权值。
对含有N个像素点的图像,用z=(,L,,L,)表示。
用不透明度表示像素点的值。∈{0,1} 。1表示该像素点属于目标物体,0表示像素点属于背景。
每个像素的独立GMM参数用向量k=(,L,,L,)表示,∈{1,2,L,K}。
GrabCut算法:目标提取问题转化为求解能量函数最优解的问题,能量函数表示为:
数据项定义为:
所以, 该算法只需构建高斯混合模型,不断交互迭代分割估计和模型参数学习过程,就可以实现目标从复杂背景中的提取。
GrabCut算法的缺点
(1)需要人工交互选出包含目标区域的矩形框——解决:模仿人视觉注意力机制的显著性算法可以获取被抓取目标的区域
(2)算法要求每个像素点对应的高斯模型的参数,参数量大,时间复杂度高——解决:超像素代替该超像素中的所有像素进行参数训练
物体显著性检测
使用超像素结合GrabCut算法对图像进行分割
前提:改进算法得到超像素图。
假设共有N个超像素,用S={,,L,,L,}表示每个超像素包含的图像,其中表示第n个超像素。将超像素用作网络图的节点,对GMM参数进行估计并迭代处理,则:
使用超像素代替原始大量像素点初始化构建GMM模型,构建网络图进行参数估计并迭代计算,对图像进行分割可以提高GrabCut的运算效率。
实现流程