1. 程式人生 > >基於CNN的影象修復(CNN-based Image Inpainting)

基於CNN的影象修復(CNN-based Image Inpainting)

本文簡單介紹兩篇基於CNN進行影象修復的論文,論文以及原始碼分別為:

兩篇論文的網路框架基本一樣:

nets

主要思路都是結合Encoder-Decoder 網路結構和 GAN (Generative Adversarial Networks),Encoder-Decoder 階段用於學習影象特徵和生成影象待修補區域對應的預測圖,GAN部分用於判斷預測圖來自訓練集和預測集的可能性,當生成的預測圖與GroundTruth在影象內容上達到一致,並且GAN的判別器無法判斷預測圖是否來自訓練集或預測集時,就認為網路模型引數達到了最優狀態。

因此,網路訓練的過程中損失函式都由兩部分組成:

  • Encoder-decoder 部分的影象內容約束(Reconstruction Loss)
  • GAN部分的對抗損失(Adversarial Loss)

其中,兩篇論文在Adversarial Loss都是一致的,發表的時間也早於WassersteinGAN,所以並沒有在這方面進行改進。所以,兩者的主要差異就在Reconstruction Loss。

Context Encoders 採用最簡單的整體內容約束,也就是預測圖與原圖的l2 距離。相比之,Hig-Res Neural Inpainting 就考慮得更多,通過訓練類似於 Context Encoders 的全域性內容預測網路來構造內容約束,並且可以用環繞孔洞的影象內容來對紋理約束進行建模。也就是不單進行整體約束還有區域性紋理的約束,生成預測結果也不是一步到位,而是設定了一組影象尺度,由低解析度到高解析度,前者的預測結果作為或者的初始值,由粗糙到精細地進行精細化,因此,可以視為是Context Encoders 的進階版。

詳細內容可以閱讀原文。

貼出一組對比圖:

images

References: