顔認識インフラを 自社ネットワークの中に。
1つのセルフホスト型 Linux サービスで顔認識スタック全体を管理できます。Web UI、REST API、Python SDK を通じて、検出、比較、登録、厳密な 1:N 検索、永続 RTSP 監視を提供します。RTX 5090 1基での INT8 実測では、検索は 58.9M 画像ベクトルまで拡張でき、10M ベクトル時の Top-5 レイテンシは 3.84 ms です。
本番導入向けモデルライセンス
Server と SDK のコードは MIT License ですが、モデルの権利は別です。公開モデルを商用利用する場合、または100万〜1,000万規模の 1:N 検索に対応する高精度プライベートモデルが必要な場合は、商用ライセンスを申請してください。
モデルライセンスを申請
1つのセルフホスト型サービス
アーキテクチャで守るプライバシー、実用性を重視した設計。
画像、Embedding、モデル、索引を管理下のインフラ内に保持できます。多言語コンソールはアプリケーションと同じ公開 API を呼び出し、CDN、Analytics、外部 Font、第三者 JavaScript を使用しません。
検出
JPEG、PNG、WebP 画像から bounding box、5点ランドマーク、検出 confidence、ローカル品質信号を返します。
比較
2枚の画像から選択した顔を、明示的な threshold と確率ではない元の cosine similarity で比較します。
登録
Collection、Person、FaceSample でアイデンティティを整理し、複数画像登録、審査モード、明確な拒否理由を利用できます。
検索
全件を走査する厳密な 1:N Person 検索を実行。各 Person は Collection threshold を超えた最も強い FaceSample の一致で順位付けされます。
監視
永続 RTSP 認識タスクを実行し、直近の入場、退場、エラー、復旧イベントと任意のオペレータープレビューを利用できます。
統合
Web UI、29個の REST operation、Interactive OpenAPI Reference、軽量な型付き Python Client を利用できます。
認識パイプライン
画像から順位付きの一致結果まで。
コンソール、REST API、Python SDK、RTSP Monitor は同じ明示的な処理契約に従います。
画像または RTSP Frame
JPEG、PNG、WebP、またはライブカメラの最新 Frame。
複数解像度 SCRFD
顔を検出し、候補を統合して1回の Global NMS を実行します。
Align と Embedding
5点アラインメント、ArcFace Embedding、L2 normalization。
モデルに固定された Collection
モデル、前処理、Detector、Threshold、容量を固定します。
厳密な CPU/GPU 検索
選択した Profile 内の有効な全 FaceSample を網羅的に採点します。
Person の一致結果
元の cosine score と Request ID を含む順位付き Person を返します。
SQLite が正本
永続 Database が正本で、メモリ内厳密索引は再構築可能な Projection です。受理された登録は成功 Response の前に索引へ追加され、削除は両方の Store から取り除かれます。

明示的なアイデンティティ契約
Collection がモデル、ポリシー、データ境界を明確に保ちます。
各 Collection はモデル ID、前処理 Version、Embedding 次元、Detector Policy、Search Profile、容量、Match Threshold を固定します。この契約により、モデルや Runtime の変更時に意図しない混在を防ぎます。
- Person ごとに複数の FaceSample を追加し、Batch 全体を失わずに部分登録結果を確認できます。
- off、standard、strict の審査を選び、顔数、サイズ、鮮明度、明るさ、Pose、Person 内整合性を確認できます。
- Collection の embedding contract を介して信頼済みの上流 Embedding Pipeline を接続できます。画像は引き続き検出と審査を通過します。
- 受理した顔ごとに 112×112 の bounding-box crop を任意で保存できます。元の Upload と認識用の Align 済み入力は保持しません。
実測検索性能
単一 GPU 規模での厳密検索。
ネイティブ全件検索 Profile により、近似最近傍索引へ切り替えずにベクトル精度、容量、Throughput を調整できます。
1基の RTX 5090 で測定した512次元ベクトルの最大値。
正確に 10M ベクトル、同時1 Query で測定。
10M ベクトルで測定した全件 Top-5 検索 Throughput。
同一 GPU で測定した INT8 の容量倍率。
| GPU データ型 | 最大ベクトル数 | 10M Top-5 p50 | 10M Serial QPS |
|---|---|---|---|
| FP32 | 15.8M | 12.84 ms | 77.85 |
| FP16 | 30.7M | 6.83 ms | 146.32 |
| BF16 | 30.7M | 6.83 ms | 146.33 |
| INT8 | 58.9M | 3.84 ms | 260.81 |
FP32 と INT8 はともに 91.25%
ICCV21-MFR MR-ALL、FAR 1e-6 では、両 Profile とも小数第2位まで 91.25% です。INT8 と FP32 の丸め前の差は −0.001102 ポイントでした。
NVIDIA GeForce RTX 5090 1基で測定。容量は ONNX モデルや Server 負荷を含まない独立ネイティブ索引の上限です。速度は正確に 10M 個の512次元画像ベクトル、GPU 常駐の全件 Top-5、同時1 Query、Warm-up 10回、測定100 Query の条件です。本番環境ではモデル、Request、並行処理、索引再構築、Allocator のために VRAM の余裕が必要です。検索は各保存表現内では厳密ですが、低精度保存では FP32 に対して Score や順位が変わる場合があります。
永続 RTSP Monitor
ブラウザなしで動き続けるカメラ監視。
サーバー側 RTSP Monitor を作成し、推論頻度とイベント確定を調整した後、独立した Client から現在の状態と直近イベントを Poll できます。コンソールを閉じても認識は停止せず、有効な Monitor は Server 再起動後に復元されます。Frame は録画されません。直近イベントは容量制限付きで非永続、Preview は既定で無効です。
認識はオペレーターの補助として利用し、重大な影響を伴う判断の唯一の根拠にはしないでください。各デプロイで Consent、Retention、Deletion、Review、Incident Response の方針を定義してください。

