Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Services Web Amazon

Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Services Web Amazon

Purina US, une filiale de Nestlé, permet depuis longtemps aux gens d'adopter plus facilement des animaux de compagnie grâce à Détecteur d'animaux, un marché numérique de plus de 11,000 XNUMX refuges pour animaux et groupes de secours aux États-Unis, au Canada et au Mexique. En tant que principale plateforme d'adoption d'animaux de compagnie, Petfinder a aidé des millions d'animaux à trouver leur foyer permanent.

Purina cherche constamment des moyens de rendre la plateforme Petfinder encore meilleure pour les refuges, les groupes de secours et les adoptants d'animaux de compagnie. L’un des défis auxquels ils ont été confrontés a été de refléter de manière adéquate la race spécifique des animaux à adopter. Étant donné que de nombreux animaux de refuge sont de races mixtes, l'identification correcte des races et des attributs dans le profil de l'animal nécessitait un effort manuel, ce qui prenait beaucoup de temps. Purina a utilisé l'intelligence artificielle (IA) et l'apprentissage automatique (ML) pour automatiser la détection des races animales à grande échelle.

Cet article détaille comment Purina a utilisé Étiquettes personnalisées Amazon Rekognition, Fonctions d'étape AWS, et d'autres services AWS pour créer un modèle ML qui détecte la race de l'animal à partir d'une image téléchargée, puis utilise la prédiction pour renseigner automatiquement les attributs de l'animal. La solution se concentre sur les principes fondamentaux du développement d'un flux de travail d'application IA/ML de préparation des données, de formation de modèles, d'évaluation de modèles et de surveillance de modèles.

Vue d'ensemble de la solution

La prédiction des races d'animaux à partir d'une image nécessite des modèles ML personnalisés. Le développement d'un modèle personnalisé pour analyser les images est une entreprise importante qui nécessite du temps, de l'expertise et des ressources, et prend souvent des mois. De plus, il faut souvent des milliers, voire des dizaines de milliers d’images étiquetées à la main pour fournir au modèle suffisamment de données pour prendre des décisions précises. La mise en place d'un flux de travail pour auditer ou examiner les prédictions du modèle afin de valider le respect de vos exigences peut encore ajouter à la complexité globale.

Avec Rekognition Custom Labels, qui s'appuie sur les capacités existantes de Amazon Reconnaissance, vous pouvez identifier les objets et les scènes dans les images qui sont spécifiques aux besoins de votre entreprise. Il est déjà formé sur des dizaines de millions d’images dans de nombreuses catégories. Au lieu de milliers d'images, vous pouvez télécharger un petit ensemble d'images de formation (généralement quelques centaines d'images ou moins par catégorie) spécifiques à votre cas d'utilisation.

La solution utilise les services suivants :

  • Passerelle d'API Amazon est un service entièrement géré qui permet aux développeurs de publier, maintenir, surveiller et sécuriser facilement les API à n'importe quelle échelle.
  • La Kit de développement AWS Cloud (AWS CDK) est un cadre de développement logiciel open source permettant de définir l'infrastructure cloud sous forme de code avec des langages de programmation modernes et de la déployer via AWS CloudFormation.
  • Création de code AWS est un service d'intégration continue entièrement géré dans le cloud. CodeBuild compile le code source, exécute des tests et produit des packages prêts à être déployés.
  • Amazon DynamoDB est un service de base de données non relationnelle rapide et flexible pour toutes les échelles.
  • AWS Lambda est un service de calcul basé sur les événements qui vous permet d'exécuter du code pour pratiquement n'importe quel type d'application ou de service backend sans provisionner ni gérer de serveurs.
  • Amazon Reconnaissance offre des capacités de vision par ordinateur (CV) pré-entraînées et personnalisables pour extraire des informations et des idées de vos images et vidéos. Avec Étiquettes personnalisées Amazon Rekognition, vous pouvez identifier les objets et les scènes dans les images qui sont spécifiques aux besoins de votre entreprise.
  • Fonctions d'étape AWS est un service entièrement géré qui facilite la coordination des composants des applications distribuées et des microservices à l'aide de flux de travail visuels.
  • Gestionnaire de systèmes AWS est une solution sécurisée de gestion de bout en bout pour les ressources sur AWS et dans les environnements multicloud et hybrides. Magasin de paramètres, une fonctionnalité de Systems Manager, fournit un stockage hiérarchique sécurisé pour la gestion des données de configuration et la gestion des secrets.

