Meta Stella App 人脸识别分析

Meta Stella App 包含休眠的人脸识别流水线

对 Meta 智能眼镜的 Stella 伴侣应用(版本 273.0.0.21)进行分析显示,其包含一个完整组装、功能完备但目前处于休眠状态的设备端人脸识别技术栈。虽然这些功能对于标准账户尚未激活,但整个计算和存储基础设施的存在表明,Meta 在生物识别身份验证能力方面投入了大量的工程资源。

设备端生物识别模型技术栈

Stella 应用通过 Meta 的 NMLML 资产交付系统分发了三个特定的 ExecuTorch (.pte) 模型。这些模型处理将摄像头图像转换为生物识别身份的端到端过程:

资产名称 文件 大小 功能
android_facerec_scrfd SCRFD.pte 3.4 MB 图像内的人脸检测
android_facerec_kps_aligner KPSAligner.pte 117 KB 对检测到的人脸进行裁剪和对齐
android_facerec_sface SFace.pte 96 MB 生成 2048 维的生物识别嵌入向量

这些模型基于开源架构,特别是 SCRFD (InsightFace) 和 SFace (Zhong et al., 2021)。值得注意的是,Meta 的 SFace 实现比公开版本更大,生成更高维度的输出(2048 对比 128–512),以实现更精确的生物识别指纹识别。

向量索引与生物识别存储

该应用利用位于 /data/user/0/com.facebook.stella/files/rldrive/person_profiles/objects.db 的本地数据库来存储和匹配人脸。该系统使用 sqlite-vec 扩展来实现向量相似度搜索。

数据库架构

  • person:存储身份数据,包括 nodeidnameuri
  • face:通过 personUri 将特定的面部记录与个人关联起来。
  • face_mediaPath_vec 虚拟表:一个使用 float[2048]cosine 距离度量的向量索引,其输出维度与 SFace 嵌入器完全匹配。

"NameTagsPending" 写入路径

当流水线遇到与本地索引不匹配的人脸时,它会将数据写入 /data/user/0/com.facebook.stella/files/NameTagsPending/。该目录为每张未识别的人脸存储两个文件:

  1. 一个包含裁剪并对齐后的人脸图像的 .jpg 文件。
  2. 一个包含 2048 个数字的 SFace 生物识别指纹的 .emb 文件。

这些记录以明文形式存储,并且在设备重启后依然存在,从而创建了一个等待未来识别的生物识别记录数据集。

用户界面与通知基础设施

识别流水线已连接到名为 nametags_recognition 的生产级 Android 通知通道。

  • 通知触发:在本地索引中成功匹配后,应用会触发一个高重要性的通知,标题为 "Person recognized",正文为 "Recognized [Name]"。
  • 深度链接:通知包含一个 contentIntent,通过 fb-viewapp://name_tags?face_id=<face_id> 进行深度链接,旨在打开特定的个人资料页面。
  • UI 状态:虽然通知系统是功能完备的,但目标个人资料页面和 "Connections" 小部件(鼓励用户 "Remember the people you met")在当前版本中要么缺失,要么仅对标准账户开放。

社区观点与隐私担忧

对休眠流水线的技术分析引发了关于可穿戴硬件中生物识别监控的伦理问题的大规模辩论。

隐私与法律风险

许多观察者指出,生物识别数据收集的法律波动性,特别是在拥有严格法律的司法管辖区,例如伊利诺伊州《生物识别信息隐私法》(BIPA)。此外,对于在公共场所进行录制的双向同意法也存在担忧。

辅助功能 vs. 监控

一些用户强调了潜在的积极应用,例如通过离线、保护隐私的识别技术来协助患有面部失认症 (prosopagnosia) 的个人。

行业先例

对比研究提到了早期 Google Glass 开发人员条款,其中由于实时人脸识别在拥挤环境中的明显隐私影响,严格禁止创建 "people-spotting" 应用。

Sources