Docker デプロイ
手軽に始める CPU、規模に対応する CUDA 12。
完全な InsightFace Repository の Checkout から実行します。ホストに Python、OpenCV、ONNX Runtime、CUDA Toolkit、cuDNN は不要です。Container が Runtime を含み、モデルは個別にライセンスされた Installation として扱われます。
mkdir -p server/.models
docker compose -f server/deploy/compose.cpu.yml pull
docker compose -f server/deploy/compose.cpu.yml \
run --rm models install buffalo_l --accept-license
docker compose -f server/deploy/compose.cpu.yml up -d
curl -fsS http://127.0.0.1:18097/v1/healthCPU
Docker Engine と Docker Compose を備えた Linux x86_64。評価と中程度の Workload に適した実用的な構成です。
NVIDIA CUDA 12
対応 NVIDIA GPU、Driver、NVIDIA Container Toolkit を追加します。CPU へ暗黙に Fallback せず、起動に失敗します。
デプロイ境界
運用とセキュリティ
強化しやすい明確な境界。
Server はプライベート環境の運用に必要な状態を公開しながら、Secret、画像、Embedding、Credential を診断情報から除外します。
Readiness と診断
Service、Database、Model、Provider、容量、安全な直近 Error Summary を確認します。
Fail-fast CUDA
起動時に実際の Provider、Session、Library、GPU 互換性、Warm-up 推論を検証します。
永続データ境界
モデルを読み取り専用に保ち、/data を永続化し、破棄可能な厳密索引を SQLite から再構築します。
保護された Credential
API Key を Hash 化し、/data 内の RTSP Credential を暗号化し、Response から Source をマスクします。
API 専用モード
コンソールとガイドを無効にしながら、プライベート Service 用の /v1 と /openapi.json を維持します。
ネットワーク接続前にセキュリティを強化してください
同梱 Compose は隔離評価向けに認証を無効にしています。本リリースは Container 内で平文 HTTP と権限区分のない単一 API Key を提供し、ユーザーアカウント、RBAC、IAM、Rate Limiter、TLS、法令遵守レイヤーを内蔵しません。Liveness、Deepfake Detection、属性分析、録画/NVR、分散 Worker も追加しません。認証を有効にし、信頼する Reverse Proxy で HTTPS を終端し、CORS と Network Access を制限し、Edge で Rate、Body、Timeout の上限を設定し、Data Volume と Backup を生体情報として保護してください。
実装ガイド
最初の Container から実用的な統合まで。
最初のプライベート環境は要点を絞ったクイックスタートで構築し、アプリケーション接続の準備ができたら API と Python SDK の Workflow に進みます。
プライベート環境から始めましょう。
CPU Image を起動して Collection を作成し、1人を登録して最初の厳密検索を実行します。Workflow を確認したら、本番用 Runtime と Security Boundary の規模を設計します。
Server ソースと SDK のライセンスは、モデルファイルの商用利用権を付与しません。商用モデルの許諾については InsightFace へお問い合わせください。