1. 摘要
作者提出了一種生成式圖像修復系統,該系統基於從數百萬個圖像中學習的門控卷積,無需額外的標記工作。作者所提出的卷積解決了將所有輸入像素都視為有效像素的香草卷積問題,通過為所有通道在所有層上的每個空間位置提供可學習的動態特征選擇機制來概括部分卷積。
此外,由於自由形式的蒙版可能會出現在任何形狀的圖像中,因此為單個矩形蒙版設計的全局和局部GAN均不適用。因此,我們還通過應用頻譜歸一化提出了基於補丁的GAN損失,稱為SN-PatchGAN鑒別密集圖像斑塊。SN-PatchGAN的配方簡單,訓練快速,穩定。自動圖像修復和用戶指導的擴展的結果表明,與以前的方法相比,我們的系統可產生更高質量和更靈活的結果。我們的系統可幫助用戶迅速移除分散注意力的物體,修改圖像布局,清除水印並編輯臉部。
下圖顯示處理:
作者在項目中提供了一個交互式演示,我們可以自由地遮蓋圖像的某些部分,然后檢查其生成效果。Deepfill V2提供了兩個模型,這些模型在兩個數據集上進行了預訓練:places2和celebahq。從效果的角度來看,至少對於這兩個數據集,它在場景和面部圖像中做得非常好,尤其是在人臉補全效果突出。
作者在項目中提供了一個交互式演示,我們可以自由地遮蓋圖像的某些部分,然后檢查其生成效果。Deepfill V2提供了兩個模型,這些模型在兩個數據集上進行了預訓練:places2和celebahq。從效果的角度來看,至少對於這兩個數據集,它在場景和面部圖像中做得非常好,尤其是在人臉補全效果突出。
第一行是真實圖像,第二行是刪除細節的圖像,第三行是DeepFill v2修復的圖像
作者指出,該項目只有三個依賴項,即Python 3、TensorFlow和他制作的TF工具包neuralgym。作者在TF 1.3、1.4、1.5、1.6、1.7上進行了測試,並將各種模型超參數放入YML文件中,以便於調整。
2. 網絡結構
DeepFill,是基於一個門控卷積網絡,能夠處理任意形式的掩膜,以及用戶手繪的線條。這個深度學習系統可以幫助用戶快速擦除畫面上不想要的部分,修改圖像的布局、編輯面部,以及在圖中交互式創建新對象。
上圖左邊是局部卷積網絡,右邊是門控卷積網絡。
對於這個神經網絡而言,輸入信息分成三個:顏色通道(RGB Channel)、掩膜通道(Mask Channel)、手繪通道(Sketch Channel)。
當然除了門控卷積網絡之外,DeepFill里還包括SN-PatchGAN(光譜歸一化馬爾可夫判別器)等關鍵部件。
3. 測試
我們來看下作者針對不同方法的比較,包括PatchMatch,Global&Local,ContextAttention,PartialConv和我們的方法。圖片修復的比較基於四個維度:Semantics,Non-Local,Free-Form和User-guided選項如下圖所示:
均值誤差比較:
下面我們來看下它的修復效果:
上圖最左邊是輸入,照片被各種塗抹,白色的部分就是所謂的掩膜,黑色的細線就是手繪的部分。中間是各種神經網絡的處理結果,其中標注Ours的圖片,就是DeepFill的處理結果。
處理修復圖片之外,還可以對圖片進行編輯:
上圖,按照想要的方式,修剪遠處的小樹叢。
顯然,DeepFill確實厲害。