日本研究人员利用神经网络完美重现缺失的图像

1,310 阅读5分钟
原文链接: mp.weixin.qq.com

论智

编译 | Bing

来源 | hi.cs.waseda

最近,日本早稻田大学的研究人员利用神经网络创建了一种填补残缺图像的方法,不管该图像的分辨率是高是低,也无论图像缺失的形状如何,机器都能保证全局和局部的一致性,看起来“天衣无缝”。

为了训练这个补图网络保持一致性,研究人员使用经过训练能分辨原始图像和修补图像的全局和局部判别模型。全局判别器通过查看整个图像来评估其是否一致,而局部鉴别器只负责修补区域,以确保这一小部分的一致性。然后该网络又进一步训练,以欺骗两个上下文鉴别器网络,从而要求它产生的图像与真实图像在整体性和细节方面都难以区分。结果表明,这一方法适用于任何场景。此外,与基于最邻近补丁的搜索算法(例如PatchMatch)相比,这种方法不会使补出的图像出现在其他地方,这就可以将其应用到具有高度特定结构的画面中,例如脸部还原。

背景介绍

图像补全是用替代内容填充目标区域的技术,也就是去除不需要的对象或遮挡某一部分以进行基于图像的3D重建。尽管之前已经有人创建了相关技术,例如基于补丁的图像合成,但都不够完美。因为这通常需要对场景进行高级识别。不仅需要把图案修复完整,还要了解整个场景的结构和对象。所以我们从全局和局部两个部分对图像进行重建。

实验方法

这项实验是基于深度卷积神经网络进行的,整个结构包括三部分:一个用于补全图像的网络、一个全局上下文判别器网络、一个局部判别器网络。后面两者是为了让图像更真实。在训练过程中,两个判别器网络是用来补全图片的,而剩下的一个神经网络是用来欺骗它们的。只有共同训练这三个网络才能轻松应对各种风格的图片。下图展示了模型的基本结构:

补全网络

图像补全网络基于完全卷积网络,其基本体系结构可在下表中看到。

该网络是从双通道中输入RGB图像,输出的是RGB图像。为保证其他地方不发生变化,因此需要补全的区域外部的输出像素将恢复为输入的RGB值。一般架构遵循编码器的结构,能够在进一步处理图像之前降低分辨率,从而减少存储器使用和计算时间。

上下文判别器

全局上下文判别器网络和局部上下文判别器网络是用来辨别一幅图片是否已经补全了。这两个网络都基于卷积神经网络,它们可以将图像压缩成较小的特征向量。输出结果通过连接层融合在一起,连接层可预测图像是否真实的概率连续值。

全局上下文判别器再输入图像前将整个图像重新缩放到256x256像素。它由6个卷积层和一个单一的完全连接层组成,连接层的输出维度为1024。所有卷积层的步幅为2x2,以减小图像分辨率,同时增加滤波器输出。与图像补全网络不同,这里的所有卷积都使用5x5内核。

局部上下文判别器的模式与之相同,只不过它的输入是128x128像素的图像块。当图像不完整时,补丁是随机选择的,因为在其周围没有完整图片。由于初始输入分辨率是全局判别器的一半,所以全局判别器的第一层是没有必要的。输出结果同样为1024维度的向量,代表被补全的局部区域。

最后,全局和局部鉴别器的输出连接成一个2048维度的向量,经连接层处理后,输出一个连续的值。经过S函数的计算后,该数值的范围在0~1之间,表示图像补得自然与否的概率,而非是否完整的概率。

实验成果(建议放大观看)

图像消除

场景还原

人脸还原

与其他方法对比

上图中,第一行为输入图像,下面几行分别是不同模型得出的结果,最后一行是本次实验所用的模型。可以看到,虽然PatchMatch(第二行)和Image Melding(第三行)能够生成局部一致的补丁,但由于他们是从图片的其他地方提取的,整体来看就很不协调(例如树木的一部分飘在空中)。Pathak的方法(第五行)可以很好地修复缺失区域,但痕迹十分明显,即使我们后期处理之后也显得很不自然。而本次实验的方法(最后一行)还原出的图片是最自然的。

点击下方「阅读原文」即可查看原论文。

本文系论智编译,转载请联系本公众号获得授权。