如果觉得有帮助,就关注一下吧!

照片,在大家生活中扮演者非常重要的角色。

难忘的瞬间、美好的风景、珍贵的回忆,我们总喜欢用照片把它保留下来。

但是,瑕疵、水印、遮挡、涂鸦这些让美好蒙上了一层阴影。

当我们在网络上看到一张喜欢的照片,想要拿来做头像或者电脑手机壁纸,发现在某些地方存在一些瑕疵,最后只能作罢。

针对这类问题,相关工具可谓是层出不穷。

但是,目前市面上绝大多数工具都只用了简单的数字图像处理技术,在处理效果方面不堪入目。

如果选择应用Photoshop,这对于很多人来说又存在着很高的门槛。

这几年AI技术得到越来越普遍的应用,何不利用这些开源免费的项目来实现图像修复呢?

图像修补就是填充图像中缺少的像素,以使得图像看起来逼真并符合上下文信息。

给定上面左图所示的有损坏、遮罩的输入图像。对于有效、真实像素,我们可以直接复制有效像素并将其粘贴到填充图像的相应位置。对于无效/缺失的像素,可以通过算法去填充。

要在图像中填充一些缺失的部分,最简单的方法是复制并粘贴。核心思想是,首先从图像本身的剩余像素或包含数百万个图像的大型数据集中搜索最相似的图像补丁,然后将补丁直接粘贴到缺失的部分上。但是,搜索算法可能很耗时,并且涉及手工制作的距离测量指标。它的泛化和效率仍有很大的改进空间。

由于基于深度学习的方法和大数据时代的到来,我们现在可以拥有基于数据驱动的基于深度学习的图像修复方法,该方法可以在图像中生成具有良好全局一致性和局部精细纹理的缺失像素。在本文中,我们将重点介绍10种著名的基于深度学习的修复方法。

下面,就让我们开始吧!

Context Encoder (2016)

Context Encoder[1] (CE, 2016) 是第一篇将GAN应用于图像修复的文章。

本文为图像修复任务提出了一些有用的基本概念。术语“上下文”涉及对整个图像本身的理解,CE的核心思想是Channel-wise Fully Connected Layer(网络中的中间层,如上图所示)。

类似于标准的全连接层,它的要点是,上一层的所有要素位置将对当前层的每个要素位置有所贡献。通过这样做,网络可以学习所有特征位置之间的关系,并且可以获得对整个图像的更深层的语义理解。

CE目前已被视为基准算法。

MSNPS (2016)

Multi-Scale Neural Patch Synthesis[2] (MSNPS, 2016)可以看作是CE的增强版本。

本文的作者采用了一种改进的CE来预测图像中的缺失部分,并使用纹理网络修饰了有关缺失部分的预测,从而提高了填充图像的视觉质量。

该算法的思想来自样式转化相关的任务,它希望将最相似的有效像素的样式转换为生成的像素,以增强局部纹理细节。

本文提出的算法是由粗到细的两阶段网络结构的早期版本。第一个网络(即此处的CE)负责缺失部分的重建/预测,而第二个网络(即此处的纹理网络)负责填充部分的细化。

除了典型的逐像素重建损失(即L1损失)和标准对抗损失外,本文提出的纹理损失概念在后来的修复论文中也起着重要作用。

GLCIC ( 2017)

Globally and Locally Consistent Image Completion[3] (GLCIC, 2017) 是深度图像修复的一个里程碑,实际上,它也是深层图像修复的典型网络结构。

通过使用膨胀卷积,网络无需使用完全连接层即可理解图像的上下文,因此它可以处理不同大小的图像。

除了具有扩张卷积的完全卷积网络之外,还与生成器网络一起训练了两个尺度的两个鉴别器。

全局鉴别器查看整个图像,而局部鉴别器查看填充的中心孔。使用全局和局部,填充图像将具有更好的全局和局部一致性。

Patch-based Image Inpainting with GANs (2018)

Patch-based Image Inpainting with GANs[4]可被视为GLCIC的一种变体。

简单地说,GLCIC中嵌入了两个高级概念,即残差学习和PatchGAN,以进一步提高其修复效果。

本文的作者将残差连接和膨胀卷积结合起来,形成膨胀残差块。传统的GAN鉴别器也被PatchGAN鉴别器取代,以实现更好的局部纹理细节和全局结构一致性。

传统GAN鉴别器和PatchGAN鉴别器之间的核心区别在于,传统GAN鉴别器仅给出单个预测标签(从0到1)以指示输入的真实性,而PatchGAN鉴别器给出预测标签的矩阵,用于指示输入的每个局部区域的真实性。

Shift-Net (2018)

Shift-Net[5]既利用了数据驱动的CNN的优势,又利用了以深度特征重排为基础“Copy-and-Paste”方法的优势。

本文有两个主要思想:

首先,作者提出了引导损失,该损失会使得缺失部分的解码特征(给定蒙版图像)接近缺失部分的编码特征(给定条件良好的图像)。结果,解码过程能够能够很准确的预测缺失部分,对缺失部分进行填充。

其次,所提出的shift-connected连接层,通过移位操作,网络可以有效借用缺失部分外最近的邻居给出的信息,来完善生成部分的全局语义结构和局部纹理细节。简单来说,它就是提供合适的参照物来完善估计。

DeepFill v1 (2018)

Generative Image Inpainting with Contextual Attention[6] (CA, 2018)可被视为Shift-Net的增强版本或变体。

作者进一步提出了复制粘贴的想法,并提出了一个可区分和完全卷积的上下文注意力层。

类似于Shift-Net中的移位连接层,通过匹配缺失区域内的生成特征和缺失区域外的特征,可以知道缺失区域外的所有特征对缺失区域内每个位置的贡献。因此,可以将外部所有特征的组合用于细化缺失区域内部的生成特征。与仅查找最相似特征的连接层(相比,本文的CA层采用软分配(可微分),其中所有特征都有自己的权重来指示他们对缺失区域内每个位置的贡献。

GMCNN (2018)

Generative Multi-column Convolutional Neural Networks[7] (GMCNN, 2018)增强了接受场(receptive fields)对于图像内画的重要性,并提出了新的损失函数来进一步增强生成内容的局部纹理细节。

如图上图所示,有三个分支/列,在每个分支处使用三种不同大小的滤波器。之所以使用多个接受场(滤波器大小),是因为接受场的大小对图像内画任务很重要。由于局部相邻像素的缺失,我们必须借用远处空间位置给出的信息来填补局部缺失的像素。

对于所提出的损失函数,隐式多样化马尔科夫随机场(Implicit Diversified Markov Random Field,ID-MRF)损失的主要思想是引导生成的特征斑点在缺失区域外找到其最近的邻居作为参照物,这些最近的邻居有足够多样化,从而可以模拟出更多的局部纹理细节。

PartialConv (2018)

Image Inpainting for Irregular Holes using Partial Convolutions[8] (PartialConv or PConv)通过提出一种处理带有多个不规则区域的蒙版图像的方法,突破了深层图像修补的限制。

显然,本文的核心思想是Partial Convolution。

通过使用PConv,卷积的结果将仅取决于有效像素,因此我们可以控制在网络内部传递的信息。

这是针对处理不规则区域的第一篇文章。

请注意,以前的修复模型是在规则的蒙版图像上训练的,因此,这些模型不适合完成不规则的蒙版图像。

EdgeConnect (2019)

EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning[9] (EdgeConnect) 提供了一种有趣的方法来完成图像修复任务。

本文的主要思想是将任务分为两个简单的步骤,即边缘预测和基于预测边缘图的图像修复。

他们首先预测缺失区域中的边缘,然后根据预测的边缘信息修复图像。

DeepFill v2 (2019)

Free-Form Image Inpainting with Gated Convolution[10] (DeepFill v2 or GConv, 2019)可能是最实用的图像修复算法,可以直接在你的应用程序中使用。

这可以视为DeepFill v1,Partial Convolution和EdgeConnect的增强版本。

本文的主要思想是门控卷积(Gated Convolution),它是部分卷积的可学习版本。通过添加一个额外的标准卷积层,然后加上一个sigmoid函数,可以学习每个像素/特征位置的有效性,因此也允许使用可选的用户草图输入。

除了门控卷积,还采用了SN-PatchGAN来进一步稳定GAN模型的训练。

结语

希望大家现在对图像修复有一个基本的了解,也希望对你踏入这条道路上有所帮助。

我认为,对于图像修复,仍然难以完成具有复杂场景结构和大遮罩比例(例如,丢失了50%的像素)的图像。

当然,高分辨率图像修复也是另一项艰巨的任务。

我相信,这些方向都是非常有趣,且值得关注的。

10篇必读深度图像修复论文,珍贵老照片有救了!相关推荐

  1. python修复老照片_10篇必读深度图像修复文章,珍贵老照片有救了!

    专注Python.AI.大数据,请关注公众号七步编程! 照片,在大家生活中扮演者非常重要的角色. 难忘的瞬间.美好的风景.珍贵的回忆,我们总喜欢用照片把它保留下来. 但是,瑕疵.水印.遮挡.涂鸦这些让 ...

  2. 基于深度学习的Image Inpainting (图像修复)论文推荐(持续更新)

    传统的图形学和视觉的研究方法,主要还是基于数学和物理的方法.然而随着近几年深度学习在视觉领域取得的卓越的效果,视觉领域研究的前沿已经基本被深度学习占领.在这样的形势之下,越来越多的图形学研究者也开始将 ...

  3. 深度图像修复的回顾和改进:使用生成对抗网络基于Patch的图像修复

    点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Chu-Tak Li 编译:ronghuaiyang 导读 相比于之前,在 ...

  4. 深度图像修复的一个突破

    作者:Chu-Tak Li 编译:ronghuaiyang(AI 公园) 导读 使用上下文注意力来进行深度图像修复. 今天,我们将深入探讨深度图像修复的一个突破,上下文注意力.通过使用上下文注意力,我 ...

  5. 必看,10篇定义计算机视觉未来的论文

    译者 | Major 编辑 | 赵雪 出品 | AI科技大本营(ID:rgznai100) 导语:如果你没能参加 CVPR 2019 , 别担心.本文列出了会上人们最为关注的 10 篇论文,覆盖了 D ...

  6. 必看,61篇NeurIPS深度强化学习论文解读都这里了

    作者 | DeepRL 来源 | 深度强化学习实验室(ID: Deep-RL) NeurIPS可谓人工智能年度最大盛会.每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究,并进行热烈探讨,大 ...

  7. 【重磅】61篇NIPS2019深度强化学习论文及部分解读

    深度强化学习报道 来源:NIPS2019 编辑:DeepRL NeurIPS(前称NIPS)可谓人工智能年度最大盛会.每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究,并进行热烈探讨,大会 ...

  8. 论文浅尝 | 最新10篇《知识图谱》论文推荐(ICML, CVPR, ACL, KDD, IJCAI 2019)

    本文转载自公众号:专知. [导读]知识图谱一直是研究热点,研究者近年来广泛关注知识图谱嵌入(Knowledge Graph Embedding,简称KGE)方法,在保留语义的同时,将知识图谱中的实体和 ...

  9. 《Globally and locally consistent image completion》图像修复论文解读

    作者在context encoder的基础上进行改进,整个网络由一个修复网络和两个鉴别网络(全局鉴别网络和局部鉴别网络)组成.修复网络用来对进入其中的图像进行修复,而鉴别网络用来对图像进行判别.鉴别网 ...

最新文章

  1. 「二本生逆袭」引知乎热议,读博后三年两次发Nature,第一学历有那么重要吗?...
  2. java使用重绘实现拖动_原生JS使用Canvas实现拖拽式绘图功能
  3. python matplotlib pyplot title_Matplotlib pyplot.title(字符串)返回
  4. Some thoughts on my own O/R Mapping or Code Generation tools
  5. Swift中文教程(十五) 析构
  6. 玩转docker、Swarm、Kubernetes
  7. 使用C++模板判断是否基本类型
  8. Word 转 PDF 后目录链接无效的解决办法
  9. ​DOCX 文档解析及隐藏信息提取算法
  10. RTI_DDS自定义插件开发 9 API NDDS_Transport_Unshare_RecvResource_Fcn_rrEA
  11. 外卖CPS小程序源码分享
  12. Unity-Unity编辑器Part5
  13. MYSQL on和where的区别
  14. 快速学习-帕特里夏树
  15. 图论 —— 染色法判断二分图
  16. Line电脑版,whatsapp多开软件
  17. 网络爬虫学习(二) selenium
  18. 网页出现503 service unavailable是什么意思?怎么解决?
  19. 杭州 职称 计算机免试,明年杭州市评职称 年满50周岁以上才免考计算机
  20. 诚龙网维ERROR:Unable to control A20 line!XMS Driver not insta

热门文章

  1. 江苏省专转本计算机专业大类《计算机基础理论 1.2(一)小节习题答案》
  2. 【漏洞分析】Foxit Reader BMP biWidth 堆溢出漏洞(CVE-2017-17557)
  3. 查看网页上保存的密码
  4. 图片编辑加文字软件有哪些?进来我教你图片怎样编辑文字
  5. 适合centos7 64位虚拟机添加硬盘 详细 步骤
  6. 全球首款采用华为鸿蒙系统的,首款鸿蒙系统终端新闻 华为正式发布鸿蒙系统...
  7. 阿里盒马-如何打造渐进式可扩展、高生产力的前端研发平台
  8. pytorch 源_建议收藏!从零开始学PyTorch
  9. 权健产品被各大电商平台全线下架 / 中国北斗系统开始服务全球 / 小米互联网洗衣机发布 | 雷锋早报... 1
  10. 波、波、波---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十二)