Adobe提出深度摳圖:利用卷積網路分離圖像前景與背景
選自arXiv
機器之心編譯
參與:蔣思源
摳圖,一直是一件體力活,它需要大量的操作與時間。而傳統摳圖演算法主要是以色彩為特徵分離前景與背景,並在小資料集上完成,而這就造成了傳統演算法的局限性。
論文地址:https://arxiv.org/abs/1703.03872
摘要
摳圖(Image matting)是一項基本的電腦視覺問題,並擁有廣闊的應用空間。當圖像的前景(foreground)和背景顏色或複雜紋理類似時,
簡介
摳圖(Image matting),即在圖像或視頻中精確估計前景的問題,
然而,目前摳圖演算法還是具有很大的局限性:
首先第一個局限性就是目前用來求解摳圖方程式(matting equation)的方法存在問題。
其中 Ii 是區塊 i 的 RGB 色彩,已知前景色彩 Fi,背景色彩 Bi,未知蒙版估計(matte estimation)αi。
另一個局限性就因為小資料集而產生。一般用於摳圖的資料真值(ground truth)是很複雜的,而 alphamatting.com 資料集通過提供標記資料集對摳圖研究做出了很重要的貢獻。不過因為該資料集僅僅只由 27 張訓練圖像和 8 張測試圖像組成,那麼這樣大小的資料集會帶來自然偏差(nature biased),
在這項研究中,我們提出了一種旨在克服這些局限性的方法。我們的方法就是使用深度學習在給定輸入圖像和三分圖的基礎上直接計算α蒙版(alpha matte)。我們的神經網路並不首要依賴於色彩資訊,它會學習圖像的自然結構,並將其反映到α蒙版中。例如毛髮(通常需要將其摳出來)就擁有很強的結構和紋理圖案,它們通常存在能抽取出的共同結構或α蒙版輪廓。並且由於低層次的特徵並不會捕獲這些結構,那麼就需要深度神經網路去表徵它們了。我們的兩階段神經網路包含了編碼器-解碼器階段和使用小型殘差網路進行精煉階段。我們是第一個證明了在給定輸入圖像和三分圖的情況下能採用端到端的方式學習到α蒙版。
如下圖所示,實際上我們能在三分圖(trimap)未知前景或背景的情況下產生很好的結果,而在這種情況下,大多數演算法都返回不了什麼內容。
圖 1:我們的方法和封閉形式的摳圖(Closed form matting)對比。第一張圖像是從 Alpha Matting 基準而來,第二張圖像是從我們千張測試圖像中抽取的。
為了訓練我們的深度神經網路,如下圖所示,我們將識別目標(前景)摳取出來,並放入不同的背景而構建一個大型摳圖資料集。
圖 2:創建資料集。a) 一張手動摳圖的前景圖(擁有簡單背景)作為輸入。b) 經計算的α蒙版。c) 經計算的前景圖像,可以作為物件放入到各種背景圖像(d-f)中。
我們通過深度學習解決摳圖問題。給定一個新的資料集(大規模摳圖資料集),我們的神經網路能充分利用這些資料進行訓練。並且該神經網路由以下兩個階段組成。
圖 3:我們的神經網路由兩階段組成,編碼-解碼階段(Sec. 4.1)和精煉階段 (Sec. 4.2)
精煉圖像的效果在圖 4 中展示了。注意,該精煉網路並沒有大規模改變α蒙版,只不過是精煉並銳化α值。
圖 4:摳圖精煉網路的效果。a) 輸入圖像。b) 編碼-解碼階段的輸出。c) 精煉階段的輸出結果
下一張圖表明瞭在 SAD 度量(SAD metric)下的排名結果。
圖 6:α蒙版預測使用「user」三分圖的「Troll」和「small」三分圖的「Doll」作為測試圖像。第一列顯示了測試圖像。對於每一張測試圖像,按照降冪從第 2 列到第 6 列顯示了 SAD 度量(SAD metric)下的排名結果(排名 1 到 5)。在這兩個例子中,我們的方法都實現了最好的結果。
結論
為了泛化到自然圖像中,摳圖演算法必須超越以色彩作為主要線索,並能利用更加結構性和語義性的特徵(structural and semantic features)。在該項研究中,我們展示了一種神經網路,它有足夠的能力捕捉到高層次特徵(high-order features),並利用它們計算且提升摳圖效果。實驗還展示了我們的方法不僅在標準資料集上優於以前的方法,而且它在泛化到真實圖像上也顯著地比現存演算法表現更優良一些。
並且由於低層次的特徵並不會捕獲這些結構,那麼就需要深度神經網路去表徵它們了。我們的兩階段神經網路包含了編碼器-解碼器階段和使用小型殘差網路進行精煉階段。我們是第一個證明了在給定輸入圖像和三分圖的情況下能採用端到端的方式學習到α蒙版。
如下圖所示,實際上我們能在三分圖(trimap)未知前景或背景的情況下產生很好的結果,而在這種情況下,大多數演算法都返回不了什麼內容。
圖 1:我們的方法和封閉形式的摳圖(Closed form matting)對比。第一張圖像是從 Alpha Matting 基準而來,第二張圖像是從我們千張測試圖像中抽取的。
為了訓練我們的深度神經網路,如下圖所示,我們將識別目標(前景)摳取出來,並放入不同的背景而構建一個大型摳圖資料集。
圖 2:創建資料集。a) 一張手動摳圖的前景圖(擁有簡單背景)作為輸入。b) 經計算的α蒙版。c) 經計算的前景圖像,可以作為物件放入到各種背景圖像(d-f)中。
我們通過深度學習解決摳圖問題。給定一個新的資料集(大規模摳圖資料集),我們的神經網路能充分利用這些資料進行訓練。並且該神經網路由以下兩個階段組成。
圖 3:我們的神經網路由兩階段組成,編碼-解碼階段(Sec. 4.1)和精煉階段 (Sec. 4.2)
精煉圖像的效果在圖 4 中展示了。注意,該精煉網路並沒有大規模改變α蒙版,只不過是精煉並銳化α值。
圖 4:摳圖精煉網路的效果。a) 輸入圖像。b) 編碼-解碼階段的輸出。c) 精煉階段的輸出結果
下一張圖表明瞭在 SAD 度量(SAD metric)下的排名結果。
圖 6:α蒙版預測使用「user」三分圖的「Troll」和「small」三分圖的「Doll」作為測試圖像。第一列顯示了測試圖像。對於每一張測試圖像,按照降冪從第 2 列到第 6 列顯示了 SAD 度量(SAD metric)下的排名結果(排名 1 到 5)。在這兩個例子中,我們的方法都實現了最好的結果。
結論
為了泛化到自然圖像中,摳圖演算法必須超越以色彩作為主要線索,並能利用更加結構性和語義性的特徵(structural and semantic features)。在該項研究中,我們展示了一種神經網路,它有足夠的能力捕捉到高層次特徵(high-order features),並利用它們計算且提升摳圖效果。實驗還展示了我們的方法不僅在標準資料集上優於以前的方法,而且它在泛化到真實圖像上也顯著地比現存演算法表現更優良一些。