A closed form solution to natural image matting。《Computer Vision for Visual Effects》讲解笔记。
2015-03-08 15:12
639 查看
小白初涉matting界,boss便指了几篇经典论文让我自行参悟。无奈基础为负,参悟了个把月依旧门都没入。看到油管里这个视频,一种如获至宝的感觉。https://www.youtube.com/watch?v=Mvd93DdgqAY。这一集简要讲解了closed form matting,避开了生涩的高端理论,只讲最基本的原理,实在很适合入门,遂笔记分享之。
适合人群:对closed form matting 完全不入门的小白们。主要是推荐视频,笔记仅供参考(误导)。因为自己也是半懂不懂,所以没法对大家负责了。但求指正和补充。。
Part 1
首先给出了一幅龙猫图像
和它的RGB分布
发现前景的颜色分布像在一个skinny ellipse(瘦长椭圆)里。而背景因为是蓝屏,只有一种颜色,所以便是左上方那一小坨啦。
一些研究证明,在一个小窗口(譬如5*5)里,它的颜色分布(对于5*5窗口就是那25个像素的颜色分布)几乎处在一条线段上。
这就是color-line assumption。
| ColorLine assumption:
在一个小窗口内,前景颜色F和背景颜色B的分布各自满足于在一条线段上(RGB 空间)。
补充:
一个窗口的前景色对应一条线段。
空间里可使用2个端点确定一条线段。
一个窗口的前景颜色分布可由2端点确定。(对于一个窗口来说,F1F2是固定的)
背景的B1B2 同理。
此刻,别忘了抠图的关键假设:I =αF + (1-α)B ——图像是由前景色和背景色通过参数α合成的。
Part 2
再强调一下,在一个小窗口里,F1F2是固定的。这个小窗口里的所有前景颜色都分布在F1F2确定的这条线段上——只是β值的差别而已。
背景色同理。
接着提出了一个很厉害的结论:
如果颜色线性假设成立,那么我们要求的true matte(α)满足等式:
αi = aT Ii + b,
(1)
对于该窗口的所有像素来说。
有了这个结论,如果我们知道了aT、b,把已知的图像像素Ii(RGB空间下,是个3*1向量),往里轻松一代,不就能得到梦寐以求的α了!
Part3 中Rich老师开始证明这个结论。同时说明里面的aT和b是什么。
Part 3
把color line assumption代入I = αF + (1-α)B,
展开:
然后把B2移到左边,写成矩阵相乘形式:
看到木有看到木有,我们要求的α 。
移到左边
解释:原
是个3*3的矩阵,因为RGB颜色是(3*1)向量。
把它的逆矩阵
看作
。因为我们只需要求α,知道第一行r1T已足够。
最后,
知道r1T和B2就可以求α了,噢,别忘了r1T来源于
所以我们知道这些端点——F1F2B1B2,就能求α了。
Part 4
以上的理论怎么用在matting上呢?
建立一个cost function(以解决实际问题):
对于每颗像素要考虑它的α值。
对于每个窗口,则考虑它的a和b。【还记得 (1) 中的和b吗】
所以才有了上面这个2层嵌套的求和式子。一方面它考虑到了每颗像素(外层求和),另一方面对于每个像素当前所处的小窗口(内层求和),(每个窗口都有它的a、b,也就是该窗口的F1F2B1B2)。内层求和,就是通过该窗口的a、b衡量该窗口。
一个像素属于多个窗口——是propagation的基础。窗口加强了像素之间的联系。相隔较远的像素受窗口的影响小,而相隔较近的像素,因为在一个或几个有交集的窗口的里,故互相影响着。这样的设计强化了对α的限制,使之不会太过突然的剧烈的变化。
Part 5
对cost function的修改和变形
改变:加了一个regularization term:
这样做的作用是防止a太大,防止a” getting too far from a constant”.
假设a=0,意味着该窗口里的matte是恒定的(α=b)。恒定是好的。相反,a太大,α也会变得crazy起来。所以要加这个regularization term。
变形:最后可变形成这样:
注意到Gj完全取决于图像,而a,b,α都是未知的。
好啦,我们的cost function的直观意思就是在所有窗口下向量
和向量
相互贴近。
如何最小化这个cost function是一个线性最小二乘问题(a linear least squares problem)。
我们最终关心的是α。假设我们已知α,什么样的a和b能让
最小?
PSEUDOINVERSE: 虚拟反矩阵
这样,如果知道α,就知道a,b了,即a、b是α的表达式!
把optimal a、b代进去,我们得到了一个只有α的cost function:
α:特征值为0的特征向量
L称为 matting Laplacian
求最小值即对它求导。并另导数=0,求解。
matting的解便在这0特征向量中了。
坏消息是,有太多的0特征向量了。
为了限制matte,得到我们需要的结果,我们把用户输入(scribbles)加入其中。即一些像素被强制标记为α=0(背景)或α=1(前景)
实际上我们求解的是
(Scribbles:α确定为0,和α确定为1)
适合人群:对closed form matting 完全不入门的小白们。主要是推荐视频,笔记仅供参考(误导)。因为自己也是半懂不懂,所以没法对大家负责了。但求指正和补充。。
Part 1
首先给出了一幅龙猫图像
和它的RGB分布
发现前景的颜色分布像在一个skinny ellipse(瘦长椭圆)里。而背景因为是蓝屏,只有一种颜色,所以便是左上方那一小坨啦。
一些研究证明,在一个小窗口(譬如5*5)里,它的颜色分布(对于5*5窗口就是那25个像素的颜色分布)几乎处在一条线段上。
这就是color-line assumption。
| ColorLine assumption:
在一个小窗口内,前景颜色F和背景颜色B的分布各自满足于在一条线段上(RGB 空间)。
补充:
一个窗口的前景色对应一条线段。
空间里可使用2个端点确定一条线段。
一个窗口的前景颜色分布可由2端点确定。(对于一个窗口来说,F1F2是固定的)
背景的B1B2 同理。
此刻,别忘了抠图的关键假设:I =αF + (1-α)B ——图像是由前景色和背景色通过参数α合成的。
Part 2
再强调一下,在一个小窗口里,F1F2是固定的。这个小窗口里的所有前景颜色都分布在F1F2确定的这条线段上——只是β值的差别而已。
背景色同理。
接着提出了一个很厉害的结论:
如果颜色线性假设成立,那么我们要求的true matte(α)满足等式:
αi = aT Ii + b,
(1)
对于该窗口的所有像素来说。
有了这个结论,如果我们知道了aT、b,把已知的图像像素Ii(RGB空间下,是个3*1向量),往里轻松一代,不就能得到梦寐以求的α了!
Part3 中Rich老师开始证明这个结论。同时说明里面的aT和b是什么。
Part 3
把color line assumption代入I = αF + (1-α)B,
展开:
然后把B2移到左边,写成矩阵相乘形式:
看到木有看到木有,我们要求的α 。
移到左边
解释:原
是个3*3的矩阵,因为RGB颜色是(3*1)向量。
把它的逆矩阵
看作
。因为我们只需要求α,知道第一行r1T已足够。
最后,
知道r1T和B2就可以求α了,噢,别忘了r1T来源于
所以我们知道这些端点——F1F2B1B2,就能求α了。
Part 4
以上的理论怎么用在matting上呢?
建立一个cost function(以解决实际问题):
对于每颗像素要考虑它的α值。
对于每个窗口,则考虑它的a和b。【还记得 (1) 中的和b吗】
所以才有了上面这个2层嵌套的求和式子。一方面它考虑到了每颗像素(外层求和),另一方面对于每个像素当前所处的小窗口(内层求和),(每个窗口都有它的a、b,也就是该窗口的F1F2B1B2)。内层求和,就是通过该窗口的a、b衡量该窗口。
一个像素属于多个窗口——是propagation的基础。窗口加强了像素之间的联系。相隔较远的像素受窗口的影响小,而相隔较近的像素,因为在一个或几个有交集的窗口的里,故互相影响着。这样的设计强化了对α的限制,使之不会太过突然的剧烈的变化。
Part 5
对cost function的修改和变形
改变:加了一个regularization term:
这样做的作用是防止a太大,防止a” getting too far from a constant”.
假设a=0,意味着该窗口里的matte是恒定的(α=b)。恒定是好的。相反,a太大,α也会变得crazy起来。所以要加这个regularization term。
变形:最后可变形成这样:
注意到Gj完全取决于图像,而a,b,α都是未知的。
好啦,我们的cost function的直观意思就是在所有窗口下向量
和向量
相互贴近。
如何最小化这个cost function是一个线性最小二乘问题(a linear least squares problem)。
我们最终关心的是α。假设我们已知α,什么样的a和b能让
最小?
PSEUDOINVERSE: 虚拟反矩阵
这样,如果知道α,就知道a,b了,即a、b是α的表达式!
把optimal a、b代进去,我们得到了一个只有α的cost function:
α:特征值为0的特征向量
L称为 matting Laplacian
求最小值即对它求导。并另导数=0,求解。
matting的解便在这0特征向量中了。
坏消息是,有太多的0特征向量了。
为了限制matte,得到我们需要的结果,我们把用户输入(scribbles)加入其中。即一些像素被强制标记为α=0(背景)或α=1(前景)
实际上我们求解的是
(Scribbles:α确定为0,和α确定为1)
相关文章推荐
- 图像抠图闭合方案 A Closed Form Solution to Natural Image Matting
- A closed Form Solution to Natural Image Matting小结
- 自然图像抠图的一种闭式解 (a closed-form solution to natual image matting)
- 一本有趣的书:Computer Vision for Visual Effects
- 学习 closed-form solution image matting
- 一本有趣的书:Computer Vision for Visual Effects
- 一本有趣的书:Computer Vision for Visual Effects
- Vision with Direction: A Systematic Introduction to Image Processing and Computer Vision
- A Closed-form Solution to Photorealistic Image Stylization-reading notes
- Gabor filter for image processing and computer vision
- MATLAB and Octave Functions for Computer Vision and Image Processing
- [深度学习论文笔记][Image to Sentence Generation] Deep Visual-Semantic Alignments for Generating Image Descri
- 论文笔记:Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning
- 李菲菲课程笔记:Deep Learning for Computer Vision – Introduction to Convolution Neural Networks
- 图像处理和计算机视觉中的Gabor滤波:Gabor filter for image processing and computer vision
- MATLAB Functions for Computer Vision and Image Analysis
- Enable VT-x in your BIOS security settings (refer to documentation for your computer)
- How To Print a Form That Is Too Large for the Screen or Page
- 论文笔记之:DualGAN: Unsupervised Dual Learning for Image-to-Image Translation
- Datasets for Computer Vision Research