Zurück zur Startseite
Neu · InsightFace Server

Gesichtserkennung selbst hosten im eigenen Netzwerk.

Machen Sie einen Linux-Container zum vollständigen Gesichtserkennungs-Backend: erkennen, vergleichen, registrieren, exakt in 1:N suchen und RTSP/RTSPS-Kameras über Web UI, REST API und Python SDK überwachen.

Bereit
InsightFace-Server-Dashboard mit einer betriebsbereiten lokalen CUDA-Gesichtserkennungsinstallation
58.9M
INT8-Bildvektoren auf einer RTX 5090
3.84 ms
Top-5-Latenz bei 10M Vektoren (p50)
3.35×
INT8-Durchsatz gegenüber FP32
INT8-Feature-Quantisierung
Kein wesentlicher Genauigkeitsverlust

Modellpfad wählen

Von der Evaluierung zur Produktion, ohne die Integration neu zu entwickeln.

Nutzen Sie denselben selbst gehosteten Server, auch wenn sich Modellrechte und Erkennungsanforderungen weiterentwickeln.

Hier starten

Evaluierung für Forschungszwecke

Validieren Sie den Server-Ablauf lokal mit einem öffentlichen Modellpaket im Rahmen der jeweils geltenden Bedingungen für nichtkommerzielle Forschung.

Lokale Evaluierung starten

Produktionsrechte

Kommerzielle Lizenz für ein öffentliches Modell

Behalten Sie ein vertrautes öffentliches vortrainiertes Modell bei und erhalten Sie eine separate Autorisierung für ein genehmigtes kommerzielles Deployment.

Autorisierung anfragen

Höhere Genauigkeit

Privates Erkennungsmodell

Evaluieren Sie ein genaueres privates Modell mit repräsentativen Daten für anspruchsvolle 1:N-Galerien im Millionen- und Zehnmillionenbereich.

Mit eigenen Daten evaluieren

Ein autorisiertes Modell produktiv einsetzen

Der Code von Server und Python SDK ist MIT-lizenziert. Für die Produktion können Sie ein öffentliches Modell lizenzieren oder ein genaueres privates Modell für 1:N-Galerien im Millionen- und Zehnmillionenbereich evaluieren — ohne Ihre Server-Integration zu ändern.

Autorisierung anfragen
Dieselbe Web UI, REST API und dasselbe Python SDK weiterverwenden.
Dasselbe Modell-Manifest und denselben Installationsablauf nutzen.
Offline signierte Autorisierung per MODEL.LICENSE unterstützen.
Den Server nach Einrichtung von Image und Modell regulär offline starten.

Ein selbst gehosteter Dienst

Durch Architektur privat, durch Design praxisnah.

Bilder, Embeddings, Modelle und Indizes können vollständig in der von Ihnen kontrollierten Infrastruktur bleiben. Die mehrsprachige Konsole nutzt dieselbe öffentliche API wie Ihre Anwendungen und kommt ohne CDN, Analytics, externe Schriften oder JavaScript von Drittanbietern aus.

Erkennen

Gibt Bounding-Boxen, fünf Landmarken, die Detektor-Konfidenz und lokale Qualitätssignale für JPEG-, PNG- und WebP-Bilder zurück.

Vergleichen

Vergleicht je ein ausgewähltes Gesicht aus zwei Bildern mit explizitem Schwellenwert und roher Cosinusähnlichkeit — nicht mit einer Wahrscheinlichkeit.

Registrieren

Organisiert Identitäten als Collections, People und FaceSamples — mit Mehrbildregistrierung, Prüfmodi und expliziten Ablehnungsgründen.

Suchen

Führt eine vollständige 1:N-Personensuche aus. Jede Person wird anhand des stärksten passenden FaceSample oberhalb des Collection-Schwellenwerts eingestuft.

Überwachen

Führt persistente RTSP-Erkennungsaufgaben mit aktuellen Eintritts-, Austritts-, Fehler- und Wiederherstellungsereignissen sowie optionaler Bedienervorschau aus.

Integrieren

Nutzen Sie die Web UI, 29 REST-Operationen, die interaktive OpenAPI-Referenz oder den schlanken typisierten Python-Client.

Schnellstart

Vom Repository zur ersten exakten Suche.

Wählen Sie CPU oder CUDA, installieren Sie ein Modellpaket, prüfen Sie die Bereitschaft und erstellen Sie anschließend mit dem Python SDK eine Collection, registrieren Sie eine Person und führen Sie eine Suche aus.

git clone https://github.com/deepinsight/insightface.git
cd insightface

