Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon webbtjänster

Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon webbtjänster

Purina US, ett dotterbolag till Nestle, har en lång historia av att göra det möjligt för människor att lättare adoptera husdjur Petfinder, en digital marknadsplats med över 11,000 XNUMX djurhem och räddningsgrupper över hela USA, Kanada och Mexiko. Som den ledande plattformen för adoption av husdjur har Petfinder hjälpt miljontals husdjur att hitta sina eviga hem.

Purina söker konsekvent sätt att göra Petfinder-plattformen ännu bättre för både härbärgen och räddningsgrupper och husdjursadoptanter. En utmaning som de stod inför var att på ett adekvat sätt återspegla den specifika rasen av djur som skulle adopteras. Eftersom många skyddsdjur är blandraser krävde att identifiera raser och attribut korrekt i husdjursprofilen manuell ansträngning, vilket var tidskrävande. Purina använde artificiell intelligens (AI) och maskininlärning (ML) för att automatisera upptäckt av djurraser i stor skala.

Det här inlägget beskriver hur Purina använde Amazon Rekognition anpassade etiketter, AWS stegfunktioner, och andra AWS-tjänster för att skapa en ML-modell som upptäcker husdjursrasen från en uppladdad bild och sedan använder förutsägelsen för att automatiskt fylla i husdjursattributen. Lösningen fokuserar på de grundläggande principerna för att utveckla ett AI/ML-applikationsarbetsflöde för dataförberedelse, modellträning, modellutvärdering och modellövervakning.

Lösningsöversikt

För att förutsäga djurraser från en bild krävs anpassade ML-modeller. Att utveckla en anpassad modell för att analysera bilder är ett betydande uppdrag som kräver tid, expertis och resurser, som ofta tar månader att slutföra. Dessutom kräver det ofta tusentals eller tiotusentals handmärkta bilder för att ge modellen tillräckligt med data för att fatta beslut korrekt. Att skapa ett arbetsflöde för granskning eller granskning av modellförutsägelser för att validera efterlevnaden av dina krav kan ytterligare öka den övergripande komplexiteten.

Med Rekognition Custom Labels, som bygger på befintliga möjligheter för Amazon-erkännande, kan du identifiera objekt och scener i bilder som är specifika för ditt företags behov. Den är redan tränad på tiotals miljoner bilder i många kategorier. Istället för tusentals bilder kan du ladda upp en liten uppsättning träningsbilder (vanligtvis några hundra bilder eller mindre per kategori) som är specifika för ditt användningsfall.

Lösningen använder följande tjänster:

  • Amazon API Gateway är en helt hanterad tjänst som gör det enkelt för utvecklare att publicera, underhålla, övervaka och säkra API:er i vilken skala som helst.
  • Smakämnen AWS Cloud Development Kit (AWS CDK) är ett ramverk för mjukvaruutveckling med öppen källkod för att definiera molninfrastruktur som kod med moderna programmeringsspråk och distribuera den genom AWS molnformation.
  • AWS CodeBuild är en helt hanterad kontinuerlig integrationstjänst i molnet. CodeBuild kompilerar källkod, kör tester och producerar paket som är redo att distribueras.
  • Amazon DynamoDB är en snabb och flexibel icke-relationell databastjänst för alla skala.
  • AWS Lambda är en händelsedriven beräkningstjänst som låter dig köra kod för praktiskt taget alla typer av applikationer eller backend-tjänster utan att tillhandahålla eller hantera servrar.
  • Amazon-erkännande erbjuder förutbildade och anpassningsbara datorseende (CV)-funktioner för att extrahera information och insikter från dina bilder och videor. Med Amazon Rekognition anpassade etiketter, kan du identifiera objekt och scener i bilder som är specifika för ditt företags behov.
  • AWS stegfunktioner är en helt hanterad tjänst som gör det lättare att samordna komponenterna i distribuerade applikationer och mikrotjänster med hjälp av visuella arbetsflöden.
  • AWS systemchef är en säker end-to-end-hanteringslösning för resurser på AWS och i multicloud- och hybridmiljöer. Parameterlagring, en funktion hos System Manager, tillhandahåller säker, hierarkisk lagring för hantering av konfigurationsdata och hemlighetshantering.

