摳圖技術及方法簡介(Image Matting Overview)

轉自:https://blog.csdn.net/qq_36165459/article/details/78549686

    之前接觸過語義分割,所以在剛接觸圖像摳圖時以爲兩者是差不多。語義分割是端到端的,對像素按照語義進行多分類,而摳圖就是按照前景和背景進行二分類嘛?實際上這是錯誤的理解。語義分割重在對每個像素的語義理解,將相同語義的像素分割爲同一個部分,得到的結果就是若干個塊狀,至於塊與塊之間是否銜接自然則不考慮。摳圖只將圖片分成前景和背景兩塊,目的是拿到前景,好的摳圖算法會對於頭髮等細節的處理效果比較精確。分割和摳圖的另一個重要區別是分割是返回像素分類結果,分類結果是整型;而摳圖返回的是屬於前景或背景的概率p,在前景與背景交互區域會產生漸變的效果,使得摳圖更加自然。
摳圖技術的核心問題是解以下公式:Ii = αFi + (1-α)Bi,其中Ii是圖像當前可觀察的像素,爲已知量;α是透明度,F是前景像素,B是背景像素,這三個變量爲未知量。對於這個公式的理解,可以把原始圖像看做是前景和背景按照一定權重(α透明度)疊加組成的。對於完全確定是前景的像素,α = 1;對於完全確定是背景的像素,α = 0;對於不確定是前景還是背景的像素,α是介於0到1之間的浮點數。
以下是各種圖的效果:第一行從左到右分別是原圖,trimap圖,α圖;第二行從左到右分別是原圖,草圖,α圖;

深度學習如火如荼,我們也可以把摳圖算法按照是否使用DL分爲傳統方法和運用CNN的方法。以下是幾種經典的傳統方法:
Poisson Matting

該方法通過對matting等式觀察後發現,兩邊求導可以得到以下式子:

假設∇F和∇B很小時,式子簡化成如下的形式:

於是我們能得到這樣一個能量方程:

其中Ω指的就是不確定區域。上述問題可以很自然地轉成微分方程去做,具體地,轉爲泊松方程求解。泊松方程有一個非常美妙的定理,即如果指定了邊界上的Dirichlet條件或者Neumann條件,那麼泊松方程在區域內的解是唯一可確定的,因此當我們知道不確定區域內的密度函數,和邊界上的α值,我們就可以計算出這個區域內的α值。
另外,F和B是未知的,在這裏採用最近鄰的方法來確定F和B的值,隨後使用filter平滑F-B,來保證F-B的變化不會太突兀。整個算法是一個迭代式的算法,通過多次迭代,來保證α 達到一個比較穩定的狀態。
Bayes Matting

該方法將matting問題直觀表示爲貝葉斯形式,即:

L是取對數,由於概率都是[0,1],如果大量概率連乘,在計算機中的表示會變爲0,同時由於P(C)是常量,因此可以忽略。
接下來,對 L(C|F,B,α ),L(F),L(B),L(α ) 建模,對於L(F),要建立的是前景顏色的概率分佈,表示當前選定的F概率有多大。論文中使用一種聚類方法,來對前景的顏色分佈建模。對於L(B),直接使用L(F)的定義。對於 L(α ),假設α 的分佈是平均的,因此我們可以在MAP中忽略這一項。
最後求解這個MAP問題,對於凸優化問題,可以直接使用導數爲0的方式求解。由於α 會和F、B相乘,因此這個MAP問題比較難,所以論文采用兩段法求解,先固定 α 求解F、B,隨後固定F、B,求解 α ,迭代這個過程,直到結果比較穩定。
Learning Based Digital Matting

隨着機器學習的興起和數據集的豐富,關於matting的工作也轉爲了數據驅動的思路,這裏介紹半監督學習方法。其核心在於給定標記數據的情況下,預測結果不止和標記數據有關,還和未標記數據有關,更精確地說,和數據的相對位置有關。如果能建立一種α 和像素點顏色的映射,那麼給定一個像素點,就能通過它的顏色來預測 α。論文兩個假設:

    任何未知像素的 α,是周圍像素 α 的線性組合,從而我們可以將這種線性組合關係表達爲矩陣的形式,注意:在這裏使用了半監督學習中相對位置的概念;
    假設 α 和該像素點的顏色向量呈線性相關關係;

於是,對於每一個點的 α,我們期望使用周圍像素 α 的線性組合來預測,這個線性組合的參數,又是通過學習得到的,這個學習的過程,就是建立 α 和顏色特徵向量之間相關關係的過程。
Closed form matting

封閉式表面摳圖假定局部顏色分佈遵循color line model,其中局部窗口內的顏色可以表示爲兩種顏色的線性組合。基於這個假設,Levin導出了matting Laplacian,證明了前景的alpha matte可以在沒有明確估計前景和背景顏色的情況下以封閉的形式求解。從那以後,matting Laplacian被廣泛地用作正則化來增強估計的alpha matte和其他應用的平滑性。該方法的優點是參數少,多數圖像滿足color line model的假設;不足就是假設失效的情況也是比較多的。
KNN matting

KNN摳圖屬於非局部摳圖,其目標是通過允許alpha值在非局部像素中傳播來解決matting Laplacian的侷限性。類似於closed form matting,非局部摳圖也對採樣的非局部像素進行了假設。它假定像素的α值可以通過具有相似外觀的非局部像素的α值的加權和來描述。在非局部摳圖中,相似的外觀由顏色,距離和紋理相似性來定義。然而,由於非局部像素的比較,其計算非常高。KNN matting通過僅考慮高維特徵空間中的前K個近鄰而改善了非局部摳圖。它通過僅考慮顏色和它們特徵空間中的位置相似性來減少計算。優點也是參數少,易於調整;不足是定義一個通用的特徵空間是困難的。
Deep Learning Methods

筆者主要關注基於深度學習,尤其是CNN的方法實現摳圖,以下是相關頂會論文的介紹,如果可能,將會持續更新。

    《Natural Image Matting Using Deep CNN》ECCV 2016
    《Deep Automatic Portrait Matting》 ECCV 2016
    《Deep Image Matting》CVPR 2017

Reference:
Image Matting(摳圖)技術介紹:序言
天乾物燥,小心摳圖 —— A journey of matting
————————————————
版權聲明:本文爲CSDN博主「青青韶華」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_36165459/article/details/78549686

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章