Dette er den første i en todelt serie om Amazon SageMaker Ground Truth hierarkisk merkingsarbeidsflyt og dashbord. I del 1 ser vi på å lage flertrinns merkearbeidsflyter for hierarkiske etiketttaksonomier ved hjelp av AWS trinnfunksjoner. I del 2 (kommer snart) ser vi på hvordan vi kan bygge dashboards for å analysere datasettkommentarer og arbeiderytelsesmålinger på datainnsjøer generert som utdata fra de komplekse arbeidsflytene og utlede innsikt.
Datamerking krever ofte at et enkelt dataobjekt inkluderer flere typer merknader, eller multi-typen, for eksempel 2D-bokser (avgrensingsbokser), linjer og segmenteringsmasker, alt på ett enkelt bilde. I tillegg, for å lage høykvalitets maskinlæringsmodeller (ML) ved bruk av merkede data, trenger du en måte å overvåke kvaliteten på etikettene på. Du kan gjøre dette ved å lage en arbeidsflyt der merkede data revideres og justeres etter behov. Dette innlegget introduserer en løsning for å løse begge disse merkingsutfordringene ved å bruke et kjøretøydatasett, og du kan utvide denne løsningen for bruk med alle typer datasett.
For vårt bruk, anta at du har en stor mengde bilvideodata filmet fra en eller flere vinkler på et kjøretøy i bevegelse (for eksempel noen Multi-Object Tracking (MOT) scener) og du ønsker å kommentere dataene ved hjelp av flere typer merknader. Du planlegger å bruke disse dataene til å trene en algoritme for cruisekontroll, kjørefeltbevarende ML. Gitt oppgaven for hånden, er det viktig at du bruker høykvalitetsetiketter for å trene modellen.
Først må du identifisere typene merknader du vil legge til videorammene dine. Noen av de viktigste objektene å merke for denne brukssaken er andre kjøretøy i rammen, veigrenser og kjørefelt. For å gjøre dette, definerer du en hierarkisk etiketttaksonomi, som definerer typen etiketter du vil legge til hver video, og rekkefølgen du vil at etikettene skal legges til. De Ground Truth merkejobb for videosporing støtter markeringsramme, polylinje, polygon og nøkkelpunktkommentarer. I dette tilfellet er kjøretøy kommentert ved hjelp av 2-dimensjonale bokser, eller avgrensende bokser, og veigrenser og kurver er merket med en rekke fleksible linjesegmenter, referert til som polylinjer.
For det andre må du etablere en arbeidsflyt for å sikre etikettkvalitet. For å gjøre dette kan du opprette en revisjonsarbeidsflyt for å bekrefte at etikettene som genereres av rørledningen din er av høy nok kvalitet til å være nyttige for modellopplæring. I denne revisjonsarbeidsflyten kan du forbedre etikettnøyaktigheten betraktelig ved å bygge en flertrinns gjennomgangspipeline som gjør at merknader kan revideres, og om nødvendig justeres av en andre anmelder som kan være en saksekspert.
Basert på størrelsen på datasettet og dataobjektene bør du også vurdere tiden og ressursene som kreves for å opprette og vedlikeholde denne pipelinen. Ideelt sett vil du at denne serien med merkejobber skal startes automatisk, og krever bare menneskelig operasjon for å spesifisere inndata og arbeidsflyt.
Løsningen som brukes i dette innlegget bruker Ground Truth, AWS skyformasjon, Trinnfunksjoner og Amazon DynamoDB å lage en serie merkejobber som kjører på en parallell og hierarkisk måte. Du bruker en hierarkisk etiketttaksonomi for å lage merkejobber med forskjellige modaliteter (polylinjer og avgrensningsbokser), og du legger til sekundære menneskelige gjennomgangstrinn for å forbedre annoteringskvaliteten og sluttresultatene.
For dette innlegget demonstrerer vi løsningen i sammenheng med bilbransjen, men du kan enkelt bruke denne generelle pipelinen til merking av rørledninger som involverer bilder, videoer, tekst og mer. I tillegg demonstrerer vi en arbeidsflyt som er utvidbar, slik at du kan redusere det totale antallet rammer som trenger menneskelig vurdering ved å legge til automatiserte kvalitetskontroller og opprettholde datakvaliteten i stor skala. I dette tilfellet bruker vi disse sjekkene for å finne anomalier i MOT-tidsseriedata som videoobjektsporingsannoteringer.
Vi går gjennom en brukssak der vi genererer flere typer merknader for en bilscene. Nærmere bestemt kjører vi fire merkejobber per videoklipp: en innledende merking av kjøretøy, innledende merking av kjørefelt, og deretter en justeringsjobb per innledende jobb med en egen kvalitetssikringsarbeider.
Vi demonstrerer de ulike utvidelsespunktene i vår Step Function arbeidsflyt som kan tillate deg å kjøre automatiserte kvalitetssikringskontroller. Dette gir mulighet for klippfiltrering mellom og etter at jobber er fullført, noe som kan resultere i merknader av høy kvalitet for en brøkdel av kostnadene.
AWS-tjenester som brukes til å implementere denne løsningen
Denne løsningen oppretter og administrerer Ground Truth-merkejobber for å merke videorammer ved hjelp av flere typer merknader. Ground Truth har innebygd støtte for videodatasett gjennom videorammen objektsporingsoppgavetype.
Denne oppgavetypen lar arbeidere lage merknader på tvers av en serie videorammer, og gir verktøy for å forutsi neste plassering av en avgrensningsramme i påfølgende bilder. Den støtter også flere merknadstyper som avgrensingsbokser eller polylinjer gjennom konfigurasjonsfilene for etikettkategorien gitt under jobbskaping. Vi bruker disse verktøyene i denne opplæringen, kjører en jobb for kjøretøyavgrensningsbokser og en jobb for kjørefeltspolylinjer.
Vi bruker Step Functions til å administrere merkejobben. Denne løsningen abstraherer merking av jobboppretting slik at du spesifiserer den overordnede arbeidsflyten du vil kjøre ved hjelp av en hierarkisk etiketttaksonomi, og all jobbadministrasjon håndteres av Step Functions.
Løsningen er implementert ved hjelp av CloudFormation-maler som du kan distribuere i AWS-kontoen din. Grensesnittet til løsningen er et API administrert av Amazon API-gateway, som gir muligheten til å sende inn merknadsoppgaver til løsningen, som deretter oversettes til Ground Truth-merkejobber.
Anslåtte kostnader
Ved å distribuere og bruke denne løsningen pådrar du deg en maksimal kostnad på ca. $20 bortsett fra kostnadene for menneskelig merking, fordi den kun bruker fullstendig administrerte dataressurser på forespørsel. Amazon enkel lagringstjeneste (Amazon S3), AWS Lambda, Amazon SageMaker, API-gateway, Amazon enkel varslingstjeneste (Amazon SNS), Amazon enkel køtjeneste (Amazon SQS), AWS Lim, og trinnfunksjoner er inkludert i AWS gratis nivå, med kostnader for ekstra bruk. For mer informasjon, se følgende prissider:
Ground Truth-priser avhenger av typen arbeidsstyrke du bruker. Hvis du er en ny bruker av Ground Truth, foreslår vi at du bruker en privat arbeidsstyrke og inkluderer deg selv som en arbeider for å teste konfigurasjonen av merkejobben. For mer informasjon, se Amazon SageMaker Ground Truth-priser.
Løsningsoversikt
I denne todelte serien diskuterer vi et arkitekturmønster som lar deg bygge en pipeline for orkestrering av flertrinns datamerkingsarbeidsflyter som lar arbeidere legge til forskjellige typer merknader parallelt ved å bruke Ground Truth. Du lærer også hvordan du kan analysere datasettkommentarene produsert av arbeidsflyten, samt arbeiderytelse. Det første innlegget dekker Step Functions-arbeidsflyten som automatiserer avanserte arbeidsflyter for ML-datamerking ved å bruke Ground Truth for kjeding og hierarkiske etiketttaksonomier. Det andre innlegget beskriver hvordan du bygger datainnsjøer på datasettkommentarer fra Ground Truth og arbeiderberegninger og bruker disse datainnsjøene til å utlede innsikt eller analysere ytelsen til arbeiderne dine og datasettkommentarkvaliteten ved hjelp av avansert analyse.
Følgende diagram viser den hierarkiske arbeidsflyten, som du kan bruke til å kjøre grupper av merkejobber i sekvensielle trinn, eller nivåer, der hver merkejobb på et enkelt nivå kjører parallelt.
Løsningen består av to hoveddeler:
- Bruk et API for å utløse arbeidsflyten for orkestrering.
- Kjør de individuelle trinnene i arbeidsflyten for å oppnå merkerørledningen.
Utløs orkestreringsarbeidsflyten med en API
CloudFormation-malen lansert i denne løsningen bruker API Gateway for å avsløre et endepunkt for deg å utløse batchmerkingsjobber. Etter at du har sendt postforespørselen til API Gateway-endepunktet, kjører den en Lambda-funksjon for å utløse arbeidsflyten.
Tabellen nedenfor inneholder de to viktigste brukervendte API-ene som er relevante for å kjøre batch, som representerer merkejobber på flere nivåer.
URL | Forespørselstype | Beskrivelse |
{endpointUrl}/batch/create | POST | API utløser en ny gruppe med merkejobber |
{endpointUrl}/batch/show | GET | API-er beskriver gjeldende tilstand for batchjobbkjøringen |
Kjør arbeidsflyten
For orkestrering av trinn bruker vi Step Functions som en administrert løsning. Når API-en for batch-jobboppretting utløses, utløser en Lambda-funksjon en arbeidsflyt for trinnfunksjoner som følgende. Dette starter behandlingen av kommentarinndata.
La oss diskutere trinnene mer detaljert.
Transformasjonstrinn
Det første trinnet er å forhåndsbehandle dataene. Den nåværende implementeringen konverterer notebook-inngangene til intern manifestfildatatype delt over flere trinn. Dette trinnet utfører for øyeblikket ingen kompleks behandling, men du kan tilpasse dette trinnet ytterligere ved å legge til tilpasset dataforbehandlingslogikk til denne funksjonen. Hvis for eksempel datasettet ditt ble kodet i råvideoer, kan du utføre rammedeling og manifestgenerering innen transformasjon i stedet for i en separat notatbok. Alternativt, hvis du bruker denne løsningen til å lage en 3D-punktskymerkingspipeline, kan det være lurt å legge til logikk for å trekke ut positurdata i et verdenskoordinatsystem ved å bruke kameraet og LiDAR-ekstrinsiske matriser.
TriggerLabelingFirstLevel
Når dataforbehandlingen er fullført, Ground Truth API-operasjonen Opprett Merkejobb brukes til å lansere merkejobber. Disse merkejobbene er ansvarlige for å kommentere datasett som er knyttet til det første nivået.
CheckForFirstLevelComplete
Dette trinnet venter på FIRST_LEVEL
Ground Truth-merkejobber utløst fra TriggerLabelingFirstStep
. Når jobbutløseren er fullført, venter dette trinnet på at alle de opprettede merkejobbene er fullført. En ekstern lytter Lambda-funksjon overvåker statusen til merkejobbene, og når alle ventende merkejobber er utført, kjører den sendTokenSucess
API for å signalisere til denne tilstanden for å fortsette til neste trinn. Feilsaker håndteres ved hjelp av passende feilklausuler og tidsavbrudd i trinndefinisjonen.
Send SecondLevelSNSAndCheckResponse
Dette trinnet utfører etterbehandling av utdataene fra jobben på første nivå. For eksempel, hvis dine krav er å bare sende 10 % av rammer til justeringsjobbene, kan du implementere denne logikken her ved å filtrere settet med utdata fra den første jobben.
TriggerLabelingSecondLevel
Når etterbehandlingen av data fra første nivå er fullført, CreateLabelingJobs
brukes til å starte merkejobber for å fullføre merknader på andre nivå. På dette stadiet vurderer en privat arbeidsstyrke kvaliteten på merknader til merkejobbene på første nivå og oppdaterer merknader etter behov.
CheckFor SecondLevelComplete
Dette trinnet er det samme ventetrinn som CheckForFirstLevelComplete
, men dette trinnet venter ganske enkelt på jobbene som opprettes fra andre nivå.
Send ThirdLevelSNSAndCheckResponse
Dette trinnet er det samme etterbehandlingstrinnet som SendSecondLevelSNSAndCheckResponse
, men dette trinnet utfører etterbehandlingen av utdata på andre nivå og mater som input til merkejobben på tredje nivå.
TriggerLabelingThirdLevel
Dette er samme logikk som TriggerLabelingSecondLevel
, men merkejobbene utløses som er kommentert som tredje nivå. På dette stadiet oppdaterer den private arbeidsstyrken merknader for kvaliteten på merkejobben på andre nivå.
CopyLogsAndSendBatchCompleted
Denne Lambda-funksjonen logger og sender SNS-meldinger for å varsle brukere om at batchen er fullført. Det er også en plassholder for enhver etterbehandlingslogikk som du måtte ønske å kjøre. Vanlig etterbehandling inkluderer å transformere de merkede dataene til et format som er kompatibelt med et kundespesifikt dataformat.
Forutsetninger
Før du begynner, må du sørge for at du har følgende forutsetninger:
- An AWS-konto.
- En notatbok AWS identitets- og tilgangsadministrasjon (IAM) rolle med tillatelsene som kreves for å fullføre denne gjennomgangen. Din IAM-rolle må ha de nødvendige tillatelsene vedlagt. Hvis du ikke trenger detaljert tillatelse, legg ved følgende AWS-administrerte retningslinjer:
AmazonS3FullAccess
AmazonAPIGatewayInvokeFullAccess
AmazonSageMakerFullAccess
- Kjennskap til Ground Truth, AWS CloudFormation og Step-funksjoner.
- En SageMaker arbeidsstyrke. Til dette innlegget bruker vi privat arbeidsstyrke. Du kan opprette en arbeidsstyrke på SageMaker-konsollen. Legg merke til Amazon Cognito brukergruppeidentifikator og appklientidentifikator etter at arbeidsstyrken din er opprettet. Du bruker disse verdiene til å fortelle CloudFormation stack-distribusjon hvilken arbeidsstyrke som skal opprette arbeidsteam, som representerer gruppen av etiketteringsmaskiner. Du finner disse verdiene i Oppsummering av privat arbeidsstyrke delen på konsollen etter at du har opprettet arbeidsstyrken din, eller når du ringer Beskriv Workteam.
Følgende GIF viser hvordan du oppretter en privat arbeidsstyrke. For trinnvise instruksjoner, se Opprett en Amazon Cognito Workforce ved hjelp av siden Labelling Workforces.
Start CloudFormation-stakken
Nå som vi har sett strukturen til løsningen, distribuerer vi den på kontoen vår slik at vi kan kjøre en eksempelarbeidsflyt. Alle distribusjonstrinnene våre administreres av AWS CloudFormation – det skaper ressurser i Lambda, Step Functions, DynamoDB og API Gateway for deg.
Du kan starte stabelen i AWS-regionen us-east-1
på CloudFormation-konsollen ved å velge Start Stack:
På CloudFormation-konsollen velger du Neste, og endre deretter følgende malparametere for å tilpasse løsningen.
Du kan finne CognitoUserPoolClientId og CognitoUserPoolId i SageMaker-konsollen.
- CognitoUserPoolClientId: App-klient-ID for din private arbeidsstyrke.
- CognitoUserPoolId: ID for brukergruppen knyttet til din private arbeidsstyrke.
Slik finner du disse verdiene i konsollen:
- Åpne SageMaker-konsollen på https://console.aws.amazon.com/sagemaker/
- Plukke ut Merking av arbeidskraft i navigasjonsruten.
- Velge den Privat
- Bruk verdiene i Oppsummering av privat arbeidslag Bruke App klient for CognitoUserPoolClientId og bruk Amazon Cognito brukerpool for CognitoUserPoolId.
For denne opplæringen kan du bruke standardverdiene for følgende parametere.
- GlueJobTriggerCron: Cron-uttrykk som skal brukes når du planlegger rapportering av AWS Lim cron-jobb. Resultatene fra merknader generert med SageMaker Ground Truth og arbeiderytelsesmålinger brukes til å lage et dashbord i Amazon QuickSight. Dette vil bli forklart i detalj som del av andre del. Utdataene fra SageMaker-kommentarer og arbeiderytelsesmålinger vises i Athena-spørringer etter å ha behandlet dataene med AWS Glue. Som standard kjører AWS Glue cron-jobber hver time.
- JobCompletionTimeout: Antall sekunder å vente før en merkejobb behandles som mislykket og flyttes til BatchError-tilstanden.
- Loggingsnivå: Dette brukes internt og kan ignoreres. Loggingsnivå for å endre detaljnivået til logger. Godtar verdiene DEBUG og PROD.
prefix: Et prefiks som skal brukes når du navngir ressurser som brukes til å opprette og administrere merkejobber og arbeiderberegninger.
For å starte stabelen i en annen AWS-region, bruk instruksjonene i README i GitHub repository.
Etter at du har implementert løsningen, er to nye arbeidsteam i den private arbeidsstyrken du opprettet tidligere: smgt-workflow-first-level
og smgt-workflow-second-level
. Dette er standard arbeidsteam som brukes av løsningen hvis ingen overstyringer er spesifisert, og smgt-workflow-second-level
arbeidsteam brukes til å merke jobber på andre nivå og tredje nivå. Du bør legge deg selv til i begge arbeidsgruppene for å se merkeoppgaver som er opprettet av løsningen. For å lære hvordan du legger deg til et privat arbeidsteam, se Legg til eller fjern arbeidere.
Du må også gå til API Gateway-konsollen og se etter den distribuerte APIen med prefiks smgt-workflow
og noter ID-en. Notatboken må referere til denne ID-en slik at den kan bestemme hvilken API-URL som skal kalles.
Start notatboken
Etter at du har implementert løsningen på kontoen din, er du klar til å lansere en notatbok for å samhandle med den og starte nye arbeidsflyter. I denne delen går vi gjennom følgende trinn:
- Sett opp og få tilgang til notatbokforekomsten.
- Få tak i eksempeldatasettet.
- Forbered Ground Truth-inndatafiler.
Sett opp SageMaker notatbokforekomsten
I denne eksempelnotisboken lærer du hvordan du kartlegger en enkel taksonomi som består av en kjøretøyklasse og en kjørefeltklasse til Ground Truth-etikettkategorikonfigurasjonsfiler. En konfigurasjonsfil for etikettkategorier brukes til å definere etikettene som arbeidere bruker for å kommentere bildene dine. Deretter lærer du hvordan du starter og konfigurerer løsningen som kjører pipelinen ved hjelp av en CloudFormation-mal. Du kan også tilpasse denne koden ytterligere, for eksempel ved å tilpasse API-kallet for batchoppretting for å kjøre merking for en annen kombinasjon av oppgavetyper.
For å opprette en notatbokforekomst og få tilgang til notatboken som brukes i dette innlegget, fullfør følgende trinn:
- Opprett en notisbokforekomst med følgende parametere:
- Bruk ml.t2.medium for å starte den bærbare forekomsten.
- Øk ML-lagringsvolumet til minst 10 GB.
- Velg den bærbare IAM-rollen beskrevet i forutsetninger. Denne rollen lar den bærbare datamaskinen laste opp datasettet til Amazon S3 og kalle løsnings-APIer.
- Åpne Jupyter Lab eller Jupyter til få tilgang til notatbokforekomstene.
- I Jupyter velger du SageMaker Eksempler Velg SageMaker-ikonet i Jupyter Lab.
- Velg Bakkenes sannhetsmerkejobber og velg deretter jobben sagemaker_ground_truth_workflows.ipynb.
- Hvis du bruker Jupyter, velger du Bruk for å kopiere notatboken til din forekomst og kjøre den. Hvis du er i Jupyter lab, velg Lag en kopi.
Få tak i eksempeldatasettet
Fullfør følgende trinn for å sette opp datasettet:
- Last ned MOT17.zip ved å bruke Last ned datasett delen av notatboken.
Denne nedlastingen er på omtrent 5 GB og tar flere minutter.
- Pakk ut MOT17.zip ved å bruke den bærbare datamaskinens Pakk ut datasett
- Under Kopier data til S3 header, kjør cellen for å kopiere ett sett med videorammer-datasett til Amazon S3.
Forbered Ground Truth-inndatafilene
For å bruke løsningen må vi lage en manifestfil. Denne filen forteller Ground Truth hvor datasettet ditt er. Vi trenger også to konfigurasjonsfiler for etikettkategorier for å beskrive etikettnavnene våre, og merkeverktøyet som skal brukes for hver (avgrensningsramme eller polylinje).
- Kjør cellene under Generer manifest for å få en liste over rammer i en video fra datasettet. Vi tar 150 bilder med halve bildefrekvensen til videoen som eksempel.
- Fortsett å kjøre celler under Generer manifest å bygge en sekvensfil som beskriver videobildene våre, og deretter lage en manifestfil som refererer til sekvensfilen vår.
- Kjør cellen under Generer konfigurasjonsfiler for etikettkategori for å lage to nye filer: en konfigurasjonsfil for kjøretøyetiketter (som bruker grenseboksverktøyet), og en konfigurasjonsfil for kjørefeltetiketter (som bruker polylinjeverktøyet).
- Kopier manifestfilen og merk kategorikonfigurasjonsfilene til Amazon S3 ved å kjøre Send data til S3
På dette tidspunktet har du forberedt alle inndata til merkejobbene og er klar til å begynne å betjene løsningen.
For å lære mer om Ground Truth videorammemerkingsjobber og kjeding, se følgende referanser:
Kjør et eksempel på en arbeidsflyt
I denne delen går vi gjennom trinnene for å kjøre et eksempel på en arbeidsflyt på kjøretøydatasettet. Vi oppretter en arbeidsflyt med flere modaliteter, utfører både innledende merking og revisjonsmerking, og ser deretter våre ferdige merknader.
Opprett en arbeidsflytbatch
Denne løsningen orkestrerer en arbeidsflyt av Ground Truth-merkejobber for å kjøre både videoobjektsporing avgrenseboksjobber og polylinjejobber, samt automatisk opprette justeringsjobber etter den første merkingen. Denne arbeidsflytbatchen konfigureres gjennom batch_create
API tilgjengelig for løsningen.
Kjør cellen under Batch Creation Demo i notatboken. Dette sender inndatamanifestet og etikettkategorikonfigurasjonen S3 URIer til en ny arbeidsflytbatch.
Cellen skal gi ut ID-en til den nyopprettede arbeidsflytbatchen, for eksempel:
Fullfør den første runden med merkeoppgaver
For å simulere arbeidere som fullfører merking, logger vi på som arbeider i Ground Truth-arbeidsteamet på første nivå og fullfører merkeoppgaven.
- Kjør cellen under Logg på Worker Portal for å få en lenke for å logge inn på arbeiderportalen.
En invitasjon skal allerede ha blitt sendt til e-postadressen din hvis du inviterte deg selv til de løsningsgenererte arbeidsteamene på første og andre nivå.
- Logg på og vent til oppgavene vises i arbeiderportalen.
To oppgaver bør være tilgjengelige, en med slutt på vehicle
og en ender på lane
, som tilsvarer de to jobbene vi opprettet under oppretting av batch av arbeidsflyt.
- Åpne hver oppgave og legg til noen dummy-etiketter ved å velge og dra på bilderammene.
- Velg Send på hver oppgave.
Fullfør den andre runden med merkeoppgaver
Arbeidsflyten vår spesifiserte at vi ville ha justeringsjobber automatisk lansert for hver jobb på første nivå. Vi fullfører nå den andre runden med merkeoppgaver.
- Fortsatt i arbeiderportalen, vent på oppgaver med
vehicle-audit
oglane-audit
å vises. - Åpne hver oppgave i arbeiderportalen, og merk at etikettene til forrige nivå fortsatt er synlige.
Disse tilpasningsoppgavene kan utføres av en mer høyt utdannet kvalitetssikringsgruppe i et annet arbeidslag.
- Gjør justeringer etter ønske og velg Pass or Fail på hver merknad.
- Velg når du er ferdig Send.
Se de fullførte kommentarene
Vi kan se detaljer om den fullførte arbeidsflytbatchen ved å kjøre batch show API.
- Kjør cellen under Batch Show Demo.
Dette spør etter løsningens database for alle komplette arbeidsflytkjøringer, og skal sende ut batch-IDen din når batchen er fullført.
- Vi kan få mer spesifikke detaljer om en batch ved å kjøre cellen under Batch detaljert Show Demo.
Dette tar IDen til en batch i systemet og returnerer statusinformasjon og plasseringen av alle input og output manifester for hver opprettet jobb.
- Kopier og skriv inn feltet
jobOutputS3Url
for noen av jobbene og kontroller at manifestfilen for den jobben er lastet ned.
Denne filen inneholder en referanse til inndatasekvensen din, så vel som S3-URIen til utgangskommentarene for hver sekvens.
Endelige resultater
Når alle merkejobber i rørledningen er fullført, publiseres en SNS-melding på standard status SNS-emne. Du kan abonnere på SNS-emner bruke en e-postadresse for å verifisere løsningens funksjonalitet. Meldingen inkluderer batch-IDen som ble brukt under batchoppretting, en melding om batchfullføringen og den samme informasjonen som batch/show
API gir under en batchInfo
nøkkel. Du kan analysere denne meldingen for å trekke ut metadata om de fullførte merkejobbene på det andre nivået i rørledningen.
Innenfor hver jobbmetadatablob, en jobOutputS3Url
feltet inneholder en forhåndsdefinert URL for å få tilgang til utdatamanifestet for denne bestemte jobben. Utdatamanifestet inneholder resultatene av datamerking i utvidet manifestformat, som du kan analysere for å hente merknader ved å indeksere JSON-objektet med <jobName>-ref
. Dette feltet peker til en S3-plassering som inneholder alle merknader for det gitte videoklippet.
For eksempel, for avgrensningsboksjobber SeqLabel.json
filen inneholder markeringsrammemerknader for hver kommenterte ramme (i dette tilfellet er bare den første rammen kommentert):
Fordi SNS-meldingen for batchfullføring inneholder alle utdatamanifestfiler fra jobbene som ble lansert parallelt, kan du utføre en hvilken som helst etterbehandling av merknadene dine basert på denne meldingen. Hvis du for eksempel har et spesifikt serialiseringsformat for disse merknadene som kombinerer kjøretøygrensebokser og kjørefeltmerknader, kan du få utdatamanifestet for kjørefeltjobben så vel som kjøretøyjobben, og deretter slå sammen basert på rammenummer og konvertere til ønsket endelig format.
For å lære mer om Ground Truth utdataformater, se Utdata.
Rydd opp
For å unngå å pådra seg fremtidige kostnader, kjør Rydd opp delen av notatboken for å slette alle ressursene inkludert S3-objekter og CloudFormation-stakken. Når slettingen er fullført, sørg for å stoppe og slette notatbokforekomsten som er vert for gjeldende notatbokskript.
konklusjonen
Denne todelte serien gir deg en referansearkitektur for å bygge en avansert datamerkingsarbeidsflyt som består av en flertrinns datamerkingspipeline, justeringsjobber og datainnsjøer for tilsvarende datasettkommentarer og arbeiderberegninger samt oppdaterte dashboards.
I dette innlegget lærte du hvordan du tar videorammedata og utløser en arbeidsflyt for å kjøre flere Ground Truth-merkejobber, og genererer to forskjellige typer merknader (avgrensingsbokser og polylinjer). Du lærte også hvordan du kan utvide pipelinen for å revidere og verifisere det merkede datasettet og hvordan du henter de reviderte resultatene. Til slutt så du hvordan du refererer til gjeldende fremdrift for batchjobber ved å bruke BatchShow API.
For mer informasjon om datainnsjøen for Ground Truth-datasettmerknader og arbeiderberegninger fra Ground Truth, sjekk tilbake til Ground Truth-bloggen for det andre blogginnlegget i denne serien (kommer snart).
Prøv ut bærbare og tilpass den for input-datasettene dine ved å legge til flere jobber eller revisjonstrinn, eller ved å endre datamodaliteten til jobbene. Ytterligere tilpasning av løsning kan inkludere, men er ikke begrenset til:
- Legge til flere typer merknader som semantiske segmenteringsmasker eller nøkkelpunkter
- Legger til automatisert kvalitetssikring og filtrering i arbeidsflyten Step Functions for kun å sende merknader av lav kvalitet til neste gjennomgangsnivå
- Legger til tredje eller fjerde nivå av kvalitetsvurdering for flere, mer spesialiserte typer anmeldelser
Denne løsningen er bygget ved hjelp av serverløse teknologier på toppen av Step Functions, noe som gjør den svært tilpassbar og anvendelig for en lang rekke applikasjoner.
Om forfatterne
Vidya Sagar Ravipati er en dyp læringsarkitekt ved Amazon ML Solutions Lab, der han utnytter sin store erfaring innen store distribuerte systemer og sin lidenskap for maskinlæring for å hjelpe AWS-kunder på tvers av forskjellige bransjevirksomheter, få fart på AI og sky-adopsjon. Tidligere var han maskinlæringsingeniør i Connectivity Services hos Amazon som bidro til å bygge personaliserings- og prediktive vedlikeholdsplattformer.
Jeremy Feltracco er en programvareutviklingsingeniør med Amazon ML Solutions Lab hos Amazon Web Services. Han bruker sin bakgrunn innen datasyn, robotteknologi og maskinlæring for å hjelpe AWS-kunder med å få fart på AI-adopsjonen.
Jae Sung Jang er programvareutvikler. Hans lidenskap ligger i å automatisere manuell prosess ved hjelp av AI Solutions og Orchestration-teknologier for å sikre forretningsutførelse.
Talia Chopra er en teknisk skribent i AWS som spesialiserer seg på maskinlæring og kunstig intelligens. Hun jobber med flere team i AWS for å lage teknisk dokumentasjon og veiledninger for kunder som bruker Amazon SageMaker, MxNet og AutoGluon.
- "
- 100
- 107
- 3d
- 7
- 98
- adgang
- Logg inn
- Ytterligere
- Adopsjon
- AI
- AI adopsjon
- algoritme
- Alle
- tillate
- Amazon
- Amazon SageMaker
- Amazon SageMaker Ground Truth
- Amazon Web Services
- analytics
- api
- APIer
- app
- søknader
- arkitektur
- kunstig intelligens
- revisjon
- Automatisert
- automotive
- AWS
- Blogg
- Eske
- bygge
- Bygning
- virksomhet
- ring
- saker
- endring
- avgifter
- Sjekker
- Cloud
- skyadopsjon
- kode
- kommer
- Felles
- Beregn
- Datamaskin syn
- Tilkobling
- Kostnader
- Opprette
- cruise
- Gjeldende
- Nåværende situasjon
- Kunder
- dashbord
- dato
- Data Lake
- datakvalitet
- Database
- dyp læring
- Etterspørsel
- detalj
- Utvikling
- emalje
- Endpoint
- ingeniør
- gjennomføring
- Failure
- Mote
- Først
- format
- Gratis
- funksjon
- framtid
- general
- gif
- Gruppe
- her.
- Høy
- Hosting
- Hvordan
- Hvordan
- HTTPS
- IAM
- ICON
- identifisere
- Identitet
- bilde
- Inkludert
- industri
- informasjon
- innsikt
- Intelligens
- IT
- Jobb
- Jobb
- nøkkel
- merking
- etiketter
- stor
- lansere
- LÆRE
- lært
- læring
- Nivå
- håndtere
- Begrenset
- LINK
- Liste
- plassering
- maskinlæring
- ledelse
- kart
- masker
- medium
- Metrics
- ML
- modell
- navn
- Navigasjon
- varsling
- drift
- rekkefølge
- Annen
- Mønster
- ytelse
- Tilpassing
- Plattformer
- Politikk
- basseng
- Portal
- prising
- privat
- produsert
- kvalitet
- Raw
- redusere
- Krav
- Ressurser
- Resultater
- avkastning
- anmeldelse
- Anmeldelser
- robotikk
- Kjør
- rennende
- sagemaker
- Skala
- sekundær
- Serien
- server~~POS=TRUNC
- Tjenester
- sett
- delt
- Enkelt
- Størrelse
- So
- Software
- programvareutvikling
- Solutions
- Rom
- Scene
- Begynn
- startet
- Tilstand
- Stater
- status
- lagring
- suksess
- støtte
- Støtter
- system
- Systemer
- Teknisk
- Technologies
- forteller
- test
- tid
- token
- topp
- Sporing
- Kurs
- Transformation
- behandling
- tutorial
- tutorials
- oppdateringer
- URI
- Brukere
- kjøretøy
- Kjøretøy
- video
- videoer
- Se
- syn
- volum
- vente
- web
- webtjenester
- HVEM
- innenfor
- Arbeid
- arbeidere
- arbeidsflyt
- arbeidsstyrke
- virker
- verden
- forfatter