Reconnaissance faciale

Cet article explique le concept de reconnaissance faciale, les opérations associées et les structures de données sous-jacentes. De manière générale, la reconnaissance faciale est le processus qui consiste à vérifier ou à identifier des personnes par leur visage. La reconnaissance faciale est importante pour l’implémentation du scénario d’identification que des entreprises et applications peuvent utiliser pour vérifier qu’un utilisateur (distant) est bien celui qu’il prétend être.

Vous pouvez essayer les fonctionnalités de reconnaissance faciale rapidement et facilement à l’aide de Vision Studio.

Opérations de reconnaissance faciale

Attention

L’accès au service visage est limité en fonction des critères d’éligibilité et d’utilisation afin de prendre en charge nos principes d’IA responsable. Le service visage est disponible uniquement pour les clients et partenaires gérés par Microsoft. Utilisez le Formulaire d’admission de la reconnaissance faciale pour demander l’accès. Pour plus d’informations, consultez la page Accès limité visage.

Création et entraînement de PersonGroup

Vous devez créer un PersonGroup ou un LargePersonGroup pour stocker l’ensemble de personnes avec lequel établir une correspondance. Les PersonGroups contiennent des objets Person, chacun représentant une personne spécifique et contenant un ensemble de données de visage appartenant à cette personne.

L’opération Train prépare le jeu de données à utiliser pour les comparaisons de données de visage.

Identification

L’opération Identify prend un ou plusieurs ID de visage source (à partir d’un objet DetectedFace ou PersistedFace) et un PersonGroup ou un LargePersonGroup. Elle retourne une liste des objets Person auxquels chaque visage source peut appartenir. Les objets Person retournés sont empaquetés en tant qu’objets de candidats et comportent une valeur de niveau de confiance de prédiction.

Vérification

L’opération Verify prend un seul ID de visage (à partir d’un objet DetectedFace ou PersistedFace) et un objet Person. Elle détermine si le visage appartient à la même personne. La vérification est une correspondance un-à-un et peut être utilisée comme contrôle final des résultats de l’appel d’API Identify. Toutefois, si vous le souhaitez, vous pouvez transmettre le PersonGroup auquel appartient l’objet Person candidat pour améliorer les performances de l’API.

Les opérations de reconnaissance utilisent principalement les structures de données suivantes. Ces objets sont stockés dans le cloud et peuvent être référencés par leurs chaînes d’ID. Les chaînes d’ID sont toujours uniques dans un abonnement, mais des champs de nom peuvent être dupliqués.

Consultez le guide Structures de données de la reconnaissance faciale.

Critères des entrées

Utilisez les conseils suivants pour vous assurer que vos images d’entrée fournissent les résultats de reconnaissance les plus précis :

  • Les formats d’image d’entrée pris en charge sont JPEG, PNG, GIF (la première image) et BMP.
  • La taille du fichier image ne doit pas dépasser 6 Mo.
  • Certains visages peuvent ne pas être reconnus en raison de la composition de photo, par exemple :
    • Des images avec un éclairage extrême, par exemple, un contre-jour marqué.
    • Des obstacles cachant un œil ou les deux yeux.
    • Des différences de type de cheveux ou de pilosité faciale.
    • Des changements d’apparence du visage dus à l’âge.
    • Une très grande expressivité du visage.
  • Vous pouvez utiliser l’attribut qualityForRecognition dans l’opération de détection des visages lorsque vous utilisez des modèles de détection applicables de manière générale pour déterminer si l’image est susceptible d’offrir une qualité suffisante pour tenter une reconnaissance faciale. Seules des images de qualité "high" sont recommandées pour l’inscription de personnes, et une qualité supérieure à "medium" est recommandée pour les scénarios d’identification.

Étapes suivantes

Maintenant que vous êtes familiarisé avec les concepts de reconnaissance faciale, écrivez un script pour identifier les visages par rapport à un objet PersonGroup formé.