會議:CVPR 2019
論文中心思想:將圖像修復的過程分爲:邊界預測(待修復區域覆蓋前景、背景區域時,前景物體邊界缺失,需要進行精確的預測),內容修復,
概述:
現在的圖像修復方法主要的通過周圍像素來修復,當修復區域與前景區域有交疊時,由於修復區域缺失前景與背景的時間內容導致修復結果不理想。 爲解決該問題,作者提出了a foreground-aware image inpainting system,可明確區分結構推斷和內容修復。模型首先預測前景輪廓,然後根據預測發前景輪廓進行區域修復。
1.介紹
現在的的深度學習圖像修復都認爲,不通過精確的模型結構或前景/背景層去學習,一個生成網路能夠預測或理解圖像隱藏的結構。
我們的模型明確區分結構推斷和內容修復,通過精確的預測邊界來指導圖像修復,邊界修復模塊能夠在待修復區域推斷出合理的結構,圖像修復模塊根據預測邊界來生成圖像內容。
論文貢獻:1.提出確區分結構推斷和內容修復的模型
2.爲了推斷圖像結構(圖像邊界),提出了邊界修復模型來參數精確的圖像邊界
3.爲了高效率完成模型的訓練,我們採用curriculum的訓練方法來訓練結構推斷和內容修復的模型
4.實驗結果表明修復結果由於現在的模型
2.相關工作
《Image inpainting for irregular holes using partial convolutions.》通過部分卷積的方法預測缺失的像素點
《Free-form image inpainting with gated convolution》通過gated convolutions來自動學習蒙版,實現好的圖像修復
《Spg-net: Segmentation prediction and guidance network for image inpainting.》通過語義分割獲取前景蒙版,來修復圖像
3.方法
由三個模型組成incomplete contour detection module、contour completion module 、image completion module
incomplete contour detection module:自動檢測待修復圖像的邊界
contour completion module:預測損失部分的邊界
image completion module:將待修復圖像和完整的邊界作爲輸入,預測最終的修復後的圖像
3.1數據採集和孔的生成
數據集
由於我們的模型需要訓練邊界預測模型,所以需要具有邊界的數據集;
從已數據集中選擇15762張包含至少一個明顯物體的自然圖像,每張圖片都帶有精確的語義分割的MASK,將12609張作爲訓練集,3153張作爲測試集,然後通過Sobel在分割的MASK上獲得物體邊界:
首先:獲取 filtered mask Cf
然後:進行簡單的二值化處理
孔的製作:任意形狀的孔、受限制的任意形狀的孔
3.2邊界檢測
通過DeepCut( A neural network architecture for accurate image segmentation)生成一個具有精確邊界的物體蒙版;
由於圖像上孔的存在,導致生成的語義分割模板帶有噪聲,使用二值化孔洞蒙版的方式移除蒙版中被誤分類爲物體的像素點,再通過連接成分分析進一步移除小集羣來獲得前景蒙版;
再通過Sobel獲得物體的不完整邊界;
3.3生成完整邊界的模型(生成對抗網絡)
目標是生成完整的孔區域(待修復區域)內部缺失的物體邊界,
輸入:待修復的圖像、生成的非完整邊界、孔的蒙版
輸出:完整的物體邊界
生成網絡由Coarse Network 和 Refine Network兩個網絡組成;
損失函數:由於邊界圖像的稀疏,導致計算損失函數存在不平衡問題,通過計算邊界所對應原圖來計算損失函數
3.3.1 curriculum的訓練方法
問題點:網絡訓練難度較大
首先,通過內容損失訓練完整邊界模型,生成一個粗略的邊界,再使用對抗損失與內容損失爲0.01:1進行訓練網絡,最後,使用對抗損失與內容損失爲1:1進行訓練網絡。
3.4圖像生成模塊
輸入:待修復的圖像、完整的邊界、孔蒙版
損失函數
內容損失:
對抗損失(對抗損失僅在Refine Network使用)
3.4.1訓練方法
首先、在Places2數據集上進行無完整邊界指導的網絡訓練;
然後、結合完整邊界的指導在特定數據集上進行微調;