← Zurück zu den Leitfäden
InsightFacePythonInsightFace ServerOptionale RGB-Lebenderkennung

Optionale RGB-Lebenderkennung in Python und InsightFace Server aktivieren

Ergänzen Sie Prüfungen vor dem Identitätsabgleich und erhalten Sie Status und Bewertungen für jedes Gesicht. Konfigurieren Sie eine Freigabe anhand des Lebendergebnisses oder den Beobachtungsmodus für Erkennung, Vergleich, Suche und RTSP-Abläufe.

•5 Min. Lesezeit

Was Sie umsetzen

FaceAnalysis für Gesichtsanwendungen oder PersonAnalysis für Personenerkennung, Gesichtsabgleich und Körper-ReID.

Standardmäßig deaktiviert. Prüfungen bei der Registrierung werden separat eingestellt.

Vor dem Start

  • Der aktualisierte InsightFace-2-Quellcode mit python-package/docs/liveness.md sowie Python 3.10+ und installierten Paketabhängigkeiten. Diese Anleitung bezieht sich auf diesen Quellstand; ältere installierte Pakete bieten die Addon-API möglicherweise noch nicht.
  • Eine lokale input.jpg mit einem Gesicht und ausreichendem Bildbereich darum sowie Zugriff zur Installation des Basismodells und des Liveness-Addons. Beachten Sie die jeweiligen Modellbedingungen.
  • Verwenden Sie die Bereitstellung der Docker-Anleitung mit vorhandener Konfiguration. Die Container laufen bereits als root mit beschreibbaren Modell- und Konfigurationsverzeichnissen. CLI-Aktivierung ist vor dem ersten Serverstart möglich.

1. Liveness in Python ausdrücklich aktivieren

Installieren Sie vom Stammverzeichnis des aktualisierten Repositorys aus das Python-Paket in Ihrer aktiven virtuellen Umgebung. Legen Sie input.jpg vor dem Start im Arbeitsverzeichnis ab. Das CPU-Beispiel wählt Erkennung und Identifizierung aus; addons=['liveness'] aktiviert das separate Liveness-Modell.

Beim ersten Aufruf können fehlende Modelle heruntergeladen werden. Das Addon liegt unter ~/.insightface/addons/liveness.onnx; vor dem Laden wird SHA-256 geprüft. Die Datei allein aktiviert keine Prüfung: Geben Sie addons=['liveness'] ausdrücklich an. Ohne addons bleibt Liveness aus.

Aus dem aktualisierten Quellcode installieren
cd python-package
python -m pip install .
CPU-Beispiel mit Liveness-Ergebnissen je Gesicht
import cv2
from insightface.app import FaceAnalysis

image_bgr = cv2.imread("input.jpg")
if image_bgr is None:
    raise FileNotFoundError("input.jpg")

app = FaceAnalysis(
    name="buffalo_l",
    allowed_modules=["detection", "recognition"],
    addons=["liveness"],
    liveness_mode="normal",
    liveness_threshold=0.8,
    providers=["CPUExecutionProvider"],
)
app.prepare(ctx_id=-1, det_size=(640, 640))

for face in app.get(image_bgr):
    print(face.liveness)
    if face.liveness is not None:
        print(
            face.liveness.status,
            face.liveness.is_live,
            face.liveness.live_score,
        )

2. Ergebnisse lesen und die Erkennungsregel wählen

Im Modus normal erfolgt die Identifizierung nur bei is_live=True. Andere Gesichter bleiben mit Detektionsergebnissen, aber ohne Embedding in der Liste. observe setzt die Identifizierung auch bei negativer Liveness-Klassifikation oder abgelehnter Eingabe fort und behält die Ergebnisse. Modell-, Ausrichtungs- und Inferenzfehler lösen in beiden Modi Ausnahmen aus.

  • status='ok': is_live ist True oder False und live_score eine Zahl in [0, 1]. Der Standardschwellenwert beträgt 0.8; Gleichheit genügt. Validieren Sie den Schwellenwert mit repräsentativen Eingaben und dem Ausführungsanbieter Ihrer Installation.
  • status='input_rejected': is_live und live_score sind None. Das bedeutet zu wenig Quellbildfläche um das ausgerichtete Gesicht, keine Spoofing-Klassifikation. Zentrieren Sie das Gesicht, vergrößern Sie den Kameraabstand oder verwenden Sie einen weniger engen Zuschnitt. reason erläutert den Grund.
  • Ohne ausgewähltes Addon ist face.liveness None; ohne erkannte Gesichter lautet das Ergebnis []. Verwenden Sie status und is_live in der Programmlogik. Der reason-Text in Python/API ist Englisch und kein stabiler Statuscode.

Optional: RGB-Lebenderkennung aktivieren

Ja. Ergänzen Sie die Modellinstallation um --enable-liveness oder aktivieren Sie die Funktion im Systembereich der Web UI. Starten Sie Server danach oder starten Sie ihn neu. normal steuert die Erkennung, observe protokolliert und setzt sie fort. Standardmäßig deaktiviert; Registrierung hat einen eigenen Schalter.

Ergänzen Sie bei einer neuen Installation den Modellinstallationsbefehl der Docker-Anleitung um --enable-liveness. Die benötigten Modelle werden geprüft und die Aktivierung vor dem ersten Start gespeichert.

Bei einem laufenden Dienst verwenden Sie den passenden Befehl unten und starten ihn danach neu. Eine normale Installation und models addons install liveness aktivieren die Funktion nicht.

Alternativ können Sie unter System → Lebenderkennung den Download mit Aktivierung nach Neustart wählen. Web und CLI prüfen das Modell und ergänzen liveness in beiden Listen unter Erhalt anderer Einstellungen. Ein fehlgeschlagener Download aktiviert nichts; warten Sie auf die erfolgreiche Speicherung.

Starten Sie eine neue Installation nach der Modellinstallation; einen laufenden Dienst starten Sie mit dem passenden CPU/CUDA-Befehl unten neu. Prüfen Sie enabled=true und restart_required=false. installed beschreibt die geprüfte Datei, configured_enabled die gespeicherte Einstellung. Mount-Änderungen erfordern neue Container.

Liveness ist standardmäßig aus. Die Web-Aktion ändert die Registrierung nicht; liveness_on_registration=false bleibt der Standard. Setzen Sie diesen Wert separat auf true, um normal/observe auch bei der Registrierung anzuwenden. Zum Deaktivieren speichern Sie leere Listen für inference.addons und addons.auto_download und starten neu.

CPU
docker compose -f server/deploy/compose.cpu.yml run --rm models install buffalo_l --accept-license --enable-liveness
CUDA 12
docker compose -f server/deploy/compose.cuda12.yml run --rm models install buffalo_l --accept-license --enable-liveness
Gespeicherte Einstellungen auf die bestehende CPU-Installation anwenden
docker compose -f server/deploy/compose.cpu.yml restart server
Gespeicherte Einstellungen auf die bestehende CUDA 12-Installation anwenden
docker compose -f server/deploy/compose.cuda12.yml restart server

Benötigen Sie Hilfe beim Produktions-Deployment?

Kontaktieren Sie InsightFace für Modelllizenzen, Runtime-Optimierung und Deployment-Support für Ihre Zielhardware.

Enterprise-Anfrage senden