基于残差网络的图像缺失修复研究

2022-08-20 09:21王豫峰
现代计算机 2022年12期
关键词:残差损失像素

王豫峰

(南阳理工学院计算机与软件学院,南阳 473000)

0 引言

图像修复技术是计算机视觉任务中非常重要的一项任务,是针对图像中像素信息缺失或者受损部分,利用原有图像中的像素信息和相关先验信息,来对原本已经破损的图像进行信息补全和信息填充,得到一个经过填充处理的图像的过程,使得经过处理的图像和原完好图像没有太明显的差别。图像修复的本质是根据图像中的部分完整信息重构整个图像的完全信息,因此该问题没有明确的唯一解。图像修复技术的应用领域非常广泛,比如:破损字画等艺术品的修复、老旧照片的修复、失真图片恢复、目标移除和图像超分。

与传统的图像去噪任务相比,图像修复任务不仅需要将图像缺损内容补全,还需要根据整个图像的纹理走向和图像细节进行补全。在补全图像缺失部分的同时,需要使补全后的图像最大程度地接近真实图像,使得修复后的图像和原本完好图像没有太明显的差别。在常规或小块缺陷的图像修复中,通过利用编码器-解码器架构学习图像的数据分布,取得了良好的效果。但随着区域的增大,像素之间的相关性减弱,图像修复的质量就会急速下降。与常规的图像修复和小块图像修复不同,大块图像修复需要预测的缺失内容较多,信息量较少。图像修复的性能在很大程度上取决于所设计模型的预测能力。当前模型掌握的信息量较少时,就会产生失真、模糊的纹理和扭曲的结构。

现有的方法在方形遮罩和小比例损坏的图像上取得了良好的性能,但对具有大比例不规则缺陷的图像的修复算法是不够的。针对大比例受损图像,注意力机制是图像修复任务中使用的一个重要工具,它可以匹配深度特征贴图上的像素或面片以生成良好的结果。但是,固定单尺度上的面片匹配限制了将此模型应用于不同场景的能力。针对这一现象,需要将不同层次的深层特征映射来获取不同尺度的信息,从而利用背景信息准确地恢复掩模区域。

为了使模型具有较强的预测能力,本文提出一种基于残差网络的图像修复算法。利用残差网络的残差特性,可以有效地降低模型退化。在残差网络中,以递归的方法收集并传播不同层次的残差信息,从而使不同层的特征表达不同的属性,发挥不同的作用。算法将部分卷积策略引入到U-Net结构中。在处理不同状态的区域时,包括已知背景和未知前景区域,可以避免误用虚假特征信息。提出的损失函数结合了像素重建损失函数、感知损失函数、风格损失函数和全局损失函数,主要根据鉴别器和特征提取器生成,有助于获得真实的细节,修复图像中受损区域的基本纹理和结构,获得细腻的细节。

1 相关工作

目前图像修复技术主要分为两种,一种是传统图像修复技术,一种是基于深度学习的图形修复技术。

传统的图像修复方法通过传播信息来填充受损区域。根据传播的内容,传统的方法可以简单地分为基于扩散的方法和基于补丁的方法。基于扩散的修复方法通过将局部像素强度的高阶导数沿等像线从外部连续传播到受损区域来重建目标区域,或者通过最小化修复模型的高阶偏微分方程来重建目标区域。这些方法在保持局部平滑度和生成几何结构方面具有良好的性能。但是,当孔洞较大时,它们会产生模糊结果。基于面片的方法可以通过在面片级别搜索图像的已知区域来恢复稍大的孔洞,并将最佳匹配的面片复制到缺失区域。在Patch-Match方法中,通过随机抽样可以找到一些好的补丁匹配,图像中的自然连贯性使这种匹配能够快速传播到周围区域。文献[7]开发了一种基于面片的图像修复方法,该方法通过测量非局部纹理相似度来搜索已知区域,并将找到的候选面片与遮罩区域进行平均滤波器融合。传统的方法可以成功地恢复一些纹理细节,并获得满意的结果,但捕获全局结构的问题仍然存在。这些传统算法通常通过数学和统计方法获取信息,导致无法生成新内容。在解决面部修复问题时,它们往往无法产生合理的结果。

