图割论文阅读笔记:“GrabCut” — Interactive Foreground Extraction using Iterated Graph Cuts

“GrabCut” — Interactive Foreground Extraction using Iterated Graph Cuts

摘要
经典的图像分割使用纹理(颜色)信息,或者边缘信息。最近,一个基于图割优化的方法成功的结合了这两种信息。本文将在三个方面改进graph-cut方法。优化迭代;简化用户交互;通过border matting让边缘更自然。

1.Introduction
本文解决了交互式前景提取时,复杂环境下的背景不能简单提取的问题。前景目标是一个alpha-matte,反映了前背景的比例(这里一般背景完全透明,只取前景)。目标是在适度的用户交互下就实现高效的分割。其高效性包括:将目标从背景中准确的分割出来;主观的说服性的alpha值,其表现在模糊、混合像素和透明度:清晰的前景颜色、没有从背景中渗透过来的颜色。一般来说,交互的程度达到对单个像素的标记,也只能在一些局部上反应前景或背景。

1.1 Previous approaches to interactive matting
这部分简单介绍了当前的几种交互式分割工具:Magic Wand,Intelligent Scissors,Graph cut 和Level Sets。以及几种matting工具:Bayes Matting,Knockout。
Magic Wand:选点或者区域,分割结果不好。
Intelligent Scissors:选粗略的边界,分割完后可以在加额外的种子,但是想得到好的结果,用户的操作太多了。
Bayes Matting:用户需要标记一个trimap T,也就是得把图像分为确定的目标Tf、确定的背景Tb和不确定的区域Tu。还是用户交互程度太大。
Knockout 2:和Bayes Matting差不多。
Graph Cut:相对于Bayes Matting有很nb的优化技术,就是不用想Bayes matting那样用边缘提取trimap了,只需要画几条线,也优化了颜色模型,即便是前景和背景没有明显差别时也有很好的鲁棒性。

1.2 Proposed system:GrabCut
理想情况下,一个Matting工具在不需要硬约束的情况下,能在trimap的Tu区域产生连续的alpha值,alpha值只能是0或1。然而,在前背景很好分离时,能有效解决matting问题,但是在camouflage时就不行了。这正是我们想决解的问题。
首先我们使用迭代图割得到硬分割(在第二节和第三节)。然后(第四节)在Tu区域计算alpha的值。最后实现边缘以外的背景透明。
相对于Graph cuts我们有两个增强:迭代估计和更少的用户交互,不用标记前景,只需要用一个矩形框标记。我们还提出了border matting使边缘更加自然、平滑。

2.Image segmentation by graph cut
先用graph cut来生成我们算法的前景。也就是先做一次粗分割,然后扩张分割边界为一个分隔带,带内就是前景区,带外就是背景区,带中就是不确定区域。

2.1 Image segmentation
Graph cut解决黑白图像的分割,并能生成一个初始的trimap T。把图像设为一个灰度值数组Z=(z1,…,zn,….zN)(N个像素点)。图像由表示每个像素不透明度的数组α=(α1,…αN)分割。一般像素的α在0和1之间,但是对于用户标记的像素,背景是0,前景是1。参数θ是图像前景和背景的灰度等级直方图,由相应的灰度组成:
这里写图片描述
一个前景,一个背景。直方图由用户标记的Tf和Tb得到,且直方图被归一化。
图像分割也就是由Z和θ得到α。

2.2 Segmentation by energy minimisation
能量函数E的最小化对应要得到的分割,包括上边提到的三个参数。采用吉布斯能量形式:
这里写图片描述
数据项U在给定直方图模型θ的情况下评估不透明度分布α对数据z的拟合。
在边缘项V中,[φ]表示对于φ取值为0,1的指示符函数,C是相邻像素对的集合,dis(·)是相邻像素的欧几里得距离。这个能量函数使有相似灰度的区域合并。在实际当中,还需要和像素的8邻域结合起来。当β= 0时,平滑项就成了Ising prior,它实施全图的平滑,平滑程度由γ决定。然而,在Graph cut[Boykov和Jolly 2001]中表明,设置β>0更好:
这里写图片描述
尖括号是图像样本的期望。这样设置β能使(4)中的指数项能适当的选择高或低的常数。γ由训练15张图确定为50。
现在能量模型已经确定了,就能通过最小化E来求分割了。
这里写图片描述
用Graph cut[Boykov和Jolly 2001]中的最小割算法。这个算法是硬分割的基础,下一节讲了Grabcut的新的硬分割算法的三个改进点:用GMM来代替单色图像模型的直方图;用迭代过程代替一次性的最小割;只用矩形框来标记(不完全标记),也就是只需要确定trimap的Tb。

3.The GrabCut segmentation algorithm
这部分介绍了迭代估计和不完全标记
3.1 Colour data modelling
现在图像的像素点Zn在RGB颜色空间,但是过多的颜色空间直方图是不实际的,所以我们用软分割和GMMs。每个GMM(K个分量(通常K = 5)的全协方差高斯混合),一个用于背景,一个用于前景。为了有效地处理GMM,在优化框架中,引入附加向量k = {k1,…,kn,…,kN},其中kn∈{1,… K} ,向每个像素提供唯一的GMM分量,并根据αn= 0或1来判断是背景模型的GMM分量还是前景模型的GMM分量。
那么吉布斯能量(2)现在变成:
这里写图片描述
同样取决于GMM分量的变量k。现在定义数据项U,考虑到颜色GMM模型:
这里写图片描述
权重π表示背景和前景分布的2K高斯分量的μ和协方差Σ。 平滑项V与单色情况(4)基本上没有变化,除了使用颜色空间中的欧几里得距离来计算对比度项
这里写图片描述

