基于CNN的图像修复(CNN-based Image Inpainting)

Posted yhl_leo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于CNN的图像修复(CNN-based Image Inpainting)相关的知识,希望对你有一定的参考价值。


本系列文章由 @yhl_leo 出品,转载请注明出处。
文章链接: http://blog.csdn.net/yhl_leo/article/details/56674833


本文简单介绍两篇基于CNN进行图像修复的论文,论文以及源码分别为:


两篇论文的网络框架基本一样:

主要思路都是结合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 的进阶版。

详细内容可以阅读原文。


贴出一组对比图:


References:

以上是关于基于CNN的图像修复(CNN-based Image Inpainting)的主要内容,如果未能解决你的问题,请参考以下文章

基于Tensorflow + Opencv 实现CNN自定义图像分类

基于Tensorflow + Opencv 实现CNN自定义图像分类

边缘检测基于CNN的灰度图像边缘提取matlab源码

基于蜜蜂优化算法优化的卷积神经网络(CNN)图像分类

图像识别基于cnn卷积神经网络之验证码识别matlab源码

基于SIFT特征的图像检索 vs CNN