Bonjour AWS - Utilisez Amazon Rekognition pour détecter vos propres étiquettes personnalisées | Mendix

Passer au contenu principal

Bonjour AWS – Utilisez Amazon Rekognition pour détecter vos propres étiquettes personnalisées

Dans ce blog, nous allons examiner le connecteur Amazon Rekognition et voir à quel point il est facile d'utiliser l'action de détection des étiquettes personnalisées dans Mendix.
Amazon Rekognition est un service d'analyse d'images par apprentissage profond qui vous permet de former vos propres modèles en utilisant seulement quelques images.
Avec la collection Mendix Connector est incroyablement simple à configurer dans votre application. De la reconnaissance faciale à la création de vos propres étiquettes personnalisées, vous pouvez l'entraîner à détecter tout ce que vous voulez dans une image.
Alors, bien sûr, j'ai eu une idée très pratique et utile au quotidien : j'ai créé une application pour détecter les différentes races de chiens sur les images. Cette idée m'a été inspirée par mon propre chien Bean, qui reçoit constamment la question : « Quel genre de chien est-il ? » Si vous vous êtes déjà demandé quel genre de chien est-ce, eh bien, il existe désormais une application pour cela !
Blague à part, je voulais créer quelque chose qui montre à quel point il est facile d’entraîner un modèle Rekognition à détecter tout ce que vous voulez, et lui permettre de détecter différents types de chiens semblait être un exemple amusant.

Avant de commencer

Dans ce blog, nous allons utiliser les identifiants basés sur la session, dont j'ai parlé dans mon dernier article. Donc, si vous ne l'avez pas encore lu ou regardé, cliquez sur le lien ci-dessous pour revenir en arrière et le faire maintenant. Aujourd'hui, nous allons continuer à développer ce que nous avons fait la dernière fois.

Configurer votre compartiment S3

La première étape de la création d'un projet Rekognition consiste à créer l'ensemble de données sur lequel votre modèle sera formé. Cela signifie que nous devons créer un compartiment Amazon S3, puis télécharger nos images pour former le modèle. Pour créer votre compartiment S3, procédez comme suit :
  1. Connectez-vous à AWS Management Console et ouvrez le Console Amazon S3. Ensuite, nous allons choisir Créer un seau.
  2. Entrez un nom pour notre bucket. Je vais appeler le mien « HelloRekognition ».
  3. Dans Région, choisissez la région AWS dans laquelle vous souhaitez que le compartiment réside.
    • Choisissez une région proche de chez vous pour minimiser la latence et les coûts et répondre aux exigences réglementaires.
  4. Laissez tout le reste par défaut, faites défiler vers le bas et nous pouvons cliquer sur le Créer un seau .
5. Téléchargez vos images dans le bucket, mais assurez-vous d'abord qu'elles disposent d'une structure de dossiers et que les dossiers sont correctement nommés. Ces noms de dossiers seront utilisés pour créer les balises qu'Amazon Rekognition vous renvoie. 
Si nous examinons mes photos, j'ai tous les sous-dossiers à l'intérieur d'un parent, et chaque sous-dossier porte le nom d'une race de chien. Une fois le modèle formé, Amazon Rekognition me renverra ces noms de dossiers sous forme d'étiquettes, ainsi qu'un score de certitude compris entre 1 et 100.
https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/im-metrics-use.html

Créer votre modèle Amazon Rekognition

Ensuite, nous devons créer et former votre modèle Amazon Rekognition. C'est une étape assez simple
  1. Si vous n'avez jamais utilisé Amazon Rekognition auparavant dans une région, il vous sera demandé de créer un compartiment S3. Celui-ci est distinct du compartiment que nous venons de créer. Il stocke simplement les informations dont vos projets ont besoin.
    • Cliquez à nouveau sur Créer un bucket S3 continuer.
  2. Ensuite, nous devons créer notre projet et nous allons utiliser des étiquettes personnalisées pour cela. Sur la page des étiquettes personnalisées, nous pouvons cliquer sur « Commencer »
  3. Choisissez Créer un projet.
    • Dans Nom du projet, saisissez un nom pour votre projet. Je vais appeler le mien Bonjour AWS. Choisir Créer un projet pour créer votre finition ici.
  4. Nous devons créer un ensemble de données pour notre projet nouvellement créé, et ici nous devons fournir le bucket s3 que nous avons créé et dans lequel nous avons téléchargé nos photos.
    • Choisissez Créer un jeu de données.
    • Choisissez Commencez avec un seul ensemble de données
    • Choisissez Importer des images depuis le bucket Amazon S3.
    • Dans l'URI S3, entrez l'emplacement du compartiment Amazon S3 et le chemin du dossier. nous voulons le chemin du dossier parent
    • Ensuite, nous pouvons choisir d’attacher automatiquement des étiquettes aux images en fonction du dossier.
    • Choisissez Créer des ensembles de donnéesLa page des ensembles de données de votre projet devrait maintenant s'ouvrir.