3.2 Segmentation by iterative energy minimization
GrabCut新的能量最小化使用迭代的方法,而不是一次分割的算法。这样能自动细化不透明度α,来自初始trimap的Tu区域的新标记的像素用于细化颜色GMM参数θ。Grabcut系统的主要组成如下
这里写图片描述
第一步是简单的,一一列出每个像素n的kn。第二步由一组高斯参数估计过程实现。对于前景模型中的给定GMM分量k,定义像素子集F(k)= {zn:kn = k和αn= 1}。以标准方式估计平均值μ(α,k)和协方差Σ(α,k)作为F(k)中的像素值的样本均值和协方差,权重为π(α,k)= | F(k) | /Σk| F(k)|,其中| S |表示集合S的大小。最后一步用[Boykov和Jolly 2001]中的最小割算法。
算法的结构保证了适当的收敛性质。 这是因为迭代最小化的每个步骤1至3都是相对于三组变量k,θ,α的总能量E的最小化。 因此,E单调减少。 因此,该算法被保证至少收敛到E的局部最小值。可以直接检测何时E不再显着减少,并且自动终止迭代。
迭代最小化对于实际操作的好处:初始化和优化之后,用户的编辑减少了;初始化的交互减少了。

3.3 User Interaction and incomplete trimaps
Imcomplete trimaps:迭代最小化算法允许用户交互的改变。用户不用标记完全的trimap T,只需要标记出背景Tb,使Tf=0。不用标记前景。迭代最小化通过允许随时可撤回的临时标签来处理这种不完全标记,只有背景Tb是固定的,不会撤回。在我们的实现当中,Tb就是矩形框以为的像素。
Further user editing:一般来说,初始的交互就能分割好,但是总有例外。这时就需要用户的进一步交互了。用户再标记确定的前景或背景,然后最小化能量(上图中的步骤3)。另外,随着用户的标记,上图也会更新颜色模型。注意,为了效率,通过Graph Cut计算的最佳流量可以在用户编辑期间重复使用。

4.Transparency
考虑到matting工具应该能够产生连续的α值,我们现在描述一种机制,通过该机制,如上所述的硬分割可以通过“border matting”来增强,其中允许在硬分割边框周围的窄带中实现完全透明。 这足以处理光滑边缘的模糊和像素混合的问题。 技术的关键:估计条带的alphamap,而不生成伪像,并恢复前景色,背景完全透明。
4.1 Border Matting
Border matting由一个闭合轮廓C开始,C由上一节迭代硬分割的分割边界经拟合一个折线后获得。然后trimap{Tb,Tu,Tf}就得到了,其中Tu是C±w大小的一个像素带的集合(w=6)。目标是计算map αn,n∈Tu,并且为了保证鲁棒性,为Tu内的α轮廓的形状设一个强模型。模型基于[Mortensen和Barrett 1999],但有两个不同::正则化,以提高估计的α-map的质量;在整个Tu中用动态规划法估计α。
令t = 1,…,T是轮廓C的参数化,当曲线C闭合时,其周期为T。对Tu中的每个像素n分配一个索引t(n)。由软阶梯函数g确定 α轮廓:
这里写图片描述
其中rn是从像素n到轮廓C的有符号距离,参数Δ,σ分别确定α轮廓从0到1的过渡的中心和宽度。假设具有相同索引t的所有像素共享参数Δt,σt的值。
通过使用动态规划法 over t使以下能量函数最小化来估计参数值Δ1,σ1,…,ΔT,σT:这里写图片描述
其作用是鼓励α值沿弧线C平滑地变化(我们取λ1= 50和λ2= 1000)。 对于动态规划法的计算,Δt的值离散为30个级别,σt为10个级别。我们的边缘项时间复杂度是线性的。 如果轮廓C闭合,则不能精确地使用单程动态规划法进行最小化,并且假设第一遍给出了t = T / 2的最优轮廓,则用两次完整的动态规划法。
数据项的定义:
这里写图片描述
前景和背景的高斯参数μt(α),Σt(α),α= 0,1通过每个区域Ft和Bt的均值和协方差来确定,Ft = St∩Tf和Bt = St∩ TB,其中St是以t处的分割边界C为中心的大小为L×L个像素的正方形区域(并且我们取L = 41)。
以上描述参考下图:
这里写图片描述

4.2 Foreground estimation
这里的目的是估计前景像素的颜色,且没有背景颜色的流出。Bayes matting中会出现背景像素没有去除干净的情况,因为她所使用的概率算法是从混合像素中去除背景部分,不是很精确。我们通过从前景Tf本身借用像素来避免这种情况。首先,用the Bayes matte algorithm [Chuang et al. 2001, eq. (9)]获得对像素n∈Tu的前景色fn的估计。然后,对于如上定义的邻域Ft(n),最类似于fn的像素颜色来形成前景颜色。最后,由正则化的α和得到的前景像素组合得到border matting的最后结果。

参考文章:
图像分割之(三)从Graph Cut到Grab Cut
读《”GrabCut” – Interactive Foreground Extraction using Iterated Graph Cuts》

  • 3
    点赞
  • 10
    收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 2
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值