
2026/06/05 4:36
Meta、スマートグラス搭載の顔認識機能に「水揚げ」を実行
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Meta の Stella アプリ v273 では、標準的な登録されていないユーザー对这些機能を非表示にしていても、完全に動作するオンデバイス顔認識システムが含まれています。APK の解析により、検出(2015 年以来)、 cropping/aligning of faces 用の KPSAligner、および独自 loss 関数を用いて 2048 次元埋め込みを生成する固有の SFace モデルを含む、総容量約 100 MB の 3 つの互いに関連付けられた ExecuTorch モデルが明らかになりました。このデータパイプラインは、生物識別ベクトルに対する余弦類似度検索を実行するために
sqlite-vec 拡張機能を備えたローカル SQLite データベース(objects.db)と統合されています。エンドツーエンドのテストにより、システムが正常に接続され動作していることが確認されました:顔を検出すること、L2 正規化された埋め込みを生成すること、未知の顔に関する待機ファイルを記述すること(例:/NameTagsPending/)、および高優先度の Android 通知("Person Recognized")をトリガーすることに成功しています。登録されていないアカウント向けのカスタマー向け「Connections」ウィジェットは欠落していますが、これは Meta の同期フレームワークによってゲート付けされている可能性がありますが、消費用アプリ内でこの洗練された生物識別スタックが存在するという事実は、標準的なオプトインフローを回避する潜在的な監視能力に関連する重大なプライバシー懸念を浮き彫りにしています。
## サマリー: Meta の Stella アプリ v273 では、標準的な登録されていないユーザー对这些機能を非表示にしていても、完全に動作するオンデバイス顔認識システムが含まれています。APK の解析により、検出(2015 年以来)、cropping/aligning of faces 用の KPSAligner、および独自 loss 関数を用いて 2048 次元埋め込みを生成する固有の SFace モデルを含む、総容量約 100 MB の 3 つの互いに関連付けられた ExecuTorch モデルが明らかになりました。このデータパイプラインは、生物識別ベクトルに対する余弦類似度検索を実行するために `sqlite-vec` 拡張機能を備えたローカル SQLite データベース(`objects.db`)と統合されています。エンドツーエンドのテストにより、システムが正常に接続され動作していることが確認されました:顔を検出すること、L2 正規化された埋め込みを生成すること、未知の顔に関する待機ファイルを記述すること(例:`/NameTagsPending/`)、および高優先度の Android 通知("Person Recognized")をトリガーすることに成功しています。登録されていないアカウント向けのカスタマー向け「Connections」ウィジェットは欠落していますが、これは Meta の同期フレームワークによってゲート付けされている可能性がありますが、消費用アプリ内でこの洗練された生物識別スタックが存在するという事実は、標準的なオプトインフローを回避する潜在的な監視能力に関連する重大なプライバシー懸念を浮き彫りにしています。
本文
ステラスマートグラスのコンパニオンアプリ「Stella」:端末に組み込まれた高度な顔認識システムの実態検証
ステラ(Stella)は、メタ社スマートグラスを制御するコンパニオンアプリケーションです。Android ビルド版(
com.facebook.stella バージョン 273.0.0.21)の検証により、端末上で動作可能な顔認識システムの全構成要素が確認されました。
結論:何を意味し、何を意味しないか
この検証の核心は、以下の二者択一にあります。
- 事実: 端末上に、顔検出から生体特徴抽出、ベクトル検索、通知発行までを含む精密な処理機構が完全セットアップされています。
- 未確認: その起動スイッチ(管理権限)はメタ社にあり、通常の未登録ユーザーには UI もデータ送信経路も暴露されていません。
つまり、「あなたが眺める人物を現在も裏側で識別している」というよりは、「もし識別を始めるなら、そのための全ての機能が端末にあるが、ゲートは閉ざされている状態」と解釈されます。
1. デバイス上に搭載された 3 つの顔認識モデル
NMLML というメタ社独自の資産配信システム経由で、以下のような 3 つの ExecuTorch (
) フォーマットのモデルが約 100 MB の容量を占めながら配送されています。これらはすべてメタサーバーからダウンロードされます。.pte
| メタ社命名 | ファイル名 | サイズ | 機能説明 |
|---|---|---|---|
| | 3.4 MB | 顔検出: 画像内の顔を特定するモデル (InsightFace) |
| | 117 KB | 位置合わせ: 検出した各顔を切り出し、正規化するモデル |
| | 96 MB | 顔認識: 顔を 2048 次元の埋め込み(生体指紋)へ変換するモデル (Zhong et al.) |
- 参照技術: これらは Open Source アーキテクチャに基づいています。
: Efficient Face Detection (ICLR 2022)SCRFD
: Sigmoid-Constrained Hypersphere LossSFace
: 標準的な Key Points 位置合わせ技術KPSAligner
- 注記: 単にモデルを配信しているだけでは顔認識が行われている証拠にはなりません(オートフォーカスなどでの利用も一般的)。ただし、メタ社の
バリエーションは参考実装よりも規模が大きく(96 MB)、出力次元数も 2048 に設定されています。SFace
2. ユーザーローカルに整合するベクトルインデックスとデータベース
認識パイプラインが参照するローカルデータベースパス:
/data/user/0/com.facebook.stella/files/rldrive/person_profiles/objects.db
これはメタ社クロスデバイス同期フレームワーク「RLDrive」の下層にある
person_profiles ネームスペースに配置されており、リモートデータ蓄積用の設計となっています。
データベーススキーマ
CREATE TABLE person ( nodeid INTEGER PRIMARY KEY, name TEXT, uri TEXT, blob BLOB, deleted INTEGER, version BLOB ); CREATE TABLE face ( nodeid INTEGER PRIMARY KEY, mediaPath TEXT, -- deep link で使用される face_id に相当 personUri TEXT, -- person.uri へのソフトレファレンス blob BLOB, deleted INTEGER, uri TEXT, version BLOB ); CREATE VIRTUAL TABLE face_mediaPath_vec USING vec0(mediaPath float[2048] distance_metric=cosine); -- 各顔に対応する 2048 要素の浮動小数点生体指紋を保持。余弦距離による検索用。 -- (sqlite-vec 拡張モジュールを使用)
システム構造の整合性
このスキーマは以下の事実を示しており、完全に統合されたシステムであることを裏付けています:
- Open Source 技術:
は Open Source の sqlite-vec 拡張モジュールで、SQLite をベクトル類似度エンジンに仕立てています。vec0 - 形状の一致:
というサイズは、配送されたfloat[2048]
モデルの出力形状と完全に整合しています。SFace - 検索手法:
は顔埋め込み比較における標準的な余弦類似度手法です。cosine
重要: 本検証アカウントでは、メタサーバーがこの
person_profiles ネームスペースへのデータプッシュを観測できませんでした。チャネルの存在は確認できていますが、実際のデータ流入は確認されていません。
3. エンドツーエンドテストによる経路確認
データベースをスナップショット化し、以下のようなパイプライン動作を確認しました。
- 非一致(空のインデックス): 既知の顔が登録されていない状態
- 一致(事前ロード): インデックスに顔データがある状態
【非一致】の結果
ディレクトリに、NameTagsPending/
のペアが書込まれます。(uuid.jpg, uuid.emb)- Android 通知は発火しません。
【一致】の結果
- プロダクションの
チャンネルを通じてAndroid 通知が発火。nametags_recognition - タイトル:"Person recognized"
- 本文:"Recognized Michel Foucault"(ミシェル・フーコーが認識されました)
- ディスク上の痕跡は消去され、通知へ進みます。
未認識顔の一時保存経路 (NameTagsPending
)
NameTagsPendingデバイスに存在しない顔を検知すると、以下のパスに書き込まれます。
/data/user/0/com.facebook.stella/files/NameTagsPending/
未認識顔ごとの作成ファイル:
ファイル: SCRFD と KPSAligner による切り出し・位置合わせ済み画像。.jpg
ファイル: 2048 要素の SFace 指紋埋め込み値。.emb
保存されたデータの検証:
ファイル: NameTagsPending/1566ab46-[...].emb サイズ:8,192 バイト(2048 × float32、ビッグエンディアン形式) L2 ノルム:0.999999(正規化済み) 最小値/最大値:-0.092110 / +0.098950 平均値:+0.000292
この構造は、余弦インデックスと完全に整合しており、完全な索引可能な生体記録となります。
4. 通知表面(Notification Surface)はワイヤードされている
ステラは専用 Android 通知チャンネルを定義しています。
NotificationChannel{ id = "nametags_recognition" name = "NameTags recognition" description = "Recognized NameTags connections のための通知" importance = IMPORTANCE_HIGH // heads-up + サウンド + バッジ sound = システム標準の通知音 }
通知テンプレートの実装
認識ハンドラ内でハードコーディングされています。
- タイトル: "Person recognized"(常時固定)
- 本文: "Recognized "+
から取得された名前person_profiles/objects.db
コード例:
NotificationCompat.Builder(ctx, "nametags_recognition") .setContentTitle("Person recognized") .setContentText("Recognized " + matched_name) .setAutoCancel(true) .setContentIntent( PendingIntent.getActivity( ctx, matched_name.hashCode(), Intent.ACTION_VIEW を使用し、 Uri "fb-viewapp://name_tags?face_id=" + face_id, FLAG_IMMUTABLE | FLAG_UPDATE_CURRENT)) .build() NotificationManagerCompat.notify(matched_name.hashCode(), notification)
深リンクと画面問題
- 動作: タップすると
という形式のメタ社製 URL スキームへ遷移。fb-viewapp://name_tags?face_id=<face_id> - 制限: バージョン 273 では、この通知が指し示す「目的地画面」が見つかりませんでした(ナビゲーショングラフから欠落)。ステラはデフォルトタブへしか遷移しません。
5. ユーザー向けエントリーポイント:"Connections"ウィジェット
APK 内には、「See your connections」というテキストを持つカードが表示されるウィジェットが埋め込まれています。
- 表示文言: "Remember the people you met and make new connections"
- ステータス: 未登録の標準アカウントではグラスタブ全体に表示されず、テスト時だけ表示されました。
- 意図: ユーザーがこのウィジェットを見ることは通常あり得ません(埋められておりアクセス困難)。
まとめ:事実と主張の境界線
確認された事実
- ステラバージョン 273 には、端末上で動作する顔認識スタック全体(検出→位置合わせ→埋め込み→ベクトルインデックス→ストレージ→通知)が完全セットアップされています。
- 認識パイプラインはエンドツーエンドで機能し、既知の顔を識別して通知を発火させ、未知の顔については一時保存(ステージング)を行います。
- インデックス構造とデータベーススキーマは破片化したデッドコードではなく、統合されたシステムです。
- 高度なエンジニアリング投資(2048 次元指紋化、ハードコーディングされた通知など)が行われており、これは意図的な設計の結果です。
私が主張しないこと(重要)
以下の事実は実証していないことに留意してください:
- メタ社が現在、ユーザーのために第三者を識別していること。
- 登録データがフロー化されていること。
- これらの機能が生産環境で有効になっていること。
「覆い隠しにくい点」 これほど精密な機構を端末に組み込み、完全にワイヤードするには多大なコストがかかります。偶然ではない意図的な設計であり、いつどの時点で生産環境へ投入されるかはメタ社の判断によるものです。