Modification de la politique de votre Bucket s3

Faites défiler vers le bas et copiez la politique fournie. Dans un nouvel onglet, ouvrez la console S3 et sélectionnez votre bucket avec des images.
Sur le Permissions onglet faites défiler vers le bas pour Sac Seau politique et cliquez Modifier et collez la politique.
Assurez-vous de supprimer tout espace de début après avoir collé les restrictions de compartiment :
Changer le principal de rekognition.amazonaws.com service à l'ARN du rôle créé dans chaque instance de :
"Principal": {
  "Service" : "rekognition.amazonaws.com"
}
au
"Principal": {
  "AWS" : "arn:aws:iam::"
}
Il est vraiment important de remplacer toutes les occurrences : il y aura QUATRE instances qui devront être remplacées.
Cliquez à nouveau sur Enregistrer pour enregistrer les mises à jour des politiques.
Revenez à la configuration d’Amazon Rekognition et cliquez sur Créer un jeu de données dans la console Amazon Rekognition. Selon le nombre d'images, la création d'un ensemble de données peut prendre quelques minutes.
Enfin, une fois notre ensemble de données créé, nous devons l'ouvrir et entraîner le modèle, ce qui peut prendre un peu de temps, en fonction de la taille de votre ensemble de données.
La dernière chose que nous devons faire est démarrer le modèle, et cela signifie que nous activons réellement notre modèle pour pouvoir l'utiliser.
https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/rm-start.html

Mise en place de votre Mendix  Application

Depuis Studio Pro, nous pouvons ouvrir le panneau Marketplace et rechercher « Rekognition ».
Sur la page que j'ai pour Amazon Rekognition, j'ai une configuration d'interface simple qui me permet de télécharger des images à l'aide du widget de téléchargement d'images. J'ai également un bouton de microflux qui va appeler Amazon Rekognition via un microflux personnalisé.
Vous pouvez utiliser l'option Détecter les étiquettes personnalisées directement depuis la boîte à outils en faisant glisser l'action Amazon Rekognition Détecter les étiquettes personnalisées depuis notre boîte à outils, puis en configurant le reste des paramètres. J'ai une boucle simple pour enregistrer les données et les lier à mon image Amazon Rekognition afin que les étiquettes puissent être affichées sur la page.
N'oubliez pas de configurer l'action en fournissant tous les paramètres requis, comme je l'ai fait dans la capture d'écran ci-dessous.

Configuration des constantes Amazon Rekognition

Pour terminer la configuration du connecteur Amazon Rekognition, il nous suffit de définir quelques constantes dans le module, et nous le faisons en copiant les ARNS de notre projet AWS. Vous pouvez trouver toutes les constantes dont vous avez besoin pour remplir le connecteur Amazon Rekognition si vous recherchez dans le fichier constantes puis dans les informations d'identification de session.
Ces constantes sont destinées à l'action d'obtention des informations d'identification de session, mais il existe également un dossier dans lequel, si vous le souhaitez, vous pouvez également utiliser l'action d'obtention des informations d'identification statiques. Dans ce cas, vous devez vous assurer que les constantes sous static sont configurées. Bien qu'il soit possible d'utiliser des informations d'identification statiques, la méthode d'authentification préférée est celle des informations d'identification basées sur la session.
Une fois que nous avons terminé de configurer tout cela à partir de maintenant, le connecteur consiste essentiellement à le glisser-déposer où nous voulons l'utiliser dans notre application.
J'ai dû effectuer une petite modification, qui se trouvait à l'intérieur du microflow « POST_v1_DetectCustomLabels ». J'ai ajouté un en-tête supplémentaire « X-amz-security-token » à la requête, et celui-ci prend le jeton de session connecté à l'entité d'informations d'identification comme valeur.

Appeler Amazon Rekognition

Tout est fait, et si vous avez suivi jusqu'ici, vous pouvez exécuter votre application et la tester !
Si vous voulez me voir le tester, regardez la vidéo et passez à # Horodatage de la vidéo #
Je sais que l’idée de mon application est un peu idiote, mais ce que je voulais vraiment vous montrer, c’est que vous pouvez entraîner Amazon Rekognition à détecter presque tout ce que vous voulez en utilisant un très petit ensemble de données. Si je peux l’entraîner à identifier un carlin sur une photo, alors imaginez à quel point il est facile de créer une application d’inspection ou de traitement d’images.
Si vous êtes bloqué à un moment donné, assurez-vous de vous rendre aux ateliers AWS et de suivre le cours Développement d'applications low-code sur AWS avec Mendix. Il couvre tout ce que je viens de faire mais de manière beaucoup plus détaillée. Assurez-vous également de vous rendre sur nos pages de documentation pour une autre excellente description du connecteur et de son utilisation.

Choisissez votre langue