基于深度学习的图像修复—心中无码

1、前言

图像修复在应用上很是吸引人,一般设计师须要使用 Photoshop 根据图像周围修复空缺部分。这一过程很是耗时和细致,所以很早就有研究尝试使用机器学习模型自动化这一过程。
这篇文章介绍了 DeepCreamPy 项目,它能够自动修复漫画图像中的空缺部分和马赛克。该项目使用部分卷积修复图像不规则空缺的研究。
项目Github:https://github.com/deeppomf/DeepCreamPy
图像修复任务可用图像编辑:移除不须要的图像内容,用合理的图像内容填补移除后的空缺。以前的深度学习方法都聚焦在图像中心的矩形区域,每每依赖昂贵的后处理。而 DeepCreamPy 项目基于的方法提出一种图像修复的新模型,可在不规则的空缺模式上鲁棒地生成有意义的预测(以下图 ),预测结果与图像其他部分完美契合,无需进行额外的后处理或混合操做(blending operation)。
在这里插入图片描述
近期不使用深度学习技术的图像修复方法均使用图像剩余部分的统计信息来填补空缺。python

  • PatchMatch [3] 迭代地搜索最适合的图像块来填补空缺。
  • 深度神经网络以端到端的方式学习语义优先(semantic prior)和有意义的隐藏表征
    在这里插入图片描述
    预构建模型下载地址:https://github.com/deeppomf/DeepCreamPy/releases

预训练模型地址:https://drive.google.com/open?id=1byrmn6wp0r27lSXcT9MC4j-RQ2R04P1Zgit

2、DeepCreamPy 使用方法

2.1. 修复条形空缺

对于你想修复的每一个图像,使用图像编辑软件(如 Photoshop 或 GIMP)将你想修复的区域的颜色涂成绿色 (0,255,0)。强烈推荐使用铅笔工具,不要用刷子。若是你没用铅笔,那么确保你所使用的工具关闭了抗锯齿(ANTI-ALIASING)功能。github

做者本身使用的是 wand selection 工具(关闭了抗锯齿功能)来选择空缺区域。而后稍微扩展选中区域,并在选中区域上使用绿色 (0,255,0) 的油漆桶工具。web

要在 Photoshop 中扩展选中区域,能够执行该操做:Selection > Modify > Expand 或 Contract。要在 GIMP 中扩展选中区域,可执行该操做:Select > Grow。将这些图像保存为 PNG 格式,并保存到 decensor_input 文件夹中。网络

  • A. 使用二进制编译文件(Windows)
    双击 decensor 文件来修复图像。
  • B. 从头开始运行
    运行如下行进行图像修复:
    $ python decensor.py
    修复后图像将保存至 decensor_output 文件夹。每张图像的修复须要几分钟。
2.2. 修复马赛克空缺部分

和修复条形空缺同样,执行一样的着色步骤,将着色后图像放入 decensor_input 文件夹。此外,将原始、未着色图像放入 decensor_input_original 文件夹,并确保每一个原始图像和着色后版本名称同样。机器学习

例如,若是原始图像名是 mermaid.jpg,你将其放入 decensor_input_original 文件夹;着色后的图像命名为 mermaid.png,放入 decensor_input 文件夹。svg

  • A. 使用 binary
    双击 decensor_mosaic 文件修复图像。
  • B. 从头开始运行
    运行如下行进行图像修复:
    $ python decensor.py --is_mosaic=True
    修复后图像将保存至 decensor_output 文件夹。每张图像的修复须要几分钟。

疑难解答
若是你的 decensor 输出以下,则修复区域未能正确着色。
如下是一些好的和坏的着色图像示例。工具

论文:Image Inpainting for Irregular Holes Using Partial Convolutions
论文连接:https://arxiv.org/pdf/1804.07723.pdf学习