Batch bildebehandling med Amazon Rekognition Custom Labels 

Kilde node: 1204425

Amazon-anerkjennelse er en datasynstjeneste som gjør det enkelt å legge til bilde- og videoanalyse til applikasjonene dine ved å bruke velprøvd, svært skalerbar dyplæringsteknologi som ikke krever maskinlæringskompetanse (ML) å bruke. Med Amazon Rekognition kan du identifisere objekter, personer, tekst, scener og aktiviteter i bilder og videoer, samt oppdage upassende innhold. Amazon Rekognition gir også svært nøyaktige funksjoner for ansiktsanalyse og ansiktssøk som du kan bruke til å oppdage, analysere og sammenligne ansikter for en lang rekke brukstilfeller.

Amazon Rekognition Egendefinerte etiketter lar deg identifisere objekter og scener i bilder som er spesifikke for bedriftens behov. Du kan for eksempel finne logoen din i innlegg på sosiale medier, identifisere produktene dine i butikkhyllene, klassifisere maskindeler i et samlebånd, skille mellom sunne og infiserte planter og mer. Blogginnlegget Bygg din egen merkevaredeteksjon viser hvordan du bruker Amazon Rekognition Custom Labels for å bygge en ende-til-ende-løsning for å oppdage merkevarelogoer i bilder og videoer.

Amazon Rekognition Custom Labels gir en enkel ende-til-ende-opplevelse der du starter med å merke et datasett, og Amazon Rekognition Custom Labels bygger en tilpasset ML-modell for deg ved å inspisere dataene og velge riktig ML-algoritme. Etter at modellen din er opplært, kan du begynne å bruke den umiddelbart for bildeanalyse. Hvis du vil behandle bilder i grupper (for eksempel en gang om dagen eller uken, eller til planlagte tider i løpet av dagen), kan du klargjøre din egendefinerte modell til planlagte tider.

I dette innlegget viser vi hvordan du kan bygge en kostnadsoptimal batchløsning med Amazon Rekognition Custom Labels som klargjør din egendefinerte modell til planlagte tider, behandler alle bildene dine og fjerner ressursene dine for å unngå ekstra kostnader.

Oversikt over løsning

Følgende arkitekturdiagram viser hvordan du kan designe en kostnadseffektiv og svært skalerbar arbeidsflyt for å behandle bilder i grupper med tilpassede etiketter for Amazon Rekognition. Den utnytter AWS-tjenester som f.eks Amazon EventBridge, AWS trinnfunksjoner, Amazon enkel køtjeneste (Amazon SQS), AWS Lambdaog Amazon enkel lagringstjeneste (Amazon S3).

Denne løsningen bruker en serverløs arkitektur og administrerte tjenester, slik at den kan skaleres på forespørsel og krever ikke klargjøring og administrering av noen servere. Amazon SQS-køen øker den generelle feiltoleransen til løsningen ved å koble bildeinntak fra bildebehandlingen og muliggjøre pålitelig levering av meldinger for hvert inntatt bilde. Step Functions gjør det enkelt å bygge visuelle arbeidsflyter for å orkestrere en rekke individuelle oppgaver, for eksempel å sjekke om et bilde er tilgjengelig for behandling og administrasjon av tilstandslivssyklusen til Amazon Rekognition Custom Labels-prosjektet. Selv om følgende arkitektur viser hvordan du kan bygge en batchbehandlingsløsning for Amazon Rekognition Custom Labels ved hjelp av AWS Lambda, kan du bygge en lignende arkitektur ved å bruke tjenester som f.eks. AWS Fargate.

Følgende trinn beskriver den generelle arbeidsflyten:

  1. Ettersom et bilde er lagret i Amazon S3-bøtte, utløser det en melding som blir lagret i en Amazon SQS-kø.
  2. Amazon EventBridge er konfigurert til å utløse en AWS Step Functions arbeidsflyt ved en viss frekvens (1 time som standard).
  3. Når arbeidsflyten kjører, utfører den følgende handlinger:
    1. Den sjekker antall varer i Amazon SQS-køen. Hvis det ikke er noen elementer å behandle i køen, avsluttes arbeidsflyten.
    2. Hvis det er elementer som skal behandles i køen, starter arbeidsflyten Amazon Rekognition Custom Labels-modellen.
    3. Arbeidsflyten muliggjør Amazon SQS-integrasjon med en AWS Lambda-funksjon for å behandle disse bildene.
  4. Ettersom integrasjonen mellom Amazon SQS-køen og AWS Lambda er aktivert, skjer følgende hendelser:
    1. AWS Lambda begynner å behandle meldinger med bildedetaljene fra Amazon SQS.
    2. AWS Lambda-funksjonen bruker Amazon Rekognition Custom Labels-prosjektet for å behandle bildene.
    3. AWS Lambda-funksjonen plasserer deretter JSON-filen som inneholder de infererte etikettene i den endelige bøtten. Bildet flyttes også fra kildebøtten til den endelige bøtten.
  5. Når alle bildene er behandlet, gjør AWS Step Functions arbeidsflyten følgende:
    1. Det stopper Amazon Rekognition Custom Labels-modellen.
    2. Den deaktiverer integrasjon mellom Amazon SQS-køen og AWS Lambda-funksjonen ved å deaktivere utløseren.

