基於深度學習的圖像修補/完整方法分析

修補的方法基本上也是基於梯度/邊緣的連續性或者紋理的擴展性,而傳統機器學習方法可以學習有先驗知識的圖像合成方法。下面介紹深度學習的方法。

Pluralistic Image Completion是一種多元(Pluralistic)圖像完整(image completion)的方法【1】,它爲圖像完整生成多種多樣的合理解決方案。基於學習的方法面臨的主要挑戰是,通常每個標籤只有一個GT訓練實例。從條件的變分自動編碼器(CVAE)採樣仍然導致最少多樣性。爲此,採用基於概率原理的兩個並行路徑框架:一個是重建路徑,利用給定的GT來得到缺失的部分先驗,並從該分佈重建原始圖像;另一種是生成路徑,條件先驗與重構路徑中的分佈耦合在一起。兩個路徑都基於GAN,另外還有一個短距加長距的注意層(attention layer),利用瞭解碼器和編碼器特徵之間的遠距離關係,提高了外觀的一致性。

如圖給出屏蔽輸入的完整策略:“確定性”結構直接預測GT實例;“CVAE”增加隨機抽樣以使產出多樣化;“實例盲”僅匹配可見部分,但訓練不穩定;“雙路徑方法”【1】在測試期間使用生成路徑,但在訓練期間由並行的重建路徑引導;黃色路徑用於訓練。如下對各部分分別解釋一下。

假設一個圖像,最初是Ig,許多缺失的像素使其退化成爲包含可見像素的Im(被掩蓋部分圖像)。 定義Ic爲包括原始缺失像素的補充(complement)部分圖像。經典圖像完整法試圖以確定的方式從Im重建原始未掩蓋的圖像Ig(見圖“確定性”),這導致一個解決方案。 相反,雙路徑法想做的是從p(Ic | Im)進行採樣。

爲了得到樣本的分佈,目前的方法是採用CVAE來估計潛空間的參數分佈,然後從中採樣(見圖“CVAE”)。這涉及觀察訓練實例的條件對數似然函數logp(Ic | Im)的變分下限:


其中zc是潛向量,qψ(·|·)是後驗重要採樣(importance sampling)函數,pφ(···)是條件先驗函數,pθ(·|·)是似然函數,其中ψ,φ和θ是相應函數的深度網絡參數。對所有參數,該下限最大化。

輸出多樣化的一種方法是,在訓練期間簡單不刺激輸出去重建實例特有的Ig,只需要適應訓練集分佈,如學習的對抗鑑別器那樣(見圖“實例盲(Instance Blind)“)。儘管如此,該方法不是很穩定,特別在複雜的大環境裏。

雙路徑法【1】要求提供丟失的部分圖像作爲完整圖像的超集,也是來自潛空間分佈,已知爲p(zc)的平滑先驗知識。這樣,log p(Ic)的變分下限是:

當涉及到部分圖像時這會更具辨別力,因爲有不同數量的像素。更多像素(較大孔)的缺失部分圖像Ic比較少像素(較小孔)的缺失部分圖像Ic更大的潛先驗方差。因此,爲適應像素數n,廣義化先前的p(zc)= Nm(0,σ2(n)I)。

將潛先驗知識組合成條件對數似然函數的條件下限,只需要假設zc與Ic比與Im更密切相關,因此得到:

這樣條件對數似然函數logp(Ic | Im)的變分下限變成:

然而,不同的是,訓練期間不再自由學習qψ(zc | Ic),但其在變分下限的存在聯繫在一起。直觀地,qψ(zc | Ic)的學習由變分下限的先驗知識p(zc)正則化,而條件先驗pφ(zc | Im)的學習依次由上面條件對數似然函數變分下限中的qψ(zc | Ic)正則化。

上面條件對數似然函數logp(Ic | Im)變分下限的一個問題是:在訓練期間採樣取自qψ(zc | Ic),但在測試期間這不行,因此採樣必須來自pφ(zc | Im),這個可能無法充分學習。 爲了緩解這個問題,將上面變分下限修改爲重要採樣(importance sampling)有和無二者的混合形式,簡化寫成:


當從重要函數(importance function)qψ(·| Ic)採樣時,整個訓練實例可用,並且似然函數prθ(Ic | zc,Im)側重於Ic的重構。相反,從學習的不包含Ic的條件先驗pφ(·| Im)採樣時,讓似然函數模型:

和Ic的原始實例(original instance)無關,可促進創造性生成(creative generation)。 不然,它只鼓勵生成樣本適應於整體的訓練分佈。

然後,總訓練目標可以表示爲聯合最大化log p(Ic)和logp(Ic | Im)兩個的變分下限,其中前者中的似然函數統一到後者,即


如下圖是並行雙路徑的框架圖:重建流水線(黃線)組合Im和Ic的信息用於訓練;生成流水線(藍線)推斷隱藏區域的條件分佈,在測試期間進行採樣;表示和生成兩個網絡共享一樣的權重。

該網絡由兩條路徑組成:重建路徑使用來自整個圖像的信息,即Ig = {Ic,Im},而生成路徑僅使用來自可見區域Im的信息。另外:

• 對於重建路徑,補充元素圖像Ic用於推斷訓練期間的重要函數qψ(·| Ic)=Nψ(·)。因此,採樣的潛在向量zc包含缺失區域的信息,而條件特徵fm對可見區域的信息進行編碼。由於有足夠的信息,該路徑損失函數適合於重建原始圖像Ig。

• 對於生成路徑(也是測試路徑),僅基於可見Im推斷洞Ic的潛分佈。這明顯不如路徑中的推斷準確。因此,重建損失僅針對可見區域Im(經由fm)。

• 此外,在兩條路徑上使用對抗學習網絡,理想情況下確保完整的合成數據符合訓練集分佈,並憑經驗得出更高質量的圖像。

訓練的損失函數定義如下:

其中分佈正則化損失:


外觀匹配損失:


對抗損失:

從自注意(Self-Attention)GAN擴展出來,不僅在解碼器層使用自注意圖(self-attention map)來利用遠距離空間上下文(distant spatial context),還要進一步捕獲編碼器和解碼器之間的特徵-特徵上下文(feature-feature context)。 關鍵點是:讓網絡選擇在編碼器中使用更精細的特徵,或者在解碼器中使用更具語義生成的特性,下圖是長+短距注意層的架構圖所示。

如下圖是通過實驗結果對訓練中不同策略的比較:雙路徑(頂部),CVAE(中部)和實例盲(底部)。

下圖是不同注意模塊的注意力圖比較:長短距注意圖(頂部)和上下文注意圖(底部)。

深度圖像完整通常無法將恢復的圖像和諧地混合到現有內容中,尤其是在邊界區域中。【2】從創建平滑過渡的角度考慮,提出簡潔的深度融合網絡(DFNet)。首先,引入融合塊生成用於組合已知和未知區域的α組合圖(alpha composition map)。融合模塊不僅在恢復的內容和現有內容之間提供平滑的融合,而且提供注意力圖(attention map),使網絡更多地關注未知像素。通過這種方式,在結構和紋理信息之間構建了一個橋樑,使信息自然地從已知區域傳播直到完整。

此外,DFNet的融合塊嵌入到網絡的幾個解碼器層中。隨着每層可調的損失約束,圖像完整實現了更精確的結構信息恢復。

下圖是融合塊的示意圖:融合塊通過可學習的函數M從特徵圖中提取原始完整信息,並預測函數A的alpha合成圖。最後,它通過混合函數B將原始完整與縮放的輸入圖像組合在一起。

如圖所示,DFNet建立在類似U-Net模型的體系結構上。和原始U-Net之間的區別在於,融合塊嵌入到多個解碼器層。融合塊有助於在邊界附近實現更平滑的過渡,並且是多尺度約束的關鍵組件。 一個融合塊饋入兩個元素,具有未知區域的輸入圖像Iin和特徵映射Fk形成第k層(第一層是U-Net的最後一個解碼器層)。 這個融合塊首先從特徵圖中提取原始完整Ck,然後預測α組合圖αk,最後結合起來。最終結果Iˆk通過以下方式獲得:

其中縮放Iin 得到 Ik,通過可學習函數M從特徵映射Fk提取的原始完整Ck:

M(x)將n個通道特徵圖x變換爲3通道圖像,分辨率不變,即原始完整。 實際上,通過1×1卷積層加sigmoid函數來學習M。alpha合成圖αk由另一個可學習的函數A從原始完整和縮放的輸入圖像產生:

直觀地說,在圖像被完整時,在算法的較低分辨率構造結構更容易,而在高分辨率下紋理恢復更可行。 將融合塊嵌入到U-Net的最後幾個解碼器層中,並以不同的分辨率獲得完整結果。 然後,根據需要將結構和紋理約束應用於不同的分辨率。

每個融合塊輸出與輸入特徵圖Fi相同分辨率的完整結果Ci。 根據分辨率,可以在訓練期間提供不同的約束。在測試期間,僅需要來自最後一層的完整結果I0。

損失函數定義如下:先是重建損失:

感知和風格損失分別是:

其中克矩陣(Gram matrix):

最後,總的損失函數是:

其中結構和紋理損失分別是:

如圖是實驗結果比較:第2行可以看出,基於更多的融合塊,建築結構更加清晰和準確。 此外,在3個融合塊的結果描繪了房屋的形狀,而不是1個融合塊結果的噪聲。雖然編碼器高層有更大的感知場和全局上下文,但在解碼器更多層可以更容易地重建結構信息。

參考文獻

  1. C Zheng, T Cham, J Cai,“Pluralistic Image Completion”, CVPR 2019

  2. X Hong et al.,“Deep Fusion Network for Image Completion”, arXiv 1904.08060, 2019

作者介紹

黃浴,奇點汽車美研中心總裁和自動駕駛首席科學家,上海大學兼職教授。曾在百度美研自動駕駛組、英特爾公司總部、三星美研數字媒體研究中心、華爲美研媒體網絡實驗室,和法國湯姆遜多媒體公司普林斯頓研究所等工作。發表國際期刊和會議論文30餘篇,申請30餘個專利,其中13個獲批准。

原文鏈接

注:本文源自黃浴的知乎:https://zhuanlan.zhihu.com/p/78874490

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