mkdir -p server/.models
export INSIGHTFACE_MODELS_UID="$(id -u)"
export INSIGHTFACE_MODELS_GID="$(id -g)"

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 \
  run --rm models verify buffalo_l

docker compose -f server/deploy/compose.cpu.yml \
  up -d --wait --wait-timeout 180

curl -fsS http://127.0.0.1:18097/v1/health
01

Klonen und installieren

Checken Sie InsightFace aus und installieren Sie ein Modellpaket getrennt vom Server-Image.

02

Eine Runtime starten

Verwenden Sie den CPU-Stack zur Evaluierung oder CUDA 12 für GPU-Suche und -Inferenz.

03

Bereitschaft bestätigen

Prüfen Sie /v1/health und bestätigen Sie anschließend, dass Datenbank, Modell und Execution Provider bereit sind.

04

Erste Suche ausführen

Erstellen Sie eine Collection, registrieren Sie eine Person und suchen Sie per Python mit einem anderen Bild.

CPU

Linux x86_64 mit Docker Engine und Docker Compose. Ein praxisnaher Weg für Evaluierungen und moderate Workloads.

http://SERVER:18097

NVIDIA CUDA 12

Ergänzen Sie eine unterstützte NVIDIA GPU, einen Treiber und das NVIDIA Container Toolkit. Der Start schlägt fehl, statt unbemerkt auf die CPU auszuweichen.

http://SERVER:18098

Deployment-Grenze

Installieren und verifizieren Sie buffalo_l, buffalo_m, buffalo_sc, antelopev2 oder ein autorisiertes privates Paket.
Binden Sie /models schreibgeschützt ein und persistieren Sie /data für SQLite, verschlüsselte Geheimnisse und optionale Crops.
Verwenden Sie docker compose down ohne -v, um das benannte Datenvolume zu erhalten.
Stoppen Sie vor Upgrades Schreibzugriffe für das Backup oder verwenden Sie einen SQLite-sicheren Snapshot.

Erkennungspipeline

Vom Bild zum bewerteten Treffer.

Derselbe explizite Verarbeitungsvertrag gilt für Konsole, REST API, Python SDK und RTSP-Monitore.

01

Bild oder RTSP-Frame

JPEG, PNG, WebP oder der neueste Live-Kameraframe.

02

SCRFD mit mehreren Auflösungen

Gesichter erkennen, Kandidaten zusammenführen und ein globales NMS anwenden.

03

Ausrichten und einbetten

Fünf-Punkt-Ausrichtung, ArcFace-Embedding und L2-Normalisierung.

04

Modellgebundene Collection

Modell, Vorverarbeitung, Detektor, Schwellenwert und Kapazität festschreiben.

05

Exakte CPU-/GPU-Suche

Jedes aktive FaceSample im gewählten Profil vollständig bewerten.

06

Personentreffer

Bewertete Personen mit rohen Cosinuswerten und Request-IDs zurückgeben.

SQLite bleibt maßgeblich

Die dauerhafte Datenbank ist die Quelle der Wahrheit; exakte In-Memory-Indizes sind rekonstruierbare Projektionen. Akzeptierte Registrierungen werden vor der erfolgreichen Antwort in den Index aufgenommen, Löschungen werden aus beiden Speichern entfernt.

Collections-Konsole von InsightFace Server mit einer modellgebundenen Identitäts-Collection
Collections isolieren Identitätsräume und binden Modell, Vorverarbeitung, Detektor, Schwellenwert, Suchprofil und Kapazität.

Explizite Identitätsverträge

Collections trennen Modelle, Richtlinien und Datengrenzen klar.

Jede Collection bindet Modellidentität, Vorverarbeitungsversion, Embedding-Dimension, Detektorrichtlinie, Suchprofil, Kapazität und Treffer-Schwellenwert. Dieser Vertrag verhindert unbemerktes Vermischen, wenn sich Modell oder Runtime ändern.

  • Fügen Sie jeder Person mehrere FaceSamples hinzu und prüfen Sie partielle Registrierungsergebnisse, statt einen ganzen Batch zu verlieren.
  • Wählen Sie off, standard oder strict, um Gesichtszahl, Größe, Schärfe, Helligkeit, Pose und Prüfungen innerhalb einer Person anzuwenden.
  • Binden Sie eine vertrauenswürdige vorgelagerte Embedding-Pipeline über den Embedding-Vertrag der Collection an; Bilder durchlaufen weiterhin Erkennung und Prüfung.
  • Speichern Sie optional pro akzeptiertem Gesicht einen 112×112-Bounding-Box-Crop. Originaluploads und ausgerichtete Erkennungseingaben werden nicht gespeichert.

