Aceasta este prima dintr-o serie din două părți pe Amazon SageMaker Ground Adevăr flux de lucru și tablouri de bord de etichetare ierarhică. În partea 1, ne uităm la crearea de fluxuri de lucru de etichetare în mai mulți pași pentru utilizarea taxonomiilor de etichetare ierarhică Funcții pas AWS. În partea 2 (în curând), ne uităm la modul de construire a tablourilor de bord pentru analiza adnotărilor seturilor de date și a valorilor performanței lucrătorilor pe lacurile de date generate ca ieșire din fluxurile de lucru complexe și obținem informații.
Etichetarea datelor necesită adesea un singur obiect de date pentru a include mai multe tipuri de adnotări sau multi-tip, cum ar fi casetele 2D (casete de delimitare), linii și măști de segmentare, toate pe o singură imagine. În plus, pentru a crea modele de învățare automată de înaltă calitate (ML) folosind date etichetate, aveți nevoie de o modalitate de a monitoriza calitatea etichetelor. Puteți face acest lucru creând un flux de lucru în care datele etichetate să fie auditate și ajustate după cum este necesar. Această postare introduce o soluție pentru a aborda ambele provocări de etichetare folosind un set de date auto și puteți extinde această soluție pentru a fi utilizată cu orice tip de set de date.
Pentru cazul nostru de utilizare, presupuneți că aveți o cantitate mare de date video auto filmate dintr-unul sau mai multe unghiuri pe un vehicul în mișcare (de exemplu, unele Scene de urmărire cu mai multe obiecte (MOT)) și doriți să adnotați datele folosind mai multe tipuri de adnotări. Plănuiți să utilizați aceste date pentru a instrui un control al vitezei de croazieră, algoritm ML de păstrare a benzii. Având în vedere sarcina la îndemână, este imperativ să utilizați etichete de înaltă calitate pentru a instrui modelul.
Mai întâi, trebuie să identificați tipurile de adnotări pe care doriți să le adăugați la cadrele dvs. video. Unele dintre cele mai importante obiecte pe care trebuie să le etichetați pentru acest caz de utilizare sunt alte vehicule din cadru, limitele drumurilor și benzile de rulare. Pentru a face acest lucru, definiți un taxonomie etichetă ierarhică, care definește tipul de etichete pe care doriți să le adăugați la fiecare videoclip și ordinea în care doriți să fie adăugate etichetele. Lucrare de etichetare a urmăririi video Ground Truth acceptă adnotări de casetă de delimitare, polilinie, poligon și punct cheie. În acest caz de utilizare, vehiculele sunt adnotate folosind cutii bidimensionale sau cutii de delimitare, iar limitele și curbele drumului sunt adnotate cu o serie de segmente de linii flexibile, denumite polilinii.
În al doilea rând, trebuie să stabiliți un flux de lucru pentru a asigura calitatea etichetei. Pentru a face acest lucru, puteți crea un flux de lucru de audit pentru a verifica dacă etichetele generate de conducta dvs. sunt de o calitate suficient de ridicată pentru a fi utile pentru instruirea modelului. În acest flux de lucru de audit, puteți îmbunătăți foarte mult acuratețea etichetelor, construind o conductă de revizuire în mai mulți pași care permite auditării adnotărilor și, dacă este necesar, ajustate de un al doilea recenzor care poate fi expert în materie.
Pe baza dimensiunii setului de date și a obiectelor de date, ar trebui să luați în considerare și timpul și resursele necesare pentru a crea și întreține această conductă. În mod ideal, doriți ca această serie de joburi de etichetare să fie pornită automat, necesitând doar o operație umană pentru a specifica datele de intrare și fluxul de lucru.
Soluția utilizată în acest post folosește Ground Truth, Formarea AWS Cloud, Funcții pas și Amazon DynamoDB pentru a crea o serie de joburi de etichetare care rulează în mod paralel și ierarhic. Folosiți o taxonomie ierarhică a etichetelor pentru a crea joburi de etichetare de diferite modalități (linii polilinice și casete de delimitare) și adăugați pași secundari de revizuire umană pentru a îmbunătăți calitatea adnotării și rezultatele finale.
Pentru această postare, demonstrăm soluția în contextul spațiului auto, dar puteți aplica cu ușurință această conductă generală la etichetarea conductelor care implică imagini, videoclipuri, text și multe altele. În plus, demonstrăm un flux de lucru extensibil, permițându-vă să reduceți numărul total de cadre care necesită revizuire umană prin adăugarea de verificări automate ale calității și menținerea calității datelor la scară. În acest caz de utilizare, folosim aceste verificări pentru a găsi anomalii în datele seriilor temporale MOT, cum ar fi adnotările de urmărire a obiectelor video.
Parcurgem un caz de utilizare în care generăm mai multe tipuri de adnotări pentru o scenă auto. Mai exact, executăm patru joburi de etichetare pentru fiecare videoclip video de intrare: o etichetare inițială a vehiculelor, etichetarea inițială a benzilor și apoi o lucrare de ajustare pentru fiecare lucrare inițială cu o forță de muncă separată de asigurare a calității.
Vă demonstrăm diferitele puncte de extensie în fluxul nostru de lucru Funcție pas care vă poate permite să rulați verificări automate de asigurare a calității. Acest lucru permite filtrarea clipurilor între și după finalizarea lucrărilor, ceea ce poate duce la adnotări de înaltă calitate pentru o fracțiune din cost.
Serviciile AWS utilizate pentru implementarea acestei soluții
Această soluție creează și gestionează sarcini de etichetare Ground Truth pentru a eticheta cadre video utilizând mai multe tipuri de adnotări. Ground Truth are suport nativ pentru seturile de date video prin intermediul cadrului său video tip de activitate de urmărire a obiectelor.
Acest tip de sarcină permite lucrătorilor să creeze adnotări pe o serie de cadre video, oferind instrumente pentru a prezice următoarea locație a unei casete de delimitare în cadrele ulterioare. De asemenea, acceptă mai multe tipuri de adnotări, cum ar fi cutii de delimitare sau polilinii fișierele de configurare a categoriei de etichete furnizate în timpul creării de locuri de muncă. Folosim aceste instrumente în acest tutorial, executând o lucrare pentru cutii de limitare a vehiculelor și o lucrare pentru polilinii de bandă.
Folosim funcțiile Step pentru a gestiona sarcina de etichetare. Această soluție rezumă crearea de locuri de muncă de etichetare, astfel încât să specificați fluxul de lucru general pe care doriți să îl rulați utilizând o taxonomie ierarhică a etichetelor, iar toată gestionarea lucrărilor este gestionată de funcțiile pas.
Soluția este implementată utilizând șabloane CloudFormation pe care le puteți implementa în contul dvs. AWS. Interfața soluției este un API gestionat de Gateway API Amazon, care oferă posibilitatea de a trimite sarcini de adnotare soluției, care sunt apoi traduse în lucrări de etichetare Ground Truth.
Costuri estimate
Prin implementarea și utilizarea acestei soluții, veți suporta costul maxim de aproximativ 20 USD, altele decât costurile de etichetare umană, deoarece utilizează resurse de calcul gestionate complet la cerere. Serviciul Amazon de stocare simplă (Amazon S3), AWS Lambdas, Amazon SageMaker, Gateway API, Serviciul de notificare simplă Amazon (Amazon SNS), Serviciul de coadă simplă Amazon (Amazon SQS), AWS Adeziv, și funcțiile Step sunt incluse în Nivelul gratuit AWS, cu taxe pentru utilizare suplimentară. Pentru mai multe informații, consultați următoarele pagini de prețuri:
Prețurile pentru Ground Truth depind de tipul de forță de muncă pe care o utilizați. Dacă sunteți un utilizator nou al Ground Truth, vă sugerăm să utilizați o forță de muncă privată și să vă includeți în calitate de lucrător pentru a testa configurația postului de etichetare. Pentru mai multe informații, consultați Prețul Amazon SageMaker Ground Truth.
Prezentare generală a soluțiilor
În această serie din două părți, discutăm un model de arhitectură care vă permite să construiți o conductă pentru orchestrarea fluxurilor de lucru de etichetare a datelor în mai mulți pași, care au angajații să adauge diferite tipuri de adnotări în paralel folosind Ground Truth. De asemenea, aflați cum puteți analiza adnotările setului de date produse de fluxul de lucru, precum și performanța lucrătorilor. Prima postare acoperă fluxul de lucru Funcții pas care automatizează fluxurile de lucru avansate de etichetare a datelor ML utilizând Ground Truth pentru înlănțuirea și taxonomiile ierarhice ale etichetelor. A doua postare descrie cum să construiți lacuri de date pe adnotările seturilor de date din Adevărul de la sol și valorile lucrătorilor și să utilizați aceste lacuri de date pentru a obține informații sau analiza performanței lucrătorilor dvs. și calitatea adnotării seturilor de date folosind analize avansate.
Următoarea diagramă ilustrează fluxul de lucru ierarhic, pe care îl puteți utiliza pentru a rula grupuri de lucrări de etichetare în pași secvențiali sau nivelurile de, în care fiecare sarcină de etichetare într-un singur nivel rulează în paralel.
Soluția este compusă din două părți principale:
- Utilizați un API pentru a declanșa fluxul de lucru de orchestrare.
- Rulați pașii individuali ai fluxului de lucru pentru a realiza conducta de etichetare.
Declanșați fluxul de lucru de orchestrație cu un API
Șablonul CloudFormation lansat în această soluție folosește API Gateway pentru a expune un punct final pentru a declanșa lucrări de etichetare lot. După ce trimiteți solicitarea de postare către punctul final API Gateway, aceasta rulează o funcție Lambda pentru a declanșa fluxul de lucru.
Următorul tabel conține cele două API-uri principale orientate către utilizator relevante pentru executarea lotului, care reprezintă lucrări de etichetare pe mai multe niveluri.
URL-ul | Tip de solicitare | Descriere |
{endpointUrl} / batch / create | POST | API declanșează un nou lot de lucrări de etichetare |
{endpointUrl} / batch / show | GET | API-urile descriu starea actuală a procesului de executare a lotului |
Rulați fluxul de lucru
Pentru orchestrarea pașilor, folosim funcțiile pas ca soluție gestionată. Când se declanșează API-ul de creare a lucrărilor în serie, o funcție Lambda declanșează un flux de lucru Funcții pas ca următorul. Aceasta începe procesarea intrării adnotărilor.
Să discutăm pașii mai detaliat.
Etapa de transformare
Primul pas este preprocesarea datelor. Implementarea actuală convertește intrările notebook-ului în tip de date fișier manifest intern partajat pe mai mulți pași. În prezent, acest pas nu efectuează nicio procesare complexă, dar puteți personaliza în continuare acest pas adăugând logică personală de preprocesare a datelor la această funcție. De exemplu, dacă setul dvs. de date a fost codificat în videoclipuri brute, puteți efectua împărțirea cadrelor și generarea manifestului în cadrul transformării, mai degrabă decât într-un blocnotes separat. Alternativ, dacă utilizați această soluție pentru a crea o conductă de etichetare în cloud de puncte 3D, poate doriți să adăugați logică pentru a extrage datele de poziționare într-un sistem mondial de coordonate folosind camera și matricele extrinseci LiDAR.
TriggerLabelingFirstLevel
Când preprocesarea datelor este finalizată, operațiunea API Ground Truth CreateLabelingJob este folosit pentru a lansa joburi de etichetare. Aceste lucrări de etichetare sunt responsabile pentru adnotarea seturilor de date care sunt legate de primul nivel.
CheckForFirstLevelComplete
Acest pas așteaptă FIRST_LEVEL
Lucrările de etichetare Ground Truth s-au declanșat din TriggerLabelingFirstStep
. Când declanșatorul jobului este complet, acest pas așteaptă finalizarea tuturor joburilor de etichetare create. O funcție de ascultare externă Lambda monitorizează starea lucrărilor de etichetare și, atunci când toate lucrările de etichetare în așteptare sunt terminate, rulează sendTokenSucess
API pentru a semnaliza această stare pentru a trece la pasul următor. Cazurile de eșec sunt tratate folosind clauze de eroare adecvate și expirări în definiția pasului.
SendSecondLevelSNSAndCheckResponse
Acest pas efectuează postprocesarea la ieșirea jobului de primul nivel. De exemplu, dacă cerințele dvs. sunt de a trimite doar 10% din cadre la joburile de ajustare, puteți implementa această logică aici prin filtrarea setului de ieșiri de la primul job.
TriggerLabelingSecondLevel
Când se finalizează postprocesarea datelor de la primul nivel, CreateLabelingJobs
este folosit pentru a lansa joburi de etichetare pentru a finaliza adnotări la al doilea nivel. În acest stadiu, o forță de muncă privată revizuiește calitatea adnotărilor joburilor de etichetare de primul nivel și actualizează adnotările după cum este necesar.
CheckForSecondLevelComplete
Acest pas este același pas de așteptare ca CheckForFirstLevelComplete
, dar acest pas așteaptă pur și simplu locurile de muncă create de la al doilea nivel.
TrimiteThirdLevelSNSAndCheckResponse
Acest pas este același pas de post-procesare ca și SendSecondLevelSNSAndCheckResponse
, dar acest pas face postprocesarea ieșirii de nivel secundar și se alimentează ca intrare în jobul de etichetare de nivelul trei.
TriggerLabelingThirdLevel
Aceasta este aceeași logică ca și TriggerLabelingSecondLevel
, dar sunt declanșate joburile de etichetare care sunt adnotate ca al treilea nivel. În acest stadiu, forța de muncă privată actualizează adnotări pentru calitatea jobului de etichetare de nivelul doi.
CopyLogsAndSendBatchCompleted
Această funcție Lambda înregistrează și trimite mesaje SNS pentru a anunța utilizatorii că lotul este complet. Este, de asemenea, un substituent pentru orice logică de post-procesare pe care ați putea dori să o rulați. Postprocesarea obișnuită include transformarea datelor etichetate într-un format compatibil cu un format de date specific clientului.
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți următoarele condiții prealabile:
- An Cont AWS.
- Un caiet Gestionarea identității și accesului AWS (IAM) cu permisiunile necesare pentru a finaliza această prezentare. Rolul dvs. IAM trebuie să aibă permisiunile necesare atașate. Dacă nu aveți nevoie de permisiunea granulară, atașați următoarele politici gestionate de AWS:
AmazonS3FullAccess
AmazonAPIGatewayInvokeFullAccess
AmazonSageMakerFullAccess
- Familiarizarea cu Ground Truth, AWS CloudFormation și funcțiile Step.
- Un SageMaker forței de muncă. Pentru acest post, folosim o forță de muncă privată. Puteți crea o forță de muncă pe consola SageMaker. Rețineți Amazon Cognito identificatorul grupului de utilizatori și identificatorul clientului aplicației după crearea forței de muncă. Utilizați aceste valori pentru a spune implementării stivei CloudFormation ce forță de muncă creează echipe de lucru, care reprezintă grupul de etichetatori. Puteți găsi aceste valori în Rezumatul forței de muncă private secțiunea de pe consolă după ce vă creați forța de muncă sau când apelați Descrieți echipa de lucru.
Următorul GIF arată cum să creați o forță de muncă privată. Pentru instrucțiuni pas cu pas, consultați Creați o forță de muncă Amazon Cognito folosind pagina Etichetarea forței de muncă.
Lansați stiva CloudFormation
Acum că am văzut structura soluției, o implementăm în contul nostru, astfel încât să putem rula un exemplu de flux de lucru. Toți pașii noștri de implementare sunt gestionați de AWS CloudFormation - creează resurse în Lambda, Step Functions, DynamoDB și API Gateway.
Puteți lansa stiva în regiunea AWS us-east-1
pe consola CloudFormation alegând Lansați Stack:
Pe consola CloudFormation, selectați În continuare, și apoi modificați următorii parametri șablon pentru a personaliza soluția.
Puteți localiza CognitoUserPoolClientId și CognitoUserPoolId în consola SageMaker.
- CognitoUserPoolClientId: Codul de client al aplicației al forței de muncă private.
- CognitoUserPoolId: ID-ul grupului de utilizatori asociat cu forța de muncă privată.
Pentru a localiza aceste valori în consolă:
- Deschideți consola SageMaker la https://console.aws.amazon.com/sagemaker/
- Selectați Etichetarea forțelor de muncă în panoul de navigare.
- Alegerea Privat
- Folosiți valorile din Rezumatul echipei de lucru private Folosește Clientul aplicației pentru CognitoUserPoolClientId și utilizați Grupul de utilizatori Amazon Cognito pentru CognitoUserPoolId.
Pentru acest tutorial, puteți utiliza valorile implicite pentru următorii parametri.
- GlueJobTriggerCron: Expresie Cron de utilizat atunci când planificați raportarea lucrării cron AWS Glue. Rezultatele adnotărilor generate cu SageMaker Ground Truth și valorile performanței lucrătorilor sunt utilizate pentru a crea un tablou de bord în Amazon QuickSight. Acest lucru va fi explicat în detaliu ca parte a celei de-a doua părți. Rezultatele din adnotările SageMaker și valorile performanței lucrătorilor apar în interogările Athena după procesarea datelor cu AWS Glue. În mod implicit, joburile cron AWS Glue rulează în fiecare oră.
- TimeCompletionTimeout: Număr de secunde de așteptat înainte de a trata o lucrare de etichetare ca eșuată și de a trece la starea BatchError.
- Nivel Logare: Acesta este utilizat intern și poate fi ignorat. Nivel de înregistrare pentru a schimba detaliile jurnalelor. Acceptă valorile DEBUG și PROD.
Prefix: Un prefix de utilizat la numirea resurselor utilizate pentru crearea și gestionarea etichetării joburilor și a valorilor lucrătorilor.
Pentru a lansa stiva într-o altă regiune AWS, utilizați instrucțiunile din README din GitHub depozit.
După ce implementați soluția, două noi echipe de lucru se află în forța de muncă privată pe care ați creat-o mai devreme: smgt-workflow-first-level
și smgt-workflow-second-level
. Acestea sunt echipele de lucru implicite utilizate de soluție dacă nu sunt specificate nicio suprascriere și smgt-workflow-second-level
echipa de lucru este utilizată pentru etichetarea locurilor de muncă de nivelul al doilea și al treilea. Ar trebui să vă adăugați la ambele echipe de lucru pentru a vedea sarcinile de etichetare create de soluție. Pentru a afla cum să vă adăugați la o echipă de lucru privată, consultați Adăugați sau eliminați lucrători.
De asemenea, trebuie să accesați consola API Gateway și să căutați API implementat cu prefix smgt-workflow
și notați ID-ul acestuia. Blocnotesul trebuie să facă referire la acest ID, astfel încât să poată determina ce adresă URL API să apeleze.
Lansați caietul
După ce implementați soluția în contul dvs., sunteți gata să lansați un blocnotes pentru a interacționa cu acesta și pentru a începe noi fluxuri de lucru. În această secțiune, parcurgem următorii pași:
- Configurați și accesați instanța notebook.
- Obțineți exemplul setului de date.
- Pregătiți fișierele de intrare Ground Truth.
Configurați instanța de notebook SageMaker
În acest exemplu de caiet, înveți cum să mapezi o taxonomie simplă constând dintr-o clasă de vehicul și o clasă de bandă în fișierele de configurare a categoriei etichetei Ground Truth. Un fișier de configurare a categoriei de etichete este utilizat pentru a defini etichetele pe care lucrătorii le folosesc pentru adnotarea imaginilor. Apoi, veți afla cum să lansați și să configurați soluția care rulează conducta utilizând un șablon CloudFormation. De asemenea, puteți personaliza în continuare acest cod, de exemplu, personalizând apelul API de creare a lotului pentru a rula etichetarea pentru o combinație diferită de tipuri de activități.
Pentru a crea o instanță de notebook și a accesa notebook-ul folosit în această postare, parcurgeți pașii următori:
- Creați o instanță de notebook cu următorii parametri:
- Utilizați ml.t2.medium pentru a lansa instanța notebook.
- Măriți dimensiunea volumului de stocare ML la cel puțin 10 GB.
- Selectați rolul notebook IAM descris în condiții prealabile. Acest rol permite notebook-ului dvs. să vă încarce setul de date în Amazon S3 și să apeleze API-urile soluției.
- Deschideți Jupyter Lab sau Jupyter în accesați instanțele de notebook.
- În Jupyter, alegeți Exemple SageMaker În Jupyter Lab, alegeți pictograma SageMaker.
- Alege Locuri de muncă de etichetare a adevărului la sol și apoi alegeți slujba sagemaker_ground_truth_workflows.ipynb.
- Dacă utilizați Jupyter, alegeți Utilizare pentru a copia notebook-ul în instanța dvs. și a-l rula. Dacă sunteți în laboratorul Jupyter, alegeți Creați o copie.
Obțineți exemplul setului de date
Parcurgeți următorii pași pentru a configura setul de date:
- Descărcați MOT17.zip folosind Descărcați setul de date secțiunea caietului.
Această descărcare are aproximativ 5 GB și durează câteva minute.
- Dezarhivați MOT17.zip utilizând notebook-ul Dezarhivați setul de date
- Sub Copiați datele în S3 antet, rulați celula pentru a copia un set de seturi de date de cadre video pe Amazon S3.
Pregătiți fișierele de intrare Ground Truth
Pentru a utiliza soluția, trebuie să creăm un fișier manifest. Acest fișier spune Ground Truth unde este setul dvs. de date. De asemenea, avem nevoie de două fișiere de configurare a categoriilor de etichete pentru a descrie numele etichetelor noastre și de instrumentul de etichetare care trebuie utilizat pentru fiecare (casetă de delimitare sau polilinie).
- Rulați celulele sub Generați Manifest pentru a obține o listă de cadre dintr-un videoclip din setul de date. Luăm ca exemplu 150 de cadre la jumătate din rata de cadre.
- Continuați să rulați celulele sub Generați Manifest pentru a crea un fișier de secvență care descrie cadrele noastre video și apoi pentru a crea un fișier manifest referitor la fișierul nostru de secvență.
- Rulați celula sub Generați fișiere de configurare a categoriilor de etichete pentru a crea două fișiere noi: un fișier de configurare a etichetei vehiculului (care utilizează instrumentul casetă de delimitare) și un fișier de configurare a etichetei de bandă (care utilizează instrumentul polilinie).
- Copiați fișierul manifest și etichetați fișierele de configurare a categoriei pe Amazon S3 executând Trimiteți date către S3
În acest moment, ați pregătit toate intrările pentru joburile de etichetare și sunteți gata să începeți să operați soluția.
Pentru a afla mai multe despre sarcinile de etichetare și înlănțuire a cadrelor video Ground Truth, consultați următoarele referințe:
Rulați un exemplu de flux de lucru
În această secțiune, parcurgem pașii pentru a rula un exemplu de flux de lucru pe setul de date auto. Creăm un flux de lucru cu mai multe modalități, realizăm atât etichetarea inițială, cât și etichetarea de audit, apoi vedem adnotările noastre finalizate.
Creați un lot de flux de lucru
Această soluție orchestrează un flux de lucru de joburi de etichetare Ground Truth pentru a rula atât joburi de casetă de delimitare de urmărire a obiectelor video, cât și joburi de polilinie, precum și crearea automată de joburi de ajustare după etichetarea inițială. Acest lot de flux de lucru este configurat prin batch_create
API disponibil soluției.
Rulați celula sub Demo de creare a lotului în caiet. Aceasta trece URI-urile S3 de configurare a manifestului de intrare și a categoriei de etichete la un nou lot de flux de lucru.
Celula ar trebui să afișeze ID-ul lotului de flux de lucru nou creat, de exemplu:
Finalizați prima rundă de sarcini de etichetare
Pentru a simula lucrătorii care finalizează etichetarea, ne conectăm ca lucrător în echipa de lucru de la primul nivel Ground Truth și finalizăm sarcina de etichetare.
- Rulați celula sub Conectați-vă la Portalul lucrătorilor pentru a obține un link pentru a vă conecta la portalul lucrătorilor.
O invitație ar fi trebuit deja trimisă la adresa dvs. de e-mail dacă v-ați invitat la echipele de lucru de nivel întâi și de nivel secundar generate de soluții.
- Conectați-vă și așteptați ca sarcinile să apară în portalul lucrătorului.
Ar trebui să fie disponibile două sarcini, una cu terminarea în vehicle
și una care se termină cu lane
, corespunzător celor două joburi pe care le-am creat în timpul creării lotului de flux de lucru.
- Deschideți fiecare sarcină și adăugați niște etichete fictive alegând și glisând pe cadrele de imagine.
- Alege Trimite mesaj pe fiecare sarcină.
Finalizați a doua rundă de sarcini de etichetare
Fluxul nostru de lucru a specificat că dorim lansarea automată a lucrărilor de ajustare pentru fiecare job de primul nivel. Acum finalizăm a doua rundă de sarcini de etichetare.
- Încă în portalul pentru lucrători, așteptați sarcinile cu
vehicle-audit
șilane-audit
a aparea. - Deschideți fiecare activitate în portalul lucrătorului, menționând că etichetele nivelului anterior sunt încă vizibile.
Aceste sarcini de ajustare ar putea fi îndeplinite de un grup de asigurare a calității mai instruit într-o altă echipă de lucru.
- Efectuați ajustările după cum doriți și alegeți Trece or Eșua la fiecare adnotare.
- Când ai terminat, alege Trimite mesaj.
Vizualizați adnotările finalizate
Putem vizualiza detalii despre lotul de flux de lucru finalizat executând API-ul de prezentare a lotului.
- Rulați celula sub Demonstrație Batch Show.
Aceasta interogă baza de date a soluției pentru toate loturile complete de rulare a fluxului de lucru și ar trebui să afișeze ID-ul lotului când lotul este finalizat.
- Putem obține detalii mai specifice despre un lot rulând celula sub Demonstrație detaliată a lotului.
Aceasta preia ID-ul unui lot din sistem și returnează informații de stare și locațiile tuturor manifestelor de intrare și ieșire pentru fiecare lucrare creată.
- Copiați și introduceți câmpul
jobOutputS3Url
pentru oricare dintre joburi și verificați fișierul manifest pentru jobul respectiv este descărcat.
Acest fișier conține o referință la secvența de date de intrare, precum și URI-ul S3 al adnotărilor de ieșire pentru fiecare secvență.
Rezultate finale
Când toate joburile de etichetare din conductă sunt complete, un mesaj SNS este publicat pe starea implicită subiect SNS. Tu se poate abona la subiecte SNS folosind o adresă de e-mail pentru verificarea funcționalității soluției. Mesajul include ID-ul lotului utilizat în timpul creării lotului, un mesaj despre finalizarea lotului și aceleași informații batch/show
API oferă sub un batchInfo
cheie. Puteți analiza acest mesaj pentru a extrage metadate despre joburile de etichetare finalizate în al doilea nivel al conductei.
În cadrul fiecărui blob metadate job, a jobOutputS3Url
câmpul conține o adresă URL presemnată pentru a accesa manifestul de ieșire al acestui job special. Manifestul de ieșire conține rezultatele etichetării datelor în format manifest augmentat, pe care le puteți analiza pentru a prelua adnotări indexând obiectul JSON cu <jobName>-ref
. Acest câmp indică o locație S3 care conține toate adnotările pentru videoclipul dat.
De exemplu, pentru joburile de casetă de delimitare, SeqLabel.json
fișierul conține adnotări de casetă de delimitare pentru fiecare cadru adnotat (în acest caz, doar primul cadru este adnotat):
Deoarece mesajul SNS de finalizare a lotului conține toate fișierele manifest de ieșire din joburile lansate în paralel, puteți efectua orice postprocesare a adnotărilor dvs. pe baza acestui mesaj. De exemplu, dacă aveți un format de serializare specific pentru aceste adnotări care combină casetele de delimitare a vehiculului și adnotările benzii, puteți obține manifestul de ieșire al lucrării de bandă, precum și jobul vehiculului, apoi fuzionați în funcție de numărul cadrului și convertiți la dorința dorită format final.
Pentru a afla mai multe despre formatele de date de ieșire Ground Truth, consultați Date de ieșire.
A curăța
Pentru a evita costurile viitoare, rulați A curăța secțiunea notebookului pentru a șterge toate resursele, inclusiv obiectele S3 și stiva CloudFormation. Când ștergerea este completă, asigurați-vă că opriți și ștergeți instanța de notebook care găzduiește scriptul de notebook actual.
Concluzie
Această serie din două părți vă oferă o arhitectură de referință pentru a construi un flux de lucru avansat de etichetare a datelor format dintr-o conductă de etichetare a datelor în mai mulți pași, lucrări de ajustare și lacuri de date pentru adnotările de seturi de date corespunzătoare și metricele lucrătorilor, precum și tablouri de bord actualizate.
În această postare, ați învățat cum să luați date de cadre video și să declanșați un flux de lucru pentru a rula mai multe joburi de etichetare Ground Truth, generând două tipuri diferite de adnotări (casete de delimitare și linii polilinice). De asemenea, ați aflat cum puteți extinde conducta pentru a audita și verifica setul de date etichetat și cum să preluați rezultatele auditate. În cele din urmă, ați văzut cum să faceți referire la progresul curent al lucrărilor batch folosind API-ul BatchShow.
Pentru mai multe informații despre lacul de date pentru adnotările setului de date Ground Truth și valorile lucrătorilor din Ground Truth, reveniți la Blogul Ground Adevăr pentru a doua postare de blog din această serie (în curând).
Încercați caiet și personalizați-l pentru seturile de date de intrare adăugând joburi suplimentare sau pași de audit sau modificând modalitatea de date a joburilor. Personalizarea ulterioară a soluţie ar putea include, dar nu se limitează la:
- Adăugarea unor tipuri suplimentare de adnotări, cum ar fi măști de segmentare semantice sau puncte cheie
- Adăugarea asigurării automate a calității și filtrarea la fluxul de lucru Funcții pas pentru a trimite adnotări de calitate scăzută la următorul nivel de revizuire
- Adăugarea al treilea sau al patrulea nivel de evaluare a calității pentru tipuri de recenzii suplimentare, mai specializate
Această soluție este construită folosind tehnologii fără server, pe lângă funcțiile Step, ceea ce o face extrem de personalizabilă și aplicabilă pentru o mare varietate de aplicații.
Despre Autori
Vidya Sagar Ravipati este un arhitect de învățare profundă la Laboratorul Amazon ML Solutions, unde își folosește vasta experiență în sisteme distribuite pe scară largă și pasiunea sa pentru învățarea automată pentru a ajuta clienții AWS din diferite verticale ale industriei să-și accelereze adoptarea AI și cloud. Anterior, a fost inginer de învățare automată în servicii de conectivitate la Amazon, care a contribuit la construirea platformelor de personalizare și de întreținere predictivă.
Jeremy Feltracco este inginer de dezvoltare software la Amazon ML Solutions Lab la Amazon Web Services. El își folosește experiența în viziune computerizată, robotică și învățare automată pentru a ajuta clienții AWS să accelereze adoptarea AI.
Jae Sung Jang este inginer de dezvoltare software. Pasiunea sa constă în automatizarea procesului manual folosind soluții AI și tehnologii Orchestration pentru a asigura execuția afacerii.
Talia Chopra este un scriitor tehnic în AWS specializat în învățare automată și inteligență artificială. Lucrează cu mai multe echipe în AWS pentru a crea documentație tehnică și tutoriale pentru clienții care utilizează Amazon SageMaker, MxNet și AutoGluon.
- "
- 100
- 107
- 3d
- 7
- 98
- acces
- Cont
- Suplimentar
- Adoptare
- AI
- Adopție AI
- Algoritmul
- TOATE
- Permiterea
- Amazon
- Amazon SageMaker
- Amazon SageMaker Ground Adevăr
- Amazon Web Services
- Google Analytics
- api
- API-uri
- aplicaţia
- aplicatii
- arhitectură
- inteligență artificială
- de audit
- Automata
- auto
- AWS
- Blog
- Cutie
- construi
- Clădire
- afaceri
- apel
- cazuri
- Schimbare
- taxe
- Verificări
- Cloud
- adoptarea norului
- cod
- venire
- Comun
- Calcula
- Computer Vision
- Suport conectare
- Cheltuieli
- Crearea
- croazieră
- Curent
- Starea curenta
- clienţii care
- tablou de bord
- de date
- Lacul de date
- calitatea datelor
- Baza de date
- învățare profundă
- Cerere
- detaliu
- Dezvoltare
- Punct final
- inginer
- execuție
- Eșec
- Modă
- First
- format
- Gratuit
- funcţie
- viitor
- General
- gif
- grup
- aici
- Înalt
- găzduire
- Cum
- Cum Pentru a
- HTTPS
- IAM
- ICON
- identifica
- Identitate
- imagine
- Inclusiv
- industrie
- informații
- perspective
- Inteligență
- IT
- Loc de munca
- Locuri de munca
- Cheie
- etichetarea
- etichete
- mare
- lansa
- AFLAȚI
- învățat
- învăţare
- Nivel
- trata
- Limitat
- LINK
- Listă
- locaţie
- masina de învățare
- administrare
- Hartă
- Măști
- mediu
- Metrici
- ML
- model
- nume
- Navigare
- notificare
- de operare
- comandă
- Altele
- Model
- performanță
- personalizare
- Platforme
- Politicile
- piscină
- Portal
- de stabilire a prețurilor
- privat
- Produs
- calitate
- Crud
- reduce
- Cerinţe
- Resurse
- REZULTATE
- Returnează
- revizuiască
- Recenzii
- robotica
- Alerga
- funcţionare
- sagemaker
- Scară
- secundar
- serie
- serverless
- Servicii
- set
- comun
- simplu
- Mărimea
- So
- Software
- de dezvoltare de software
- soluţii
- Spaţiu
- Etapă
- Începe
- început
- Stat
- Statele
- Stare
- depozitare
- succes
- a sustine
- Sprijină
- sistem
- sisteme
- Tehnic
- Tehnologii
- spune
- test
- timp
- semn
- top
- Urmărire
- Pregătire
- Transformare
- tratare
- tutorial
- tutoriale
- actualizări
- URI
- utilizatorii
- vehicul
- Vehicule
- Video
- Video
- Vizualizare
- viziune
- volum
- aștepta
- web
- servicii web
- OMS
- în
- Apartamente
- muncitorii
- flux de lucru
- Forta de munca
- fabrică
- lume
- scriitor