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的最佳候選樣本對的時間複雜度變爲。