Gemessener Suchnachweis

Exakte Suche im Maßstab einer einzelnen GPU.

Native Profile für vollständige Suche erlauben es, Vektorpräzision gegen Kapazität und Durchsatz abzuwägen, ohne auf einen approximativen Nearest-Neighbor-Index umzusteigen.

58.9M
INT8-Bildvektoren

Gemessenes Maximum für 512-dimensionale Vektoren auf einer RTX 5090.

3.84 ms
Top-5 p50

Gemessen bei exakt 10M Vektoren mit einer laufenden Anfrage.

260.81
Serielle QPS

Gemessener Durchsatz der vollständigen Top-5-Suche bei 10M Vektoren.

3.35×
FP32-Durchsatz

Gemessener Multiplikator des INT8-Top-5-Durchsatzes auf derselben GPU.

GPU-DatentypMaximale Vektoren10M Top-5 p5010M serielle QPS
FP3215.8M12.84 ms77.85
FP1630.7M6.83 ms146.32
BF1630.7M6.83 ms146.33
INT858.9M3.84 ms260.81

INT8-Feature-Quantisierung

Im veröffentlichten MR-ALL-Benchmark wurde kein wesentlicher Genauigkeitsverlust festgestellt.

Gemessen auf einer NVIDIA GeForce RTX 5090. Die Kapazität ist die isolierte Grenze des nativen Index ohne geladene ONNX-Modelle oder Serverlast. Der Geschwindigkeitstest nutzt exakt 10M 512-dimensionale Bildvektoren, eine vollständige GPU-residente Top-5-Suche, eine laufende Anfrage, 10 Warm-ups und 100 gemessene Anfragen. Produktionssysteme müssen VRAM für Modelle, Anfragen, Parallelität, Index-Neuaufbauten und Allocator-Reserve vorhalten. Die Suche ist innerhalb jeder gespeicherten Darstellung exakt; eine Speicherung mit geringerer Präzision kann Scores und Rangfolgen gegenüber FP32 dennoch verändern.

Private Modelle

Große Galerien brauchen mehr als nur einen schnelleren Index.

Die Indexkapazität löst die Skalierungsfrage der Suche. Ob eine große 1:N-Galerie nutzbar ist, entscheidet die Erkennungsqualität an anspruchsvollen Betriebspunkten. Qualifizierte Teams können vor der Lizenzierung ein privates Modell mit der Baseline eines öffentlichen Modells vergleichen.

Verwenden Sie repräsentative, rechtmäßig beschaffte Validierungsdaten. Evaluierungszugang und Umfang werden mit qualifizierten Teams abgestimmt.

Höhere Erkennungsqualität

Evaluieren Sie schwierige Bildbedingungen und strenge Fehlzuordnungsziele mit repräsentativen Daten.

Derselbe Server und dieselbe API

Wechseln Sie das autorisierte Modellpaket, ohne Ihre REST- oder Python-Integration neu zu entwickeln.

Offline signierte Autorisierung

Private Pakete können dasselbe Manifest und dasselbe offline signierte Lizenzformat verwenden.

Kommerzielle Deployment-Rechte

Definieren Sie Modellrechte für das genehmigte Produkt, die Umgebung und den produktiven Anwendungsfall.

Persistente RTSP-Monitore

Kameraüberwachung, die ohne Browser weiterläuft.

Erstellen Sie serverseitige Monitore für RTSP- oder RTSPS-Quellen, stimmen Sie Inferenzintervall und Ereignisbestätigung ab und lassen Sie unabhängige Clients den aktuellen Zustand und die letzten Ereignisse abfragen. Das Schließen der Konsole stoppt die Erkennung nicht; aktivierte Monitore werden nach einem Serverneustart fortgesetzt. Frames werden nie aufgezeichnet, letzte Ereignisse sind begrenzt und nicht dauerhaft, und die Vorschau ist standardmäßig deaktiviert.

Nutzen Sie Erkennung als Unterstützung für Bedienpersonal, nicht als alleinige Kontrolle einer folgenkritischen Entscheidung. Definieren Sie für jede Bereitstellung Richtlinien zu Einwilligung, Aufbewahrung, Löschung, Prüfung und Reaktion auf Vorfälle.

Kameraüberwachungskonsole von InsightFace Server mit persistentem RTSP-Monitor und unkenntlich gemachter privater Adresse
Die Monitor-Konfiguration bleibt in SQLite erhalten. RTSP-Zugangsdaten sind verschlüsselt und unkenntlich gemacht; Frames werden nicht gespeichert, und letzte Ereignisse verbleiben nur im Arbeitsspeicher.

