论文链接:https://arxiv.org/pdf/2208.11148.pdf
代码链接:GitHub - CHELSEA234/Multi-domain-learning-FAS: check_github
动机
基于域适应的 FAS 方法主要在目标域中对 FAS 模型进行评估,而 MD-FAS 需要对域进行全面评估 (包含源域和目标域)。此外,之前的 MD-FAS 方法有如下缺陷:在 MD-FAS 的更新过程中,源域数据是不可用的,这就导致 MD-FAS 在学习新任务时很容易遗忘之前学到的知识,逐渐降低在源域的性能。该问题最常见的处理方法是在处理新数据时使用 logits 和 grad-CAM 恢复先前的模型响应。然而,由于欺骗图像越来越复杂,使用 logits 和 grad-CAM 无法精确定位存在欺骗线索的空间位置。此外,许多防遗忘算法通常需要额外的内存来恢复样本 (如扩大模型),这使得它们在现实应用中的效率不高。
创新点
(1)重新定义 MD-FAS,它仅需要使用目标域数据更新预训练的 FAS 模型,并同时在源域和目标域上进行评估。为了促进 MD-FAS 研究,作者还构建了 FASMD 基准,基于现有的 FAS 数据集,提出四个评估协议
(2)提出了 spoof region estimator (SRE) 来识别输入图像中的欺骗痕迹。这种欺骗痕迹可作为先前模型的响应,以解决 FAS 模型在更新期间的遗忘问题
(3)提出了 FAS-wrapper,任何 FAS 模型都可以采用它来适应目标域,同时保留模型在源域的性能
方法论
FAS 方法回顾
(1) 欺骗线索估计
除了将 FAS 看作二分类问题外,许多 SOTA 工作还强调从给定图像中估计欺骗线索。此类欺骗线索通过两种方式检测:1)预测辅助信号,例如深度图;2)从不同角度解释欺骗:将欺骗线索视为颜色失真或不同类型的伪影。
(2) 多尺度特征提取器
大多数 FAS 方法都采用多尺度特征,这种多尺度结构有助于学习不同 level 的信息。FAS 模型由特征提取器 f 及 SCE 组成,假设输入的人脸图像为 I,f 中第 t 层的输出为 。近期 FAS 模型的 f 及 SCE 信息如下:
欺骗区域估计器
除了识别欺骗线索之外,作者观察到欺骗痕迹还可以反映不同模型如何做出二元决策。换句话说,尽管不同的模型可能会一致地将同一图像分类为假体,但实际上它们可以根据不同的空间区域做出决策,如下图所示,其中 (a) 为输入图像,(b)、(c) 为不同模型估计的欺骗区域。因此,作者试图防止在新模型估计的欺骗区域和在源域预训练的模型估计的欺骗区域之间存在分歧,这样就可以让新模型从预训练模型的角度去感知欺骗区域,从而对抗遗忘问题。为此,作者提出了SRE 来定位具有欺骗线索的空间像素位置。
将图像的像素集合表示为 ,提出的方法旨在预测呈现攻击的区域,该区域可以用 binary mask 来表示,为
此外,欺骗区域估计任务可以看作是像素级的二分类问题,即该像素是活体还剩假体,,
,n 表示图像中的像素个数。
如下图所示,作者在预训练模型中插入 SRE 模块,插入的位置在特征提取器及欺骗线索估计层之间,SRE 将输入转换成一个二值 mask。
在训练开始时,作者先创建了一个初值 mask 来监督 SRE 输出的欺骗区域,该 mask 是基于重建方法生成的,如下图中的 (e) 所示。具体来说,将输入的假体图片表示为 并使用 [1] 方法来重建 live counterpart,如下图 (b) 所示,通过将 (b) 与 (a) 相减并取绝对值,就可以得到差分图片 (c),将该图片转换成灰度图,就可以得到 (d),初值 mask 里面的像素值的定义如下:
其中,T 为预定义的阈值。显然,该初值 mask 不是 GT,作者仅在训练的前几个 epoch 将它作为监督信号,然后通过优化来引导模型本身找到最佳欺骗区域。
FAS 包装器
作者的目标是提供一种可以轻松部署到不同 FAS 模型的更新算法。因此,设计一种模型不可知算法很重要,它允许 FAS 模型保持完整的同时能保持原始 FAS 模型的性能。所提的 FAS 包装器只进行外部扩展,因此在很大程度上保持了原始 FAS 模型的能力。假设在源域预训练好的特征提取器为 ,在目标域 fine-tune 后的特征提取器为
,作者使用这两个特征提取器为新提取器训练提供更多信息和指导性的监督,新特征提取器表示为
。随后,作者构建了特征级的多尺度判别器,用于将
的中间特征分布与
和
的中间特征分布对齐。具体来说,作者使用了两个多尺度判别器
和
,通过对抗学习的方式来将源域和目标域的知识转移到新模型中,比如在第 l 个尺度中,
和
将前一层判别器的输出以及由特征提取器生成的相应尺度的特征作为输入,公式如下 (包含判别器的第一层和后续层):
在获得判别器的输出后,作者使用如下公式训练模型 (后两个公式用来训练源域和目标域的判别器,前两个公式用来监督 ):
训练和推理
训练过程如下:首先在目标域中对在源域上预训练好的模型进行微调并加入 SRE (这部分损失为 )。微调结束后就得到了训练好的 SRE 以及微调好的特征提取器
。随后将 SRE 加到
和
中,这样可以从这两个模型中得到欺骗线索(这部分损失为
)。其余部分的损失参考上一章节,总体损失如下:
在推理阶段,仅需要使用 和 SRE。
FASMD 数据集
作者为 MD-FAS 构建了一个新的 benchmark,称为 FASMD,该数据集基于 SiW、SiW-Mv2 及 Oulu-NPU。MD-FAS 包含五个子数据集:A 代表源域数据集,B、C、D、E 为目标域数据集,分别引入了未知的欺骗类型、新的种族分布、年龄分布和新的光照场景。数据集的信息如以下图片所示:
实验结果
与 SOTA 方法相比的结果如下:
在四种协议下的平均性能对比如下:
消融实验结果如下:
由模型输出的欺骗区域的可视化结果如下:
结论
作者重新定义了 MD-FAS,它要求模型仅使用目标域数据更新在源域预训练好的 FAS 模型,并要求模型在源域和新目标域上都有良好的性能。此外,作者提出了 FAS wrapper,它包含欺骗区域估计器,该估计器有助于模型在学习新目标域知识的同时保留此前学到的知识,并且 FAS wrapper 的灵活性高,可以无缝衔接到不同的 FAS 模型中。
参考文献
[1] Liu, Y., Stehouwer, J., Liu, X.: On disentangling spoof trace for generic face anti-spoofing.
In: ECCV (2020)