1. 引言
图像修复是一种常见的图像编辑任务,旨在用视觉上合理的内容填充图像的缺失部分或遮蔽区域,被广泛应用于还原旧照片、场景编辑和修饰、去除水印及移除目标对象等领域。作为图像修复的一种,图像外推通常利用现有的图像部分或片段来推断外部边界中未知的图像内容,是一种孔洞区域较大的图像修复。在进行大孔洞图像修复时,不仅要求修复的生成区域内容在视觉上合理,而且在纹理上能够正确延展,细节表现一致,保证视觉效果,符合人眼感知。图像外推广泛应用于许多现实场景中,例如自然图像外推、全景图像生成、虚拟现实中的扩展沉浸式体验等。
2. 相关工作
图像修复方法可以划分为传统图像修复方法和基于深度学习的图像修复方法。其中,传统图像修复主要基于补丁[1]-[3]和像素扩散[4]-[6]两种方法实现。这类方法仍停留在对已有信息的采样、拷贝和粘贴阶段,只关注图像内容的复原,局限于恢复图像的低级信息,缺乏对图像特征的理解,因此修复对象只能是结构简单、破损面积较小的图像。当修复大范围缺失图像时,容易产生内容错乱、纹理模糊等问题。
基于深度学习的图像修复主流方法大致分为4类:基于卷积神经网络[7]-[10]的修复方法、基于生成对抗网络[11]-[13]的图像修复方法和基于Transformer [14]-[16]的修复方法、基于扩散模型[17]的修复方法。其中,CNN具备良好的局部感知性能,但对长距离特征信息的提取能力不足。因此,在面对具有复杂背景的缺失图像时,基于CNN的图像修复不能很好生成正确的上下文语义,造成结构错乱等现象。
近年来,基于GAN的图像修复通过在大规模数据集上使用重建和对抗损失进行训练而取得了显著进展。少数研究尝试使用可学习自动编码器(VAE) [18]网络进行图像修复修复,但由于参数分布的容量有限,在修复具有复杂结构和纹理图案时。与基于VAE的方法等参数分布建模不同,[19]利用基于CNN的条件网络来学习自回归分布,以恢复不同的结构特征。因为自回归模型被优化为仅编码单向上下文,这意味着当前位置之后的有效像素的信息上下文基本上被忽略。为了探索双向语义,文献[20]采用了像伯特一样的掩蔽语言模型(MLM) [21]。然而,MLM独立预测屏蔽令牌,这可能会过度简化数据中的复杂上下文相关性,导致修复结果缺乏上下文一致性,出现结构错乱现象。本文提出语义一致性大孔洞图像空间频率修复方法,利用多头注意力双向自回归模型更好提取上下文结构信息,得到具有上下文语义一致性的低分辨率修复结果。引入快速傅里叶卷积能从频域角度上处理图像,获得细节纹理丰富的高分辨率修复结果。
3. 提出方法
3.1. 模型框架
语义一致性大孔洞图像空间频率修复方法流程图如图1所示。该模型由两个主要部分组成,包括多头注意力双向自回归低分辨率语义结构生成器和快速傅里叶卷积高分辨率纹理生成器。第一阶段着重于重建图像结构,该结构使用BA-MCAT对全局结构信息进行特征提取,有效地恢复上下文语义一致的图像结构;第二阶段着重于纹理细节的生成,利用傅里叶卷积的全局感受野来学习局部纹理表示,获得纹理细腻的高清晰度修复结果。
Figure 1. Semantic consistency large mask image inpainting in spatial frequency
图1. 语义一致性大孔洞图像空间频率修复方法
多头注意力双向自回归低分辨率语义结构生成器结合并适配了transformer结构,该架构对全局结构信息的分布进行建模,并在给定掩码图像
作为输入的情况下获得低分辨率的粗修复结果Coarse result。在低分辨率结构信息Coarse result和受损图像
的指导下,利用快速傅里叶卷积高分辨率纹理生成器进行纹理细化,最终获得结构和纹理清晰、语义连贯的修复结果
。
3.2. 多头注意力双向自回归低分辨率语义结构生成器
多头注意力双向自回归低分辨率语义结构生成器主要包含多头注意力双向自回归模型,其结合了transform架构,可以同时实现双向上下文建模并输出依赖。该模块最终生成低分辨率语义结构,作为第二阶段细节修复的引导。
3.2.1. 多头注意力双向自回归模型
BERT [21]中的自回归(AR)建模和掩蔽语言建模(MLM)是自然语言处理任务中的两个代表性任务。给定离散序列
,L为序列长度,AR模型通过最大化单向似然来优化,其中
是模型参数:
(1)
MLM旨在使用掩蔽位置
重建损坏的数据,K是掩码标记的数量。缺失区域的每个掩码位置由标记
表示。其中,掩码位置标记为
,未掩码位置标记为
,则MLM可以表示为:
(2)
AR和MLM的区别如式(1) (2)所示,其中MLM单独和独立地预测屏蔽令牌,这可能会过度简化数据中复杂的上下文相关性。AR对预测的令牌进行因子分解,从而建立掩码区域与已知区域的语义相关性并生成更准确的预测结果。此外,对于上下文语义一致性,AR仅关注当前生成位置的标记,而MLM可以访问双向上下文信息。因此,MLM更适合于图像修复,它能在相邻背景具有丰富的变化的图像中恢复上下文语义一致性的修复结果,更适合于大孔洞图像修复。
本文使用多头注意力双向自回归模型,它结合了AR和MLM的优点,并引入多头上下文注意力机制,可以同时实现双向上下文建模并输出依赖。BA-MCAT可表示为:
(3)
Figure 2. Bidirectional autoregressive semantic structure generator
图2. 双向自回归语义结构生成器
如图2所示,存在长度
的屏蔽序列
,其中位置2、3、5是掩码区域。其中,我们将有效区域
置换到序列前面,带有位置信息嵌入的掩码区域置换到有效区域后面。在置换位置并嵌入位置信息之后,获得未预测的tokens
,这些tokens提供双向上下文信息。对于预测部分,输入令牌
来预测它们对应的下一个标记,即
。在此过程中,双向建模用来关注生成的表征,自回归建模则是关注已知表征信息,以保证输出的上下文一致性。例如,在预测
时,模型可以关注未预测的表征中的
,同时关注已经“预测的”表征
。因此,使用双向自回归语义结构生成器能在获取双向上下文信息的同时输出生成令牌信息,获得上下文语义一致的修复结果。
3.2.2. 多头上下文注意力
由于双向自回归语义生成器在修复过程中只关注当前生成像素位置及其前一位置的像素信息,对整体结构的一致性关注不足,这导致修复结果的结构一致性不佳,容易出现结构错乱现象。注意力机制[22]能够计算出输入序列中每个位置的权重,因此可以很好地处理序列中长距离依赖关系,解决结构错乱的问题,其公式如式(4)所示:
(4)
为了获得更好的结构一致性,使用多头上下文注意力机制来进行长距离特征建模。如图3所示,多头上下文注意力机制通过使用多个独立的注意力头,分别计算注意力权重,并将它们的结果进行拼接或加权求和,从而获得结构信息更丰富的最终输出结果。多头上下文注意力关注输入序列中不同位置的元素与上下文之间的关系。每个注意力头都会学习到在给定位置的上下文范围内的信息,并且可以根据上下文信息来调整当前位置的表示,可以较好地处理复杂语义关系。其公式如式(5) (6):
(5)
(6)
其中h为多头注意力的头数,
、
、
是三个可学习的线性投影层,且
。
是一个可学习的FC层,其目标是融合不同注意力头的输出连接。
Figure 3. MCAT structure diagram
图3. MCAT结构示意图
3.3. 快速傅里叶卷积高分辨率纹理生成器
在进行大孔洞图像修复时,生成结构和语义一致的内容需要足够的全局上下文信息。传统的完全卷积模型存在有效感受野增长缓慢的问题,在网络浅层无法获取足够的有效感受野,导致网络中间层缺乏全局结构特征,影响最终修复结果。快速傅里叶卷积[23]可以在空间频域对图像进行处理,能有效实现非局部感受野,在网络的浅层就具有大的感受野,从而影响全局上下文内容。同时,基于傅里叶变化的周期性,有利于呈规律分布纹理的修复。
快速傅里叶卷积基于通道对图像特征进行快速傅里叶变换以捕获整个图像的感受野。如图4所示,FFC对输入图像特征按照比例进行通道维度的分割,即分为局部特征和全局特征。然后二者由四个不同分支(局部–局部、局部–全局、全局–局部、全局–全局)进行卷积、归一化操作等,其中前三个分支都是借助传统卷积方法进行特征图的局部更新,只有最后一个分支对特征图进行傅里叶变换,并在影响全局的空间频域中对其进行更新,每个分支通过不同的感受野捕获互补信息。四条分支中到达局部和到达全局的特征分别进行汇合叠加,使两条信息链相互作用、交换信息,使得网络每一层都有能力查看全局上下文信息。
Figure 4. Fast Fourier convolution
图4. 快速傅里叶卷积
3.4. 损失函数
为了保证生成区域和未掩码区域两部分的语义结构一致性,获得更符合人眼感知的修复结果,本文采用像素重建损失、生成对抗损失和感知损失以生成具有高级感知特征的修复结果,并引入风格损失来测量输出结果与原始图像的风格差异,更好地保持生成部分与原始图像的风格一致性。在训练过程中,网络会不断调整参数,以最大程度地减小像素重建损失、对抗损失、感知损失和风格损失,从而提高修复结果的质量,同时增强模型的泛化能力。
1) 像素重建损失[24]
像素重建损失通过计算输出结果图像
和输入原始图像
之间的逐像素差进行测量,其公式如式(7)所示:
(7)
2) 对抗损失[25]
对抗损失应用于快速傅里叶卷积高分辨率纹理生成器D中,目的是得到更加精细的纹理细节。具体而言,鉴别器和生成器的对抗损失函数由下式定义:
(8)
(9)
3) 感知损失[26]
感知损失匹配深度真实特征映射和重构特征映射,可以模拟人类对图像质量的感知,从而增强深度纹理细节和生成图像的整体语义一致性。它可以写成:
(10)
其中,
是平衡权重,
是预训练VGG-19网络模型第i层激活函数的输出结果,
表示主要提取语义特征的ReLu4_2层的激活图。在这里激活函数的层i选择ReLu1_2、ReLu2_2、ReLu3_2和ReLu4_2层。
4) 风格损失[27]
通过测量
与
之间的协方差来计算风格损失,它可以缓解由傅里叶卷积引起的棋盘格伪影。风格损失公式如式(11):
(11)
是一个由激活图
构造的Gram矩阵。
5) 总损失函数
综上所述,总损失函数
计算式如下:
(12)
超参数具体设置为
,
,
,
。
4. 实验设计与结果分析
为了客观、全面地评价语义一致性大孔洞图像空间频率修复方法的性能,在本小节与近几年相关修复技术进行定性和定量评价。此外,本节还进行了消融实验,用来分析每个模块在修复过程中发挥的作用。
4.1. 数据集和参数设置
本文使用Places365-Standard [28]和CelebA [29]这两个数据集进行定性和定量评估。其中,Places365-Standard数据集是Places2数据集的子集,它包含了各种场景的集合,如室内和室外场景、自然景观以及人造结构和建筑等。CelebA以上具有复杂背景的大规模数据集和多类别随机掩码可以保证训练数据集的多样性。
本文提出的网络在PyTorch框架上实现,实验在NVIDIA 3060 Ti上进行,内存容量12 GB。该网络使用256 × 256图像进行训练,并由Adam [30]优化器优化,学习率为1e−4。训练过程中的批量大小设置为1。
4.2. 定量分析
表1、表2显示了本章方法和比较方法在Places365-Standard数据集和CelebA数据集上定量比较结果。其中每个指标的最佳值使用红色加粗表示,第二佳值用蓝色加粗表示。我们使用四种实验指标来评估修复结果,分别是:弗雷歇初始距离FID [31]、结构相似性指数SSIM [32]、峰值信噪比PSNR [33]和学习感知图像块相似度LPIPS [34]。其中,PSNR值和SSIM值越大,FID值和LPIPS值越小,表示修复质量越好。表格中指标箭头↑表示数值越大越好,箭头↓表示数值越小越好。
Table 1. Quantitative comparison results on the Places365-Standard dataset
表1. 在Places365-Standard数据集定量比较结果
模型 |
FID↓ |
SSIM↑ |
PSNR↑ |
LPIPS↓ |
PIC |
50.663 |
0.689 |
18.693 |
0.2016 |
BAT |
34.343 |
0.697 |
20.902 |
0.1862 |
LaMa |
31.906 |
0.723 |
21.603 |
0.1688 |
HINT |
29.414 |
0.740 |
21.9303 |
0.1532 |
本文算法 |
28.133 |
0.746 |
22.449 |
0.1614 |
Table 2. Quantitative comparison results on the CelebA dataset
表2. 在CelebA数据集定量比较结果
模型 |
FID↓ |
SSIM↑ |
PSNR↑ |
LPIPS↓ |
PIC |
36.891 |
0.7862 |
21.434 |
0.1897 |
BAT |
24.756 |
0.7906 |
23.022 |
0.1694 |
LaMa |
23.342 |
0.8177 |
24.227 |
0.1511 |
HINT |
23.228 |
0.8241 |
24.128 |
0.1499 |
本文算法 |
22.428 |
0.8299 |
24.428 |
0.1427 |
4.3. 定性分析
为了更直观的显示视觉对比结果,从Places365-Standard数据集中选择了部分图像样本进行定性分析。本文模型和其它几种对比方法的结果如图5所示。
Figure 5. Qualitative comparison results on the Places365-Standard dataset
图5. 在Places365-Standard数据集定性对比结果
由图5可知,PIC在修复图像时产生严重的伪影,且生成区域纹理模糊,无法得到上下文语义一致的修复结果。BAT在修复具有复杂背景的图像时容易生成错误结构,在越靠近图像边缘的部分纹理细节越模糊,容易产生伪影。得益于傅里叶卷积的全局感受野,LaMa能较好地恢复整体结构,但由于傅里叶卷积的周期性变换,在图像边缘区域会产生棋盘格伪影,影响整体修复质量。HINT利用Transformer的强大特征提取能力,能够恢复较好的结构,符合人眼感知,但在重复结构特征恢复中产生了部分结构错乱。如图5最后一列所示,本文方法可以生成上下文语义一致且纹理结构清晰的修复结果,且符合人眼视觉感知,优于其他对比方法。
4.4. 消融实验
为了验证文中各组件的有效性,我们基于Places365-Standard数据集,以BAT为基线模型设计消融实验。其中MCA表示多头上下文注意力,FFC表示傅里叶卷积。在Places365-Standard数据集消融实验的定量结果如表3所示。
Table 3. Quantitative comparison results of ablation experiments on the Places365-Standard dataset
表3. 在Places365-Standard数据集消融实验的定量比较结果
模型 |
FID↓ |
SSIM↑ |
PSNR↑ |
LPIPS↓ |
基线 |
34.343 |
0.697 |
20.902 |
0.1962 |
基线 + MCA |
31.125 |
0.726 |
21.223 |
0.1789 |
基线 + FFC |
29.076 |
0.721 |
21.996 |
0.1731 |
基线 + MCA + FFC |
28.772 |
0.739 |
22.031 |
0.1657 |
本文方法 |
28.133 |
0.746 |
22.449 |
0.1614 |
如表3所示,在结构生成器中使用多头上下文注意力后(基线 + MCA),各方面指标都有所提升,尤其是SSIM提升了4.1%,这表明多头上下文注意力在结构恢复方面的有效性。此外,得益于傅里叶卷积的全局感受野,在纹理生成器中使用FFC后PSNR值提高了5.2%,表明了FFC恢复纹理细节的高效性。
Figure 6. Qualitative comparison results of ablation experiments on the Places365-Standard dataset
图6. Places365-Standard数据集上消融实验定性对比结果
图6展示了消融实验的可视化实例,从图中可以看出,当掩码覆盖到图像边缘时,基线模型产生了不合理的结构,并且越靠近图像边缘区域纹理模糊越严重。在添加多头上下文注意力后,不合理的错误结构得到改善,整体上下文结构一致性有一定提升。FFC对细节纹理恢复有很大作用,尤其是重复纹理特征方面,引入FFC后生成了更丰富的纹理细节,提升了修复质量。由消融实验可视化结果可知,随着各部分组件的引入,修复结果的上下文语义一致性得到提升,同时能获得更丰富的纹理细节,最终得到语义一致性大孔洞图像修复结果。
5. 结论
提出了一种语义一致性大孔洞图像空间频率修复方法。多头注意力双向自回归低分辨率语义结构生成器能更好提取上下文结构信息,得到具有上下文语义一致性的低分辨率修复结果;快速傅里叶卷积具有全局感受野,并且能从频域角度上处理图像,获得细节纹理丰富的修复结果。利用多头注意力双向自回归低分辨率语义结构生成器和快速傅里叶卷积高分辨率纹理生成器设计两阶段的修复网络能很好地结合两者的优点,获得更符合人眼感知且上下文语义一致的大孔洞修复结果。在Places365-Standard数据集上对文中方法和其他4种主流修复方法进行了定性和定量对比,并进行消融实验验证不同组件的有效性。最终实验结果表明,文中方法能够合理地修复规则的外框掩码,得到下文语义一致且纹理结构清晰的修复结果。
基金项目
上海市科学技术委员会科研计划(18060502500);上海市自然科学基金面上项目(19ZR1435900)。