Purinas lösning distribueras som en API Gateway HTTP endpoint, som dirigerar förfrågningarna för att få husdjursattribut. Den använder Rekognition Custom Labels för att förutsäga husdjursrasen. ML-modellen är tränad från husdjursprofiler hämtade från Purinas databas, förutsatt att den primära rasetiketten är den sanna etiketten. DynamoDB används för att lagra husdjursattributen. Lambda används för att bearbeta begäran om husdjursattribut genom att orkestrera mellan API Gateway, Amazon Rekognition och DynamoDB.

Arkitekturen är implementerad enligt följande:

  1. Petfinder-applikationen dirigerar begäran om att erhålla pet-attributen via API Gateway.
  2. API Gateway anropar Lambda-funktionen för att erhålla pet-attributen.
  3. Lambdafunktionen anropar Rekognition Custom Label slutpunkten för att förutsäga husdjursrasen.
  4. Lambdafunktionen använder den förutsedda rasinformationen för att utföra en sökning av husdjursattribut i DynamoDB-tabellen. Den samlar in husdjursattributen och skickar tillbaka dem till Petfinder-applikationen.

Följande diagram illustrerar arbetsflödet för lösningen.

Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Petfinder-teamet på Purina vill ha en automatiserad lösning som de kan implementera med minimalt underhåll. För att leverera detta använder vi Step Functions för att skapa en tillståndsmaskin som tränar modellerna med de senaste data, kontrollerar deras prestanda på en benchmarkuppsättning och omdistribuerar modellerna om de har förbättrats. Modellomskolningen utlöses från antalet raskorrigeringar som gjorts av användare som skickar in profilinformation.

Modellutbildning

Att utveckla en anpassad modell för att analysera bilder är ett viktigt uppdrag som kräver tid, expertis och resurser. Dessutom kräver det ofta tusentals eller tiotusentals handmärkta bilder för att ge modellen tillräckligt med data för att fatta beslut korrekt. Att generera denna data kan ta månader att samla in och kräver en stor ansträngning för att märka den för användning i maskininlärning. En teknik som kallas överför lärande hjälper till att producera modeller av högre kvalitet genom att låna parametrarna för en förtränad modell, och gör att modellerna kan tränas med färre bilder.

Vår utmaning är att vår data inte är perfekt märkt: människor som anger profildata kan och gör misstag. Vi fann dock att för tillräckligt stora dataprover stod de felmärkta bilderna för en tillräckligt liten del och modellens prestanda påverkades inte mer än 2 % i noggrannhet.

ML arbetsflöde och tillståndsmaskin

Step Functions-tillståndsmaskinen är utvecklad för att hjälpa till med automatisk omskolning av Amazon Rekognition-modellen. Feedback samlas in under profilinmatning - varje gång en ras som har härleds från en bild ändras av användaren till en annan ras, registreras korrigeringen. Denna tillståndsmaskin utlöses från ett konfigurerbart tröskelantal korrigeringar och ytterligare data.

Tillståndsmaskinen går igenom flera steg för att skapa en lösning:

  1. Skapa tåg- och testmanifestfiler som innehåller listan över Amazon enkel lagringstjänst (Amazon S3) bildvägar och deras etiketter för användning av Amazon Rekognition.
  2. Skapa en Amazon Rekognition-datauppsättning med hjälp av manifestfilerna.
  3. Träna en Amazon Rekognition-modellversion efter att datamängden har skapats.
  4. Starta modellversionen när utbildningen är klar.
  5. Utvärdera modellen och ta fram prestationsmått.
  6. Om prestandamåtten är tillfredsställande uppdaterar du modellversionen i Parameter Store.
  7. Vänta tills den nya modellversionen sprider sig i Lambda-funktionerna (20 minuter), stoppa sedan den tidigare modellen.

Modellutvärdering

Vi använder en slumpmässig 20%-uppsättning som tagits från vårt dataprov för att validera vår modell. Eftersom raserna vi upptäcker är konfigurerbara, använder vi inte en fast datauppsättning för validering under träning, men vi använder en manuellt märkt utvärderingsuppsättning för integrationstestning. Överlappningen av den manuellt märkta uppsättningen och modellens detekterbara raser används för att beräkna mätvärden. Om modellens rasdetekteringsnoggrannhet ligger över ett specificerat tröskelvärde marknadsför vi modellen som ska användas i endpoint.

Följande är några skärmdumpar av arbetsflödet för förutsägelse av husdjur från Rekognition Custom Labels.

Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Implementering med AWS CDK

Step Functions-tillståndsmaskinen och tillhörande infrastruktur (inklusive Lambda-funktioner, CodeBuild-projekt och System Manager-parametrar) distribueras med AWS CDK med Python. AWS CDK-koden syntetiserar en CloudFormation-mall, som den använder för att distribuera all infrastruktur för lösningen.

Integration med Petfinder-applikationen

Petfinder-applikationen kommer åt slutpunkten för bildklassificering via API Gateway-slutpunkten med hjälp av en POST-begäran som innehåller en JSON-nyttolast med fält för Amazon S3-sökvägen till bilden och antalet resultat som ska returneras.

KPI:er som ska påverkas

För att motivera den extra kostnaden för att köra slutpunkten för bildslutning, körde vi experiment för att fastställa värdet som slutpunkten lägger till för Petfinder. Användningen av endpoint erbjuder två huvudtyper av förbättringar:

  • Minskad ansträngning för djurhem som skapar husdjursprofilerna
  • Mer kompletta husdjursprofiler, som förväntas förbättra sökrelevansen

Mätvärden för att mäta ansträngning och profilens fullständighet inkluderar antalet automatiskt ifyllda fält som korrigeras, totalt antal fyllda fält och tid för att ladda upp en husdjursprofil. Förbättringar av sökrelevansen härleds indirekt från mätning av nyckelprestandaindikatorer relaterade till användningsfrekvenser. Enligt Purina minskade den genomsnittliga tiden för att skapa en husdjursprofil på Petfinder-applikationen från 7 minuter till 4 minuter efter att lösningen gick live. Det är en enorm förbättring och tidsbesparing eftersom 2022 miljoner husdjursprofiler laddades upp 4.

Säkerhet

Datan som flödar genom arkitekturdiagrammet är krypterad under överföring och vila, i enlighet med AWS välarbetade bästa praxis. Under alla AWS-uppdrag granskar en säkerhetsexpert lösningen för att säkerställa en säker implementering.

Slutsats

Med sin lösning baserad på Rekognition Custom Labels kan Petfinder-teamet påskynda skapandet av husdjursprofiler för djurhem, vilket minskar den administrativa bördan för skyddshemspersonalen. Implementeringen baserad på AWS CDK distribuerar ett Step Functions-arbetsflöde för att automatisera utbildnings- och distributionsprocessen. För att börja använda Rekognition Custom Labels, se Komma igång med Amazon Rekognition Custom Labels. Du kan också kolla in några Exempel på stegfunktioner och komma igång med AWS CDK.


Om författarna

Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Mason Cahill är en senior DevOps-konsult med AWS Professional Services. Han tycker om att hjälpa organisationer att nå sina affärsmål och brinner för att bygga och leverera automatiserade lösningar på AWS-molnet. Utanför jobbet älskar han att umgås med sin familj, vandra och spela fotboll.

Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Matthew Chasse är Data Science-konsult på Amazon Web Services, där han hjälper kunder att bygga skalbara maskininlärningslösningar. Matthew har en doktorsexamen i matematik och tycker om bergsklättring och musik på fritiden.

Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Rushikesh Jagtap är en lösningsarkitekt med 5+ års erfarenhet av AWS Analytics-tjänster. Han brinner för att hjälpa kunder att bygga skalbara och moderna dataanalyslösningar för att få insikter från datan. Utanför jobbet älskar han att titta på Formel 1, spela badminton och köra gokart.

Optimera husdjursprofiler för Purinas Petfinder-applikation med Amazon Rekognition Custom Labels och AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Tayo Olajide är en erfaren Cloud Data Engineering-generalist med över ett decenniums erfarenhet av att bygga och implementera datalösningar i molnmiljöer. Med en passion för att omvandla rådata till värdefulla insikter har Tayo spelat en avgörande roll i att designa och optimera datapipelines för olika branscher, inklusive finans, hälsovård och bilindustri. Som en tankeledare på området tror Tayo att kraften med data ligger i dess förmåga att driva välgrundat beslutsfattande och är engagerad i att hjälpa företag att utnyttja den fulla potentialen av sin data i molntiden. När han inte skapar datapipelines kan du hitta Tayo som utforskar de senaste trenderna inom teknik, vandra i naturen eller mixtra med prylar och mjukvara.

Tidsstämpel:

Mer från AWS maskininlärning