“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》

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

  1. 【计算机图形学】“Grabcut“Interactive Foreground Extraction using Iterated Graphcuts

    "Grabcut"Interactive Foreground Extraction using Iterated Graphcuts 概述:GrabCut是基于图割(Graphc ...

  2. Node2Vec图神经网络论文阅读笔记

    数据集 斯坦福图神经网络数据集snap是Jure等人不间断收集的网络数据集,极大地推动了社交网络领域的发展. 数据集可能存在一些指标或性质说明需要在使用之前先理解: Average clusterin ...

  3. 场景图生成论文阅读笔记 之 Graph R-CNN for Scene Graph Generation

    2018 ECCV <Graph R-CNN for Scene Graph Generation> 比较早使用图网络进行场景图生成的论文,对后续工作具有一定的启发性,在这做一记录 文章目 ...

  4. 场景图生成论文阅读笔记 之 Neural Motifs

    CVPR2018 <Neural Motifs: Scene Graph Parsing with Global Context> 文章目录 <Neural Motifs: Scen ...

  5. 论文阅读笔记:Multi-Labeled Relation Extraction with Attentive Capsule Network(AAAI-2019)

    论文信息 作者: Xinsong Zhang Shanghai Jiao Tong University Pengshuai Li Shanghai Jiao Tong University Weij ...

  6. 论文阅读笔记《SuperGlue:Learning Feature Matching with Graph Neural Networks》

    核心思想   本文提出一种基于图神经网络的特征点匹配方法,把图像中的特征点看作图的节点,通过注意力机制聚合特征信息,得到用于匹配的特征向量.然后把匹配问题看作一个可微的最优运输问题(different ...

  7. 论文阅读笔记-场景图谱-图谱生成:Scene Graph Generation from Objects, Phrases and Region Captions

    文章目录 摘要 引言 正文部分 Conclusionn Li Y, Ouyang W, Zhou B等. Scene Graph Generation from Objects, Phrases an ...

  8. 【论文阅读笔记】Multi-Task Feature Learning for Knowledge Graph Enhanced

    Multi-Task Feature Learning for Knowledge Graph Enhanced 1.框架 MKR是一个通用的.端对端深度推荐框架, 由三个主要部分组成:推荐模块.KG ...

  9. 图神经网络论文阅读(九) Break the Ceiling: Stronger Multi-scale Deep Graph Convolutional Networks,NeurIPS2019

    目录 1.Krylov subspace 2.Why Deep GCN Does Not Work Well? 3. Spectral Graph Convolution and Block Kryl ...

最新文章

  1. 平台篇-58 HBase 平台实践和应用
  2. 让列表只显示数据,不显示文件夹的方法
  3. (转载)如斯场景 似曾相识
  4. 「Anaconda」取消终端命令行自动加载的conda(base)虚拟环境
  5. python图像分割算法_OpenCV-Python 图像分割与Watershed算法 | 三十四
  6. VS code 调试配置01 Debugging
  7. 近期新机发布一览:最便宜的只需699元!
  8. echart 饼图每一块间隙_日本人用豆奶做威化饼,奶香十足、不甜腻,好吃!
  9. 11-11 11:11
  10. linux 查看分区
  11. SAP固定资产业务配置及操作手册
  12. Redis入门指南之一(简介)
  13. 2台计算机网线连接无法ping通,两台电脑PING不通怎么办?
  14. 【安全硬件】Chap.6 IC和半导体产业的全球化;芯片生产猜疑链与SoC设计流程;可能会存在的安全威胁: 硬件木马、IP盗版、逆向工程、侧信道攻击、伪造
  15. cad偏移后自动变色lisp_高手帮忙修改,批量偏移 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  16. 归并排序(图解配代码)
  17. c2-00支持java_双卡超长待机 经典实用诺基亚C2-00图赏
  18. 神经性脚臭案例整理(一)
  19. swap (虚拟内存)
  20. 综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

热门文章

  1. 2019年中国金融信息化软件开发企业排名
  2. DBN的浅显易懂解释
  3. java处理纳秒时间
  4. java 设计模式 路由器_Java设计模式——工厂模式
  5. Xgboost如何处理缺失值
  6. 聊聊Dubbo3.0新特性之应用级服务发现
  7. No.02 色散补偿 TSM算法 时域离散采样方法 MATLAB Python 代码实现
  8. 小程序的老祖宗PWA为什么没有火起来?
  9. 仓储货架安全在线监测系统TMP-ANG-S002
  10. 【必看干货】在我面了10多家大厂(上岸)后,我吐血总结你要是这12道题都不能拿满分,那你就与大厂算法无缘了 ——AI视觉算法工程师