A closed form solution to natural image matting。《Computer Vision for Visual Effects》讲解笔记。

小白初涉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)




















  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值