Batch-beeldverwerking met aangepaste Amazon Rekognition-labels 

Bronknooppunt: 1204425

Amazon Rekognition is een computer vision-service waarmee u eenvoudig beeld- en videoanalyse aan uw toepassingen kunt toevoegen met behulp van bewezen, zeer schaalbare deep learning-technologie waarvoor geen expertise op het gebied van machine learning (ML) vereist is. Met Amazon Rekognition kun je objecten, mensen, tekst, scènes en activiteiten in afbeeldingen en video's identificeren en ongepaste inhoud detecteren. Amazon Rekognition biedt ook zeer nauwkeurige gezichtsanalyse- en gezichtszoekmogelijkheden die u kunt gebruiken om gezichten te detecteren, analyseren en vergelijken voor een breed scala aan gebruiksscenario's.

Aangepaste labels voor Amazon-herkenning Hiermee kunt u de objecten en scènes in afbeeldingen identificeren die specifiek zijn voor uw zakelijke behoeften. U kunt uw logo bijvoorbeeld terugvinden in posts op sociale media, uw producten in de winkelschappen identificeren, machineonderdelen in een assemblagelijn classificeren, gezonde en geïnfecteerde planten onderscheiden, en meer. De blogpost Bouw uw eigen merkdetectie laat zien hoe je Amazon Rekognition Custom Labels kunt gebruiken om een ​​end-to-end oplossing te bouwen om merklogo's in afbeeldingen en video's te detecteren.

Amazon Rekognition Custom Labels biedt een eenvoudige end-to-end-ervaring waarbij u begint met het labelen van een dataset, en Amazon Rekognition Custom Labels bouwt een aangepast ML-model voor u door de gegevens te inspecteren en het juiste ML-algoritme te selecteren. Nadat uw model is getraind, kunt u het direct gebruiken voor beeldanalyse. Als u afbeeldingen in batches wilt verwerken (bijvoorbeeld één keer per dag of week, of op geplande tijden gedurende de dag), kunt u uw aangepaste model op geplande tijden inrichten.

In dit bericht laten we zien hoe u een kostenoptimale batchoplossing kunt bouwen met Amazon Rekognition Custom Labels die uw aangepaste model op geplande tijden inricht, al uw afbeeldingen verwerkt en uw bronnen uitschrijft om extra kosten te voorkomen.

Overzicht van de oplossing

Het volgende architectuurdiagram laat zien hoe u een kosteneffectieve en zeer schaalbare workflow kunt ontwerpen om afbeeldingen in batches te verwerken met Amazon Rekognition Custom Labels. Het maakt gebruik van AWS-services zoals Amazon EventBridge, AWS Stap Functies, Amazon Simple Queue-service (Amazone SQS), AWS Lambda en Amazon eenvoudige opslagservice (Amazone S3).

Deze oplossing maakt gebruik van een serverloze architectuur en beheerde services, zodat deze op aanvraag kan worden geschaald en er geen servers hoeven te worden ingericht en beheerd. De Amazon SQS-wachtrij verhoogt de algehele fouttolerantie van de oplossing door de beeldopname te ontkoppelen van de beeldverwerking en een betrouwbare bezorging van berichten voor elke opgenomen afbeelding mogelijk te maken. Step Functions maakt het eenvoudig om visuele workflows te bouwen om een ​​reeks individuele taken te orkestreren, zoals het controleren of een afbeelding beschikbaar is voor verwerking en het beheren van de statuslevenscyclus van het Amazon Rekognition Custom Labels-project. Hoewel de volgende architectuur laat zien hoe u een batchverwerkingsoplossing voor Amazon Rekognition Custom Labels kunt bouwen met behulp van AWS Lambda, kunt u een vergelijkbare architectuur bouwen met behulp van services zoals AWS Fargate.

De volgende stappen beschrijven de algehele workflow:

  1. Wanneer een afbeelding wordt opgeslagen in de Amazon S3-bucket, wordt er een bericht geactiveerd dat wordt opgeslagen in een Amazon SQS-wachtrij.
  2. Amazon EventBridge is geconfigureerd om met een bepaalde frequentie (standaard 1 uur) een AWS Step Functions-workflow te activeren.
  3. Terwijl de werkstroom wordt uitgevoerd, worden de volgende acties uitgevoerd:
    1. Het controleert het aantal items in de Amazon SQS-wachtrij. Als er geen items in de wachtrij staan ​​om te verwerken, eindigt de workflow.
    2. Als er items in de wachtrij staan ​​om te verwerken, start de workflow het Amazon Rekognition Custom Labels-model.
    3. De workflow maakt Amazon SQS-integratie mogelijk met een AWS Lambda-functie om die afbeeldingen te verwerken.
  4. Terwijl de integratie tussen de Amazon SQS-wachtrij en AWS Lambda is ingeschakeld, vinden de volgende gebeurtenissen plaats:
    1. AWS Lambda begint berichten te verwerken met de afbeeldingsdetails van Amazon SQS.
    2. De AWS Lambda-functie maakt gebruik van het Amazon Rekognition Custom Labels-project om de afbeeldingen te verwerken.
    3. De AWS Lambda-functie plaatst vervolgens het JSON-bestand met de afgeleide labels in de laatste bucket. De afbeelding wordt ook verplaatst van de bronbucket naar de laatste bucket.
  5. Wanneer alle afbeeldingen zijn verwerkt, doet de AWS Step Functions-workflow het volgende:
    1. Het stopt het Amazon Rekognition Custom Labels-model.
    2. Het schakelt de integratie tussen de Amazon SQS-wachtrij en de AWS Lambda-functie uit door de trigger uit te schakelen.

