一、論文簡介
文章使用譜分割的方法對圖像進行軟分割,分割過程既可以自動進行,也可以通過人工交互完成。之前的方法對Matting的定義爲:I i = α i F i + ( 1 − α i ) B i I_i = \alpha_iF_i+(1-\alpha_i)B_i I i = α i F i + ( 1 − α i ) B i , 本文進行了擴展,將Matting問題定義爲如下的形式:
I i = ∑ k = 1 K α i k F i k , f o r . ∀ i ∑ k = 1 K α i k = 1 I_i =\sum^K_{k=1}\alpha^k_iF^k_i, for. \forall i\sum^K_{k=1}\alpha^k_i=1 I i = k = 1 ∑ K α i k F i k , f o r . ∀ i k = 1 ∑ K α i k = 1
我們看看下面這張示意圖:
圖中(d)就是指的整個圖像分爲了8個layer:F 1 , F 2 , F 3 , F 4 , F 5 , F 6 , F 7 , F 8 F^1,F^2,F^3,F^4,F^5,F^6,F^7,F^8 F 1 , F 2 , F 3 , F 4 , F 5 , F 6 , F 7 , F 8 , 每個layer的size跟原圖像相同。
圖中(e)就是8個α \alpha α :α 1 , α 2 , α 3 , α 4 , α 5 , α 6 , α 7 , α 8 \alpha^1,\alpha^2,\alpha^3,\alpha^4,\alpha^5,\alpha^6,\alpha^7,\alpha^8 α 1 , α 2 , α 3 , α 4 , α 5 , α 6 , α 7 , α 8 . 同時,每個α \alpha α 的size跟原圖像相同。
論文Spectral Matting的核心工作就是:通過 F F F 得到 α \alpha α
對於第1個像素的I 1 I_1 I 1 :I 1 = α 1 1 F 1 1 + α 1 2 F 1 2 + α 1 3 F 1 3 + α 1 4 F 1 4 + α 1 5 F 1 5 + α 1 6 F 1 6 + α 1 7 F 1 7 + α 1 8 F 1 8 I_1=\alpha^1_1F^1_1+\alpha^2_1F^2_1+\alpha^3_1F^3_1+\alpha^4_1F^4_1+\alpha^5_1F^5_1+\alpha^6_1F^6_1+\alpha^7_1F^7_1+\alpha^8_1F^8_1 I 1 = α 1 1 F 1 1 + α 1 2 F 1 2 + α 1 3 F 1 3 + α 1 4 F 1 4 + α 1 5 F 1 5 + α 1 6 F 1 6 + α 1 7 F 1 7 + α 1 8 F 1 8
對於第1個像素的α \alpha α :α 1 1 + α 1 2 + α 1 3 + α 1 4 + α 1 5 + α 1 6 + α 1 7 + α 1 8 = 1 \alpha^1_1+\alpha^2_1+\alpha^3_1+\alpha^4_1+\alpha^5_1+\alpha^6_1+\alpha^7_1+\alpha^8_1 =1 α 1 1 + α 1 2 + α 1 3 + α 1 4 + α 1 5 + α 1 6 + α 1 7 + α 1 8 = 1
$$(1)Spectral Matting示意圖$$
Matting的主要應用是圖像合成。有了α \alpha α ,接下來就可以提取前景跟背景,這裏我們將上圖(d)中的三塊紅色框起來的部分組合一下即可:α F = α 3 + α 5 + α 7 \alpha_F=\alpha^3+\alpha^5+\alpha^7 α F = α 3 + α 5 + α 7 。我們發現α F \alpha_F α F 其實就是上圖(c)的內容,白色部分:純白色爲1,邊緣部分半透明介於0-1之間,其餘黑色部分就是背景爲0。
總結起來,有三個主要問題:
1、Laplace矩陣的譜分割,如何通過譜分割得到(d)圖
2、Spectral Matting,如何通過硬分割得到軟分割
3、如何提取前景部分
二、圖像的譜分割
譜分割是一種圖分割的方法,詳細可以參考知乎上這篇文章:譜聚類方法推導和對拉普拉斯矩陣的理解 。
譜分割得先構建一個對稱半正定的Laplacian矩陣,實際上就是相似度矩陣,具體定義爲:
L i , j = { ∑ q ∣ ( i , j ) ∈ w q − 1 ∣ w q ∣ ( 1 + ( I i − μ q ) T ( Σ q + ϵ ∣ w q ∣ I 3 ) − 1 ( I j − μ q ) ) i ≠ j ∑ j = 1 n − L i , j i = j . L_{i,j} = \begin{cases}
\sum_{q|(i,j)\in w_q}-\frac{1}{|w_q|}(1+(I_i-\mu_q)^T(\Sigma_q+\frac{\epsilon}{|w_q|}I_3)^{-1}(I_j-\mu_q))& i\not=j\\
\sum^n_{j=1}-L_{i,j}& i=j
\end{cases}. L i , j = { ∑ q ∣ ( i , j ) ∈ w q − ∣ w q ∣ 1 ( 1 + ( I i − μ q ) T ( Σ q + ∣ w q ∣ ϵ I 3 ) − 1 ( I j − μ q ) ) ∑ j = 1 n − L i , j i = j i = j .
注意L的每一行之和爲0,那麼爲什麼L L L 的特徵向量就可以實現硬分割呢?答案都在上面的那邊知乎文章中,這裏僅僅驗證一下。
( 2 ) 圖 像 譜 分 割 示 意 圖 (2)圖像譜分割示意圖 ( 2 ) 圖 像 譜 分 割 示 意 圖
圖(2)(1)中圖像由4種顏色顯著的分爲4塊區域,假設不同塊之間的相似度爲0,可以得到如(2)所示的Laplace矩陣,應該是16*16,這裏只畫8行。右圖爲下邊Laplace矩陣4個特徵值爲0的特徵向量。 每一列是一個特徵向量。可以驗證,L e 1 = L e 2 = L e 3 = L e 4 = 0 Le_1 = Le_2=Le_3=Le_4=0 L e 1 = L e 2 = L e 3 = L e 4 = 0 。
我們發現,0特徵值對應的特徵向量e 1 , e 2 , e 3 , e 4 e_1,e_2,e_3,e_4 e 1 , e 2 , e 3 , e 4 恰好對應4塊分割區域。但是實際處理過程中,L L L 矩陣不可能這麼完美的在各區域間完美分割,0特徵對應的特徵向量可能不存在或很少,因此實際過程中我們只需要取出k k k 個最小特徵值對應的特徵向量即可。
這裏有一個概念叫過分割,如果當k k k 取得稍微大一點,就會分割出很多塊,甚至語義上屬於同一類都會分成很多塊,如圖(1)(b)中的衣服分爲了左邊的分紅和右邊的綠色。接下來就是根據這一步得到的k k k 個layer獲取matting component α \alpha α 。
三、Spectral Matting
一個重要的claim 如下所示:
意思就是如果滿足以上3個性質,那麼,α 1 , α 2 . . . α k \alpha^1,\alpha^2...\alpha^k α 1 , α 2 . . . α k 位於Laplace矩陣L L L 的零空間。也就是說,α 1 , α 2 . . . α k \alpha^1,\alpha^2...\alpha^k α 1 , α 2 . . . α k 可以使用L L L 矩陣0特徵值對應的特徵向量e 1 , e 2 . . . e k e^1,e^2...e^k e 1 , e 2 . . . e k 線性組合得到。當然,這裏放寬了限制,不一定是0特徵值對應的特徵向量,實際用到的是若干個最小特徵值對應的特徵向量。
接下來的事情,就是最優化如下的能量函數即可
∑ i , k ∣ α i k ∣ γ + ∣ 1 − α i k ∣ γ , w h e r e ⋅ α k = E y k , s u b j e c t ⋅ t o ⋅ ∑ k α i k = 1 \sum_{i,k}|\alpha^k_i|^\gamma+|1-\alpha^k_i|^\gamma, where·\alpha^k=Ey^k,subject ·to·\sum_k\alpha^k_i=1 i , k ∑ ∣ α i k ∣ γ + ∣ 1 − α i k ∣ γ , w h e r e ⋅ α k = E y k , s u b j e c t ⋅ t o ⋅ k ∑ α i k = 1
四、前景提取
本文提供了兩種抽取:1、自動提取前景,2、交互式的提取前景
1.自動提取前景
對於有k k k 個matting component的α \alpha α ,那麼它所有可以組合的方式有2 k 2^k 2 k 種,最暴力的辦法就是依次遍歷每一種可能的組合,如果k k k 不大的話,依然很快。
那麼問題是如何衡量到底哪一種組合好呢?文中提到了兩種方法:
(1) 如果只在意低級顏色信息,那麼可以使用論文:A closed form solution to natural image matting中提到的方法,使用如下的表達式計算分值,
J ( α ) = α T L α J(\alpha) =\alpha^TL\alpha J ( α ) = α T L α ,其中,α = α k 1 + α k 2 + . . . + α k n \alpha=\alpha^{k1}+\alpha^{k2}+...+\alpha^{kn} α = α k 1 + α k 2 + . . . + α k n ,表示前景區域。這裏的α \alpha α 可能有2 k 2^k 2 k 種組合。
(2)爲了防止不合理的分割,考慮使用平衡的分割,使得前景和背景約束在一個百分比之內。
2.交互提取前景
沒有詳細閱讀,大致是通過交互制定前景和背景,然後使用最大流最小割的方法快速分割得到前景和背景。
參考文獻:
[1] Levin A, Rav-Acha A, Lischinski D. Spectral Matting[J]. 2008, 30(10):1699-1712.
[2] Levin A . A closed form solution to natural image matting[C]// IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2006. IEEE Computer Society, 2006.
[3] 知乎專欄:譜聚類方法推導和對拉普拉斯矩陣的理解
[4] spectral matting的python實現