Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services

Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services

Purina US, et datterselskab af Nestle, har en lang historie med at gøre det lettere for folk at adoptere kæledyr igennem Petfinder, en digital markedsplads med over 11,000 dyreinternater og redningsgrupper på tværs af USA, Canada og Mexico. Som den førende kæledyrsadoptionsplatform har Petfinder hjulpet millioner af kæledyr med at finde deres evige hjem.

Purina søger konsekvent måder at gøre Petfinder-platformen endnu bedre for både krisecentre og redningsgrupper og kæledyrsadoptere. En udfordring, de stod over for, var at afspejle den specifikke race af dyr, der skulle adopteres. Fordi mange husdyr er blandet race, krævede det en manuel indsats at identificere racer og egenskaber korrekt i kæledyrsprofilen, hvilket var tidskrævende. Purina brugte kunstig intelligens (AI) og maskinlæring (ML) til at automatisere dyrerace-detektion i skala.

Dette indlæg beskriver, hvordan Purina brugte Tilpassede etiketter til Amazon-genkendelse, AWS-trinfunktioner, og andre AWS-tjenester til at skabe en ML-model, der registrerer kæledyrsracen fra et uploadet billede og derefter bruger forudsigelsen til automatisk at udfylde kæledyrsattributterne. Løsningen fokuserer på de grundlæggende principper for udvikling af en AI/ML-applikationsworkflow med dataforberedelse, modeltræning, modelevaluering og modelovervågning.

Løsningsoversigt

Forudsigelse af dyreracer ud fra et billede kræver tilpassede ML-modeller. At udvikle en brugerdefineret model til at analysere billeder er en betydelig opgave, der kræver tid, ekspertise og ressourcer, og det tager ofte måneder at gennemføre. Derudover kræver det ofte tusinder eller titusindvis af håndmærkede billeder for at give modellen nok data til nøjagtigt at træffe beslutninger. Opsætning af en arbejdsgang til revision eller gennemgang af modelforudsigelser for at validere overholdelse af dine krav kan yderligere øge den overordnede kompleksitet.

Med Rekognition Custom Labels, som er bygget på de eksisterende muligheder for Amazon-anerkendelse, kan du identificere objekter og scener i billeder, der er specifikke for din virksomheds behov. Det er allerede trænet på titusinder af billeder på tværs af mange kategorier. I stedet for tusindvis af billeder kan du uploade et lille sæt træningsbilleder (typisk et par hundrede billeder eller mindre pr. kategori), der er specifikke for din brugssituation.

Løsningen bruger følgende tjenester:

  • Amazon API Gateway er en fuldt administreret tjeneste, der gør det nemt for udviklere at udgive, vedligeholde, overvåge og sikre API'er i enhver skala.
  • AWS Cloud Development Kit (AWS CDK) er en open source softwareudviklingsramme til at definere cloud-infrastruktur som kode med moderne programmeringssprog og implementere den vha. AWS CloudFormation.
  • AWS CodeBuild er en fuldt administreret kontinuerlig integrationstjeneste i skyen. CodeBuild kompilerer kildekode, kører tests og producerer pakker, der er klar til at blive implementeret.
  • Amazon DynamoDB er en hurtig og fleksibel ikke-relationel databasetjeneste til enhver skala.
  • AWS Lambda er en hændelsesdrevet beregningstjeneste, der lader dig køre kode til stort set alle typer applikationer eller backend-tjenester uden at klargøre eller administrere servere.
  • Amazon-anerkendelse tilbyder forudtrænede og tilpasselige computersynsfunktioner (CV) til at udtrække information og indsigt fra dine billeder og videoer. Med Tilpassede etiketter til Amazon-genkendelse, kan du identificere objekter og scener i billeder, der er specifikke for din virksomheds behov.
  • AWS-trinfunktioner er en fuldt administreret tjeneste, der gør det nemmere at koordinere komponenterne i distribuerede applikationer og mikrotjenester ved hjælp af visuelle arbejdsgange.
  • AWS System Manager er en sikker end-to-end-administrationsløsning til ressourcer på AWS og i multicloud- og hybridmiljøer. Parameterlager, en funktion i Systems Manager, giver sikker, hierarkisk lagring til konfigurationsdatastyring og hemmelighedsstyring.

Purinas løsning er implementeret som en API Gateway HTTP slutpunkt, som dirigerer anmodningerne om at få kæledyrsegenskaber. Den bruger brugerdefinerede anerkendelsesetiketter til at forudsige kæledyrsracen. ML-modellen er trænet fra kæledyrsprofiler hentet fra Purinas database, forudsat at den primære racemærke er den sande etiket. DynamoDB bruges til at gemme pet-attributterne. Lambda bruges til at behandle anmodningen om pet-attributter ved at orkestrere mellem API Gateway, Amazon Rekognition og DynamoDB.

Arkitekturen er implementeret som følger:

  1. Petfinder-applikationen dirigerer anmodningen om at opnå pet-attributterne via API Gateway.
  2. API Gateway kalder Lambda-funktionen for at få kæledyrsattributter.
  3. Lambda-funktionen kalder Rekognition Custom Label-slutpunktet for at forudsige kæledyrsracen.
  4. Lambda-funktionen bruger de forudsagte oplysninger om kæledyrsracen til at udføre et kæledyrsegenskabsopslag i DynamoDB-tabellen. Den indsamler kæledyrsegenskaberne og sender dem tilbage til Petfinder-applikationen.

Følgende diagram illustrerer løsningens arbejdsgang.

Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Petfinder-teamet hos Purina ønsker en automatiseret løsning, som de kan implementere med minimal vedligeholdelse. For at levere dette bruger vi Step Functions til at skabe en tilstandsmaskine, der træner modellerne med de nyeste data, kontrollerer deres ydeevne på et benchmarksæt og omdistribuerer modellerne, hvis de er blevet forbedret. Modelomskolingen udløses fra antallet af racekorrektioner foretaget af brugere, der indsender profiloplysninger.

Model træning

Udvikling af en tilpasset model til at analysere billeder er en betydelig opgave, der kræver tid, ekspertise og ressourcer. Derudover kræver det ofte tusinder eller titusindvis af håndmærkede billeder for at give modellen nok data til nøjagtigt at træffe beslutninger. Generering af disse data kan tage måneder at indsamle og kræver en stor indsats at mærke dem til brug i maskinlæring. En teknik kaldet overføre læring hjælper med at producere modeller af højere kvalitet ved at låne parametrene for en præ-trænet model, og gør det muligt at træne modeller med færre billeder.

Vores udfordring er, at vores data ikke er perfekt mærket: mennesker, der indtaster profildataene, kan og laver fejl. Vi fandt dog, at for store nok dataprøver tegnede de forkert mærkede billeder sig for en tilstrækkelig lille brøkdel, og modellens ydeevne blev ikke påvirket mere end 2 % i nøjagtighed.

ML arbejdsgang og tilstandsmaskine

Step Functions-statemaskinen er udviklet til at hjælpe med den automatiske genoptræning af Amazon Rekognition-modellen. Feedback indsamles under profilindtastning - hver gang en race, der er blevet udledt fra et billede, ændres af brugeren til en anden race, registreres rettelsen. Denne tilstandsmaskine udløses fra et konfigurerbart tærskeltal af rettelser og yderligere datastykker.

Statsmaskinen kører gennem flere trin for at skabe en løsning:

  1. Opret tog- og testmanifestfiler, der indeholder listen over Amazon Simple Storage Service (Amazon S3) billedstier og deres etiketter til brug af Amazon Rekognition.
  2. Opret et Amazon Rekognition-datasæt ved hjælp af manifestfilerne.
  3. Træn en Amazon Rekognition-modelversion, efter at datasættet er oprettet.
  4. Start modelversionen, når træningen er afsluttet.
  5. Evaluer modellen og lav præstationsmålinger.
  6. Hvis ydeevnemålingerne er tilfredsstillende, skal du opdatere modelversionen i Parameter Store.
  7. Vent på, at den nye modelversion forplanter sig i Lambda-funktionerne (20 minutter), og stop derefter den forrige model.

Modelvurdering

Vi bruger et tilfældigt holdout-sæt på 20 % taget fra vores dataprøve til at validere vores model. Fordi de racer, vi opdager, er konfigurerbare, bruger vi ikke et fast datasæt til validering under træning, men vi bruger et manuelt mærket evalueringssæt til integrationstest. Overlapningen af ​​det manuelt mærkede sæt og modellens detekterbare racer bruges til at beregne metrikker. Hvis modellens racedetekteringsnøjagtighed er over en specificeret tærskel, promoverer vi modellen til at blive brugt i endepunktet.

Følgende er et par skærmbilleder af arbejdsgangen for forudsigelse af kæledyr fra Rekognition Custom Labels.

Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Implementering med AWS CDK

