Med machine learning (ML) er mere kraftfulde teknologier blevet tilgængelige, der kan automatisere opgaven med at opdage visuelle anomalier i et produkt. Implementering af sådanne ML-løsninger er dog tidskrævende og dyrt, fordi det involverer styring og opsætning af kompleks infrastruktur og at have de rigtige ML-kompetencer. Ydermere har ML-applikationer brug for menneskeligt tilsyn for at sikre nøjagtighed med anomalidetektion, hjælpe med at levere løbende forbedringer og genoptræne modeller med opdaterede forudsigelser. Du er dog ofte tvunget til at vælge mellem et ML-only eller human-only system. Virksomheder leder efter det bedste fra begge verdener, idet de integrerer ML-systemer i din arbejdsgang, mens de holder et menneskeligt øje med resultaterne for at opnå højere præcision.
I dette indlæg viser vi, hvordan du nemt kan opsætte Amazon Lookout For Vision for at træne en visuel anomalidetektionsmodel ved hjælp af et printkortdatasæt skal du bruge et menneske-i-løkken-workflow til at gennemgå forudsigelserne ved hjælp af Amazon Augmented AI (Amazon A2I), forøg datasættet for at inkorporere menneskeligt input, og genoptræn modellen.
Løsningsoversigt
Lookout for Vision er en ML-tjeneste, der hjælper med at opdage produktfejl ved hjælp af computervision til at automatisere kvalitetsinspektionsprocessen i dine produktionslinjer, uden at der kræves nogen ML-ekspertise. Du kan komme i gang med så få som 30 produktbilleder (20 normale, 10 unormale) for at træne din unikke ML-model. Lookout for Vision bruger din unikke ML-model til at analysere dine produktbilleder i næsten realtid og opdage produktfejl, så dit fabrikspersonale kan diagnosticere og foretage korrigerende handlinger.
Amazon A2I er en ML-tjeneste, der gør det nemt at opbygge de arbejdsgange, der kræves til menneskelig gennemgang. Amazon A2I bringer menneskelig anmeldelse til alle udviklere, fjerner de udifferentierede tunge løft, der er forbundet med at bygge menneskelige anmeldelsessystemer eller administrerer et stort antal menneskelige anmeldere, uanset om de kører på AWS eller ej.
For at komme i gang med Lookout for Vision opretter vi et projekt, opretter et datasæt, træner en model og kører inferens på testbilleder. Efter at have gennemgået disse trin, viser vi dig, hvordan du hurtigt kan opsætte en menneskelig gennemgangsproces ved hjælp af Amazon A2I og genoptræne din model med udvidede eller menneskelige gennemgåede datasæt. Vi sørger også for en ledsager Jupyter notesbog.
Arkitektur oversigt
Følgende diagram illustrerer løsningsarkitekturen.
Løsningen har følgende arbejdsgang:
- Upload data fra kilden til Amazon Simple Storage Service (Amazon S3).
- Kør Lookout for Vision for at behandle data fra Amazon S3-stien.
- Gem slutningsresultater i Amazon S3 til downstream-gennemgang.
- Brug Lookout for Vision til at afgøre, om et inputbillede er beskadiget, og valider, at konfidensniveauet er over 70 %. Hvis under 70 %, starter vi en menneskelig løkke for en arbejder for manuelt at bestemme, om et billede er beskadiget.
- En privat arbejdsstyrke undersøger og validerer de opdagede skader og giver feedback.
- Opdater træningsdataene med tilsvarende feedback til efterfølgende modeloptræning.
- Gentag genoptræningscyklussen for kontinuerlig modeloplæring.
Forudsætninger
Før du går i gang, skal du udføre følgende trin for at konfigurere Jupyter-notebooken:
- Opret en notesbogsforekomst in Amazon SageMaker.
- Når notesbogen er aktiv, skal du vælge Åbn Jupyter.
- Vælg på Jupyter-dashboardet Ny, og vælg terminal.
- Indtast følgende kode i terminalen:
- Åbn notesbogen til dette indlæg:
Amazon-Lookout-for-Vision-and-Amazon-A2I-Integration.ipynb
.
Du er nu klar til at køre notebook-cellerne.
- Kør opsætningsmiljøtrinnet for at konfigurere de nødvendige Python SDK'er og variabler:
I det første trin skal du definere følgende:
- region – Den region, hvor dit projekt er placeret
- Projekt navn – Navnet på dit Lookout for Vision-projekt
- spand – Navnet på Amazon S3-spanden, hvor vi udsender modelresultaterne
- model_version – Din modelversion (standardindstillingen er 1)
- Opret S3 buckets til at gemme billeder:
- Opret en manifestfil fra datasættet ved at køre cellen i sektionen Opret en manifestfil fra datasættet i notesbogen.
Lookout for Vision bruger denne manifestfil til at bestemme placeringen af filerne samt de etiketter, der er knyttet til filerne.
Upload printkortbilleder til Amazon S3
For at træne en Lookout for Vision-model skal vi kopiere prøvedatasættet fra vores lokale Jupyter-notesbog over til Amazon S3:
Opret et Lookout for Vision-projekt
Du har et par muligheder for, hvordan du opretter dit Lookout for Vision-projekt: Lookout for Vision-konsollen, AWS kommandolinjegrænseflade (AWS CLI), eller Boto3 SDK. Vi valgte Boto3 SDK i dette eksempel, men anbefaler stærkt, at du også tjekker konsolmetoden.
De trin, vi tager med SDK'et, er:
- Opret et projekt (navnet blev defineret i begyndelsen), og fortæl dit projekt, hvor du kan finde dit træningsdatasæt. Dette gøres via manifestfilen til træning.
- Fortæl dit projekt, hvor du kan finde dit testdatasæt. Dette gøres via manifestfilen til test.
Dette andet trin er valgfrit. Generelt er al testrelateret kode valgfri; Lookout for Vision fungerer også kun med et træningsdatasæt. Vi bruger begge dele, fordi træning og test er en almindelig (bedste) praksis, når man træner AI- og ML-modeller.
Opret en manifestfil fra datasættet
Lookout for Vision bruger denne manifestfil til at bestemme placeringen af filerne samt de etiketter, der er knyttet til filerne. Se følgende kode:
Opret et Lookout for Vision-projekt
Følgende kommando opretter et Lookout for Vision-projekt:
Opret og træne en model
I dette afsnit gennemgår vi trinene til oprettelse af trænings- og testdatasæt, træning af modellen og vært for modellen.
Opret trænings- og testdatasæt fra billeder i Amazon S3
Efter at vi har oprettet Lookout for Vision-projektet, opretter vi projektdatasættet ved at bruge de eksempelbilleder, vi uploadede til Amazon S3 sammen med manifestfilerne. Se følgende kode:
Træn modellen
Efter at vi har oprettet Lookout for Vision-projektet og datasættene, kan vi træne vores første model:
Når træningen er afsluttet, kan vi se tilgængelige modelmetrics:
Du bør se et output svarende til det følgende.
Metrics | Model RNA | Status Besked | Performance (Præstation) | Model præstation |
F1 score | 1 | TRÆNET | Uddannelse gennemført med succes. | 0.93023 |
Precision | 1 | TRÆNET | Uddannelse gennemført med succes. | 0.86957 |
Recall | 1 | TRÆNET | Uddannelse gennemført med succes. | 1 |
Vær vært for modellen
Før vi kan bruge vores nyuddannede Lookout for Vision-model, skal vi være vært for den:
Konfigurer Amazon A2I til at gennemgå forudsigelser fra Lookout for Vision
I dette afsnit opsætter du en menneskelig gennemgangsløkke i Amazon A2I for at gennemgå konklusioner, der er under konfidensgrænsen. Du skal først oprette en privat arbejdsstyrke og oprette en menneskelig opgave-UI.
Skab en arbejdsstyrke
Du er nødt til skabe en arbejdsstyrke via SageMaker-konsollen. Bemærk ARN af arbejdsstyrken og indtast dens værdi i notesbogscellen:
Følgende skærmbillede viser detaljerne for et privat team med navn lfv-a2i
og dets tilsvarende ARN.
Opret en menneskelig opgave UI
Du opretter nu en menneskelig opgave UI-ressource: en UI-skabelon i flydende HTML. Denne HTML-side gengives til de menneskelige arbejdere, når der kræves en menneskelig løkke. For over 70 forudbyggede brugergrænseflader, se amazon-a2i-sample-task-uis GitHub repo.
Følg trinene i notesbogssektionen Opret en menneskelig opgave UI for at oprette webformularen, initialisere Amazon A2I API'er og inspicere output:
Opret et arbejdsflow for menneskelige opgaver
Arbejdsgangsdefinitioner giver dig mulighed for at angive følgende:
- Arbejderskabelonen eller brugergrænsefladen for menneskelige opgaver, du oprettede i det forrige trin.
- Den arbejdsstyrke, som dine opgaver sendes til. For dette indlæg er det den private arbejdsstyrke, du har oprettet i de forudgående trin.
- De instruktioner, som din arbejdsstyrke modtager.
Dette indlæg bruger Create Flow Definition
API til at skabe en arbejdsgangdefinition. Resultaterne af menneskelig gennemgang gemmes i en Amazon S3-spand, som kan tilgås af klientapplikationen. Kør cellen Opret et arbejdsflow for menneskelige opgaver i notesbogen og inspicer outputtet:
Lav forudsigelser og start en menneskelig løkke baseret på tærsklen for konfidensniveau
I dette afsnit går vi gennem en række nye billeder og bruger Lookout for Vision SDK til at afgøre, om vores inputbilleder er beskadiget eller ej, og om de er over eller under en defineret tærskel. For dette indlæg sætter vi tærsklens konfidensniveau til 70. Hvis vores resultat er under 70, starter vi en menneskelig løkke, så en arbejder manuelt kan afgøre, om vores billede er normalt eller en anomali. Se følgende kode:
Du bør få output vist i det følgende skærmbillede.
Fuldfør din anmeldelse og tjek status for den menneskelige sløjfe
Hvis inferensresultater er under den definerede tærskel, oprettes en menneskelig løkke. Vi kan gennemgå status for disse job og vente på resultater:
Arbejdsgruppen ser følgende skærmbillede for at vælge den korrekte etiket til billedet.
Se resultaterne af Amazon A2I-arbejdsgangen, og flyt objekter til den korrekte mappe til genoptræning
Efter at arbejdsteammedlemmerne har fuldført de menneskelige loop-opgaver, lad os bruge resultaterne af opgaverne til at sortere vores billeder i de korrekte mapper til træning af en ny model. Se følgende kode:
Genoplær din model baseret på udvidede datasæt fra Amazon A2I
Træning af en ny modelversion kan udløses som et batchjob på en tidsplan, manuelt efter behov, baseret på hvor mange nye billeder, der er tilføjet til træningsmapperne, og så videre. I dette eksempel bruger vi Lookout for Vision SDK til at genoptræne vores model ved hjælp af de billeder, som vi nu har inkluderet i vores modificerede datasæt. Følg den medfølgende Jupyter-notesbog, der kan downloades fra [GitHub-LINK] for den komplette notesbog.
Du bør se et output svarende til det følgende.
Nu hvor vi har trænet en ny model ved hjælp af nyligt tilføjede billeder, lad os tjekke modelmålingerne! Vi viser resultaterne fra den første model og den anden model på samme tid:
Du bør se et output svarende til det følgende. Tabellen viser to modeller: en hostet model (ModelVersion:1
) og den omskolede model (ModelVersion:2
). Ydeevnen af den omskolede model er bedre med de menneskeligt gennemgåede og mærkede billeder.
Metrics | Modelversion | Status | Statusmeddelelse | Model præstation |
F1 score | 2 | TRÆNET | Uddannelse gennemført med succes. | 0.98 |
Precision | 2 | TRÆNET | Uddannelse gennemført med succes. | 0.96 |
Recall | 2 | TRÆNET | Uddannelse gennemført med succes. | 1 |
F1 score | 1 | HOSTET | Modellen kører. | 0.93023 |
Precision | 1 | HOSTET | Modellen kører. | 0.86957 |
Recall | 1 | HOSTET | Modellen kører. | 1 |
Ryd op
Kør Stop modellen og oprydningsressourcerne celle for at rydde op i de ressourcer, der blev skabt. Slet alle Lookout for Vision-projekter, du ikke længere bruger, og fjern objekter fra Amazon S3 for at spare omkostninger. Se følgende kode:
Konklusion
Dette indlæg demonstrerede, hvordan du kan bruge Lookout for Vision og Amazon A2I til at træne modeller til at opdage defekter i objekter, der er unikke for din virksomhed, og definere betingelser for at sende forudsigelserne til en menneskelig arbejdsgang med etikettere til at gennemgå og opdatere resultaterne. Du kan bruge det menneskemærkede output til at udvide træningsdatasættet til genoptræning for at forbedre modellens nøjagtighed.
Start din rejse mod industriel anomalidetektion og identifikation ved at besøge Hold øje med Vision Developer Guide og Amazon A2I Developer Guide.
Om forfatteren
Dennis Thurmon er Solutions Architect hos AWS, med en passion for kunstig intelligens og maskinlæring. Baseret i Seattle, Washington, arbejdede Dennis som systemudviklingsingeniør på Amazon Go og Amazon Books-teamet, før han fokuserede på at hjælpe AWS-kunder med at bringe deres arbejdsbyrder til live i AWS Cloud.
Amit Gupta er AI Services Solutions Architect hos AWS. Han brænder for at give kunderne veldesignede maskinlæringsløsninger i stor skala.
Neel Sendas er Senior Technical Account Manager hos Amazon Web Services. Neel arbejder med virksomhedskunder for at designe, implementere og skalere cloud-applikationer for at nå deres forretningsmål. Han har arbejdet på forskellige ML use cases, lige fra anomali detektion til forudsigelig produktkvalitet til fremstilling og logistik optimering. Når han ikke hjælper kunderne, boltrer han sig i golf og salsadans.
- '
- "
- 100
- 11
- 7
- 9
- Konto
- aktiv
- AI
- Alle
- tillade
- Amazon
- Amazon Go
- Amazon Web Services
- afsløring af anomalier
- api
- API'er
- Anvendelse
- applikationer
- arkitektur
- kunstig intelligens
- Kunstig intelligens og maskinlæring
- AWS
- BEDSTE
- board
- Bøger
- bygge
- Bygning
- virksomhed
- tilfælde
- lave om
- Cloud
- sky applikationer
- kode
- Fælles
- Virksomheder
- komponent
- Computer Vision
- tillid
- indhold
- Omkostninger
- Par
- Oprettelse af
- Nuværende
- Kunder
- instrumentbræt
- data
- Design
- Detektion
- Udvikler
- udviklere
- Udvikling
- ingeniør
- Enterprise
- virksomhedskunder
- Miljø
- øje
- Fornavn
- flow
- følger
- formular
- format
- fremtiden
- Generelt
- Git
- GitHub
- link.
- Hosting
- Hvordan
- How To
- HTTPS
- Identifikation
- billede
- industrielle
- Infrastruktur
- Intelligens
- IT
- Job
- Karriere
- Jupyter Notebook
- holde
- Etiketter
- stor
- læring
- Niveau
- Line (linje)
- Flydende
- lokale
- placering
- Logistik
- machine learning
- Produktion
- Medlemmer
- Metrics
- ML
- model
- bevæge sig
- numre
- Indstillinger
- ydeevne
- Personale
- Portal
- Precision
- Forudsigelser
- private
- Produkt
- Produktkvalitet
- projekt
- projekter
- Python
- kvalitet
- RE
- ressource
- Ressourcer
- svar
- Resultater
- omskoling
- afkast
- gennemgå
- Kør
- kører
- sagemaker
- Scale
- SDK
- Seattle
- Sees
- Tjenester
- sæt
- indstilling
- Simpelt
- færdigheder
- So
- Løsninger
- Spot
- starte
- påbegyndt
- Status
- opbevaring
- butik
- subdomæne
- systemet
- Systemer
- Teknisk
- Teknologier
- prøve
- Test
- The Source
- tid
- Kurser
- ui
- Opdatering
- værdi
- Specifikation
- vision
- vente
- washington
- web
- webservices
- inden for
- Arbejde
- arbejdere
- workflow
- Workforce
- virker