Het volgende diagram illustreert de AWS Step Functions-statusmachine voor deze oplossing.

Voorwaarden

Om deze oplossing te implementeren, hebt u de volgende vereisten nodig:

  • Een AWS-account met toestemming om de oplossing te implementeren met behulp van AWS CloudFormatie, wat creëert AWS Identiteits- en toegangsbeheer (IAM)-rollen en andere bronnen.
  •  De Amazon Resource Name (ARN) van het Amazon Rekognition Custom Labels-project (waarnaar wordt verwezen als ProjectArn) en de Amazon Resource Name (ARN) van de modelversie die is gemaakt na het trainen van het model (waarnaar wordt verwezen als ProjectversieArn). Deze waarden zijn nodig om de status van het model te controleren en ook om afbeeldingen met het model te analyseren.

Zie voor meer informatie over het trainen van een model Aan de slag met aangepaste labels van Amazon Rekognition.

Deployment

Om de oplossing te implementeren met behulp van AWS CloudFormation in uw AWS-account, volgt u de stappen in de GitHub repo. Het creëert de volgende bronnen:

  • Amazon S3-emmer
  • Amazon SQS-wachtrij
  • AWS Step Functions-workflow
  • Amazon EventBridge-regels om de workflow te activeren
  • IAM-rollen
  • AWS Lambda-functies

U kunt de namen zien van verschillende bronnen die door de oplossing zijn gemaakt in de uitvoersectie van het CloudFormation-stapel.

De workflow testen

Voer de volgende stappen uit om uw workflow te testen:

  1. Upload voorbeeldafbeeldingen naar de invoer-S3-bucket die door de oplossing is gemaakt (bijvoorbeeld xxxx-sources3bucket-xxxx).
  2. Kies op de Step Functions-console de statusmachine die door de oplossing is gemaakt (bijvoorbeeld CustomCVStateMachine-xxxx).

Je zou moeten zien dat de statusmachine elk uur wordt geactiveerd door de Amazon EventBridge-regel.

  1. U kunt de workflow handmatig starten door te kiezen Start de uitvoering.
  2. Terwijl afbeeldingen worden verwerkt, kunt u naar de S3-uitvoerbucket gaan (bijvoorbeeld xxxx-finals3bucket-xxxx) om de JSON-uitvoer voor elke afbeelding te bekijken.

De volgende schermafbeelding toont de inhoud van de uiteindelijke S3-bucket met de afbeeldingen, samen met de bijbehorende JSON-uitvoer van Amazon Rekognition Custom Labels.

Conclusie

In dit bericht hebben we laten zien hoe u een kostenoptimale batchoplossing kunt bouwen met Amazon Rekognition Custom Labels waarmee u uw aangepaste model op geplande tijden kunt inrichten, al uw afbeeldingen kunt verwerken en uw bronnen kunt uitschrijven om extra kosten te voorkomen. Afhankelijk van uw gebruiksscenario kunt u eenvoudig het geplande tijdvenster aanpassen waarop de oplossing de batch moet verwerken. Voor meer informatie over het maken, trainen, evalueren en gebruiken van een model dat objecten, scènes en concepten in afbeeldingen detecteert, zie aan de slag met aangepaste Amazon Rekognition-labels.

Hoewel de in dit bericht beschreven oplossing liet zien hoe je batchafbeeldingen kunt verwerken met Amazon Rekognition Custom Labels, kun je de oplossing eenvoudig aanpassen om batchafbeeldingen te verwerken met Amazon Lookout voor visie voor het opsporen van defecten en afwijkingen. Met Amazon Lookout for Vision kunnen productiebedrijven de kwaliteit verhogen en de operationele kosten verlagen door snel verschillen in afbeeldingen van objecten op schaal te identificeren. Amazon Lookout for Vision kan bijvoorbeeld worden gebruikt om ontbrekende componenten in producten, schade aan voertuigen of constructies, onregelmatigheden in productielijnen, minuscule defecten in siliciumwafels en andere soortgelijke problemen te identificeren. Voor meer informatie over Amazon Lookout for Vision, zie de handleiding voor ontwikkelaars.


Over de auteurs

Rahul Srivastava is Senior Solutions Architect bij Amazon Web Services en is gevestigd in het Verenigd Koninkrijk. Hij heeft uitgebreide architectuurervaring bij het werken met grote zakelijke klanten. Hij helpt onze klanten met architectuur, cloud-adoptie, het ontwikkelen van producten met een doel en het profiteren van AI/ML om zakelijke problemen in de echte wereld op te lossen.

Kashif Imran is een Principal Solutions Architect bij Amazon Web Services. Hij werkt met enkele van de grootste AWS-klanten die profiteren van AI/ML om complexe zakelijke problemen op te lossen. Hij biedt technische begeleiding en ontwerpadvies om computer vision-applicaties op grote schaal te implementeren. Zijn expertise omvat applicatie-architectuur, serverless, containers, NoSQL en machine learning.

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

Tijdstempel:

Meer van AWS Blog over machine learning