随着机器学习的发展,很多基于卷积神经网络的模型被提出,它们通过大规模的训练数据解决上述问题。CE算法通过传递输入图像的表示特征,在语义层次上为填充损伤区域提供合理的内容。文献[8]提出了一种基于CE算法的全局和局部一致性图像完成架构,该架构由完成网络、全局上下文鉴别器和局部上下文鉴别器组成,以确保全局一致性和局部合理细节。MNPS将内容网络和纹理网络结合起来,以获得整体和局部的约束信息。文献[10]将转移连接引入U-Net网络,用于填充受损区域,以快速生成合理的内容。在转移连接层的帮助下,有效区域的编码器特征被转移到缺失区域作为额外的约束。然而,这些方法通常集中于经常出现在图像中心的方形遮罩区域。通过改变遮罩层的外轮廓,从而解决某些特定任务,如目标移除。

对于随机损坏的图像,可以通过图像空间位置的每个通道学习动态特征,并根据图像特征数据更新掩码,将区域卷积添加到由粗到细的网络中,并采用非局部运算来处理完好区域和受损区域之间的差异和相关性。通过部分卷积和遮罩更新替换卷积层,仅利用有效输入生成输出。除了使用新的卷积方法改进这些方法外,还可以考虑轮廓边缘信息来恢复受损区域,通过检测前景中显著性对象的轮廓,建立由边缘生成器和图像组成的网络,然后使用该网络指导图像修复。

在图像的修复中,想完整地表达图像的结构信息,需要使用注意力机制。注意力机制广泛应用于高级计算机视觉任务中,它是图像修复中的一个重要工具,利用高层语义信息重构底层图像特征,可以帮助从背景中学习相关特征。利用图像的上下文注意力模块,可以建立起从粗到精的体系结构,该体系结构专注于任何位置的相关功能补丁,以改进修复结果。多元图像补全方法采用了一种自我关注的方法,利用短期和长期的上下文信息来保证外观的一致性,用于处理不规则遮罩区域。但注意力机制还需要考虑不规则缺损区域的原因,需要构建不同尺度的注意力机制。

2 算法实现

2.1 算法模型

本文提出一种基于多尺度特征融合的残差网络模型,该模型可以有效融合多尺度的特征信息、空间注意力和递进通道-空间注意力的表征特征,模型总体架构如图1所示。

图1 整体网络结构

模型由编码器和解码器组成。编码器用于学习特征,是一个下采样和图像特征化的过程。解码器用于将先前编码的特征转换为所需的输出,用于恢复和解释特征地图。为了避免连续下采样导致丢失高频信息,模型在下采样前的卷积层和相应的反卷积层之间添加跳跃连接,通过对称性保留细微的细节。从而使得图像修复模型不仅保留初始细节以生成更精确的图像,而且避免了计算成本的快速增加。

模型采用U-Net的体系结构作为算法的主干。在该体系结构中,每个特征尺度上使用跳跃连接,从而能够充分地保留高-中-低层次的信息。模型的网络参数可以聚焦于图像的缺失部分,而忽略已知区域。

通过构造常数映射函数可以减少模型退化。在浅层网络的顶部覆盖一层身份映射=,可以随着网络深度的增加来表示高级特征。如何获得常数映射是构建深度网络的关键。在Resnet(见图2)中,常量映射函数由以下函数构造:

图2 Resnet网络中的残差模型

其中,x表示第-1层特征,身份映射函数可以通过学习H(x)得到。

每一个残差块由两个部分组成,即:特征地图和标识分支。在局部残差模型中,存在多层特征和标识分支。其中,特征是连续序列形式,标识分支成倍增加。当函数的输入维度非常高、网络的层数加深时,会直接导致模型退化。但是,通过建立层的跳跃连接,可以更加有效地传递特征信息,减少了网络深度带来的副作用,从而使得带短连接的网络拟合高维函数的能力比普通连接的网络更强,所以残差网络可以拟合更高维的函数。

在局部残差模型中,每层以前馈方式接收所有先前层的残差,即:

为了使非局部特征在整个网络的学习过程中发挥作用,模型在更高的层次上提出了一种全局残差收集方法,在全局范围内的残余聚集可以描述为:

其中,表示第一层,H(x)为最外层的身份映射。与普通残差学习相比,本模型具有更强的参数传导性和特征学习性。

2.2 损失函数

为了更加有效地提高图像修复模型的精准度,在构造损失函数时,需要考虑全局一致性和局部的细节协调性。损失网络由四部分组成,即像素重建损失函数、感知损失函数、风格损失函数和全局损失函数,用于局部像素完整性(局部区域有效损失)、细节协调性(内容相似度损失)、全局一致性(空间平滑度的总变化损失)和整体损失(补偿损失误差)。

