Retour à l’accueil
Nouveau · InsightFace Server

Auto-hébergez la reconnaissance faciale au sein de votre propre réseau.

Transformez un conteneur Linux unique en backend complet de reconnaissance faciale : détectez, comparez, enrôlez, lancez une recherche exacte 1:N et surveillez des caméras RTSP/RTSPS via une Web UI, une API REST et un SDK Python.

Prêt
Dashboard InsightFace Server montrant un déploiement local CUDA de reconnaissance faciale prêt
58.9M
Vecteurs d’image INT8 sur une RTX 5090
3.84 ms
Latence Top-5 sur 10M de vecteurs (p50)
3.35×
Débit INT8 par rapport au FP32
Quantification INT8 des caractéristiques
Aucune perte significative de précision

Choisissez votre modèle

De l’évaluation à la production sans reconstruire votre intégration.

Conservez le même Server auto-hébergé tandis que les droits du modèle et vos exigences de reconnaissance évoluent.

Commencez ici

Évaluation pour la recherche

Validez localement le workflow Server avec un paquet de modèle public dans le respect de ses conditions applicables à la recherche non commerciale.

Démarrer une évaluation locale

Droits de production

Licence commerciale de modèle public

Conservez un modèle public préentraîné familier et obtenez une autorisation distincte pour un déploiement commercial approuvé.

Demander une autorisation

Précision supérieure

Modèle privé de reconnaissance

Évaluez un modèle privé plus précis sur des données représentatives pour des galeries 1:N exigeantes de plusieurs millions ou dizaines de millions d’identités.

Évaluer avec vos données

Mettez en production un modèle autorisé

Le code du Server et du SDK Python est sous licence MIT. Pour la production, obtenez une licence de modèle public ou évaluez un modèle privé plus précis pour des galeries 1:N de plusieurs millions ou dizaines de millions d’identités, sans modifier votre intégration Server.

Demander une autorisation
Conservez la même Web UI, API REST et le même SDK Python.
Utilisez le même manifeste de modèle et le même workflow d’installation.
Prenez en charge l’autorisation hors ligne par MODEL.LICENSE signé.
Conservez un démarrage normal du Server hors ligne après la préparation de l’image et du modèle.

Un service autohébergé

Privé par son architecture, pratique par sa conception.

Images, embeddings, modèles et index peuvent rester dans l’infrastructure que vous contrôlez. La console multilingue utilise la même API publique que vos applications, sans CDN, analytics, polices distantes ni JavaScript tiers.

Détecter

Renvoie bounding boxes, cinq landmarks, confiance du détecteur et signaux de qualité locaux pour les images JPEG, PNG et WebP.

Comparer

Compare un visage sélectionné dans chacune de deux images avec un seuil explicite et une similarité cosinus brute, pas une probabilité.

Inscrire

Organise les identités en Collections, People et FaceSamples, avec inscription multi-image, modes de revue et motifs de rejet explicites.

Rechercher

Exécute une recherche exhaustive de personnes 1:N. Chaque Person est classée selon le FaceSample correspondant le plus fort au-dessus du seuil de la Collection.

Surveiller

Exécute des tâches de reconnaissance RTSP persistantes avec événements récents d’entrée, sortie, erreur et reprise, ainsi qu’un aperçu opérateur facultatif.

Intégrer

Utilisez la Web UI, 29 opérations REST, la référence OpenAPI interactive ou le client Python léger et typé.

Démarrage rapide

Du dépôt à la première recherche exacte.

Choisissez CPU ou CUDA, installez un paquet de modèle, vérifiez que le service est prêt, puis utilisez le SDK Python pour créer une Collection, enrôler une personne et lancer une recherche.

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

Cloner et installer

Clonez InsightFace et installez un paquet de modèle séparément de l’image Server.

02

Démarrer un runtime

Utilisez la stack CPU pour l’évaluation ou CUDA 12 pour la recherche et l’inférence GPU.

03

Confirmer que le service est prêt

Vérifiez /v1/health, puis confirmez que la base de données, le modèle et le provider d’exécution sont prêts.

04

Lancer la première recherche

Créez une Collection, enrôlez une personne et lancez une requête avec une autre image via Python.

CPU

Linux x86_64 avec Docker Engine et Docker Compose. Une voie pratique pour l’évaluation et les charges modérées.

http://SERVER:18097

NVIDIA CUDA 12

Ajoutez un GPU NVIDIA compatible, son driver et NVIDIA Container Toolkit. Le démarrage échoue au lieu de basculer silencieusement sur CPU.

http://SERVER:18098

Limite du déploiement

Installez et vérifiez buffalo_l, buffalo_m, buffalo_sc, antelopev2 ou un paquet privé autorisé.
Montez /models en lecture seule et rendez /data persistant pour SQLite, les secrets chiffrés et les recadrages facultatifs.
Utilisez docker compose down sans -v pour conserver le volume de données nommé.
Arrêtez les écritures pour sauvegarder ou utilisez un snapshot sûr pour SQLite avant les mises à niveau.

