技術スタック

顔特徴ベクトルによる短期的な照合を実現する、軽量でシンプルなアーキテクチャ


🔧 バックエンド構成

  • 言語: PHP
    • 画像アップロード処理
    • 特徴ベクトルの生成・保存・類似度照合
    • SQLite とのやり取り
  • データベース: SQLite
    • ベクトルを JSON 形式で保存
    • TTL(例:5分)で有効期限を管理
    • WALモード / 外部キー制約を有効化

📌 顔埋め込み(Embedding)

  • Encoder / Embedder クラス: 画像から特徴ベクトルを生成
  • LBP やヒストグラムベース処理による軽量な特徴抽出
  • ベクトルは L2 正規化 → コサイン類似度・カイ二乗距離で照合

🔍 照合アルゴリズム

  • Matcher クラス:
    • 高速なコサイン類似度による照合
    • 上位 K 件取得や閾値フィルタの実装可能
  • Store クラス:
    • ベクトルの追加・削除・TTL 管理
    • store_id による多店舗対応設計

💻 フロントエンド

  • HTML5 / JavaScript:
    • カメラ起動・撮影(getUserMedia)
    • 画像送信 → 結果受信 → 状態表示
    • UI バッジ(撮影中/照合中/OK/警告)による視覚フィードバック
  • localStorage:
    • API エンドポイントの保持
    • 日替わりセッションIDの管理

✨ 特徴とメリット

  • 軽量: 追加ライブラリ最小限の構成
  • 匿名性: 顔画像は保存せず、特徴ベクトルのみを短期利用
  • 拡張性: 閾値調整や TTL 設定、商用向けのアルゴリズム強化が容易

この技術スタックにより、顔画像を保存しない、軽量かつ匿名性に配慮した顔類似検出を実現しています。