paper 117:image matting 数字抠图
很多公式和图传起来比较麻烦,其实这是一篇论文(仅参考)
图像和视频抠图(Matting)技术可以分成自动和半自动;根据背景的先验知识,又有蓝屏背景,已知背景,和自然背景扣图。报告介绍了自然背景下的半自动扣图,以及能获得类似结果的技术,如Snapping。其中我实现了Bayesian Matting。
Image Matting是将图像的背景和前景分离的技术,广泛用于图像合成和影视特技制作中。最早的技术在如蓝色绿色等单色背景下将前景物体分离,之后通过已知自然背景包含和剔除前景物体的两幅图像求解,类似的是同一个前景物体在多个背景下的多幅图像,最新的技术都是处理自然背景的单幅图像的半自动学习方法,包括将Image Matting的技术应用到视频,可以将运动的物体抠出,并合成到任意场景中。报告主要介绍半自动学习技术。
所谓半自动,是因为实现用户必须在图像上预先指定三个区域(Trimap):背景(黑色)、前景(白色)、未知区域(灰色),图1(b)。根据已知确定的前景背景,半自动技术才能一边学习一边求解。当然也有其它的交互方式,不一定需要这么详致的信息,在2.3和2.4种都是特殊的更为简化的交互。
Matting一般基于公式1,C为未知点的颜色, 是透明度,B是背景色,F是前景色:
Bayesian Matting (BM)定义一个Bayesian框架来公式化Matting的参数,并求解一个最大后验问题。BM的改进还在于,通过滑动的窗口,将已经计算出来的未知区域也作为样本数据,这样在过渡区域获得更好的效果。BM的记过比之前所有的方法都要好。
2.1. Poisson Matting [2] (Siggraph 2004)
Poisson Matting(PM)是在图像的亮度梯度场上求解一个泊松方程,确定 。PM首先在全局上求解,得到的结果通过多种局部滤波方式选择性的改进。由于给了用户更多的交互手段,处理复杂的场景比BM更加稳定
2.2.1泊松方程
将公式1表示为公式11,对公式11两边求偏导数得到公式12。左侧对应的就是输入图像的亮度梯度,只是估计值。假定背景和前景都是比较光滑的,那么项 近似为零,公式12变换成公式13,这对 的梯度估计,PM就是在这个梯度场上解出 。
相应的泊松方程是公式14,是拉普拉斯算子,div是散度运算。其狄利克雷边界条件 定义如公式15,其中代表未知区域的外边界,前景,背景,如图2(a)。
图2
2.2.2全局求解
这也是一个迭代优化,有三个步骤:
1) 初始化(F-B)项,因为F和B未知,分别近似为在 中最邻近的像素。
2) 计算 ,求解公式14。
3) F,B优化,使,即把几乎全部是前景色的像素加入到 ;类似的,。然后将 中的F,B更新到在 和 与之最近的像素颜色。
重复步骤2,3,直到 的变化足够小或 和 为空。
2.2.3局部优化
局部优化事实上在全局求解结果不令人满意的区域加入用户的交互,使得对 梯度的估计更加准确,同时加入全局求解中被忽略的 项,如图2(b)区域 。此时的边界条件是公式16,
2.1. GrabCut-Interactive Foreground Extraction using Iterated Graph Cuts [3](Siggraph 2004)
GrabCut与上诉两种Matting不太一样,首先是在先验知识的获取上,只需要用户在前景物体周围画一个方框;其次,GrabCut分成两个步骤,一是前景背景分割,二在膨胀的边界上在真正的Matting,平滑过渡。GrabCut在对比度较低的边界能获得比以往技术更好的结果,但是并不能处理复杂的情况,比如大面积的交错毛发,这是因为第一步的分割不能在这些区域获得好结果。
2.3.1 数据模型
GrabCut的数据模型建立在GraphCut的基础上,只是用了一个高斯混合模型(Gaussian Mixture Model)代替原先的直方图,与Bayesian Framework类似。
对于输入图像z = (z1,…,zn,…,zN),透明值表示成 =( ,…, ),,若是强分割,,0表示背景,1是前景。GrabCut附加了一个向量k = (k1,…,kn,…,kN), 到图像z,代表来自背景或前景的一个GMM。于是,定义Gibbs能量:
能量E包含了数据项和平滑项。数据项U(公式18)定义了 的分布与输入z的匹配程度,其中。 是一个高斯概率分布, 是混合权系数;通过对数函数将乘法和指数运算转化成加减法,全部展开为公式19。 分别是高斯分布的均值和协方差矩阵。
于是,公式19相关的所有参数:
于是,我们要估计 ,通过动态规划最小化以下Gibbs能量:
最后,估计的前景色与已知的前景色比较,将差异最小的复制到当前区域,进一步保证平滑。
2.4.1 GraphCut图像分割
图像被看成一个图, , 是所有的节点, 是连接相邻节点的边。图像分割可以当作一个二元标记问题,每一个 ,有唯一的一个 {前景为1,背景为0}与之对应。所有的 集合X可以通过最小化Gibbs能量E(X)获得:
同样的,根据用户画的曲线,我们有前景节点集F和背景节点B,未知节点集U。首先用K-Mean方法将F,B的节点聚类,计算每一个类的平均颜色, 代表所有前景类的平均颜色集合,背景类是 。计算每一个节点i到每一个前景类的最小距离,和相应的背景距离 ,定义公式28:
前两组等式保证定义与用户输入一致,第三组等式意味着与前背景的颜色相近度决定着未知点的标记。
E2定义为与梯度相关的一个函数:
E2的作用是减少在颜色相近的像素之间,存在标记变化的可能,即使其只发生在边界上。
上述作用于像素的GraphCut因其效率并不适合实时交互。于是[4]在输入图像上进行预先作了过分割,然后把每一块当作一个像素来看待,颜色取均值,速度提升了10倍。
一、 References
[1] Chuang, Y.-Y., Curless, B., Salesin, D. H., Szeliski, R. 2001. A bayesian approach to digital matting. In Proceedings of CVPR 2001, Vol. II, 264-271.
[2] Jian Sun, Jiaya Jia, Chi-Keung Tang and Heung-Yeung Shum. Poisson Matting.In Proceedings of ACM SIGGRAPH 2004, Vol 23, No. 3, April 2004.
[3] ROTHER, C., BLAKE, A., AND KOLMOGOROV, V. 2004. Grabcut - interactive foreground
extraction using iterated graph cuts. In Proceedings of ACM SIGGRAPH 2004.
[4] Yin Li, Jian Sun, Chi-Keung Tang, Heung-Yeung Shum, 2004, Lazy Snapping, In Proceedings of ACM SIGGRAPH 2004.
paper 117:image matting 数字抠图的更多相关文章
- paper 116:自然图像抠图/视频抠像技术梳理(image matting, video matting)
1. Bayesian Matting, Chuang, CVPR 2001.http://grail.cs.washington.edu/projects/digital-matting/paper ...
- Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘
Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:g7v1 作者简介 作为全球Python培训界的领军人物,<Python学习手册:第4版>作者M ...
- Python学习手册(第4版)PDF高清完整版免费下载|百度云盘
Python学习手册(第4版)PDF高清完整版免费下载|百度云盘 提取码:z6il 内容简介 Google和YouTube由于Python的高可适应性.易于维护以及适合于快速开发而采用它.如果你想要编 ...
- LearnPython_week3
函数说明 1 # -*- coding:utf-8 -*- 2 # Author:Wong Du 3 4 5 ###函数, 6 # 能避免代码重复, 7 # 方便代码修改等操作 8 def wong( ...
- 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting
一.序言 陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者 ...
- paper 108:系统学习数字图像处理之图像复原与重建
首先,必须注意这里所限制的处理条件. 关于图像退化/复原模型 退化的图像是由成像系统的退化加上额外的噪声形成的. 1.只考虑噪声引起的退化 噪声模型,包含于空间不相关和相关两种,除了空间周期噪声,这里 ...
- paper 156:专家主页汇总-计算机视觉-computer vision
持续更新ing~ all *.files come from the author:http://www.cnblogs.com/findumars/p/5009003.html 1 牛人Homepa ...
- paper 61:计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
转载出处:blog.csdn.net/carson2005 以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV ...
- paper 27 :图像/视觉显著性检测技术发展情况梳理(Saliency Detection、Visual Attention)
1. 早期C. Koch与S. Ullman的研究工作. 他们提出了非常有影响力的生物启发模型. C. Koch and S. Ullman . Shifts in selective visual ...
随机推荐
- 性能分析神器VisualVM
VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...
- 新手程序员随笔2——初识html、css和javascript
翻看博客,发现好久木有发blog了.纠其原因,一则是近来工作上卡到了一个编程难题,我是一个单线程的小猿,当我手头有事情做的时候,我不想分心去做其它事情,如写blog.二则是我个人的写作能力不佳,想到写 ...
- Kali 2016.2版本安装vmtools实现本机与虚拟机文件复制
Kali官方下载:http://cdimage.kali.org/kali-2016.2/kali-linux-2016.2-amd64.iso VM12 Pro下载:https://mega.nz/ ...
- python 安装nltk,使用(英文分词处理,词干化等)(Green VPN)
安装pip命令之后: sudo pip install -U pyyaml nltk import nltk nltk.download() 等待ing 目前访问不了,故使用Green VPN htt ...
- 机器学习常用Python扩展包
在Ubuntu下安装Python模块通常有3种方法:1)使用apt-get:2)使用pip命令(推荐);3)easy_instal 可安装方法参考:[转]linux和windows下安装python集 ...
- 面试习题之设计模式 C#观察者模式(猫叫老鼠惊走主人醒)
腾讯云测试|TEST Tencent Cloud /* * CatShout.cs */ using System; using System.IO; using System.Collections ...
- 配置Office 365单点登录摘要
O365: 如果O365账号之前做过测试,则停用同步,强制删除已有用户涉及命令:Remove-MsolUser -UserPrincipalName zhang_san@company.cn (-Re ...
- C# 依赖注入
http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html 这篇文章真的非常非常好···绝对值得收藏学习. 目录 目录 1 ...
- centos下JDK的卸载与安装
linux是自带JDK的,但是它自带的JDK是openJDK,我们如果需要安装ant之类的软件,使用这个JDK是不行的.所以我们需要卸载linux下自带的JDK,并安装我们准备的JDK. JDK的卸载 ...
- LeetCode记录(1)——Array
1.Two Sum naive 4.Median of Two Sorted Arrays 找两个已排序数组的中位数 直接数可以过,但很蠢,O(m+n)时间 class Solution { publ ...