La solution Purina est déployée comme un Passerelle API HTTP point de terminaison, qui achemine les requêtes pour obtenir les attributs de l'animal. Il utilise les étiquettes personnalisées Rekognition pour prédire la race de l'animal. Le modèle ML est formé à partir de profils d'animaux de compagnie extraits de la base de données Purina, en supposant que l'étiquette de race principale est la véritable étiquette. DynamoDB est utilisé pour stocker les attributs des animaux de compagnie. Lambda est utilisé pour traiter la demande d'attributs d'animal de compagnie en orchestrant entre API Gateway, Amazon Rekognition et DynamoDB.

L'architecture est implémentée comme suit :

  1. L'application Petfinder achemine la demande d'obtention des attributs de l'animal via API Gateway.
  2. API Gateway appelle la fonction Lambda pour obtenir les attributs de l'animal.
  3. La fonction Lambda appelle le point de terminaison d'inférence Rekognition Custom Label pour prédire la race de l'animal de compagnie.
  4. La fonction Lambda utilise les informations de race d'animal de compagnie prévues pour effectuer une recherche d'attributs d'animal de compagnie dans la table DynamoDB. Il collecte les attributs de l'animal et les renvoie à l'application Petfinder.

Le diagramme suivant illustre le flux de travail de la solution.

Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

L'équipe Petfinder de Purina souhaite une solution automatisée qu'elle peut déployer avec un minimum de maintenance. Pour y parvenir, nous utilisons Step Functions pour créer une machine à états qui entraîne les modèles avec les dernières données, vérifie leurs performances sur un ensemble de référence et redéploye les modèles s'ils se sont améliorés. Le recyclage du modèle est déclenché par le nombre de corrections de race effectuées par les utilisateurs soumettant des informations de profil.

Formation de modèle

Développer un modèle personnalisé pour analyser les images est une entreprise importante qui nécessite du temps, de l'expertise et des ressources. De plus, il faut souvent des milliers, voire des dizaines de milliers d’images étiquetées à la main pour fournir au modèle suffisamment de données pour prendre des décisions précises. La génération de ces données peut prendre des mois et nécessite un effort important pour les étiqueter afin de les utiliser dans l'apprentissage automatique. Une technique appelée transférer l'apprentissage aide à produire des modèles de meilleure qualité en empruntant les paramètres d'un modèle pré-entraîné et permet aux modèles d'être formés avec moins d'images.

Notre défi est que nos données ne sont pas parfaitement étiquetées : les humains qui saisissent les données de profil peuvent commettre des erreurs et commettent effectivement des erreurs. Cependant, nous avons constaté que pour des échantillons de données suffisamment grands, les images mal étiquetées représentaient une fraction suffisamment petite et que les performances du modèle n'étaient pas affectées de plus de 2 % en termes de précision.

Flux de travail ML et machine à états

La machine d'état Step Functions est développée pour faciliter le recyclage automatique du modèle Amazon Rekognition. Les commentaires sont recueillis lors de la saisie du profil : chaque fois qu'une race déduite d'une image est modifiée par l'utilisateur vers une race différente, la correction est enregistrée. Cette machine à états est déclenchée à partir d'un nombre seuil configurable de corrections et de données supplémentaires.

La machine à états passe par plusieurs étapes pour créer une solution :

  1. Créez des fichiers manifestes de train et de test contenant la liste des Service de stockage simple Amazon (Amazon S3) et leurs étiquettes pour une utilisation par Amazon Rekognition.
  2. Créez un ensemble de données Amazon Rekognition à l'aide des fichiers manifestes.
  3. Entraînez une version du modèle Amazon Rekognition après la création de l'ensemble de données.
  4. Démarrez la version du modèle une fois la formation terminée.
  5. Évaluez le modèle et produisez des mesures de performance.
  6. Si les mesures de performances sont satisfaisantes, mettez à jour la version du modèle dans Parameter Store.
  7. Attendez que la nouvelle version du modèle se propage dans les fonctions Lambda (20 minutes), puis arrêtez le modèle précédent.

Évaluation du modèle

Nous utilisons un ensemble d'exclusions aléatoires de 20 % tiré de notre échantillon de données pour valider notre modèle. Étant donné que les races que nous détectons sont configurables, nous n'utilisons pas d'ensemble de données fixe pour la validation pendant la formation, mais nous utilisons un ensemble d'évaluation étiqueté manuellement pour les tests d'intégration. Le chevauchement de l'ensemble étiqueté manuellement et des races détectables du modèle est utilisé pour calculer les métriques. Si la précision de détection de race du modèle est supérieure à un seuil spécifié, nous promouvons l'utilisation du modèle dans le point final.

Voici quelques captures d'écran du flux de travail de prédiction d'animaux de compagnie de Rekognition Custom Labels.

Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Déploiement avec AWS CDK

La machine d'état Step Functions et l'infrastructure associée (y compris les fonctions Lambda, les projets CodeBuild et les paramètres Systems Manager) sont déployées avec le AWS CDK à l'aide de Python. Le code AWS CDK synthétise un modèle CloudFormation, qu'il utilise pour déployer toute l'infrastructure de la solution.

Intégration avec l'application Petfinder

L'application Petfinder accède au point de terminaison de classification d'image via le point de terminaison API Gateway à l'aide d'une requête POST contenant une charge utile JSON avec des champs pour le chemin Amazon S3 vers l'image et le nombre de résultats à renvoyer.

KPI à impacter

Pour justifier le coût supplémentaire lié à l'exécution du point de terminaison d'inférence d'image, nous avons mené des expériences pour déterminer la valeur que le point de terminaison ajoute pour Petfinder. L’utilisation du point de terminaison offre deux principaux types d’amélioration :

  • Effort réduit pour les refuges pour animaux de compagnie qui créent les profils d'animaux de compagnie
  • Des profils d'animaux de compagnie plus complets, qui devraient améliorer la pertinence de la recherche

Les mesures permettant de mesurer l'effort et l'exhaustivité du profil incluent le nombre de champs remplis automatiquement qui sont corrigés, le nombre total de champs remplis et le temps nécessaire pour télécharger un profil d'animal de compagnie. Les améliorations de la pertinence de la recherche sont indirectement déduites de la mesure des indicateurs de performance clés liés aux taux d'adoption. Selon Purina, après la mise en ligne de la solution, le temps moyen de création d'un profil d'animal sur l'application Petfinder a été réduit de 7 minutes à 4 minutes. Il s’agit d’une énorme amélioration et d’un gain de temps car en 2022, 4 millions de profils d’animaux ont été téléchargés.

Sécurité

Les données qui circulent à travers le schéma d'architecture sont chiffrées en transit et au repos, conformément aux Bonnes pratiques AWS bien architecturées. Au cours de toutes les missions AWS, un expert en sécurité examine la solution pour garantir une mise en œuvre sécurisée.

Conclusion

Grâce à leur solution basée sur Rekognition Custom Labels, l'équipe Petfinder est en mesure d'accélérer la création de profils d'animaux pour les refuges pour animaux, réduisant ainsi la charge administrative du personnel du refuge. Le déploiement basé sur AWS CDK déploie un flux de travail Step Functions pour automatiser le processus de formation et de déploiement. Pour commencer à utiliser les étiquettes personnalisées Rekognition, reportez-vous à Premiers pas avec les étiquettes personnalisées Amazon Rekognition. Vous pouvez également consulter certains Exemples de fonctions d'étape et de démarrer avec le AWS CDK.


À propos des auteurs

Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Mason Cahill est un consultant DevOps senior chez AWS Professional Services. Il aime aider les organisations à atteindre leurs objectifs commerciaux et est passionné par la création et la fourniture de solutions automatisées sur le cloud AWS. En dehors du travail, il aime passer du temps avec sa famille, faire de la randonnée et jouer au football.

Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Matthieu Chasse est consultant en science des données chez Amazon Web Services, où il aide les clients à créer des solutions d'apprentissage automatique évolutives. Matthew est titulaire d'un doctorat en mathématiques et aime l'escalade et la musique pendant son temps libre.

Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Rushikesh Jagtap est un architecte de solutions avec plus de 5 ans d'expérience dans les services AWS Analytics. Il a pour passion d'aider les clients à créer des solutions d'analyse de données évolutives et modernes afin d'obtenir des informations à partir des données. En dehors du travail, il adore regarder la Formule 1, jouer au badminton et faire des courses de Go Karts.

Optimisez les profils d'animaux de compagnie pour l'application Petfinder de Purina à l'aide des étiquettes personnalisées Amazon Rekognition et d'AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Tayo Olajide est un généraliste chevronné de l'ingénierie des données cloud avec plus d'une décennie d'expérience dans l'architecture et la mise en œuvre de solutions de données dans des environnements cloud. Passionné par la transformation des données brutes en informations précieuses, Tayo a joué un rôle central dans la conception et l'optimisation de pipelines de données pour divers secteurs, notamment la finance, la santé et l'automobile. En tant que leader d'opinion dans le domaine, Tayo estime que le pouvoir des données réside dans leur capacité à prendre des décisions éclairées et s'engage à aider les entreprises à exploiter tout le potentiel de leurs données à l'ère du cloud. Lorsqu'il n'est pas en train de créer des pipelines de données, vous pouvez trouver Tayo explorant les dernières tendances technologiques, faisant de la randonnée en plein air ou bricolant des gadgets et des logiciels.

Horodatage:

Plus de Apprentissage automatique AWS