Pipeline de reconnaissance

De l’image à la correspondance classée.

Le même contrat de traitement explicite alimente la console, la REST API, le SDK Python et les moniteurs RTSP.

01

Image ou frame RTSP

JPEG, PNG, WebP ou la dernière frame de caméra en direct.

02

SCRFD multirésolution

Détecter les visages, fusionner les candidats et appliquer un NMS global.

03

Aligner et générer l’embedding

Alignement cinq points, embedding ArcFace et normalisation L2.

04

Collection liée au modèle

Fixer modèle, prétraitement, détecteur, seuil et capacité.

05

Recherche exacte CPU/GPU

Évaluer exhaustivement chaque FaceSample actif du profil sélectionné.

06

Correspondances de personnes

Renvoyer les personnes classées avec scores cosinus bruts et IDs de requête.

SQLite reste la référence

La base durable est la source de vérité ; les index exacts en mémoire sont des projections reconstruisibles. Les inscriptions acceptées sont ajoutées à l’index avant toute réponse réussie et les suppressions sont retirées des deux stockages.

Console Collections d’InsightFace Server avec une Collection d’identités liée au modèle
Les Collections isolent les espaces d’identité et fixent modèle, prétraitement, détecteur, seuil, profil de recherche et capacité.

Contrats d’identité explicites

Les Collections clarifient modèles, politiques et limites de données.

Chaque Collection fixe l’identité du modèle, la version de prétraitement, la dimension d’embedding, la politique du détecteur, le profil de recherche, la capacité et le seuil de correspondance. Ce contrat évite tout mélange silencieux lors d’un changement de modèle ou de runtime.

  • Ajoutez plusieurs FaceSamples par Person et inspectez les résultats partiels d’inscription au lieu de perdre tout un lot.
  • Choisissez off, standard ou strict pour contrôler nombre, taille, netteté, luminosité et pose des visages, ainsi que la cohérence au sein d’une Person.
  • Connectez un pipeline d’embeddings amont fiable via le contrat d’embedding de la Collection ; les images passent toujours par la détection et la revue.
  • Stockez facultativement un recadrage de bounding box 112×112 par visage accepté. Les originaux et entrées de reconnaissance alignées ne sont pas conservés.

Preuve de recherche mesurée

Recherche exacte à l’échelle d’un GPU unique.

Les profils natifs de recherche exhaustive permettent d’échanger précision vectorielle contre capacité et débit sans passer à un index approximatif des plus proches voisins.

58.9M
Vecteurs d’image INT8

Maximum mesuré pour des vecteurs de 512 dimensions sur une RTX 5090.

3.84 ms
Top-5 p50

Mesuré avec exactement 10M vecteurs et une seule requête en vol.

260.81
QPS série

Débit mesuré de recherche exhaustive Top-5 avec 10M vecteurs.

3.35×
Débit par rapport au FP32

Multiplicateur mesuré du débit Top-5 INT8 sur le même GPU.

Type de données GPUVecteurs maximum10M Top-5 p5010M QPS série
FP3215.8M12.84 ms77.85
FP1630.7M6.83 ms146.32
BF1630.7M6.83 ms146.33
INT858.9M3.84 ms260.81

Quantification INT8 des caractéristiques

Aucune perte significative de précision n’a été observée dans le benchmark MR-ALL publié.

Mesures réalisées sur une NVIDIA GeForce RTX 5090. La capacité est la limite isolée de l’index natif, sans modèles ONNX chargés ni charge Server. La vitesse utilise exactement 10M vecteurs d’image de 512 dimensions, une recherche exhaustive Top-5 résidente GPU, une requête en vol, 10 warm-ups et 100 requêtes mesurées. Les déploiements en production doivent réserver de la VRAM pour les modèles, requêtes, concurrence, reconstructions d’index et marge de l’allocator. La recherche est exacte dans chaque représentation stockée ; un stockage de moindre précision peut néanmoins modifier scores et classements par rapport à FP32.

Modèles privés

Les grandes galeries exigent plus qu’un index rapide.

La capacité de l’index répond au besoin de montée en charge. La qualité de reconnaissance aux points de fonctionnement exigeants détermine si une grande galerie 1:N est réellement exploitable. Les équipes éligibles peuvent comparer un modèle privé à une référence de modèle public avant de choisir une licence.

Utilisez des données de validation représentatives et obtenues légalement. L’accès et le périmètre de l’évaluation sont confirmés avec les équipes éligibles.

Qualité de reconnaissance supérieure

Évaluez les conditions d’image difficiles et les objectifs stricts de faux appariements sur des données représentatives.

Le même Server et la même API

Changez de paquet de modèle autorisé sans reconstruire votre intégration REST ou Python.

Autorisation signée hors ligne

Les paquets privés peuvent utiliser le même manifeste et le même format de licence signée hors ligne.

Droits de déploiement commercial

