1. 引言
随着人脸识别应用的广泛推广,人脸去遮挡恢复技术的发展变得日益重要。该技术在数字身份验证、监控安全、刷脸支付等领域发挥着不可或缺的作用。但是,在生活场景中,人脸常常受因眼镜、口罩、围巾、帽子等物体遮挡而无法被系统识别,甚至犯罪分子也可通过遮挡面部来躲避天眼系统[1],所以人脸去遮挡修复有着重要的实际运用价值。
传统的图像修复方法有基于纹理合成的方法,如He等[2]通过从图像的其他区域复制和粘贴纹理来填补缺失区域,但简单的纹理复制不能很好地恢复图像的全局结构,处理大面积缺失效果差,还有基于扩展的方法如Criminisi [3]通过扩展图像的边界,逐步填充缺失区域,但当图像缺失区域复杂或边界不明显时,扩展方法可能会产生不自然的填充结果。
近些年,卷积神经网络(CNN) [4]还有生成对抗网络(GANs) [5]及其变种如DCGAN(深度卷积生成对抗网络) [6]、cGAN (条件生成对抗网络) [7]以及等在图像生成领域展现了巨大的潜力。传统GAN通过训练生成器和判别器进行对抗学习,使生成的图像逐渐接近真实图像。DCGAN它将GAN模型和CNN进行了融合,把CNN的理念应用到生成网络和判别网络中,以提高模型在训练时的性能,从而增强模型的修复能力。cGAN [7]则通过给予条件约束,使得生成的图像能够满足特定的要求或属性。Pathak等[8]提出了基于CNN的上下文编码器方法,通过重构缺失区域来学习图像的高层次特征但生成的图像细节质量较差,容易产生模糊或不连续性,尤其在复杂纹理区域。Iizuka等[9]提出结合全局和局部鉴别器,确保修复结果在全局结构和局部细节上都具有一致性的图像修复方法,但不足之处在于无法很好处理大面积遮挡修复。刘波宁等[10]提出基于双鉴别网络的生成对抗网络图像修复,但其网络结构复杂且依赖于预处理算法一定程度上限制了网络能力。Yu [11]等提出了上下文注意力机制,使网络能从未遮挡区域中有效提取相关特征并填充缺失部分,但在处理非常细节化的部分(如人脸特征)时,生成的图像可能会有伪影。
本文提出一种结合CSWin-Transformer [12]与Wasserstein GAN的新策略来克服现有方法的局限。方法首先在判别器中引入Wasserstein距离从而使网络的训练更加稳定,然后通过引入CSWin自注意力机制有效识别和处理被遮挡的面部区域,提高关键信息的观察精度,提高细节部分的修复效果的自然性。通过将自注意力机制与WGAN相结合,本文所提出的方法能够在复杂场景下,在保证图像真实性的同时,让修复图像更自然、更连续的图像修复结果。
2. 相关技术原理分析
2.1. Wasserstein GAN
Wasserstein GAN (WGAN)由Arjovsky提出[13] [14],旨在解决传统生成对抗网络(GAN)在训练过程中遇到的几个关键问题,包括训练不稳定、模式塌陷以及难以收敛,其工作原理如图1所示。其工作流程:初始时,生成器和判别器的参数随机设定,随后生成器开始通过接收随机噪声向量并转换为假数据的方式学习仿造真实数据分布[4]。同时,判别器努力区分接收到的真实数据样本和生成器创造的假数据样本。两者的性能都通过损失函数衡量,该函数刻画了真实数据与生成数据间的差异。随着损失函数指导下的参数更新,生成器越发精于创建逼真数据,而判别器则越来越能准确区分真假数据,整个过程迭代进行,直到生成器与判别器之间的性能达到一种动态平衡为止。
WGAN通过引入一种新的损失函数——Wasserstein距离(或称Earth-Mover距离),来衡量生成数据分布与实际数据分布之间的差异。
Figure 1.WGAN, working principle
图1. WGAN工作原理
相较于传统GAN使用的Jensen-Shannon散度,Wasserstein距离提供了一个更平滑、可导的准则,使得梯度下降过程中能够更加稳定地调整生成器的参数。Wasserstein距离的定义的表达式如下:
其中,
是p,q组合起来的所有可能的联合分布的集合,对于每一个γ可以从其中采取样本
的到一个样本x和y,通过
计算得到样本距离,然后就能通过
计算样本对距离的期望值。
2.2. CSWin自注意力机制
CSWin(Cross-Shaped Window Transformer)是一种新的视觉Transformer架构,旨在通过创新的基于窗口的方法处理图像数据,其网络结构如图2所示。其中红色点表示query,绿色区域表示key。图2中(b)~(e)分别表示query点与global区域、shiftedlocal区域、local区域以及横向区域的相关性计算。
Cross-Shaped Window Self-Attention将Multi-Head平均分成两个部分:一部分用于横向条纹Self-Attention,另一部分用于纵条纹Self-Attention,最后将两部分的输出进行拼接。如图2中(a)所示,维度为H × W × H的特征图会线性投影到K个头(每个头的特征图通道数为C/K),然后平均分成两部分:一部分从位置h1到位置hK/2,另一部分从位置hk/2+1到hk位置。对于横向条纹注意力如式(2),条纹宽度为sw,每个头的特征图会根据sw划分成不重叠的横条纹,记作
,其中,
。接着,计算所有横条纹和纵条纹的self-attention,最后将所有输出拼接起来。输入特征
,
,
,
分别表示k个多头注意力的Q,K,V投影矩阵[5]。
, where
and
, where
(2)
另外,考虑人脸图像不存在方向性偏差,将K个head平均分成两个平行组,第一组的head表现出横向条纹的自注意力,第二组的head表现出竖直条纹的自注意力。最后,这两个并行组的输出将被连接在一起,如式3,其中
。通过多头分组,CSWin-Transformer Block实现了将局部特征扩大至全局范围,为人脸修复过程提供了更充分的特征信息。
where
(3)
Figure 2. CSWin Self-Attention
图2. CSWin Self-Attention
3. 人脸遮挡修复方法
3.1. 网络模型
3.1.1. 生成器
传统的卷积判别器通常是简单的卷积层堆叠,缺乏多尺度特征的融合能力。虽然也能有效地进行图像判别,在细节保留和多尺度特征提取方面有所欠缺。本文生成器模型结合了CSWin-Transfomer和encoder-decoderp [15]结构,编码器部分由多个CSWin-Transformer Block组成,通过跨阶段窗口注意力机制提取图像的多尺度全局上下文特征,并通过Merge-Block实现逐层下采样,逐步减少特征图的空间分辨率并增大通道数。解码器部分则通过反卷积逐层上采样,恢复图像分辨率,并结合跳跃连接机制,将编码器各层的细节特征与解码器对应层的特征融合,以保留多尺度信息。瓶颈层Bottleneck位于编码器与解码器之间,通过最后一层CSWin-Transformer Block进一步整合全局和局部特征,确保复杂损伤区域的高效修复。最终,网络通过线性变换将特征映射回图像空间,输出修复后的高质量图像,网络结构如图3所示。
Figure 3. Generator structure
图3. 生成器结构
3.1.2. 判别器
本判别器模型由多层卷积网络和注意力机制组成,首先通过四个卷积块对输入图像进行逐层下采样,每个卷积块由卷积层、批归一化层(第一层除外)和LeakyReLU激活函数组成。卷积层的作用是缩小图像尺寸,同时逐步增加通道数,以提取更高层次的特征,最终将输入图像转化为大小为8 × 8的特征图,通道数为256。在四层卷积后引入了一个自注意力块CSWin-Transformer Block,通过跨阶段窗口注意力机制进一步处理特征图。该注意力机制能够有效捕捉远距离的像素关联,增强判别器对图像全局结构和细节信息的理解[7]。输出层是一个卷积层,它将最后一层的特征图通道数减少到1,输出一个表示图像真实性的得分图,其空间维度是输入图像高度和宽度的1/16,网络结构如图4所示。
3.1.3. CSWin-Transformer Block
CSWin-Transformer Block结构如图5所示,它利用跨形窗口自注意力机制,通过分别在水平方向和垂直方向执行自注意力操作,捕捉图像特征中的局部和全局依赖关系。其核心结构由两部分组成:第一部分通过LayerNorm (LN)和Cross-Shaped Window Self-Attention,将输入特征标准化并在划分的窗口内进行自注意力操作,从而有效获取不同窗口区域的上下文信息;第二部分通过再次标准化的LayerNorm 和多层感知机(MLP),对特征进行线性和非线性变换,增强特征表达能力。每个部分都使用了残差连接,直接将输入信息跳过自注意力模块与MLP结合,保证了信息流的连续性,避免梯度消失问题。
Figure 4. Discriminator structure
图4. 判别器结构
Figure 5. CSWin-Transformer Block structure
图5. CSWin-Transformer Block 结构
CSWin-Transformer Block形式上定义为式(4),其中Xl是第l个CSWin-Transformer Block的输出。本文在生成器的编码阶段,CSWin-Transformer Block应用于每个分辨率层级,处理逐步下采样的图像特征。在生成器的瓶颈层,CSWin Transformer Block处理了高度下采样的特征图,通过在最深层次捕捉图像的全局结构信息,为后续的解码过程提供了丰富的语义信息。在解码阶段,每个解码层中的CSWin Transformer Block处理特征拼接后的输出[8]。
(4)
3.2. 损失函数
WGAN所定义的生成器损失函数为:
(5)
式(5)中,D代表判别器,Pg是生成器产生的数据分布,
表示是生成器从Pg中采样得到的生成样本。加入感知损失可以使生成的人脸图像在视觉上更加接近真实图像。感知损失通过比较深层特征来评估图像质量,这有助于生成器学习到更加精细和高级的图像细节,其损失函数如下:
(6)
式(6)中,(Fj(x)和(Fj(y)分别是在第j层的提取特征,Cj,Hj分别是第j层的通道数、高度和宽度。注意力图损失如下面公式(7)所示,其有助于保持生成图像的结构一致性。在人脸图像中,注意力机制可以专注于关键区域,如眼睛、鼻子和嘴巴,确保这些区域在去遮挡过程中保持正确的位置和形状[9]。
(7)
其中A(x)和A(y)分别是生成图像和真实图像的注意力图,N是注意力图的元素数量。所以生成器最终的损失函数就为:
(8)
对于判别器,目标是最大化其对真实图像的评分和对生成图像评分的差距。因此,损失函数可以表示为真实图像的评分的平均值减去生成图像的评分的平均值,WGAN使用的Wasserstein距离损失相较于传统GAN中的JS散度更稳定,解决了模式崩溃问题,其公式如下:
(9)
式(9)中,Pr代表真实数据分布,x是在Pr中采样得到的真实样本。
4. 实验分析
4.1. 实验环境状况
实验在ubuntu20.04操作系统下采用PyTorch2.0.0框架cuda11.8进行模型训练,CPU使用Intel(R) Core i7-13700K CPU @3.40 GHz,16.0 GB RAM,GPU为NVIDIA Geforce RTX4080,显存16 G。
4.2. 数据集和实验设置
本实验采用CelebA [16]中的部分数据15,964张图像作为人脸数据集,并使用了NVIDIA Irregular Mask数据集[17]包含55,116个掩码。实验将人脸图像和掩码调整为128 × 128像素。同时将它们转换为PyTorch张量。把人脸图像的像素值从[0, 255]范围归一化到[−1, 1]范围。将掩码转换为二值图像,其中1表示缺失部分,0表示可见部分。batch-size为4,lr为0.0002,判别器使用权重剪裁(范围设定为[−0.01, 0.01]),生成器和判别器分别使用AdamW和RMSprop优化器。
4.3. 实验方法
4.3.1. 定性分析
本文方法修复效果如图6所示,从左往右依次为,原人脸图像、遮挡人脸、本文方法、卷积神经网络方法、生成对抗网络方法。本文方法修复后的图像中,整体视觉效果具有色彩的一致性和图像的真实感。例如对第一行人脸进行修复时,相较于卷积神经网络和生成对抗网络,本文方法修复后五官清楚真实,形状和位置与原图较为一致,没有明显的错位或变形。本文方法修复人脸后,皮肤颜色和纹理在修复后没有明显的色差或不自然的过渡,但卷积神经网络方法人物左脸部分出现了皮肤色彩偏差并产生一些伪影。通过对比第三行修复效果可以看出,在修复较大区域遮挡以及细节过度问题时,本文方法修复区域与周围图像边缘平滑,修复效果较为清晰,几乎不存在伪影等现象,但是对于某些非刚性遮挡(如第四行图片中的眼镜),修复后的图像出现轻微结构扭曲现象。这可能是由于模型对非刚性物体的几何结构理解不足,导致修复结果与原图有细微差别。
Figure 6. Comparison diagram of the repair effect
图6. 修复效果对比图
4.3.2. 定量分析
针对修复后图像质量的定量分析,本文采用PSNR (峰值信噪比) [18]和SSIM (结构相似性指数) [19]来进行评估。PSNR是一种基于图像敏感度的图像质量评价指标,用来评估图像的恢复质量,衡量图像中的噪声或失真程度。PSNR越高,表示恢复图像和原始图像之间的差异越小,噪声越少。本文方法得到平均PSNR为35.62 dB。SSIM是一种基于结构信息的图像质量评价指标,考虑了图像的亮度、对比度和结构信息。与PSNR不同,SSIM不仅关注像素级的差异,还衡量图像在视觉感知上的相似性。SSIM值的范围在0到1之间。1表示图像在亮度、对比度和结构上的完全一致,0表示完全不一致。SSIM值越接近1,说明修复图像与原始图像在结构和视觉信息上越相似,修复质量越高,本文方法SSIM平均为0.9515。本文方法与其他方法的对比如表1所示。
可以看出在PSNR和SSIM两个指标上本文方法均有提升,两个指标的提高说明本文方法在减小修复图像与原始图像之间的误差方面更有效,保持图像结构细节方面具有优势,更好地恢复了图像的原始结构信息,提高了图像的整体质量。
4.3.3. 消融实验
为了验证本文方法各模块对模型的影响效果,对每一模块进行消融实验,Baseline是基于基础的Encoder-Decoder结构的GAN网络,消融实验主观结果如图7所示,在只有WGAN模块情况下,恢复效果不佳,人物五官、皮肤模糊,且仍有遮挡痕迹。当加入WGAN模块后,PSNR和SSIM分别提升至23.83 dB和0.8482,修复图像的全局一致性有所改善,但细节恢复仍然不足。这一现象可能与WGAN的对抗训练机制有关,其虽然能够生成全局一致的图像,但在细节恢复上表现有限。单独使用CSWinTF (CSWin-Transformer)模块时,PSNR和SSIM进一步提升至30.61 dB和0.9226,修复图像的纹理更加清晰,但在遮挡区域边缘仍存在少量伪影。这可能是由于Transformer模块在缺乏对抗训练的情况下,难以生成高质量的细节信息。
Table 1. PSNR and SSIM, compare results
表1. 各模型方法PSNR和SSIM比较结果
方法 |
PSNR |
SSIM |
卷积神经网络 |
27.63 |
0.8674 |
生成对抗网络 |
30.1 |
0.8985 |
本文方法 |
35.62 |
0.9515 |
Figure 7. Subjective results of the ablation experiment
图7. 消融实验主观结果
相比之下,本文方法在同时引入WGAN和CSWinTF模块后,修复效果显著提升,PSNR和SSIM分别达到35.62 dB和0.9515。从主观结果来看,修复图像在视觉上更加真实自然,细节特征也更加明显。例如,修复后的五官轮廓清晰,皮肤纹理细腻,遮挡区域与周围背景的过渡更加平滑。这一结果表明,WGAN和CSWinTF模块在功能上具有互补性:WGAN通过对抗训练提升了图像的全局一致性,而CSWinTF则通过自注意力机制捕捉了局部细节信息。
从表2的定量结果可以看出,在同一数据集上,随着不同模块的加入,模型的PSNR和SSIM指标均有显著提升。具体而言,WGAN模块使PSNR和SSIM分别提升了17.6%和6.6%,而CSWinTF模块使PSNR和SSIM分别提升了50.9%和16.0%。当同时使用WGAN和CSWinTF模块时,PSNR和SSIM的提升幅度最大,分别达到75.8%和19.6%。这一结果进一步验证了WGAN和CSWinTF模块对人脸修复效果的协同促进作用。
Table 2. Ablation experiment results
表2. 消融实验结果
Baseline |
WGAN |
CSWinTF |
PSNR |
SSIM |
√ |
|
|
20.27 |
0.7955 |
√ |
√ |
|
23.83 |
0.8482 |
√ |
|
√ |
30.61 |
0.9226 |
√ |
√ |
√ |
35.62 |
0.9515 |
5. 结论
针对于人脸遮挡修复问题,本文提出了基于生成对抗网络的的方法。模型采用CSWin-Transformer和WGAN相结合的策略,通过WGAN中的Wasserstein距离来解决模型在训练过程中训练不稳定、不收敛、模式坍塌等问题,同时利用CSWin-Transformer Block跨阶段窗口注意力机制提取图像的多尺度全局上下文特征,提升细节处理程度提高图形修复质量。实验结果显示,本文方法对于遮挡人复有良好的修复效果,生成图像真实自然,在修复细节以及完整度上优于对比方法。
基金项目
本文受到云南大学大学生创新创业训练项目(S202310673251)的资助。