Recherche de visages dans une collection - Amazon Rekognition

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Recherche de visages dans une collection

Amazon Rekognition vous permet d’utiliser un visage en entrée pour rechercher des correspondances dans une collection de visages enregistrés. Vous commencez par stocker des informations sur les visages détectés dans des conteneurs côté serveur appelés « collections ». Les collections stockent à la fois les visages individuels et les utilisateurs (plusieurs visages d'une même personne). Les visages individuels sont stockés sous forme de vecteurs de visage, une représentation mathématique du visage (et non une image réelle du visage). Différentes images d'une même personne peuvent être utilisées pour créer et stocker plusieurs vecteurs de visage dans la même collection. Vous pouvez ensuite agréger plusieurs vecteurs de visage de la même personne pour créer un vecteur utilisateur. Les vecteurs utilisateur peuvent offrir une plus grande précision de recherche faciale grâce à des représentations plus robustes, contenant différents degrés d’éclairage, de netteté, de pose, d’apparence, etc.

Une fois que vous avez créé une collection, vous pouvez utiliser un visage en entrée pour rechercher des vecteurs utilisateur ou des vecteurs de visage correspondants dans une collection. La recherche par rapport aux vecteurs utilisateur peut améliorer considérablement la précision comparée à la recherche par rapport à des vecteurs faciaux individuels. Vous pouvez utiliser des visages détectés dans des images, des vidéos stockées et des vidéos en streaming pour rechercher des vecteurs de visage stockés. Vous pouvez utiliser les visages détectés dans les images pour effectuer une recherche par rapport aux vecteurs utilisateur enregistrés.

Pour stocker les informations faciales, vous devez procéder comme suit :

  1. Créer une collection - Pour stocker des informations faciales, vous devez d'abord créer (CreateCollection) une collection faciale dans l'une des AWS régions de votre compte. Vous spécifiez cette collection de visages lorsque vous appelez l’opération IndexFaces.

  2. Index des visages : l'IndexFacesopération détecte le ou les visages dans une image, extrait et stocke le ou les vecteurs de visage dans la collection. Cette opération vous permet de détecter les visages dans une image et de conserver les informations sur les caractéristiques faciales détectées dans une collection. Voici un exemple d’opération d’API basée sur le stockage, car le service conserve sur le serveur les informations relatives au vecteur de visage.

Pour créer un utilisateur et associer plusieurs vecteurs de visage à un utilisateur, vous devez effectuer les opérations suivantes :

  1. Créer un utilisateur - Vous devez d'abord créer un utilisateur avec CreateUser. Vous pouvez améliorer la précision de la correspondance faciale en agrégeant plusieurs vecteurs de visage d’une même personne dans un vecteur utilisateur. Vous pouvez associer jusqu’à 100 vecteurs de visage à un vecteur utilisateur.

  2. Associer des visages : après avoir créé l'utilisateur, vous pouvez ajouter des vecteurs de visage existants à cet utilisateur par le biais de l'AssociateFacesopération. Les vecteurs de visage doivent résider dans la même collection qu’un vecteur utilisateur pour être associés à ce vecteur utilisateur.

Après avoir créé une collection et enregistré les vecteurs de visages et d’utilisateurs, vous pouvez utiliser les opérations suivantes pour rechercher des correspondances de visages :

  • SearchFacesByImage- Pour effectuer une recherche dans des visages individuels enregistrés à l'aide d'un visage issu d'une image.

  • SearchFaces- Pour effectuer une recherche parmi des visages individuels enregistrés à l'aide d'un identifiant facial fourni.

  • SearchUsers- Pour effectuer une recherche auprès d'utilisateurs enregistrés à l'aide d'un identifiant facial ou d'un identifiant utilisateur fourni.

  • SearchUsersByImage- Pour effectuer une recherche parmi les utilisateurs enregistrés avec un visage à partir d'une image.

  • StartFaceSearch- Pour rechercher des visages dans une vidéo enregistrée.

  • CreateStreamProcessor- Pour rechercher des visages dans une vidéo en streaming.

Note

Les collections stockent des vecteurs de visages, qui sont des représentations mathématiques de visages. Les collections ne stockent pas d'images de visages.

Les diagrammes suivants montrent l'ordre des opérations d'appel, en fonction de vos objectifs en matière d'utilisation des collections :

Pour une correspondance maximale avec les vecteurs utilisateur :

Schéma illustrant le stockage et la recherche de vecteurs faciaux d'utilisateurs dans une collection CreateCollection, répertorie les opérations telles que IndexFaces CreateUser, AssociateFaces, SearchUsersByImage,, et SearchUsers.

Pour une correspondance de haute précision avec des vecteurs faciaux individuels :

Le diagramme illustrant le stockage et la recherche de visages dans une collection répertorie les opérations telles que CreateCollection IndexFaces StartFaceSearch, CreateStreamProcessor, SearchFacesByImage,, et SearchFaces.

Vous pouvez utiliser les collections dans différents scénarios. Par exemple, vous pouvez créer une collection de visages qui stocke les visages détectés à partir d’images de badges d’employés numérisées et d’identifiants émis par le gouvernement à l’aide des opérations IndexFaces et AssociateFaces. Lorsqu’un employé entre dans le bâtiment, une image du visage est capturée et envoyée à l’opération SearchUsersByImage. Si la correspondance des visages offre un score de similarité suffisamment élevé (par exemple, 99 %), vous pouvez authentifier l’employé.

Gestion des collections

La collection de visages est la principale ressource Amazon Rekognition, et chaque collection de visages que vous créez possède un Amazon Resource Name (ARN) unique. Vous créez chaque collection de visages dans une AWS région spécifique dans votre compte. Au moment d’être créée, une collection est associée à la version la plus récente du modèle de détection de visages. Pour plus d’informations, consultez Gestion des versions de modèle.

Vous pouvez effectuer les opérations de gestion suivantes dans une collection :

Gestion des visages dans une collection

Une fois que vous avez créé une collection de visages, vous pouvez y stocker des visages. Amazon Rekognition propose les opérations suivantes pour gérer les visages d’une collection :

  • L'IndexFacesopération détecte les visages dans l'image d'entrée (JPEG ou PNG) et les ajoute à la collection de visages spécifiée. Un ID de visage unique est renvoyé pour chaque visage détecté dans l’image. Une fois que vous avez conservé les visages, vous pouvez explorer la collection pour y rechercher des correspondances de visages. Pour plus d’informations, consultez Ajout de visages à une collection.

  • L'ListFacesopération répertorie les visages d'une collection. Pour plus d’informations, consultez Ajout de visages à une collection.

  • L'DeleteFacesopération supprime les visages d'une collection. Pour plus d’informations, consultez Suppression de visages d’une collection.

Gérer les utilisateurs dans une collection

Après avoir enregistré plusieurs vecteurs de visage d’une même personne, vous pouvez améliorer la précision en associant tous ces vecteurs de visage dans un vecteur utilisateur unique. Vous pouvez utiliser les opérations suivantes pour gérer vos utilisateurs :

  • CreateUser- L'opération crée un nouvel utilisateur dans une collection avec un ID utilisateur unique fourni.

  • AssociateUsers- Ajoutez 1 à 100 identifiants faciaux uniques à un identifiant utilisateur. Après avoir associé au moins un identifiant facial à un utilisateur, vous pouvez rechercher des correspondances avec cet utilisateur dans votre collection.

  • ListUsers- Répertorie les utilisateurs d'une collection.

  • DeleteUsers- Supprime un utilisateur d'une collection avec l'ID utilisateur fourni.

  • DisassociateFaces- Supprime un ou plusieurs identifiants faciaux d'un utilisateur.

Utilisation de seuils de similarité pour associer des visages

Il est important de s’assurer que les visages associés à un utilisateur proviennent tous de la même personne. Pour vous aider, le paramètre UserMatchThreshold indique le niveau de confiance minimal requis pour que le nouveau visage soit associé à un visage UserID qui contient déjà un FaceID. Cela permet de s’assurer que les FaceIds sont associés au UserID correct. La valeur est comprise entre 0 et 100 et la valeur par défaut est 75.

Conseils d'utilisation IndexFaces

Les conseils ci-dessous vous permettront d’utiliser IndexFaces dans des scénarios courants.

Applications de sécurité publique ou critique

  • Appelez IndexFacesavec des images qui ne contiennent qu'un seul visage dans chaque image et associez le Face ID renvoyé à l'identifiant du sujet de l'image.

  • Vous pouvez utiliser l'indexation DetectFacesanticipée pour vérifier qu'il n'y a qu'un seul visage dans l'image. Si plusieurs visages sont détectés, soumettez à nouveau l’image après avoir vérifié qu’elle ne contient qu’un seul visage. Cela évite d’indexer plusieurs visages par inadvertance et de les associer à la même personne.

Applications de partage de photos et de réseaux sociaux

  • Pour les cas d’utilisation tels que les albums de photos de famille, vous devez appeler IndexFaces sans appliquer de restrictions sur les images qui contiennent plusieurs visages. Dans ce cas, vous devez identifier chaque personne dans chaque photo et utiliser ces informations pour trier les photos par les personnes qu’elles contiennent.

Utilisation générale

  • Pour améliorer la qualité de la mise en correspondance, indexez plusieurs images différentes de la même personne, notamment avec des attributs faciaux différents (position du visage, pilosité faciale, etc.), créez un utilisateur et associez les différents visages à cet utilisateur.

  • Intégrez un processus de vérification pour que les mises en correspondance ayant échoué puissent être indexées avec l’identifiant de visage approprié afin d’améliorer les mises en correspondance de visages suivantes.

  • Pour plus d’informations sur la qualité des images, consultez Recommandations pour les images d’entrée de comparaison faciale.

Recherche de visages et d’utilisateurs dans une collection

Une fois que vous avez créé une collection et stocké les vecteurs de visages, vous pouvez explorer une collection à la recherche de correspondances de visage. Avec Amazon Rekognition vous pouvez rechercher des visages dans une collection qui correspondent à l’un des éléments suivants :

Vous pouvez utiliser l’opération CompareFaces pour comparer un visage d’une image source avec les visages de l’image cible. La portée de cette comparaison se limite aux visages détectés dans l’image cible. Pour de plus amples informations, veuillez consulter Comparaison de visages dans des images.

Les différentes opérations de recherche présentées dans la liste suivante comparent un visage (identifié par un FaceId ou une image d’entrée) à tous les visages stockés dans une collection de visages donnée :

Utilisation des seuils de similarité pour faire correspondre les visages

Nous vous permettons de contrôler les résultats de toutes les opérations de recherche (CompareFaces, SearchFaces, SearchFacesByImage, SearchUsers, SearchUsersByImage) en fournissant un seuil de similarité comme paramètre d'entrée.

FaceMatchThreshold, est l’attribut en entrée de seuil de similarité pour SearchFaces et SearchFacesByImage. Il contrôle le nombre de résultats renvoyés en fonction de la ressemblance avec le visage mis en correspondance. L’attribut de seuil de similarité pour SearchUsers et SearchUsersByImage est UserMatchThreshold. Il contrôle le nombre de résultats renvoyés en fonction de la ressemblance avec le visage mis en correspondance. L’attribut de seuil est SimilarityThreshold pour CompareFaces.

Les réponses dont la valeur d’attribut de réponse Similarity est inférieure au seuil ne sont pas renvoyées. Ce seuil est important pour calibrer votre cas d’utilisation, car il peut déterminer le nombre de faux positifs inclus dans vos résultats de correspondance. Ce seuil contrôle la sensibilité de vos résultats de recherche ; plus le seuil est bas, plus la sensibilité est élevée.

Tous les systèmes d’apprentissage automatique (Machine Learning) sont probabilistes. Vous devez faire preuve de discernement dans la configuration du seuil de similarité approprié, en fonction de votre cas d’utilisation. Par exemple, si vous cherchez à développer une application photo pour identifier les membres de famille qui se ressemblent, vous pouvez choisir un seuil plus bas (par exemple, 80 %). En revanche, pour de nombreux cas d’utilisation d’application des lois, nous vous recommandons d’utiliser une valeur de seuil élevée de 99 % ou plus pour réduire le risque d’erreur d’identification.

En plus de FaceMatchThreshold et UserMatchThreshold, vous pouvez utiliser l’attribut de réponse Similarity comme moyen pour réduire risque d’erreur d’identification. Par exemple, vous pouvez choisir d’utiliser un seuil bas (tel que 80 %) pour renvoyer plus de résultats. Ensuite, vous pouvez utiliser l’attribut de réponse Similarité (pourcentage de similarité) pour affiner le choix et filtrer les bonnes réponses dans votre application. Là encore, l’utilisation d’une similarité plus élevée (par exemple, 99 % et plus) réduit le risque d’erreur d’identification.