番茄土豆洋葱练出的活体检测,跨库人脸AUC达92.7%

Tomatoes, Potatoes, and Onions: Questioning the Need for Faces in Face Presentation Attack Detection

Guray Ozgur, Fadi Boutros, Naser Damer

cs.CV

2026-08-20

Fraunhofer用番茄土豆洋葱的打印和回放攻击训练FoundPAD,四库人脸活体平均AUC达92.7%,超过合成人脸,并在固定预算下补强真人脸数据。

这篇在解决什么

人脸活体检测(PAD,也叫 anti-spoofing)一直被写成人脸问题:数据是人脸,基准是人脸,跨库掉点也被讲成换了人、换了肤色、换了光照。这个口径推动了越采越大的真人脸攻击库,连带同意、隐私和人口偏差。Fraunhofer IGD 这篇的立场更硬:PAD 真正该学的是打印、屏幕回放、二次拍摄留下的过程痕迹,人脸只是碰巧被拍到的物体。若这个判断成立,下游训练可以完全不用脸。

方法

他们做了一个没有人脸的攻击库 TPO。番茄、土豆、洋葱各 26 个实物,共 78 个物体身份,选这三样是因为反光不同。采集协议刻意镜像人脸 PAD:室内四点视角、远近两档、Surface 和平板手机两台设备,活体视频和静帧都有;打印攻击用办公机 600 dpi 把静帧打到 A4 再拍;回放攻击把活体视频放到任一设备屏幕上,再用任一设备录。设备与尺度完全交叉。全库 12,480 次呈现,打印和回放各 4,992 段视频,活体 1,248 段视频加 1,248 张静帧。

检测器跟 FoundPAD:冻住 CLIP ViT-B/16,只在 12 层注意力的 Q/V 上加 rank-8 LoRA,外加线性二分类头,可训练参数约 30 万。他们改了公开 FoundPAD 流水线里误用的 ImageNet 归一化,换成 CLIP 自己的均值方差,人脸基线也按同一校正重训。训练预算事先锁在约 11,000 次更新,不同大小的源用同一算力,避免「数据多就多训」的混淆。评测是整库交叉:M、C、I、O 四个标准人脸 PAD 库互为源和目标,TPO 从不切自己的训练测试划分。

结果

只在 TPO 上适配、下游从未见过人脸的 FoundPAD,在 MCIO 四库平均 AUC 92.70%、HTER 14.15%。同一架构从 ImageNet-21k 初始化再在 TPO 上全量微调,平均 AUC 只有 67.81%。用 SynthASpoof 合成人脸训练 FoundPAD 是 81.02%。人脸到蔬菜的反向迁移弱一些,单源模型在 TPO 上 AUC 58.89–89.88%,仍高于文中约 67.7% 的 CLIP 零样本。

在固定优化预算下,把单源人脸训练里的一部分采样换成 TPO,十二组交叉协议平均 AUC 从 89.33% 升到 92.55%,HTER 从 17.54% 降到 13.97%。多源设定下平均 AUC 从 92.11% 升到 96.96%,HTER 从 14.72% 降到 7.84%。TPO 换掉的是真人脸曝光,不是额外加样本。

消融很干净。只用打印或只用回放,平均 AUC 分别掉到 86.14% 和 83.97%。单类蔬菜已经能迁,洋葱单独 91.78%;三类合在一起仍然最强。帧数几乎不重要:只用 10% 帧,AUC 仍 92.97%。蔬菜在镜头前基本不动,相邻帧高度冗余,真正值钱的是攻击工具和采集条件的多样性。频谱残差也否定了「一个全局频域捷径」:TPO 攻击抬高频,若干人脸库的攻击减高频,MSU-MFSD 接近零。

为什么重要

PAD 模块的训练数据可以不含人脸。这对同意和 GDPR 是直接减负,人口属性在训练集里无从失衡。合成人脸保的是「看起来像脸」,TPO 保的是真实打印和回放链路,后者在这次对照里更强。对已经有人脸 PAD 数据的团队,TPO 是固定预算下的互补样本,不是玩具集。跨库掉点里,有一块可能是打印机、屏幕和摄像头管道在变,不是人脸域在变。

局限与存疑

结论锁在可见光的打印和回放。3D 面具依赖几何,深度和红外是另一套传感器,这两头都还没测。CLIP 预训练见过脸、纸和屏,作者用 ImageNet ViT 对照说明「见过」不够,但最小充分先验仍不清楚。HTER 取的是目标集 EER 阈值,跨域校准问题对人脸到人脸同样存在,AUC 才是这篇立场真正依赖的量。TPO 物体少、场景单一,办公室打印机和两台消费设备覆盖不了机场闸机。公平性「从结构上成立」只是推论,文中没有按肤色或年龄拆人脸测试集。

术语

原文与代码

相关论文

全部论文解读