Définissez les droits du modèle pour le produit, l’environnement et le cas d’usage de production approuvés.

Moniteurs RTSP persistants

Une surveillance de caméra qui fonctionne sans navigateur.

Créez des Moniteurs côté serveur pour des sources RTSP ou RTSPS, réglez la cadence d’inférence et la confirmation des événements, puis laissez des clients indépendants interroger l’état courant et les événements récents. Fermer la console n’arrête pas la reconnaissance et les Moniteurs activés reprennent après redémarrage du Server. Les frames ne sont jamais enregistrées ; les événements récents sont bornés et non durables, et l’aperçu est désactivé par défaut.

Utilisez la reconnaissance comme aide à l’opérateur, pas comme seul contrôle d’une décision à fort impact. Définissez pour chaque déploiement des politiques de consentement, rétention, suppression, revue et réponse aux incidents.

Console de surveillance de caméras InsightFace Server avec un Moniteur RTSP persistant et une adresse privée masquée
La configuration du Monitor persiste dans SQLite. Les identifiants RTSP sont chiffrés et masqués ; les frames ne sont pas stockées et les événements récents restent uniquement en mémoire.

Exploitation et sécurité

Une limite claire que vous pouvez renforcer.

Le Server expose l’état nécessaire à l’exploitation d’un déploiement privé tout en excluant secrets, images, embeddings et identifiants des diagnostics.

Intégré à InsightFace Server

État et diagnostics

Vérifiez service, base de données, modèle, provider, capacité et résumés sûrs des erreurs récentes.

CUDA fail-fast

Validez au démarrage le provider réel, les sessions, bibliothèques, la compatibilité GPU et l’inférence de warm-up.

Limite de données durable

Gardez les modèles en lecture seule, rendez /data persistant et reconstruisez depuis SQLite les index exacts jetables.

Identifiants protégés

Hachez l’API Key, chiffrez les identifiants RTSP dans /data et masquez les sources dans les réponses.

Mode API uniquement

Désactivez console et guides tout en conservant /v1 et /openapi.json pour les services privés.

Complétez le périmètre de production

Les fichiers Compose fournis sont conçus pour une évaluation isolée. Avant d’exposer un service de production, ajoutez les contrôles requis par votre réseau et votre modèle de gouvernance.

Activez l’authentification de l’API et gérez la rotation des clés.
Terminez HTTPS sur un reverse proxy de confiance.
Limitez l’accès réseau et CORS aux clients approuvés.
Appliquez en périphérie des limites de fréquence, de taille de corps et de délai.
Protégez /data, les sauvegardes et les accès opérationnels comme une infrastructure biométrique.

Questions fréquentes

Planifiez votre déploiement et la licence du modèle.

Les réponses pratiques dont les équipes ont besoin avant l’évaluation et la production.

InsightFace Server est-il gratuit ?+

Le code source du Server et le SDK Python sont sous licence MIT. Les fichiers de modèles ont des conditions distinctes : la disponibilité du code n’accorde donc aucun droit commercial sur les modèles.

Les modèles de reconnaissance sont-ils inclus dans le conteneur ?+

Non. Les paquets de modèles sont installés et vérifiés séparément, afin que l’identité, la version et l’autorisation du modèle restent explicites.

Les modèles publics préentraînés InsightFace peuvent-ils être utilisés commercialement ?+

Les paquets de modèles publics préentraînés sont généralement réservés à la recherche universitaire non commerciale, sauf si InsightFace accorde une autorisation commerciale distincte.

Un modèle privé ou sous licence commerciale nécessite-t-il une nouvelle intégration ?+

Non. Les paquets de modèles autorisés utilisent le même Server, la même Web UI, API REST, le même SDK Python, manifeste et workflow d’installation.

InsightFace Server peut-il fonctionner hors ligne ?+

Oui. Une fois l’image du conteneur et le paquet de modèle installés, le Server peut démarrer et fonctionner normalement hors ligne dans votre infrastructure.

Que signifie la capacité de 58.9M ?+

Il s’agit de la limite mesurée de l’index natif pour des vecteurs d’image INT8 de 512 dimensions sur une RTX 5090. Ce n’est ni un nombre de personnes ni la capacité de bout en bout de l’API.

La recherche 1:N est-elle exacte ou approximative ?+

La recherche est plate, exhaustive et exacte dans la représentation stockée sélectionnée ; elle n’utilise pas d’index approximatif des plus proches voisins.

Quel matériel de déploiement est pris en charge ?+

Le déploiement fourni cible Linux x86_64 avec une inférence CPU locale ou un GPU NVIDIA compatible via la stack CUDA 12.

Validez le workflow, puis choisissez le bon modèle.

Lancez localement votre première recherche exacte. Lorsque vous êtes prêt pour la production, autorisez un modèle public ou évaluez un modèle privé plus précis sans reconstruire l’intégration.

Le code du Server et du SDK est sous licence MIT. Les droits des modèles pour la production sont concédés séparément.