Følgende diagram illustrerer tilstandsmaskinen for AWS Step Functions for denne løsningen.

Forutsetninger

For å distribuere denne løsningen trenger du følgende forutsetninger:

  • En AWS-konto med tillatelse til å distribuere løsningen ved hjelp av AWS skyformasjon, som skaper AWS identitets- og tilgangsadministrasjon (IAM) roller og andre ressurser.
  •  Amazon Resource Name (ARN) til Amazon Rekognition Custom Labels-prosjektet (referert til som ProjectArn) og Amazon Resource Name (ARN) til modellversjonen som ble opprettet etter opplæring av modellen (referert til som ProjectVersionArn). Disse verdiene er nødvendige for å sjekke statusen til modellen og også for å analysere bilder ved hjelp av modellen.

For å lære hvordan du trener en modell, se Komme i gang med Amazon Rekognition Custom Labels.

Utplassering

For å distribuere løsningen ved å bruke AWS CloudFormation i AWS-kontoen din, følg trinnene i GitHub repo. Det skaper følgende ressurser:

  • Amazon S3 bøtte
  • Amazon SQS-kø
  • AWS trinnfunksjoner arbeidsflyt
  • Amazon EventBridge-regler for å utløse arbeidsflyten
  • IAM-roller
  • AWS Lambda-funksjoner

Du kan se navnene på forskjellige ressurser opprettet av løsningen i utdatadelen av CloudFormation-stabelen.

Test arbeidsflyten

Følg trinnene nedenfor for å teste arbeidsflyten:

  1. Last opp eksempelbilder til S3-inngangen som ble opprettet av løsningen (for eksempel xxxx-sources3bucket-xxxx).
  2. På Step Functions-konsollen velger du tilstandsmaskinen som er opprettet av løsningen (for eksempel CustomCVStateMachine-xxxx).

Du bør se at statsmaskinen utløses av Amazon EventBridge-regelen hver time.

  1. Du kan starte arbeidsflyten manuelt ved å velge Start utførelse.
  2. Etter hvert som bilder behandles, kan du gå til utdata S3-bøtte (for eksempel xxxx-finals3bucket-xxxx) for å se JSON-utdata for hvert bilde.

Følgende skjermbilde viser innholdet i den endelige S3-bøtten med bildene, sammen med deres tilsvarende JSON-utgang fra Amazon Rekognition Custom Labels.

konklusjonen

I dette innlegget viste vi hvordan du kan bygge en kostnadsoptimal batchløsning med Amazon Rekognition Custom Labels som kan klargjøre din egendefinerte modell til planlagte tider, behandle alle bildene dine og fjerne ressursene dine for å unngå ekstra kostnader. Avhengig av din brukstilfelle kan du enkelt justere det planlagte tidsvinduet når løsningen skal behandle batchen. For mer informasjon om hvordan du oppretter, trener, evaluerer og bruker en modell som oppdager objekter, scener og konsepter i bilder, se komme i gang med tilpassede etiketter for Amazon Rekognition.

Mens løsningen beskrevet i dette innlegget viste hvordan du kan behandle batchbilder med Amazon Rekognition Custom Labels, kan du enkelt justere løsningen for å behandle batchbilder med Amazon Lookout for Vision for påvisning av defekter og anomalier. Med Amazon Lookout for Vision kan produksjonsbedrifter øke kvaliteten og redusere driftskostnadene ved raskt å identifisere forskjeller i bilder av objekter i skala. For eksempel kan Amazon Lookout for Vision brukes til å identifisere manglende komponenter i produkter, skader på kjøretøy eller strukturer, uregelmessigheter i produksjonslinjer, små defekter i silisiumskiver og andre lignende problemer. For å lære mer om Amazon Lookout for Vision, se utviklerveiledningen.


Om forfatterne

Rahul Srivastava er Senior Solutions Architect hos Amazon Web Services og er basert i Storbritannia. Han har lang arkitekturerfaring fra å jobbe med store bedriftskunder. Han hjelper kundene våre med arkitektur, skyadopsjon, utvikling av produkter med et formål og dra nytte av AI/ML for å løse virkelige forretningsproblemer.

Kashif Imran er en hovedløsningsarkitekt hos Amazon Web Services. Han jobber med noen av de største AWS-kundene som utnytter AI/ML for å løse komplekse forretningsproblemer. Han gir teknisk veiledning og designråd for å implementere datasynsapplikasjoner i stor skala. Hans ekspertise spenner over applikasjonsarkitektur, serverløs, containere, NoSQL og maskinlæring.

Kilde: https://aws.amazon.com/blogs/machine-learning/batch-image-processing-with-amazon-rekognition-custom-labels/

Tidstempel:

Mer fra AWS maskinlæringsblogg