Meta Stella App 人臉辨識分析

Meta Stella App 包含休眠中的人臉辨識管線

對 Meta 智慧眼鏡的 Stella 配件應用程式(版本 273.0.0.21)進行分析後發現,其中包含一個完整組裝、功能完備但目前處於休眠狀態的裝置端人臉辨識技術棧。雖然這些功能對於標準帳戶尚未啟用,但整個運算與儲存基礎設施的存在,顯示了在生物辨識識別能力方面的重大工程投入。

裝置端生物辨識模型技術棧

Stella App 隨附了三個特定的 ExecuTorch (.pte) 模型,透過 Meta 的 NMLML 資產交付系統提供。這些模型處理將相機影像轉換為生物辨識身分的端到端流程:

資產名稱 檔案 大小 功能
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]」。
  • 深度連結 (Deep Linking):通知包含一個 contentIntent,可深度連結至 fb-viewapp://name_tags?face_id=<face_id>,旨在開啟特定的個人檔案頁面。
  • UI 狀態:雖然通知系統是功能完備的,但目標個人檔案頁面與「Connections」小工具(鼓勵使用者「Remember the people you met」)在目前的版本中要麼是缺失的,要麼是針對標準帳戶進行了限制。

社群觀點與隱私疑慮

對休眠管線的技術分析引發了關於穿戴式硬體中生物辨識監控倫理的重大辯論。

隱私與法律風險

許多觀察者指出生物辨識資料收集的法律不確定性,特別是在具有嚴格法律的司法管轄區,例如伊利諾州生物辨識資訊隱私法 (BIPA)。此外,對於在公共場所進行錄影的雙方同意法也存在疑慮。

輔助功能 vs. 監控

部分使用者強調了潛在的正向應用,例如透過離線、保護隱私的辨識技術來協助患有臉盲症 (prosopagnosia) 的人士。然而,其他人則認為這種能力在本質上具有侵入性。

行業先例

此案例常被拿來與早期 Google Glass 開發者條款進行比較,當時由於在擁擠環境中進行即時人臉辨識的明顯隱私隱憂,嚴格禁止開發「人臉搜尋 (people-spotting)」應用程式。

Sources