Med maskinlæring (ML) har kraftigere teknologier blitt tilgjengelig som kan automatisere oppgaven med å oppdage visuelle anomalier i et produkt. Implementering av slike ML-løsninger er imidlertid tidkrevende og dyrt fordi det innebærer å administrere og sette opp kompleks infrastruktur og ha de riktige ML-ferdighetene. Videre trenger ML-applikasjoner menneskelig tilsyn for å sikre nøyaktighet med anomalideteksjon, bidra til kontinuerlige forbedringer og omskolere modeller med oppdaterte spådommer. Imidlertid blir du ofte tvunget til å velge mellom et system som kun er ML eller kun for mennesker. Bedrifter ser etter det beste fra begge verdener, og integrerer ML-systemer i arbeidsflyten din mens de holder et menneskelig øye med resultatene for å oppnå høyere presisjon.
I dette innlegget viser vi hvordan du enkelt kan sette opp Amazon Lookout For Vision for å trene en visuell avviksdeteksjonsmodell ved hjelp av et kretskortdatasett, bruk en menneske-i-sløyfen-arbeidsflyt for å gjennomgå spådommene ved å bruke Amazon Augmented AI (Amazon A2I), utvide datasettet for å inkludere menneskelig input, og trene modellen på nytt.
Løsningsoversikt
Lookout for Vision er en ML-tjeneste som hjelper til med å oppdage produktdefekter ved å bruke datasyn for å automatisere kvalitetsinspeksjonsprosessen i produksjonslinjene dine, uten at det kreves ML-ekspertise. Du kan komme i gang med så få som 30 produktbilder (20 normale, 10 unormale) for å trene din unike ML-modell. Lookout for Vision bruker din unike ML-modell til å analysere produktbildene dine i nesten sanntid og oppdage produktdefekter, slik at anleggspersonellet kan diagnostisere og iverksette korrigerende tiltak.
Amazon A2I er en ML-tjeneste som gjør det enkelt å bygge arbeidsflytene som kreves for menneskelig vurdering. Amazon A2I bringer menneskelig vurdering til alle utviklere, fjerner de udifferensierte tunge løftene knyttet til å bygge menneskelige vurderingssystemer eller administrerer et stort antall menneskelige anmeldere, enten de kjører på AWS eller ikke.
For å komme i gang med Lookout for Vision lager vi et prosjekt, lager et datasett, trener en modell og kjører slutninger på testbilder. Etter å ha gått gjennom disse trinnene, viser vi deg hvordan du raskt kan sette opp en menneskelig vurderingsprosess ved hjelp av Amazon A2I og omskolere modellen din med utvidede eller menneskelig gjennomgåtte datasett. Vi tilbyr også en ledsager Jupyter notisbok.
Arkitekturoversikt
Følgende diagram illustrerer løsningsarkitekturen.
Løsningen har følgende arbeidsflyt:
- Last opp data fra kilden til Amazon enkel lagringstjeneste (Amazon S3).
- Kjør Lookout for Vision for å behandle data fra Amazon S3-banen.
- Lagre slutningsresultater i Amazon S3 for nedstrøms gjennomgang.
- Bruk Lookout for Vision for å finne ut om et inndatabilde er skadet og valider at konfidensnivået er over 70 %. Hvis det er under 70 %, starter vi en menneskelig loop for en arbeider for å manuelt fastslå om et bilde er skadet.
- En privat arbeidsstyrke undersøker og validerer de oppdagede skadene og gir tilbakemelding.
- Oppdater treningsdataene med tilsvarende tilbakemelding for påfølgende modellomtrening.
- Gjenta omskoleringssyklusen for kontinuerlig omskolering av modellen.
Forutsetninger
Før du begynner, fullfør følgende trinn for å konfigurere Jupyter-notisboken:
- Opprett en notisbokforekomst in Amazon SageMaker.
- Når den bærbare datamaskinen er aktiv, velger du Åpne Jupyter.
- Velg Jupyter-oversikten Ny, og velg terminal.
- Skriv inn følgende kode i terminalen:
- Åpne notatboken for dette innlegget:
Amazon-Lookout-for-Vision-and-Amazon-A2I-Integration.ipynb
.
Du er nå klar til å kjøre notatbokcellene.
- Kjør oppsettmiljøtrinnet for å sette opp de nødvendige Python SDK-ene og variablene:
I det første trinnet må du definere følgende:
- region – Regionen der prosjektet ditt ligger
- prosjektnavn – Navnet på Lookout for Vision-prosjektet ditt
- bøtte – Navnet på Amazon S3-bøtten der vi sender ut modellresultatene
- model_version – Din modellversjon (standardinnstillingen er 1)
- Lag S3-bøttene for å lagre bilder:
- Opprett en manifestfil fra datasettet ved å kjøre cellen i delen Opprett en manifestfil fra datasettet i notatboken.
Lookout for Vision bruker denne manifestfilen til å bestemme plasseringen av filene, så vel som etikettene knyttet til filene.
Last opp kretskortbilder til Amazon S3
For å trene en Lookout for Vision-modell må vi kopiere eksempeldatasettet fra vår lokale Jupyter-notisbok over til Amazon S3:
Lag et Lookout for Vision-prosjekt
Du har et par alternativer for hvordan du oppretter Lookout for Vision-prosjektet: Lookout for Vision-konsollen, AWS kommandolinjegrensesnitt (AWS CLI), eller Boto3 SDK. Vi valgte Boto3 SDK i dette eksemplet, men anbefaler på det sterkeste at du også sjekker ut konsollmetoden.
Trinnene vi tar med SDK er:
- Opprett et prosjekt (navnet ble definert i begynnelsen) og fortell prosjektet hvor du finner treningsdatasettet ditt. Dette gjøres via manifestfilen for opplæring.
- Fortell prosjektet hvor du finner testdatasettet. Dette gjøres via manifestfilen for test.
Dette andre trinnet er valgfritt. Generelt er all testrelatert kode valgfri; Lookout for Vision fungerer også med bare et treningsdatasett. Vi bruker begge fordi trening og testing er en vanlig (beste) praksis når du trener AI- og ML-modeller.
Opprett en manifestfil fra datasettet
Lookout for Vision bruker denne manifestfilen til å bestemme plasseringen av filene, så vel som etikettene knyttet til filene. Se følgende kode:
Lag et Lookout for Vision-prosjekt
Følgende kommando oppretter et Lookout for Vision-prosjekt:
Lag og tren opp en modell
I denne delen går vi gjennom trinnene for å lage opplærings- og testdatasettene, trene modellen og være vert for modellen.
Lag opplærings- og testdatasettene fra bilder i Amazon S3
Etter at vi har opprettet Lookout for Vision-prosjektet, lager vi prosjektdatasettet ved å bruke eksempelbildene vi lastet opp til Amazon S3 sammen med manifestfilene. Se følgende kode:
Tren modellen
Etter at vi har opprettet Lookout for Vision-prosjektet og datasettene, kan vi trene opp vår første modell:
Når opplæringen er fullført, kan vi se tilgjengelige modellberegninger:
Du bør se en utgang som ligner på følgende.
Metrics | Modell RNA | status Melding | Ytelse | Modellytelse |
F1-poengsum | 1 | TRENET | Trening fullført. | 0.93023 |
Precision | 1 | TRENET | Trening fullført. | 0.86957 |
Husker | 1 | TRENET | Trening fullført. | 1 |
Host modellen
Før vi kan bruke vår nyutdannede Lookout for Vision-modell, må vi være vert for den:
Sett opp Amazon A2I for å gjennomgå spådommer fra Lookout for Vision
I denne delen setter du opp en menneskelig gjennomgangsløkke i Amazon A2I for å gjennomgå konklusjoner som er under konfidensgrensen. Du må først opprette en privat arbeidsstyrke og opprette et brukergrensesnitt for menneskelige oppgaver.
Skap en arbeidsstyrke
Du må skape en arbeidsstyrke via SageMaker-konsollen. Legg merke til ARN av arbeidsstyrken og skriv inn verdien i notatbokcellen:
Følgende skjermbilde viser detaljene til et privat team kalt lfv-a2i
og dets tilsvarende ARN.
Lag et brukergrensesnitt for menneskelige oppgaver
Du oppretter nå en UI-ressurs for menneskelige oppgaver: en UI-mal i flytende HTML. Denne HTML-siden gjengis til de menneskelige arbeiderne når en menneskelig løkke er nødvendig. For over 70 forhåndsbygde brukergrensesnitt, se amazon-a2i-sample-task-uis GitHub repo.
Følg trinnene i den bærbare delen Lag et brukergrensesnitt for menneskelige oppgaver for å lage nettskjemaet, initialisere Amazon A2I APIer og inspisere utdata:
Lag en arbeidsflyt for menneskelige oppgaver
Definisjoner for arbeidsflyt lar deg spesifisere følgende:
- Arbeidsmalen eller brukergrensesnittet for menneskelige oppgaver du opprettet i forrige trinn.
- Arbeidsstyrken som oppgavene dine sendes til. For dette innlegget er det den private arbeidsstyrken du opprettet i de nødvendige trinnene.
- Instruksjonene som arbeidsstyrken din mottar.
Dette innlegget bruker Create Flow Definition
API for å lage en arbeidsflytdefinisjon. Resultatene av menneskelig vurdering er lagret i en Amazon S3-bøtte, som kan nås av klientapplikasjonen. Kjør cellen Lag en arbeidsflyt for menneskelige oppgaver i den bærbare datamaskinen og inspiser utdataene:
Lag spådommer og start en menneskelig loop basert på terskelen for konfidensnivå
I denne delen går vi gjennom en rekke nye bilder og bruker Lookout for Vision SDK for å finne ut om inngangsbildene våre er skadet eller ikke, og om de er over eller under en definert terskel. For dette innlegget satte vi terskelkonfidensnivået til 70. Hvis resultatet er under 70, starter vi en menneskelig løkke for en arbeider for å manuelt finne ut om bildet vårt er normalt eller en anomali. Se følgende kode:
Du bør få utdataene vist i følgende skjermbilde.
Fullfør gjennomgangen og sjekk statusen for menneskelig loop
Hvis slutningsresultater er under den definerte terskelen, opprettes en menneskelig loop. Vi kan gjennomgå statusen til disse jobbene og vente på resultater:
Arbeidsteamet ser følgende skjermbilde for å velge riktig etikett for bildet.
Se resultatene av Amazon A2I-arbeidsflyten og flytt objekter til riktig mappe for omskolering
Etter at arbeidsteammedlemmene har fullført de menneskelige loop-oppgavene, la oss bruke resultatene av oppgavene til å sortere bildene våre i de riktige mappene for opplæring av en ny modell. Se følgende kode:
Omskoler modellen din basert på utvidede datasett fra Amazon A2I
Trening av en ny modellversjon kan utløses som en batchjobb på en tidsplan, manuelt etter behov, basert på hvor mange nye bilder som er lagt til opplæringsmappene, og så videre. For dette eksemplet bruker vi Lookout for Vision SDK for å omskolere modellen vår ved å bruke bildene som vi nå har inkludert i vårt modifiserte datasett. Følg den medfølgende Jupyter-notisboken som kan lastes ned fra [GitHub-LINK] for hele notatboken.
Du bør se en utgang som ligner på følgende.
Nå som vi har trent opp en ny modell ved hjelp av nylig lagt til bilder, la oss sjekke modellberegningene! Vi viser resultatene fra den første modellen og den andre modellen samtidig:
Du bør se en utgang som ligner på følgende. Tabellen viser to modeller: en vertsbasert modell (ModelVersion:1
) og den omskolerte modellen (ModelVersion:2
). Ytelsen til den omskolerte modellen er bedre med de menneskevurderte og merkede bildene.
Metrics | modellversjon | status | Status melding | Modellytelse |
F1-poengsum | 2 | TRENET | Trening fullført. | 0.98 |
Precision | 2 | TRENET | Trening fullført. | 0.96 |
Husker | 2 | TRENET | Trening fullført. | 1 |
F1-poengsum | 1 | VERT | Modellen kjører. | 0.93023 |
Precision | 1 | VERT | Modellen kjører. | 0.86957 |
Husker | 1 | VERT | Modellen kjører. | 1 |
Rydd opp
Kjør Stopp modellen og oppryddingsressursene celle for å rydde opp i ressursene som ble opprettet. Slett eventuelle Lookout for Vision-prosjekter du ikke lenger bruker, og fjern objekter fra Amazon S3 for å spare kostnader. Se følgende kode:
konklusjonen
Dette innlegget demonstrerte hvordan du kan bruke Lookout for Vision og Amazon A2I til å trene modeller til å oppdage defekter i objekter som er unike for virksomheten din og definere betingelser for å sende spådommene til en menneskelig arbeidsflyt med merkelapper for å gjennomgå og oppdatere resultatene. Du kan bruke den menneskelige merket utdata for å utvide opplæringsdatasettet for omskolering for å forbedre modellens nøyaktighet.
Start reisen mot industriell anomalideteksjon og identifikasjon ved å besøke Se etter Vision Developer Guide og Amazon A2I utviklerveiledning.
om forfatteren
Dennis Thurmon er en løsningsarkitekt hos AWS, med lidenskap for kunstig intelligens og maskinlæring. Basert i Seattle, Washington, jobbet Dennis som systemutviklingsingeniør i Amazon Go- og Amazon Books-teamet før han fokuserte på å hjelpe AWS-kunder med å bringe arbeidsbelastningen til live i AWS Cloud.
Amit Gupta er en AI Services Solutions Architect hos AWS. Han er lidenskapelig opptatt av å gjøre det mulig for kunder med velutviklede maskinlæringsløsninger i stor skala.
Neel Sendas er Senior Technical Account Manager i Amazon Web Services. Neel jobber med bedriftskunder for å designe, distribuere og skalere skyapplikasjoner for å oppnå sine forretningsmål. Han har jobbet med forskjellige ML-brukstilfeller, alt fra avviksdeteksjon til prediktiv produktkvalitet for produksjon og logistikkoptimalisering. Når han ikke hjelper kunder, driver han med golf og salsadans.
- '
- "
- 100
- 11
- 7
- 9
- Logg inn
- aktiv
- AI
- Alle
- tillate
- Amazon
- Amazon Go
- Amazon Web Services
- anomali påvisning
- api
- APIer
- Søknad
- søknader
- arkitektur
- kunstig intelligens
- Kunstig intelligens og maskinlæring
- AWS
- BEST
- borde
- bøker
- bygge
- Bygning
- virksomhet
- saker
- endring
- Cloud
- sky applikasjoner
- kode
- Felles
- Selskaper
- komponent
- Datamaskin syn
- selvtillit
- innhold
- Kostnader
- Par
- Opprette
- Gjeldende
- Kunder
- dashbord
- dato
- utforming
- Gjenkjenning
- Utvikler
- utviklere
- Utvikling
- ingeniør
- Enterprise
- bedriftskunder
- Miljø
- øye
- Først
- flyten
- følge
- skjema
- format
- framtid
- general
- gå
- GitHub
- her.
- Hosting
- Hvordan
- Hvordan
- HTTPS
- Identifikasjon
- bilde
- industriell
- Infrastruktur
- Intelligens
- IT
- Jobb
- Jobb
- Jupyter Notebook
- holde
- etiketter
- stor
- læring
- Nivå
- linje
- Flytende
- lokal
- plassering
- logistikk
- maskinlæring
- produksjon
- medlemmer
- Metrics
- ML
- modell
- flytte
- tall
- alternativer
- ytelse
- ansatte
- Portal
- Precision
- Spådommer
- privat
- Produkt
- Produktkvalitet
- prosjekt
- prosjekter
- Python
- kvalitet
- RE
- ressurs
- Ressurser
- svar
- Resultater
- omskolering
- avkastning
- anmeldelse
- Kjør
- rennende
- sagemaker
- Skala
- SDK
- Seattle
- Sees
- Tjenester
- sett
- innstilling
- Enkelt
- ferdigheter
- So
- Solutions
- Spot
- Begynn
- startet
- status
- lagring
- oppbevare
- underdomener
- system
- Systemer
- Teknisk
- Technologies
- test
- Testing
- Kilden
- tid
- Kurs
- ui
- Oppdater
- verdi
- Se
- syn
- vente
- washington
- web
- webtjenester
- innenfor
- Arbeid
- arbeidere
- arbeidsflyt
- arbeidsstyrke
- virker