爲個人需要,整理一波這方面的論文。同時也參考了 山水之間整理的結果 ,非常感謝。
1. 《Context Encoders: Feature Learning by Inpainting》
CVPR 2016
鏈接:https://arxiv.org/abs/1604.07379
Github代碼:
基於torch:https://github.com/pathak22/context-encoder
基於pytorch:https://github.com/BoyuanJiang/context_encoder_pytorch
主要貢獻:
提出了基於上下文像素預測驅動的無監督視覺特徵學習算法,通過利用周圍圖像信息來推斷損失部分的圖像信息。其貢獻點在於對於大範圍圖像損失,傳統方法已經無法滿足修復要求,作者首次提出了基於CNN和GAN的修補方法,首次較好地解決了大範圍圖像損失修補問題。
主要思路:(CNN+GAN)
通過結合Encoder-Decoder網絡結構和GAN,利用L2損失(Reconstruction Loss)和對抗損失(Adversarial Loss)來修復圖像。Encoder-Decoder結構用來學習全局圖像特徵和推斷損失部分,GAN部分用來判斷預測推斷的圖片和真實圖片。不過一個主要的區別是,這裏GAN只固定Generator,試圖通過極大化Loss來訓練更強的Discriminator。當GAN無法區分兩者的區別時,則默認爲網絡模型參數已經達到最有狀態。
缺陷:
1) 由於沒有考慮填補區域與周圍像素信息的一致性,得到的圖片有時候缺少比較好的紋理細節,在填補的邊緣能看到明顯的痕跡。
2) 當輸入圖片較大時難以訓練Adversarial Loss,因此無法解決高分辨率的圖片修復問題;
3) 輸入圖片尺寸是固定的。
2. 《High-Resolution Image Inpainting using Muti-Scale Neural Patch Synthesis》
CVPR2017
鏈接:https://arxiv.org/abs/1611.09969
Github代碼:
基於torch:https://github.com/leehomyc/Faster-High-Res-Neural-Inpainting
主要貢獻:
提出了結合圖像內容與紋理的多尺度CNN匹配方法,不僅可以保留紋理結構,而且可以通過提取分類網絡的中間層生成高頻細節部分。以一定方式解決了高清圖像補全問題。
主要思路:(Encoder-Decoder + CNNMRF)
整體架構分爲內容網絡與結構網絡。內容網絡採用Encoder-Decoder 形式,其損失函數使用了L2損失和對抗損失的組合。結構網絡採用訓練好的VGG分類網絡,原因在於其中間層的特徵對於紋理變化表現出很強的不變性,因此有助於更加準確地補全缺失部分的內容。其損失部分分爲三個部分,即Pixel-wise的歐式距離,基於已訓練好紋理網絡的feature layer的perceptual loss,和用於平滑的TV Loss。
缺陷:
紋理部分尋找patch時只是在該圖片內尋找,沒有利用數據集的數據。因此補全效果並沒有特別理想。
3. 《On-Demand Learning for Deep Image Restoration》
ICCV 2017
鏈接:https://arxiv.org/abs/1612.01380
Github代碼:
基於torch:https://github.com/rhgao/on-demand-learning
主要貢獻:自動對原始圖像修復難度進行分級,然後進行圖像填補,像素插值,去模糊,去噪。
4. 《Globally and Locally Consistent Image Completion》
SIGGRAPH 2017
鏈接:http://iizuka.cs.tsukuba.ac.jp/projects/completion/en/
Github代碼:
基於torch:https://github.com/satoshiiizuka/siggraph2017_inpaintinggithub.com
基於TF:https://github.com/shinseung428/GlobalLocalImageCompletion_TF
基於Pytorch:https://github.com/akmtn/pytorch-siggraph2017-inpainting
主要貢獻:
在Context Encoder中加入 Global context discriminator 和 Local context discriminator 使其從全局和局部兩個角度判別生成效果的好壞。與此同時,可以修補任意不規則形狀的缺損區域。
主要思路:
將需要進行填補的原始圖片輸入Encoder-Decoder網絡,然後通過全局判別其和局部判別器從兩個方面判別生成效果。全局判別器將完整圖像作爲輸入,識別場景的全局一致性,而局部判別器僅在填充區域上觀測,識別局部一致性。最後經過快速匹配方法[Telea 2004]後處理,從而將生成的邊緣更加友好地融入全圖。
[引]Alexandru Telea. 2004. An Image Inpainting Technique Based on the Fast Marching Method. Journal of Graphics Tools 9, 1 (2004), 23–34.
5. 《Image Inpainting for Irregular Holes Using Partial Convolutions》
ECCV 2018
鏈接:https://arxiv.org/abs/1804.07723
Github代碼:
基於Pytorch:https://github.com/NVIDIA/partialconv
基於Pytorch:https://github.com/naoto0804/pytorch-inpainting-with-partial-conv
主要貢獻:
可以解決任意形狀缺損的圖像修補,並且不需要額外的後期處理。
主要思路: