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などのクラウドサービスのオンプレミス代替を探している方 (特に数千万規模の大規模検索が必要な場合)。
はじめに
- リポジトリをクローンし、
python-packageに移動します。 - SDKをインストール:
pip install -r requirements.txt && pip install . python-package/README.mdのクイックスタートガイドに従ってデモを実行するか、サーバーを起動します。
結論 – InsightFaceは、低レベルの検出から高レベルの人物検索まで、顔分析のフルスタックをカバーする成熟した研究ベースのツールボックスであり、Python APIとデプロイ可能なサーバーコンポーネントの両方を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト