Joint Holistic and Masked Face Recognition
摘要
本文通过补丁重建的代理任务来初始化模型参数,并观察到 ViT 主干网表现出改进的训练稳定性和令人满意的人脸识别性能。 除了训练稳定性之外,还提出了两种基于提示的策略,将整体和蒙面人脸识别集成在一个框架中,即 FaceT:具有稳定性的训练视觉变压器用于人脸识别,联合整体和蒙面人脸识别(Prompt Tuning、Prompt Pooling)
网络结构
具有稳定性的训练视觉变压器用于人脸识别
Vision Transformer (ViT) 将图像划分为不重叠的块,并将它们投影到高维特征嵌入,称为视觉令牌。 为了捕获空间信息,引入正弦-余弦编码或可训练的位置嵌入来反映不同视觉tokens的位置。 然后将编码的视觉tokens与可训练的分类标记 [cls] 一起输入到多个块以进行特征提取。 每个 Transformer 块由多头自注意力层 (MHSA) 和前馈网络 (FFN) 组成:
其中 Q、K 和 V 是具有相同输入 x 的三个独立全连接层 FCq、FCk 和 FCv 预测的查询、键和值特征表示。 此外,d是视觉标记的隐藏维度,GELU是高斯误差线性单位函数。
根据层归一化的位置,Transformer 块具有三种结构替代方案,如图 1 所示,即 PreNorm 、Res-PostNorm和 DeepNorm:
值得注意的是,具有 DeepNorm 的 Transformer 可以扩展到 1000 层,并且训练稳定。
F表示为 Transformer 模型,将x表示为输入,wi 表示为第 i 次训练迭代的模型参数。将模型更新定义为:
并推导出模型更新的上界:
它与学习率 η 的规模、损失函数 L 的梯度以及所有 2N 层(多头自注意力层 (MHSA) 或前馈网络 (FFN))中初始化参数 w0 的梯度总和成正比。
因此,之前关于 Transformer 模型训练稳定性的讨论主要集中在初始训练阶段预热学习率 η 并将参数 w0 初始化为较小的值。
虽然具有 DeepNorm 的 Transformer 模型可以使用 Softmax 损失函数进行稳定训练,但图 2(a)表明,当使用现代人脸识别损失函数进行训练时,同一模型表现出不稳定:
其中θ表示提取的特征与身份质心之间的余弦相似度,s是放大尺度,不同类型的边缘用m1、m2和m3标记。 由于现代人脸识别损失强调扩大类内相似性和类间差异性,因此预热技巧和小参数初始化不足以保证现代人脸识别损失监督下 Transformer 模型的训练稳定性。
为此,来自 Transformer 模型的损失函数的梯度大小 || ∂L/∂F || 应该进一步约束, 根据经验,Masked AutoEncoder (MAE)提供了一个平滑的优化目标来初始化 ViT 参数,并允许通过现代人脸识别损失对预训练模型进行微调。 因此,随着 MAE 初始化,梯度的最大幅值显着减小,如表 II 所示,并且训练过程变得稳定,如图 2(b) 所示,除了 Res-PostNorm 模型之外。 在实验中,采用 DeepNorm 块以获得更好的性能。
联合整体和蒙面人脸识别(Prompt Tuning、Prompt Pooling)
所提出的方法 FaceT 在图 3 中进行了概述,其中整体面部和蒙版面部的特征通过:
(1) Prompt Tuning及时调整进行对齐,它关联提示 [P0, P1, … , PN−1] 干预 MHSA 层内的信息交互;
(2) Prompt Pooling,采用最后的提示PN从异构整体和蒙面人脸的视觉标记中选择特征。
所提出的 FaceT 的概述,它将图像划分为不重叠的块,并通过添加位置嵌入的线性投影生成视觉tokens。 视觉tokens以及相应的视觉提示由堆叠的 Transformer 块进行处理。 为了获得更紧凑的特征用于联合整体和蒙面人脸识别,提出了基于多头注意力的提示池化层,以在全局平均池化(GAP)之前选择和细化面部特征。最后,模型输出由人脸识别损失来监督。所提出的 FaceT-B 模型通过使用基于 Transformer 的模型进行联合整体和蒙面人脸识别来填补空白。
A. Prompt Tuning
ViT 模型,其中第 i 个块 Bi 将提示 Pi 附加到相应的视觉标记 Zi 作为输入 xi = [Pi , Zi ],下一个视觉标记 Zi+1 可以预测为 :
其中[·,·]表示连接的张量,“_”表示丢弃的输出。
在传统的提示调整中,可以通过向 MHSA 层馈送不同的提示来调整视觉tokens之间的信息交互过程,具体可以参见:
为了简单起见,设置 d = 1 并将所有全连接层设置为恒等映射,而 Amn 表示由 softmax 函数标准化的注意力子矩阵。 特征提取过程可以通过注意力矩阵来操作,这与不同的提示有关。 此外,还将引入一个特定任务的头部,并根据识别蒙面面孔的提示进行训练。
然而,对于开放集联合整体和蒙版人脸识别,分类头在训练后会被丢弃,并且人脸识别模型可能会过度拟合整体人脸。 消融研究的实验结果表明,仅依靠传统的提示调整不足以使 ViT 模型在联合整体和蒙面人脸识别中获得令人满意的性能。 为此,建议同时对共享头部的主干和提示进行微调,该策略将指示模型创建一个统一的特征空间来识别整体和蒙面人脸。
B. Prompt Pooling
当由 MAE 进行预训练时,ViT 会丢弃 [cls] 标记并使用全局平均池化 (GAP) 来预测图像特征,假设所有标记对分类任务的贡献相同。 然而,对于联合整体和蒙面人脸识别,应细化从异构整体和蒙面人脸提取的特征,以实现有效的特征对齐。 为此,提出了提示作为从整体和蒙面面孔中选择相关特征的查询。 结合GAP,提出了基于prompt提示的特征选择和池化层,即prompt pooling:
其中 W 是线性层的参数,为简单起见省略了偏置项。
提示池层通过根据与查询提示的相似性选择最相关的视觉tokens来细化特征,其中提示可以被视为识别所需的语义锚点。 因此,可以识别和选择与识别任务最相关的特征,从而在整体面部和蒙面面部之间实现更好的特征对齐。