在图像修复过程中,像素重建损失函数是利用真实图像和遮罩图像之间的像素差异特性,从而进一步保证图像缺损区域的修补的有效性。和是遮罩、输出图像和真实图像I的L1正则项:

其中,N表示真实图像I和遮罩的相同的像素个数,遮罩是一个二进制矩阵,其中0表示缺失像素。

为了确保图像高级结构的相似性,以保持全局图像的结构信息,需要对真实图像相似的特征进行表示,而不是它们之间的像素匹配。本文通过在VGG-16特征提取器中输入生成的图像和真实图像来计算感知损失。通过VGG的感知损失函数可以保证解码器生成的图像更接近真实图像。使用ImageNet中经过预训练的VGG-16网络的第1、2、3层来进行计算。

现在,在中国,无论是繁华都市,还是偏远山村,只要提到方便面,没人不知道康师傅,提到茶饮料,没人不知道康师傅冰红茶。

风格损失函数用于图像风格的一致性,通过计算VGG特征地图自相关系数的L1正则化数值,获得图像整体高层风格样式信息,确保修复的内容能够符合整体图像的风格样式。

其中,HWC分别代表第层特征地图Ψ的高度、宽度和通道数。

全局损失函数主要对图像进行平滑惩罚。

其中,表示图像缺失区域。

因此,算法通过融合像素重建损失函数、感知损失函数、风格损失函数和全局损失函数四种损失函数,输出不再代表整个图像,而是图像的不同区域。这样,每一个判别结果都代表了图像的局部特征,对于包含不规则区域的图形修复任务是合理的。通过四类损失函数训练模型的级联性。图像修复的解码器输出,用表示。

中各项的系数,参考文献[10]中的设置。

3 实验分析

为了测试图像修复算法的有效性,算法分别在Places2数据集和CelebA数据集上进行了图像修复测试。在训练阶段,学习率设置为0.0003。在图像修复评价中,使用填充图像的视觉质量来评估算法的性能。

图3展示图像修复前后的对比结果。在实验中,分别测试了建筑、景观、房屋、人像等场景。从测试结果来看,算法可以处理带有任意形状孔的杂项图像。即使缺损区域较大,图像修复结果看起来也很自然。

图3 图像修复前后对比图

在图像修复的结果中,第一张图像修复效果较好,不仅还原出原始的纹理信息,并且在结构上也没有出现较明显的扭曲,因为建筑物的整体线条直接,都是直线型。在未缺损区域,有效地保留了建筑物的整体风格样式。所以,图像修复效果较好。第二张图像在结构上有部分扭曲,并且细节上有模糊的像素。主要原因是从已知区域中搜索近似最近邻块以匹配未知区域的时候,产生了大量不能适配的区域,从而导致图像修复结果产生模糊纹理和扭曲结构。第三张图像修复的结果失真,主要是因为该图像是一个风景建筑物,在图像缺损区域的邻接区域中,正好有一个门。图像在修复过程中,过多地学习了邻域的感知信息,从而导致修复结果错误。第四张图像是人像场景,由于人脸区域较为复杂,出现的缺损部分将人脸轮廓等重要信息覆盖。算法根据前后相邻区域块的交替信息,对人脸外轮廓进行了预测。但是,在眼睛等细节部分,没有搜索到明确匹配区域块,从而导致出现图像模糊的情况。

4 结语

本文提出了一个基于U-Net的残差聚集网络来处理图像修复问题。算法充分利用了残差学习,利用多级注意力模块,通过添加级联实现了不规则掩模区域的多尺度特征表示。算法将部分卷积策略和多级注意力与提出的关节损失函数相结合,以保持背景区域的全局风格并生成精细的细节,从而得到真实的结果。实验表明,所提出的模型在生成真实和详细的结果方面优于最新的方法。

图像损失区域的边缘信息可能会导致图像修复部分遮罩或重构的失败。在图像修复中,通过预测轮廓,然后修复缺失区域是一种可能的解决方案,这也是下一步将要考虑的重点。

猜你喜欢
残差损失像素
洪涝造成孟加拉损失25.4万吨大米
多级计分测验中基于残差统计量的被试拟合研究*
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
两败俱伤
“像素”仙人掌
高像素不是全部
测量数据的残差分析法
损失
连续型过程的二元残差T2控制图
那些损失上百万的演员