Meta 在智能眼镜上推出人脸识别功能
速览
Meta 近日在其智能眼镜产品中正式推出了人脸识别功能。这一举措旨在提升用户解锁设备或支付等场景的便捷性。然而,该功能也引发了外界对于生物特征数据隐私泄露的广泛担忧。
AI 深度解读
Meta 智能眼镜伴侣应用中发现完整的面部识别管线
背景
Meta 的智能眼镜配套应用 Stella(Android 包名:com.facebook.stella)近期在版本 273.0.0.21 中被发现预置了一套完整的面部识别计算与存储架构。这一发现源于对应用内部代码和数据库结构的深入审查。
需要明确的是,这并不等同于 Meta 正在秘密识别用户所注视的人。目前的证据表明,虽然用于面部识别的完整“ machinery”(机械装置/管线)已经存在于设备上且功能完备,但在未注册(unenrolled)的普通用户账户上,该功能处于休眠状态,用户界面并未显示,且服务器端也未观察到身份数据的推送。这更像是一个由 Meta 控制的、随时可以启用的完整识别系统,而非正在进行的秘密监控。
核心内容
通过对 Stella 应用的分析,研究人员揭示了以下技术细节,证明了面部识别管线的存在与完整性:
1. 预置的面部识别模型
设备通过 Meta 的资产交付系统 NMLML 下载了三个 ExecuTorch (.pte) 模型,总大小约 100 MB。这些模型映射到开源架构,与 InsightFace 等开源项目使用的模型家族相同:
- SCRFD:用于高效人脸检测(InsightFace, ICLR 2022)。
- SFace:用于人脸识别的 Sigmoid 约束超球面损失(Zhong et al., 2021)。Meta 的 SFace 变体似乎比公开参考实现更大(96 MB vs ~40 MB),输出维度为 2048 维(参考实现为 128–512 维)。
- KPSAligner:基于关键点的人脸对齐,自 2015 年(MTCNN, dlib)以来的标准实践。
注意:仅 shipping 检测和嵌入模型并不等同于人脸识别。许多应用会在设备上运行人脸检测以用于取景或自动对焦。
2. 余弦相似度人脸索引
识别管线直接读取并写入本地数据库:
/data/user/0/com.facebook.stella/files/rldrive/person_profiles/objects.db
该数据库位于 RLDrive(Meta 的跨设备同步框架)下,命名空间为 person_profiles,设计用于远程填充数据。虽然研究人员未直接观察到 Meta 向该数据库推送数据,但通道本身是存在的。
数据库包含以下关键表结构:
person表:存储人员信息(nodeid,name,uri,blob等)。face表:存储人脸数据,通过personUri软引用指向person表。face_mediaPath_vec虚拟表:使用开源sqlite-vec扩展,存储 2048 维浮点生物特征指纹,使用余弦距离(cosine distance)进行相似度搜索。
这种设计使得识别过程成为对索引的余弦相似度查询,随后连接 person.name 以生成通知文本。
3. 端到端测试验证
研究人员通过直接调用处理器并传入测试照片,成功运行了完整的识别管线:
- 无匹配情况:当本地索引为空时,系统未发送通知,而是将人脸裁剪图和指纹写入
/data/user/0/com.facebook.stella/files/NameTagsPending/目录。 - 有匹配情况:当索引预加载了嵌入向量时,系统触发了 Android 通知,标题为“Person Recognized”,正文显示“Recognized [Name]”。
4. 未识别面部的本地暂存
当设备检测到本地索引中不存在的人脸时,Stella 会在 NameTagsPending/ 目录下生成一对文件:
.jpg:经过 SCRFD 和 KPSAligner 处理后的裁剪、对齐人脸图像。.emb:2048 维的 SFace 指纹文件(8,192 字节,L2 范数归一化)。
该目录权限为 0700,且重启后数据保留。这种结构表明,Meta 正在本地保留未识别面部的生物特征记录,等待后续标签(Label)的到来以进行回溯识别。
5. 完整的通知表面
Stella 定义了一个专用的 Android 通知渠道 nametags_recognition,重要性为 IMPORTANCE_HIGH(包含声音、徽章和抬头显示)。
- 通知内容:标题固定为“Person recognized”,正文为“Recognized [Name]”。
- 深度链接:通知包含一个意图(Intent),指向 Meta 内部 URL 方案
fb-viewapp://name_tags?face_id=<face_id>,旨在打开 Stella 内的人员资料屏幕。 - 现状:在 v273 版本中,该目标屏幕在导航图中缺失,点击通知只会跳转到 Stella 的默认标签页,但这不影响通知本身的触发机制。
关键要点
- 功能完备但处于休眠状态:面部识别的完整计算、存储和通知管线已存在于设备上,但在普通用户账户上未激活,用户界面不可见。
- 模型规模超出常规检测需求:Meta 使用的 SFace 模型输出 2048 维嵌入向量,远超一般人脸检测所需的维度,专门用于高精度识别。
- 本地生物特征存储机制:未识别的人脸会被保存为图像和指纹对(
NameTagsPending/),表明系统具备“先采集、后识别”的回溯能力。 - 数据库结构支持远程同步:
person_profiles数据库设计用于接收远程数据,暗示身份数据可能通过 Meta 服务器下发。 - 通知系统已就绪:高优先级的通知渠道和深度链接已硬编码在应用中,仅缺少对应的 UI 页面(在 v273 中)。
- 非实时秘密监控:目前没有证据表明 Meta 正在实时识别用户看到的每个人,但这套架构为未来启用该功能做好了充分准备。
意义与影响
这一发现揭示了 Meta 在智能眼镜领域对隐私边界的试探。虽然目前面部识别功能未向普通用户开放,但其底层架构的完整性表明,Meta 正在为未来的“NameTags”(名称标签)功能或类似的身份识别服务做技术储备。
对于用户而言,这意味着智能眼镜可能具备在后台收集和处理生物特征数据的能力,即使当前功能未启用。对于隐私倡导者来说,NameTagsPending/ 目录的存在尤其值得警惕,因为它展示了生物特征数据如何在本地暂存,等待后续的身份关联。
Meta 需要明确告知用户这些数据的处理方式、存储期限以及用户是否有权禁用或清除这些暂存数据。随着 AI 和计算机视觉技术的进步,此类“休眠”功能的激活可能只需一次软件更新,因此透明度至关重要。
