基于生成对抗网络的语意图像修复文献综述
2020-04-15 20:29:39
图像修复是指对图像中被遮挡或需要删除的物体区域,进行自然、满足视觉一致性的图像数据填充。图像修复最初起源于古代人民对艺术品的手工修复,可以更好地保存艺术品的原貌。随着人工智能与数字图像技术的发展,人们开始使用计算机进行辅助修复破损图像。与此同时,数字图像修复技术也广泛应用到公安刑侦图像修复、图像缩放、生物医学等领域。图像语意修复是指对有大量缺失区域的图像进行修复,这要求我们的方法能理解图像的语意,而传统的图像修复方法往往效果不佳。本文通过实现一个生成式对抗网络(GAN, Generative Adversarial Networks),对图像数据进行训练,生成待修复区域的图像,并在公开数据集上进行测试效果,实现对任意指定图像区域的修复。
目前,数字图像修复算法主要包括三类:基于结构的图像修复技术,基于纹理相似度的图像修复技术,以及基于深度学习的图像修复技术。基于结构的图像修复技术主要基于高阶偏微分方程或变分的方法。基于高阶偏微分方程的方法通常计算量很大,同时也容易丢失图像边缘信息。与基于高阶偏微分方程的方法相比,基于变分的方法保留了图像边缘的信息。Chan 和 Shen 提出的全变分模型解决了普通变分方法的局部连通性问题。但基于结构的图像修复技术应用范围过于局部,该方法主要适用于小尺度缺失的图像修复。基于纹理相似度的图像修复技术主要分为两类:基于图像分解和基于纹理合成。基于图像分解的图像修复由 Bertalmio 等人提出,该算法将图像分解成结构信息与纹理信息两个部分,依次进行图像修复。基于纹理合成的图像修复由 Criminisi 等人提出,该算法对于图像缺失区域边界的每个像素点,全局搜索最优纹理,然后填充到缺失区域。该算法本质上是一个贪婪算法,这导致修复图像中往往包含完全重复的结构,修复后的图像看起来也不是很自然。近年来,深度学习在图像语意修复、情景感知等领域展现着令人振奋的前景。Pathak等人提出的编码-解码器(Context Encoders),解决了填补图像中大量缺失区域的难题。
GAN网络是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一,于 2014 年由 Goodfellow 提出。GAN的思想是一种二人零和博弈思想(two-player game),生成网络希望生成的数据可以骗过判别网络,判别网络通过比较生成数据与实际数据的差异来进行优化。2017 年开始生成式对抗网络发展迅速,出现了很多 GAN 的改进模型,CGAN在针对GAN本身不可控的缺点,加入监督信息,指导GAN网络进行生成;DCGAN将卷积神经网络与生成式对抗网络结合起来,使得训练更加稳定;EBGAN 将能量的概念和方法引入到了GAN中;WGAN 使用Wasserstein距离代替JS散度;WGAN-GP是WGAN的改进版,改进了连续性限制的条件;SAGAN将在GAN中使用Self-Attention,大大缩小了网络的复杂度。GAN理论的迅速发展也为图像修复领域带来了新的方向,Raymond等人利用感知与环境信息,进行图像语意修复;Yijun Li等人的Generative Face Completion以GAN为基础,从随机噪声中修复人面图像面部缺失的区域;Satoshi Iizuka等人利用global判别器和local判别器两种判别器保证生成的图像既符合全局语意,又尽量提高局部区域的清晰度和对比度;Chao Yang等人利用多尺度的神经网络合成法实现了高分辨率图像修复;由KamyarNazeri等人提出的二阶段生成对抗网络EdgeConnect,结合多阶段方法和边缘先验信息,实现了高还原度的图像修复。基于GAN网络的图像修复,能够自动地实现图像修复任务,同时无需人为参与,具有非常重大的研究价值和应用价值。
{title}2. 研究的基本内容与方案
{title} 2.1 研究的基本内容
传统的图像修复算法由于缺乏高层次的上下文信息,对于有大量破损的图像修复效果不佳。本课题中,我们提出了一种基于生成式对抗网络的图像语意修复算法,实现对任意指定图像区域的修复。
2.2 研究目标
实现一个生成式对抗网络对有大量破损的图像进行图像语意修复,并在公开数据集上进行测试,使用主观评价方法与客观评价方法,证明本课题修复算法的可行性与优越性。
2.3 拟采用的技术方案及措施
生成式对抗网络(GAN)包含一个生成器G与判别器D。生成器G尽量去拟合真实数据分布,生成能够欺骗判别器以假乱真的图片,它的输入参数是一个随机噪声z,z采样于先验分布 ,G(z)代表其生成的一个伪图像;判别器D判断出一张图片来源于真实数据分布 还是生成器的数据分布 ,它的输入参数是x,x代表一张图片,D(x)代表x是真实图片的概率。GAN的目标函数可以描述为:
GAN网络的训练过程采用交替优化的方法:先固定生成器G, 优化判别器D, 使得D的判别准确率最大化; 然后固定判别器D, 优化生成器G, 使得D的判别准确率最小化.当且仅当 时达到全局最优解,此时可以结束GAN网络的训练。
为了填补大范围的缺失图像 y,我们需要找到拟合受损图像的分布 ,这样我们就能使用训练好的生成器G生成缺失区域,修复后的图像可通过以下运算获得:
其中,M为二元掩码(binary mask),运算为 Hadamard product 。
为了找到,定义语境损失函数(Contextual Loss)与感知损失函数(Perceptual Loss):
由此,我们可以通过损失函数获得:
其中λ为超参数,它控制语境损失相对于感知损失的输入方式。
根据上述原理,设计迭代算法,使用Python语言完成编程,对受损图像进行语意修复。根据修复结果,分析原因,并进一步完成对算法的改进。