Step Functions-tilstandsmaskinen og tilhørende infrastruktur (inklusive Lambda-funktioner, CodeBuild-projekter og Systems Manager-parametre) implementeres med AWS CDK ved hjælp af Python. AWS CDK-koden syntetiserer en CloudFormation-skabelon, som den bruger til at implementere al infrastruktur til løsningen.

Integration med Petfinder-applikationen

Petfinder-applikationen får adgang til billedklassificeringens slutpunkt gennem API Gateway-slutpunktet ved hjælp af en POST-anmodning, der indeholder en JSON-nyttelast med felter for Amazon S3-stien til billedet og antallet af resultater, der skal returneres.

KPI'er, der skal påvirkes

For at retfærdiggøre de ekstra omkostninger ved at køre billedslutningsendepunktet, kørte vi eksperimenter for at bestemme den værdi, som slutpunktet tilføjer for Petfinder. Brugen af ​​endepunktet tilbyder to hovedtyper af forbedringer:

  • Reduceret indsats for dyreinternater, der laver kæledyrsprofilerne
  • Mere komplette kæledyrsprofiler, som forventes at forbedre søgerelevansen

Målinger til måling af indsats og profilens fuldstændighed omfatter antallet af automatisk udfyldte felter, der er rettet, det samlede antal felter, der er udfyldt, og tid til at uploade en kæledyrsprofil. Forbedringer af søgerelevans er indirekte udledt af måling af nøglepræstationsindikatorer relateret til adoptionsrater. Ifølge Purina, efter at løsningen gik live, blev den gennemsnitlige tid til at oprette en kæledyrsprofil på Petfinder-applikationen reduceret fra 7 minutter til 4 minutter. Det er en enorm forbedring og tidsbesparelse, fordi der i 2022 blev uploadet 4 millioner kæledyrsprofiler.

Sikkerhed

De data, der flyder gennem arkitekturdiagrammet, er krypteret under transit og hvile, i overensstemmelse med AWS velstruktureret bedste praksis. Under alle AWS-engagementer gennemgår en sikkerhedsekspert løsningen for at sikre en sikker implementering.

Konklusion

Med deres løsning baseret på Rekognition Custom Labels er Petfinder-teamet i stand til at fremskynde oprettelsen af ​​kæledyrsprofiler til kæledyrsinternater, hvilket reducerer den administrative byrde for krisecentrets personale. Implementeringen baseret på AWS CDK implementerer en Step Functions-arbejdsgang for at automatisere trænings- og implementeringsprocessen. For at begynde at bruge Rekognition Custom Labels, se Kom godt i gang med Amazon Rekognition Custom Labels. Du kan også tjekke nogle Trinfunktioner eksempler , komme i gang med AWS CDK.


Om forfatterne

Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Mason Cahill er senior DevOps-konsulent med AWS Professional Services. Han nyder at hjælpe organisationer med at nå deres forretningsmål og brænder for at bygge og levere automatiserede løsninger på AWS Cloud. Uden for arbejdet elsker han at tilbringe tid med sin familie, vandreture og spille fodbold.

Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Matthew Chasse er Data Science-konsulent hos Amazon Web Services, hvor han hjælper kunder med at bygge skalerbare maskinlæringsløsninger. Matthew har en matematik-ph.d. og nyder klatring og musik i sin fritid.

Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Rushikesh Jagtap er en løsningsarkitekt med 5+ års erfaring i AWS Analytics-tjenester. Han brænder for at hjælpe kunder med at bygge skalerbare og moderne dataanalyseløsninger for at få indsigt fra dataene. Uden for arbejdet elsker han at se Formel 1, spille badminton og køre Go Karts.

Optimer kæledyrsprofiler til Purinas Petfinder-applikation ved hjælp af Amazon Rekognition Custom Labels og AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Tayo Olajide er en erfaren Cloud Data Engineering-generalist med over ti års erfaring med at arkitektur og implementere dataløsninger i cloud-miljøer. Med en passion for at transformere rå data til værdifuld indsigt har Tayo spillet en central rolle i at designe og optimere datapipelines til forskellige industrier, herunder finans-, sundheds- og bilindustrien. Som en tankeleder på området mener Tayo, at kraften ved data ligger i dens evne til at drive informeret beslutningstagning og er forpligtet til at hjælpe virksomheder med at udnytte det fulde potentiale af deres data i cloud-æraen. Når han ikke laver datapipelines, kan du finde Tayo, der udforsker de nyeste teknologitrends, vandre i det fri eller pille ved gadgets og software.

Tidsstempel:

Mere fra AWS maskinindlæring