deepinsight/insightface

State-of-the-art 2D and 3D Face Analysis Project

InsightFace – オープンソースの2D/3D顔分析ツールボックス

概要 – 顔に関連するコンピュータビジョンタスクのための包括的なライブラリです。以下の最先端モデルを統合しています:

  • 顔検出 (RetinaFace, SCRFD, BlazeFace)
  • 顔認識 / 照合 (ArcFace, Sub‑Center ArcFace, PartialFC, VPL 等)
  • 顔のランドマーク / アライメント (SDUNets, SimpleRegression)
  • 3D顔再構成、視線推定、なりすまし防止、顔交換 など。

すべてのコンポーネントは PyTorch (および一部 MXNet) で実装されており、トレーニングと推論の両方に使用できます。


最近の主な機能 (InsightFace 2.x)

機能 内容 使用方法
PrivateFrame リアルタイムのビデオ匿名化 (ぼかし/モザイク)、オプションでRGB生体検知。デスクトップGUI、CLI、またはPython APIから動作。 insightface.app.privateframe パッケージ;デフォルトの Fast モードは ~15 FPS を目標。
PersonAnalysis 人物全体の検出、顔認識と身体Re‑IDの実行、参照データベースとの照合。 Python API (get(), match(), オプションで update()) またはWebカメラ/RTSPストリーム用のデスクトップGUI。
InsightFace Server 検出、オプションの生体検知、顔比較、登録、大規模検索 (INT8量子化により単一のRTX 5090で5000万以上のベクトル) を行うセルフホスト型Web UI + REST API。 Dockerコンテナをデプロイし、HTTPまたは提供されているPythonクライアント経由で操作。
モデル管理 モデルバンドル (raccoon_s/l, cheetah_s/l, buffalo_l 等) の自動ダウンロード、CoreML / CUDA / CPUプロバイダーの自動選択、再利用可能なCoreMLコンパイルキャッシュ。 insightface Python SDKをインポート;ライブラリがハードウェアに最適なバックエンドを選択。

標準的なワークフロー (Python SDK)

import insightface
app = insightface.app.FaceAnalysis()
app.prepare(ctx_id=0)          # 0 = GPU, -1 = CPU
faces = app.get(img)          # 検出 + アライメント + 埋め込み
for f in faces:
    print(f.normed_embedding) # 512次元の顔ベクトル

同じSDKで、ビデオ匿名化用の app.PrivateFrame や人物レベル照合用の app.PersonAnalysis も利用可能です。


エコシステム

  • Server – ONNX Runtime推論とSQLiteストレージを備えた軽量Dockerイメージ。
  • Desktop GUI – ライブビデオ、Webカメラ、RTSPストリーム用のクロスプラットフォームデモ。
  • Model Zoo – プロジェクトWikiにリストされている数十種類の事前学習済み重み (ArcFace, RetinaFace, SCRFD 等)。
  • 研究用コード – 視線推定、3D顔反射再構成、なりすまし防止チャレンジなどのモジュール。

ライセンスと使用方法

  • コード:MIT – 学術および商用利用は無料。
  • 学習済みモデルとアノテーションデータ:非商用研究のみ (別途商用ライセンスを取得する場合を除く、insightface.ai に連絡)。
  • 特定のプロプライエタリモデル (例:inswapper, InspireFace SDK) は有料ライセンスが必要。

想定ユーザー

  • 開発者:顔検出/認識パイプラインを必要とするセキュリティ、認証、ビデオ分析製品を構築する方。
  • 研究者:顔関連のCVタスク (検出、アライメント、3D再構成、なりすまし防止) の強固なベースラインを求める方。
  • 企業:AWS Rekognitionなどのクラウドサービスのオンプレミス代替を探している方 (特に数千万規模の大規模検索が必要な場合)。

はじめに

  1. リポジトリをクローンし、python-package に移動します。
  2. SDKをインストール:pip install -r requirements.txt && pip install .
  3. python-package/README.md のクイックスタートガイドに従ってデモを実行するか、サーバーを起動します。

結論 – InsightFaceは、低レベルの検出から高レベルの人物検索まで、顔分析のフルスタックをカバーする成熟した研究ベースのツールボックスであり、Python APIとデプロイ可能なサーバーコンポーネントの両方を提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト