人脸识别技术由于其便捷性和卓越的准确性而被广泛应用于许多交互式智能系统中。然而,人脸识别系统仍然容易受到从打印、重放和新兴 3D 掩码攻击等范围内的外观攻击 (PA)。因此,学术界和工业界都意识到人脸外观攻击检测(PAD)技术对于保护人脸识别系统的关键作用。在过去的十年中,传统和基于深度学习的方法已经显示出对面部 PAD 的有效性,尤其是对于 2D(例如,打印和重放)攻击。最近,远程光电体积描记术 (rPPG) 已被开发为 3D Mask PAD 的内在活性线索,而并不依赖于 Mask 外观。然而 3D Mask PAD 的 rPPG 特征仍然需要专业知识来手动设计,这限制了其在深度学习和大数据时代的进一步发展。
rPPG 是一种通过分析周期性心跳引起的皮肤颜色变化来恢复环境光下的生理信号的新技术。在早期阶段,大多数方法捕获特定面部感兴趣区域 (ROI) 上的细微颜色变化。然后提出了一些端到端的深度学习方法来直接从面部视频中恢复 rPPG 信号。最近,学习由来自多个面部 ROI 的原始颜色方差信号组成的构建时空图(STmap)被证明可以更有效地学习 rPPG 特征。
大多数先前的 PAD方法提取基于静态外观的线索(例如,颜色纹理和噪声伪影)以区分 PA 和真正的 PA。或者是利用真实和 PA 的辨别之间的动态不一致性(例如运动模糊和时间深度)。受益于上述先进技术,2D PA 检测在大多数正常情况下都取得了令人满意的进展。同时,3D 掩模攻击引起了越来越多的关注,因为定制的 3D 掩模可以以可承受的价格轻松制造。尽管检测低质量 3D 打印蒙版的能力很强,但基于外观的方法在遇到具有细粒度纹理和形状的高保真 3D 蒙版作为真实面孔时仍然会出现性能下降。相比之下,一些研究人员致力于探索利用与外观无关的活性线索(例如,远程光电体积描记法 (rPPG))代替传统的基于纹理/运动的模式的 3D 掩模 PAD 的可行性。
一个自然问题是为什么 rPPG 适合3D面具脸垫?一方面,rPPG 可以在环境光下仅使用一个简单的 RGB 相机进行捕获,这满足了 3D mask 人脸 PAD 中的大多数视频录制条件。另一方面,实时/周期性脉冲信号只能在真实面部上观察到,而不能在蒙面面部上观察到,因为 3D 蒙版会阻挡来自面部皮肤的光传输。由于 rPPG 线索与 mask 外观无关,基于 rPPG 的 3D mask PAD 方法可以很好地检测到高保真 mask 并显示出良好的泛化能力。
在这篇论文中,作者提出了一个纯 rPPG Transformer (TransRPPG) 框架,用于有效地学习内在活性表示。基于面部皮肤和背景区域构建 rPPG 的多尺度时空图 (MSTmap),由 Transformer 充分挖掘 MSTmaps 中的全局关系以进行活性表示,并为 3D 掩码检测提供二进制预测。
为了明确地利用来自全局和局部区域的足够 rPPG 信号进行 3D 掩模面部 PAD,作者遵循 Video-basedremote physiological measurement via cross-verified feature disentangling 中关于多尺度时空图 (MSTmap) 的生成方式。如上图(左)所示,作者首先使用开源人脸检测器 OpenFace 来检测人脸标志,在此基础上还定义了用于人脸生理测量的信息量最大的感兴趣区域(ROI),即前额和脸颊区域。具体来说,对于视频的第 t 帧,首先得到一组 n 个面部信息区域 R t = { R 1 t , R 2 t , . . . , R n t } R_t = \{R_{1t} , R_{2t} , ..., R_{nt} \} Rt?={R1t?,R2t?,...,Rnt?}。然后计算 R t R_t Rt? 的所有非空子集的每个颜色通道的平均 RGB 像素值,它们是 R t R_t Rt? 中元素的 2 n ? 1 2^n-1 2n?1 个组合。对于每个有T帧的视频,将每个通道的 2 n ? 1 2^n-1 2n?1个时间信号排成行,我们可以得到每个视频大小为 ( 2 n ? 1 ) × T × 3 (2^n-1)×T×3 (2n?1)×T×3的人脸 MSTmap。除了来自 RGB 通道的原始信号,作者还考虑来自 YUV 颜色空间的人脸 MSTmap 或其他 rPPG 信号测量方法。除了面部区域可能的肤色变化外,背景区域的环境模式也有助于 mask PAD。
因此,如上图(左)所示,作者还在人脸两侧定义了 m 个背景区域,为每个视频构建大小为 ( 2 m ? 1 ) × T × 3 (2^m-1)×T×3 (2m?1)×T×3 的背景 MSTmap。
与 ViT 类似,首先将输入的人脸和背景 MSTmap 分别预处理为一系列扁平化的补丁$ X_{face}$ 和
X
b
g
X_{bg}
Xbg?。然而,原始分割方法将图像切割成不重叠的块,从而丢弃了一些局部相邻信号片段或信息感兴趣区域的判别信息。为了缓解这个问题,作者建议使用滑动窗口生成重叠补丁。具体来说,在目标块大小 PH × PW 和滑动窗口步长 SH × SW 的情况下,大小为 H × W 的输入人脸 MSTmap 将被分割为 N 个块,其中
N
=
N
H
×
N
W
=
[
H
?
P
H
+
S
H
S
H
]
×
[
W
?
P
W
+
S
W
S
W
]
N = N_H \times N_W = [\frac{H-P_H + S_H}{S_H}] \times [\frac{W-P_W + S_W}{S_W}]
N=NH?×NW?=[SH?H?PH?+SH??]×[SW?W?PW?+SW??]
类似地,背景 MSTmap 被划分为 Mpatches。这种简单但细粒度的补丁分区策略显着提高了性能。
作者使用可训练的线性投影将矢量化补丁$ X_{face}$ 映射到潜在的 D 维嵌入空间。然后,可以使用额外的可学习位置嵌入来对补丁嵌入
Z
f
a
c
e
0
Z^0_{face}
Zface0? 进行公式化,以保留位置信息:
Z
f
a
c
e
0
=
[
X
f
a
c
e
C
l
s
;
X
f
a
c
e
1
E
,
X
f
a
c
e
2
E
,
.
.
.
,
X
f
a
c
e
N
E
]
+
E
Z^0_{face}= [X_{faceCls}; X^1_{face}E, X^2_{face}E, ..., X^N_{face}E] + E
Zface0?=[XfaceCls?;Xface1?E,Xface2?E,...,XfaceN?E]+E
其中 $E ∈ R{(P2·C)\times D}
是来自原始
C
通道空间的块嵌入投影,
是来自原始 C 通道空间的块嵌入投影,
是来自原始C通道空间的块嵌入投影,E_{pos} ∈ R^{(N+1)\times D}$ 表示位置嵌入。类标记
X
f
a
c
e
C
l
s
X_{faceCls}
XfaceCls?表示为一个可学习的嵌入,被连接到补丁嵌入。类似地,可以提取到背景嵌入
Z
b
g
0
Z^0_{bg}
Zbg0? ,独立令牌
X
b
g
C
l
s
X_{bgCls}
XbgCls? 和对应的位置嵌入
E
p
o
s
′
E_{pos}^′
Epos′?。
Transformer 编码器包含 L 层多头自注意力 (MSA) 和多层感知器 (MLP) 块。因此第 l 层的输出可以写为:
Z
l
′
=
M
S
A
(
L
N
(
Z
l
?
1
)
)
+
Z
l
?
1
,
l
∈
1
,
2
,
.
.
.
,
L
Z^{l^′} =MSA(LN(Z^{l?1}))+Z^{l?1}, l∈1,2,...,L
Zl′=MSA(LN(Zl?1))+Zl?1,l∈1,2,...,L
Z
l
=
M
L
P
(
L
N
(
Z
l
′
)
)
+
Z
l
′
,
l
∈
1
,
2
,
.
.
.
,
L
Z^l =MLP(LN(Z^{l^′}))+Z^{l^′}, l∈1,2,...,L
Zl=MLP(LN(Zl′))+Zl′,l∈1,2,...,L
其中$ Z^l ∈ R^{(N+1)\times D}$ 是第 l 层的令牌特征。
L
N
(
.
)
LN(.)
LN(.)表示层归一化操作,MSA 由 h 个并行自注意力(SA)组成
[
Q
,
K
,
V
]
=
Z
l
U
Q
K
V
[Q, K, V ] = Z^lU_{QKV}
[Q,K,V]=ZlUQKV?
S
A
(
Z
l
)
=
S
o
f
t
m
a
x
(
Q
K
T
/
D
′
)
V
SA(Z^l) = Softmax(QK^T / \sqrt {D^′})V
SA(Zl)=Softmax(QKT/D′?)V
其中
U
Q
K
V
U_{QKV}
UQKV?是权重矩阵进行线性变换,
A
=
S
o
f
t
m
a
x
(
Q
K
T
/
D
′
)
A = Softmax(QK^T / \sqrt {D^′} )
A=Softmax(QKT/D′?) 是注意力图。 MSA 的输出是 h 个注意力头输出的串联
M
S
A
(
Z
l
)
=
[
S
A
1
(
Z
l
)
;
S
A
2
(
Z
l
)
;
.
.
.
;
S
A
h
(
Z
l
)
]
U
M
S
A
MSA(Z^l) = [SA_1(Z^l);SA_2(Z^l);...;SA_h(Z^l)]U_{MSA}
MSA(Zl)=[SA1?(Zl);SA2?(Zl);...;SAh?(Zl)]UMSA?
其中
U
M
S
A
∈
R
h
D
′
×
D
U_{MSA} ∈ R^{hD^′ \times D}
UMSA?∈RhD′×D。如下图所示,两个 Transformer 分支(即人脸和背景)首先投影补丁嵌入
Z
f
a
c
e
0
Z^0_{face}
Zface0? 和
Z
b
g
0
Z^0_{bg}
Zbg0?,然后将 L 层共享 Transformer 编码器用于全局注意力特征($Z^L_{face} $和
Z
b
g
L
Z^L_{bg}
ZbgL?)表示。随后,来自 $Z^L_{face} $和
Z
b
g
L
Z^L_{bg}
ZbgL? 的所有的 token 特征(除了各自的分类 token 特征)以及联合类令牌
X
c
o
m
C
l
s
X_{comCls}
XcomCls? 被连接起来,并且额外的 Transformer 层用于人脸和背景上下文聚合。
为了为 TransRPPG 提供明确的监督信号,作者分别为面部、背景和组合分支设计了三个二进制交叉熵 (BCE) 损失(真实与掩码攻击)。具体来说,具有独立线性分类头的三个类令牌 X f a c e C l s X_{faceCls} XfaceCls?、 X b g C l s X_{bgCls} XbgCls? 和 X c o m C l s X_{comCls} XcomCls? 分别用 BCE 损失 L f a c e L_{face} Lface? 、 L b g L_{bg} Lbg? 和 L c o m b i n e d L_{combined} Lcombined? 进行监督。整体损失可以表述为 L o v e r a l l = L f a c e + L b g + L c o m b i n e d L_{overall} = L_{face} + L_{bg} + L_{combined} Loverall?=Lface?+Lbg?+Lcombined? 。由于背景区域通常没有活性线索,因此所有的 L b g L_{bg} Lbg?的真实值都被简单地视为“掩码攻击”。
作者提出了一种基于面部和背景多尺度时空图的轻量级远程光电体积描记的Transformer (TransRPPG),用于 3D 面具面部呈现攻击 (PA) 检测。作为一个端到端的模型可测量 rPPG 信号,并且将背景信息融合进行整个网络。