> 文章列表 > CVPR2023活体检测Instance-Aware Domain Generalization for Face Anti-Spoofing学习笔记

CVPR2023活体检测Instance-Aware Domain Generalization for Face Anti-Spoofing学习笔记

CVPR2023活体检测Instance-Aware Domain Generalization for Face Anti-Spoofing学习笔记

论文链接:https://arxiv.org/pdf/2304.05640.pdf

代码链接:GitHub - qianyuzqy/IADG: (CVPR 2023) Instance-Aware Domain Generalization for Face Anti-Spoofing(尚未公布)

研究动机

  1. 此前的基于域泛化(domain generalization,简称DG)的活体检测方法为了学习域不变特征表示,通常依赖域标签来对齐各域的分布。但是,人工标记的域标签是粗粒度且主观的,它们无法准确地反映真实的域分布;
  2. 基于域感知的方法专注于domain-level的对齐,这些方法不够细粒度,很难保证学到的特征表示对域不敏感(与域脱敏)。

研究创新点

为了解决上述缺陷,作者从新颖的角度(Instance-Aware)提出了一种基于DG的活体检测方法(Instance-Aware Domain Generalization,简称IADG),该方法探索了与域不敏感的特征并在细粒度的instance level上对齐这些特征(该方法无需使用域标签),提升了模型在没见过的场景中的泛化性。具体来说,作者首先引入了Asymmetric Instance Adaptive Whitening(AIAW),通过自适应地白化每个实例中敏感于域的特征相关性,提升了特征的泛化能力。与直接学习domain-agnostic的特征不同,AIAW旨在细粒度的instance level上弱化来自高阶统计的特征相关性。此外,作者还提出了Dynamic Kernel Generator(DKG)和Categorical Style Assembly(CSA),这两个模块有助于AIAW学习与域不敏感的特征。

相关工作

与FAS相关的works就不介绍了,这块主要记录Feature Covariance and Instance Whitening

《Texture synthesis using convolutional neural networks》和《Image style transfer using convolutional neural networks》指出特征相关性(比如协方差矩阵)存储了图片的domain-specific styles。白化方法(whitening transformation),如《Image-to-image translation via group-wise deep whitening-and-coloring transformation》、《Universal style transfer via feature transforms》、《Switchable whitening for deep representation learning》,能够移除特征的相关性并允许每个特征具有unit variance。基于以上理论基础,大量研究证明了在图像翻译、风格转换、域自适应、语义分割领域中,白化能够有效移除domain-specific styles。因此,实例白化可以提高特征的泛化能力,但在DG FAS中尚未得到充分的探索。在这些工作的启发下,考虑到真假人脸之间的不对称性,作者提出了AIAW方法来提高FAS模型的泛化能力。

方法论

上图为IADG的整体框架,该框架通过弱化特征对instance-specific styles的敏感性来在instance level上对齐特征。IADG的核心模块为:DKGCSAAIAW。下面将分别介绍这三个模块。

DKG

考虑到来自不同源域的样本间的差异性,很难通过static filter提取到具有instance-adaptive的特征。因此,作者设计了DKG来自动生成instance-adaptive filters,这有助于instance-static filter学习全面的instance-adaptive特征。

DKG由static convolution分支和dynamic kernel分支组成,第一个分支具有固定参数,第二个分支的参数取决于每个实例。根据模型参数是否随每个样本的变化而变化,将模型表示为静态或动态。如下图所示,X^{i}F^{i}表示第i个样本在DKG模块中的输入和输出特征。在训练阶段,两个分支都会被优化。具体来说,作者首先沿着通道维度将X^{i}分为两部分,分别表示为\\hat{X}^{i}\\tilde{X}^{i}。在static convolution分支上,\\tilde{X}^{i}会被送入到一个静态卷积中。在dynamic kernel分支上,\\hat{X}^{i}会先被送入到全局平均池化层和卷积模块中,以生成instance-adaptive kernel(dynamic kernel)W^{i},随后W^{i}会被用于提取\\hat{X}^{i}上的特定特征(相当于给输入乘个mask)。两个分支的输出的计算公式如下:

DKG模块的输出计算公式如下:

CSA

该模块用于生成不同风格的样本。具体来说,作者利用farthest point sampling(FPS)技术,迭代地从所有样本中为每个类别选择L个风格,因此,FPS获得的基础风格最大程度地代表了整个风格空间。基础风格在每个epoch都会动态更新。对于每个类别的基础风格,计算它们的均值和方差,\\mu _{base}^{r}\\mu _{base}^{s}分别表示真人和假体的基础风格的均值。

考虑到用假人脸风格重组真人脸的内容可能会影响真人脸的活性特征(liveness feature),作者在特征增强中对它们进行了不同处理。只有当内容特征和风格特征具有相同的类标签时,才会执行风格增强。对于每个类别c,作者从Dirichlet分布B([\\alpha _{1},...,\\alpha _{L}])中提取组合权值W^{c}=[w_{1},...,w_{L}],计算公式如下:

对于每一个实例F_{org}的内容特征,将使用与F_{org}具有相同类别的新基础风格进行风格组装,避免了标签更改,使风格化的样本更加逼真。

AIAW

为了在更细的粒度中对齐每个样本,作者将特征通道之间的相关性视为实例自适应泛化的显式约束。由于已有研究证明白化能够有效去除特定风格,这可能会提高DG-FAS特征的泛化能力。然而,直接应用这些实例白化会同时去除对FAS分类具有判别性的域不变特征,导致次优的性能。因此,作者为FAS设计了一种新型实例白化损失。该损失旨在选择性的抑制敏感性的协方差的同时,增强非敏感性的协方差。具体来说,考虑到FAS任务的背景,作者在实例白化中引入了真假人脸不对称的思想(真实人脸特征应该更紧凑,而假人脸特征可以在特征空间中分离)。因此,在白化过程中,采用不同的选择比例来抑制真假人脸的敏感性协方差。

AIAW计算方法:

1、将样本的特征图输入到IN层,得到对应的标准化特征F;

2、特征F的协方差矩阵使用如下公式计算:

3、为协方差矩阵推导出selective mask,计算公式如下:

4、使用selective mask来进行AIAW,实例白化损失的计算公式如下:

整体训练和优化

为了在没见过的域中表现出强泛化性,使用二分类损失来监督特征F_{org}^{i}F_{aug}^{i},保证特征提取器提取的是任务相关的特征,公式如下:

此外,作者使用深度估计器Dep来为真人脸估计深度图(假体的深度图为全0特征图),该部分的损失计算公式如下:

总体训练损失如下:

在训练阶段,原始分支和增强分支同时被优化。在测试阶段,仅使用原始分支进行推理。

实验结果

从结果来看,IADG在不同测试协议下都有不错的效果,消融实验证明了各模块均能提升模型性能。期待作者开源代码。