Betrieb und Sicherheit

Eine klare Grenze, die Sie absichern können.

Der Server stellt den für den Betrieb einer privaten Installation erforderlichen Zustand bereit und hält Geheimnisse, Bilder, Embeddings und Zugangsdaten aus Diagnosen heraus.

In InsightFace Server integriert

Bereitschaft und Diagnose

Prüfen Sie Dienst, Datenbank, Modell, Provider, Kapazität und aktuelle sichere Fehlerzusammenfassungen.

CUDA mit Fail-Fast

Validieren Sie beim Start den tatsächlichen Provider, Sessions, Bibliotheken, GPU-Kompatibilität und eine Warm-up-Inferenz.

Dauerhafte Datengrenze

Halten Sie Modelle schreibgeschützt, persistieren Sie /data und rekonstruieren Sie austauschbare exakte Indizes aus SQLite.

Geschützte Zugangsdaten

Hashen Sie den API Key, verschlüsseln Sie RTSP-Zugangsdaten in /data und blenden Sie Quellen in Antworten aus.

Nur-API-Modus

Deaktivieren Sie Konsole und Leitfäden, während /v1 und /openapi.json für private Dienste verfügbar bleiben.

Produktionsgrenze vervollständigen

Die mitgelieferten Compose-Dateien sind für isolierte Evaluierungen ausgelegt. Ergänzen Sie vor der Freigabe eines produktiven Dienstes die für Ihr Netzwerk- und Governance-Modell erforderlichen Kontrollen.

API-Authentifizierung aktivieren und Schlüsselrotation verwalten.
HTTPS an einem vertrauenswürdigen Reverse Proxy terminieren.
Netzwerkzugriff und CORS auf genehmigte Clients beschränken.
Limits für Anfragerate, Body-Größe und Timeouts am Netzwerkrand anwenden.
/data, Backups und Betriebszugriffe wie biometrische Infrastruktur schützen.

Häufig gestellte Fragen

Deployment und Modelllizenz planen.

Praktische Antworten, die Teams vor Evaluierung und Produktion benötigen.

Kann InsightFace Server kostenlos genutzt werden?+

Der Server-Quellcode und das Python SDK sind MIT-lizenziert. Für Modelldateien gelten separate Bedingungen; die Verfügbarkeit des Codes gewährt daher keine kommerziellen Modellrechte.

Sind Erkennungsmodelle im Container enthalten?+

Nein. Modellpakete werden separat installiert und verifiziert, sodass Modellidentität, Version und Autorisierung explizit bleiben.

Dürfen öffentliche vortrainierte InsightFace-Modelle kommerziell genutzt werden?+

Öffentliche vortrainierte Modellpakete sind grundsätzlich auf nichtkommerzielle akademische Forschung beschränkt, sofern InsightFace keine separate kommerzielle Autorisierung erteilt.

Erfordert ein privates oder kommerziell lizenziertes Modell eine neue Integration?+

Nein. Autorisierte Modellpakete verwenden denselben Server, dieselbe Web UI, REST API, dasselbe Python SDK, Manifest und denselben Installationsablauf.

Kann InsightFace Server offline betrieben werden?+

Ja. Nach der Installation von Container-Image und Modellpaket können der reguläre Serverstart und -betrieb innerhalb Ihrer Infrastruktur offline bleiben.

Was bedeutet die Kapazitätsangabe von 58.9M?+

Sie bezeichnet die gemessene Obergrenze des nativen Index für 512-dimensionale INT8-Bildvektoren auf einer RTX 5090. Sie ist weder eine Personenzahl noch die End-to-End-Kapazität der API.

Ist die 1:N-Suche exakt oder approximativ?+

Die Suche ist innerhalb der gewählten gespeicherten Darstellung eine vollständige exakte Flat Search und verwendet keinen approximativen Nearest-Neighbor-Index.

Welche Deployment-Hardware wird unterstützt?+

Die mitgelieferte Bereitstellung richtet sich an Linux x86_64 mit lokaler CPU-Inferenz oder einer unterstützten NVIDIA GPU über den CUDA-12-Stack.

Ablauf validieren, dann das passende Modell wählen.

Führen Sie Ihre erste exakte Suche lokal aus. Sobald Sie produktionsbereit sind, autorisieren Sie ein öffentliches Modell oder evaluieren ein genaueres privates Modell, ohne die Integration neu zu entwickeln.

Server- und SDK-Code sind MIT-lizenziert. Modellrechte für die Produktion werden separat lizenziert.