只训图像适配器,就能在人脸识别空间里用自然语言审计

EXPL-FR: Explaining Face Recognition Models via Vision-Language Alignment

Guray Ozgur, Mustafa Efe Tamyapar, Naser Damer, Fadi Boutros

ECCV 2026 Workshops

cs.CV

2026-08-21

用约百万参数的图像适配器把CLIP对齐到冻结人脸识别空间,978条属性提示零样本变成可审计锚点,无标签即可按族裔误差给模型排序。

这篇在解决什么

人脸识别准确率已经接近饱和,一次比对却只吐相似度,问不出这个分数靠了哪些语义属性。现有可解释方法多半画热力图,或依赖 CelebA 那 40 个已标注属性;换一个新属性就要新标注,或上可控生成器。部署中的 FR 编码器没有分类头,概念瓶颈那套「从决策层读概念」用不上。Fraunhofer IGD 的 EXPL-FR 要做的是:不动已经冻住的识别模型,把自然语言词表读进它自己的嵌入空间。

方法

两边编码器都冻住:VLM 的图像/文本编码(默认 CLIP ViT-B/16,另测 SigLIP),以及目标 FR(主模型 AdaFace ViT-B/WebFace4M,另含 ViT-S 和两颗 ResNet-100)。只训一个约 105 万参数的 4 层 MLP 适配器,在 WebFace4M 上用余弦损失把 VLM 图像嵌入推到 FR 嵌入方向,永远不看文本,也不看属性标签。因为 CLIP 图文共空间,同一适配器可以直接套到文本编码上,978 条、22 类属性提示变成 FR 空间里的锚点。

不是每条概念都能活下来。FR 模型靠丢掉姿态、光照、场景这些跨拍摄因素才换来身份不变性。无标签可检测度用 VLM 伪标签,分别在 VLM 空间和映射后的 FR 空间上测分离 AUC,落差就是被打折的概念。取 AUCF 最高的 100 条做 semantic signature。解释分三层:单图坐标、身份聚合、genuine/imposter/morph 差分。审计有三档监督:人工标签(上界)、VLM 伪标签分组、纯提示轴(适配器映射后的提示做 PCA 第一方向)。新属性的成本是写一句话。

结果

主模型上,未对齐的跨编码器验证是 50.29%,对齐后混用 gθ(ϕv) 与 FR 达到 94.56%,距 FR 自比对 97.44% 只差 2.88 个点。CLIP 自己做身份验证 82.33%,适配器把它抬到 92.58%。978 条提示在 CLIP 原生空间几乎没有身份信息(51.98%);过适配器后升到 71.66%,这 19.68 个点隔离的是从未被文本监督过的跨模态迁移。TinyFace 是例外:对齐混用 rank-1 只有 13.49%,对照 FR 的 73.77%,极低分辨率把 VLM 图像编码器打穿,签名本身走的是 FR 嵌入加文本锚点,不走这条路。

可检测度上,眼镜 0.955、发色 0.947 几乎原样留下,距离 0.853、场景、拍摄角度、遮挡和光照被打折最多。top-100 签名的身份分离优于完整 978 维词表(主模型 0.931 对 0.910)。CelebA 上,无标签依赖度排序与有标签 KS 的 Spearman ρ=0.64。

RFW 上,三种监督设定按族裔误差给四颗模型排序,Kendall τ 均值都是 0.92;按平均依赖度排序与按平均真实误差排序完全一致。GAN-Control 上,纯提示敏感度与真实 EER 的相关 ρ=0.95(有标签 0.90,VLM 代理 0.83)。八路归因随监督下降很陡:有标签 82–90%,代理 33–34%,纯提示 16–19%,随机 12.5%。姿态和光照是 VLM 在对齐裁剪上排不动的盲区,审计仍会吐出看起来像发现的数字,这两项应标为不确定。

为什么重要

这是后验、黑盒、不碰 FR 内部的读法。部署模型不用重训,新属性不用新标注。无人口标签也能按 RFW 族裔误差给模型排序,这对选型比再刷一条 LFW 更有用。它也把「FR 靠哪些可变属性在认人」摊开了:发色、眼镜在网络抓取数据里稳定,模型就学会用它们;改发色会把嵌入推动 0.07–0.09,比测光学因素大得多。这是弱点,审计把它读出来了。

局限与存疑

词表投影仍比 FR 上界低 25.78 个点,有些身份线索叫不出名字,提示也不是解耦的,读数是方向性的。可检测度拿 VLM 自己的伪标签打分,CLIP 排不动的概念(姿态、光照、极低分辨率)会漏检或假阳性。适配器映射会让 AUCF 偏乐观,真 FR 嵌入上均值掉到 0.740。归因在纯提示设定下几乎贴随机,能做模型选择和代价排序,做不了「到底变了哪一项」的精确定位。CLIP 预训练见过人脸,论文声明的是下游不收属性标签,不是全系统无脸。

术语

原文与代码

相关论文

全部论文解读