paper info:A Global Sampling Method for Alpha Matting(2011-CVPR)
作者信息:Kaiming He, Christoph Rhemann, Carsten Rother, Xiaoou Tang, Jian Sun
C++代码链接:https://github.com/atilimcetin/global-matting
global-matting算法可以分为两块:1.是如何选择合适的样本候选对(candidate pair);2.是如何高效为每个unknown区域中的pixel找到最佳的样本候选对。
样本候选对的评价标准
matting方程:
称为的样本候选对, 为的不透明度。假定已知的候选对,则不透明度的计算公式为:
对于任意的样本对、matte值,它们对pixel 的逼近loss为:
如果仅仅用(3)来评价样本候选对(F,B),可能会出现错误匹配,即假设是前景像素,可能存在某个背景像素B能够很好地表达;反之亦然。这样的错误匹配会导致最终得到的alpha-matte质量变差,为了缓解错误匹配,作者引入了空间信息:
其中,=表示前景样本点中到当前的unknown-pixel 的最短距离,因此取值越大,表示F与的空间距离越大。同样的,可以定义 。这样,得到最终的样本候选对的评价标准:
它综合样本候选对(F,B)与unknown-pixel 在颜色空间和几何空间中距离。
SampleMatch Algorithm
a b c d
首先构造Global-sample-set。原理很简单,就是unknown区域(b中的灰色条带)靠近前景和背景的边界往外扩张k个像素,得到前后景像素的全局备选样本集,即c图中的红色(前景备选样本点集,个数记为)和绿色(背景备选样本点集,个数记为)。假设trimap中unknown区域中pixel的个数N,对于每个位于该区域的pixel而言,如果使用暴力搜索来寻找最佳候选样本对(F,B),时间复杂度为。当unknown区域面积较大时,这样的时间复杂度是我们所不能接受的。作者采用与PatchMatch algorithm相仿的做法,构建了2-D “FB search space”,使得寻找unknown区域中pixel的最佳候选样本对的时间复杂度变为。