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.

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 localeDroits 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 autorisationPré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éesMettez 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 autorisationUn 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/healthCloner et installer
Clonez InsightFace et installez un paquet de modèle séparément de l’image Server.
Démarrer un runtime
Utilisez la stack CPU pour l’évaluation ou CUDA 12 pour la recherche et l’inférence GPU.
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.
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.
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.
Limite du déploiement
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.
Image ou frame RTSP
JPEG, PNG, WebP ou la dernière frame de caméra en direct.
SCRFD multirésolution
Détecter les visages, fusionner les candidats et appliquer un NMS global.
Aligner et générer l’embedding
Alignement cinq points, embedding ArcFace et normalisation L2.
Collection liée au modèle
Fixer modèle, prétraitement, détecteur, seuil et capacité.
Recherche exacte CPU/GPU
Évaluer exhaustivement chaque FaceSample actif du profil sélectionné.
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.

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.
Maximum mesuré pour des vecteurs de 512 dimensions sur une RTX 5090.
Mesuré avec exactement 10M vecteurs et une seule requête en vol.
Débit mesuré de recherche exhaustive Top-5 avec 10M vecteurs.
Multiplicateur mesuré du débit Top-5 INT8 sur le même GPU.
| Type de données GPU | Vecteurs maximum | 10M Top-5 p50 | 10M QPS série |
|---|---|---|---|
| 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 |
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.

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.
Guides d’implémentation
Du premier conteneur à une intégration fonctionnelle.
Utilisez le démarrage rapide ciblé pour votre premier déploiement privé, puis passez au workflow REST API et SDK Python lorsque vous êtes prêt à connecter une application.
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.