Pose-schatting is een computervisietechniek die een reeks punten op objecten (zoals mensen of voertuigen) in afbeeldingen of video's detecteert. Pose-schatting heeft toepassingen in de echte wereld in de sport, robotica, beveiliging, augmented reality, media en entertainment, medische toepassingen en meer. Pose-schattingsmodellen worden getraind op afbeeldingen of video's die zijn geannoteerd met een consistente reeks punten (coรถrdinaten) gedefinieerd door een rig. Om nauwkeurige pose-schattingsmodellen te trainen, moet u eerst een grote dataset met geannoteerde afbeeldingen verwerven; Veel datasets bevatten tien- of honderdduizenden geannoteerde afbeeldingen en het opbouwen ervan vergt aanzienlijke middelen. Het is belangrijk om etiketteringsfouten te identificeren en te voorkomen, omdat de modelprestaties voor pose-schattingsmodellen sterk worden beรฏnvloed door de gelabelde gegevenskwaliteit en het gegevensvolume.
In dit bericht laten we zien hoe u een aangepaste labelworkflow kunt gebruiken Amazon SageMaker Grondwaarheid speciaal ontworpen voor keypoint-labeling. Deze aangepaste workflow helpt het labelproces te stroomlijnen en labelfouten te minimaliseren, waardoor de kosten voor het verkrijgen van hoogwaardige pose-labels worden verlaagd.
Belang van gegevens van hoge kwaliteit en het verminderen van etiketteringsfouten
Gegevens van hoge kwaliteit zijn van fundamenteel belang voor het trainen van robuuste en betrouwbare pose-schattingsmodellen. De nauwkeurigheid van deze modellen hangt rechtstreeks samen met de juistheid en precisie van de labels die aan elk pose-keypoint zijn toegewezen, wat op zijn beurt afhangt van de effectiviteit van het annotatieproces. Bovendien zorgt het beschikken over een aanzienlijk volume aan diverse en goed geannoteerde gegevens ervoor dat het model een breed scala aan poses, variaties en scenario's kan leren, wat leidt tot verbeterde generalisatie en prestaties in verschillende toepassingen in de echte wereld. Bij de verwerving van deze grote, geannoteerde datasets zijn menselijke annotators betrokken die afbeeldingen zorgvuldig labelen met pose-informatie. Bij het labelen van interessante punten in de afbeelding is het handig om tijdens het labelen de skeletstructuur van het object te zien, zodat de annotator visuele begeleiding krijgt. Dit is handig voor het identificeren van labelfouten voordat ze in de dataset worden opgenomen, zoals links-rechts-wissels of verkeerde labels (zoals het markeren van een voet als schouder). Een labelfout, zoals de links-rechts-wissel in het volgende voorbeeld, kan bijvoorbeeld gemakkelijk worden geรฏdentificeerd door het kruisen van de skeletlijnen en het niet overeenkomen van de kleuren. Deze visuele aanwijzingen helpen labelers fouten te herkennen en zullen resulteren in een schonere set labels.
Vanwege het handmatige karakter van labelen kan het verkrijgen van grote en nauwkeurige gelabelde datasets kostbaar zijn, en nog meer met een inefficiรซnt labelsysteem. Daarom zijn efficiรซntie en nauwkeurigheid van etiketteren van cruciaal belang bij het ontwerpen van uw etiketteerworkflow. In dit bericht laten we zien hoe u een aangepaste SageMaker Ground Truth-labelworkflow kunt gebruiken om snel en nauwkeurig afbeeldingen te annoteren, waardoor de last van het ontwikkelen van grote datasets voor workflows voor het schatten van poses wordt verminderd.
Overzicht van de oplossing
Deze oplossing biedt een online webportaal waar het labelpersoneel een webbrowser kan gebruiken om in te loggen, toegang te krijgen tot labeltaken en aantekeningen te maken bij afbeeldingen met behulp van de crowd-2d-skeleton gebruikersinterface (UI), een aangepaste gebruikersinterface ontworpen voor keypoint- en pose-labeling met behulp van SageMaker grondwaarheid. De annotaties of labels die door het labelpersoneel zijn gemaakt, worden vervolgens geรซxporteerd naar een Amazon eenvoudige opslagservice (Amazon S3) bucket, waar ze kunnen worden gebruikt voor downstream-processen zoals het trainen van deep learning computer vision-modellen. Deze oplossing begeleidt u bij het instellen en implementeren van de benodigde componenten om een โโwebportaal te maken, en bij het maken van labeltaken voor deze labelworkflow.
Het volgende is een diagram van de algemene architectuur.
Deze architectuur bestaat uit verschillende belangrijke componenten, die we in de volgende paragrafen allemaal gedetailleerder uitleggen. Deze architectuur biedt het labelpersoneel een online webportaal dat wordt gehost door SageMaker Ground Truth. Via dit portaal kan elke labeler inloggen en zijn labeltaken bekijken. Nadat ze zijn ingelogd, kan de labeler een labeltaak selecteren en beginnen met het annoteren van afbeeldingen met behulp van de aangepaste gebruikersinterface die wordt gehost door Amazon CloudFront. We gebruiken AWS Lambda functies voor gegevensverwerking vรณรณr en na de annotatie.
De volgende schermafbeelding is een voorbeeld van de gebruikersinterface.
De labeler kan specifieke kernpunten op de afbeelding markeren met behulp van de gebruikersinterface. De lijnen tussen belangrijke punten worden automatisch voor de gebruiker getekend op basis van een skeletdefinitie die de gebruikersinterface gebruikt. De gebruikersinterface maakt veel aanpassingen mogelijk, zoals de volgende:
- Aangepaste sleutelpuntnamen
- Configureerbare keypoint-kleuren
- Configureerbare riglijnkleuren
- Configureerbare skelet- en rig-structuren
Elk van deze zijn gerichte functies om het gemak en de flexibiliteit van het labelen te verbeteren. Specifieke details over de aanpassing van de gebruikersinterface zijn te vinden in de GitHub repo en worden verderop in dit bericht samengevat. Houd er rekening mee dat we in dit bericht de schatting van de menselijke pose gebruiken als basistaak, maar u kunt deze uitbreiden naar het labelen van de objectpositie met een vooraf gedefinieerde tool voor andere objecten, zoals dieren of voertuigen. In het volgende voorbeeld laten we zien hoe dit kan worden toegepast om de wissels van een bakwagen te labelen.
SageMaker Grondwaarheid
In deze oplossing gebruiken we SageMaker Ground Truth om het labelpersoneel een online portal te bieden en een manier om labeltaken te beheren. In dit bericht wordt ervan uitgegaan dat je bekend bent met SageMaker Ground Truth. Voor meer informatie, zie Amazon SageMaker Grondwaarheid.
CloudFront-distributie
Voor deze oplossing vereist de gebruikersinterface voor labelen een op maat gemaakte JavaScript-component, de crowd-2d-skeleton-component. Dit onderdeel is te vinden op GitHub als onderdeel van de open source-initiatieven van Amazon. De CloudFront-distributie zal worden gebruikt om de crowd-2d-skeleton.js, wat nodig is voor de gebruikersinterface van SageMaker Ground Truth. Aan de CloudFront-distributie wordt een origin access-identiteit toegewezen, waardoor de CloudFront-distributie toegang krijgt tot de crowd-2d-skeleton.js die zich in de S3-bucket bevindt. De S3-bucket blijft privรฉ en er zullen geen andere objecten in deze bucket beschikbaar zijn via de CloudFront-distributie vanwege beperkingen die we opleggen aan de oorsprongstoegangsidentiteit via een bucketbeleid. Dit is een aanbevolen praktijk voor het volgen van het beginsel van de minste privileges.
Amazon S3-emmer
We gebruiken de S3-bucket om de SageMaker Ground Truth-invoer- en uitvoermanifestbestanden, de aangepaste UI-sjabloon, afbeeldingen voor de labeltaken en de JavaScript-code die nodig is voor de aangepaste UI op te slaan. Deze bucket is privรฉ en niet toegankelijk voor het publiek. De bucket heeft ook een bucketbeleid dat de CloudFront-distributie beperkt tot alleen toegang tot de JavaScript-code die nodig is voor de gebruikersinterface. Dit voorkomt dat de CloudFront-distributie een ander object in de S3-bucket host.
Pre-annotatie Lambda-functie
SageMaker Ground Truth-labeltaken gebruiken doorgaans een invoermanifestbestand in JSON Lines-indeling. Dit invoermanifestbestand bevat metagegevens voor een labeltaak, fungeert als verwijzing naar de gegevens die moeten worden gelabeld en helpt bij het configureren hoe de gegevens aan de annotators moeten worden gepresenteerd. De pre-annotatie Lambda-functie verwerkt items uit het invoermanifestbestand voordat de manifestgegevens worden ingevoerd in de aangepaste UI-sjabloon. Dit is waar eventuele opmaak of speciale wijzigingen aan de items kunnen worden aangebracht voordat de gegevens aan de annotators in de gebruikersinterface worden gepresenteerd. Zie voor meer informatie over pre-annotatie Lambda-functies Pre-annotatie Lambda.
Lambda-functie na annotatie
Vergelijkbaar met de pre-annotatie Lambda-functie, verwerkt de post-annotatiefunctie aanvullende gegevensverwerking die u mogelijk wilt uitvoeren nadat alle labelers klaar zijn met het labelen, maar voordat de definitieve annotatie-uitvoerresultaten worden geschreven. Deze verwerking wordt uitgevoerd door een Lambda-functie, die verantwoordelijk is voor het formatteren van de gegevens voor de uitvoerresultaten van de labeltaak. In deze oplossing gebruiken we het eenvoudigweg om de gegevens in het gewenste uitvoerformaat te retourneren. Zie voor meer informatie over Lambda-functies na annotatie Post-annotatie Lambda.
Post-annotatie Lambda-functierol
We gebruiken een AWS Identiteits- en toegangsbeheer (IAM) -rol om de Lambda-functie na de annotatie toegang te geven tot de S3-bucket. Dit is nodig om de annotatieresultaten te lezen en eventuele wijzigingen aan te brengen voordat de definitieve resultaten naar het uitvoermanifestbestand worden geschreven.
SageMaker Ground Truth-rol
We gebruiken deze IAM-rol om de SageMaker Ground Truth-labeltaak de mogelijkheid te geven de Lambda-functies aan te roepen en de afbeeldingen, manifestbestanden en aangepaste UI-sjabloon in de S3-bucket te lezen.
Voorwaarden
Voor deze walkthrough moet u aan de volgende vereisten voldoen:
Voor deze oplossing gebruiken we de AWS CDK om de architectuur te implementeren. Vervolgens maken we een voorbeeld van een labeltaak, gebruiken we het annotatieportaal om de afbeeldingen in de labeltaak te labelen en onderzoeken we de labelresultaten.
Maak de AWS CDK-stack
Nadat u aan alle vereisten hebt voldaan, bent u klaar om de oplossing te implementeren.
Stel uw bronnen in
Voer de volgende stappen uit om uw bronnen in te stellen:
- Download de voorbeeldstack van de GitHub repo.
- Gebruik het cd-commando om naar de repository te gaan.
- Creรซer uw Python-omgeving en installeer de vereiste pakketten (zie de repository README.md voor meer details).
- Terwijl uw Python-omgeving is geactiveerd, voert u de volgende opdracht uit:
- Voer de volgende opdracht uit om de AWS CDK te implementeren:
- Voer de volgende opdracht uit om het script na de implementatie uit te voeren:
Een labeltaak maken
Nadat u uw resources hebt ingesteld, bent u klaar om een โโlabeltaak te maken. Voor de doeleinden van dit bericht maken we een labeltaak met behulp van de voorbeeldscripts en afbeeldingen in de repository.
- CD in de
scripts
map in de repository. - Download de voorbeeldafbeeldingen van internet door de volgende code uit te voeren:
Dit script downloadt een set van 10 afbeeldingen, die we gebruiken in ons voorbeeld van een labeltaak. We bespreken later in dit bericht hoe u uw eigen aangepaste invoergegevens kunt gebruiken.
- Maak een labeltaak door de volgende code uit te voeren:
Dit script neemt een SageMaker Ground Truth privรฉ-personeels-ARN als argument, wat de ARN zou moeten zijn voor een personeelsbestand dat u heeft in hetzelfde account waarin u deze architectuur heeft geรฏmplementeerd. Het script maakt het invoermanifestbestand voor onze labeltaak, uploadt het naar Amazon S3 en maakt een aangepaste labeltaak van SageMaker Ground Truth. Later in dit bericht gaan we dieper in op de details van dit script.
Label de dataset
Nadat u de voorbeeldlabeltaak hebt gestart, verschijnt deze zowel op de SageMaker-console als op het personeelsportaal.
Selecteer in het personeelsportaal de labeltaak en kies Begin met werken.
U krijgt een afbeelding te zien uit de voorbeeldgegevensset. Op dit punt kunt u de aangepaste crowd-2d-skeleton-gebruikersinterface gebruiken om aantekeningen bij de afbeeldingen te maken. U kunt vertrouwd raken met de crowd-2d-skeleton-gebruikersinterface door te verwijzen naar Overzicht gebruikersinterface. We gebruiken de rig-definitie uit de COCO-dataset-uitdaging voor sleutelpuntdetectie als het menselijke pose-tuig. Nogmaals: u kunt dit aanpassen zonder onze aangepaste UI-component om punten te verwijderen of toe te voegen op basis van uw vereisten.
Wanneer u klaar bent met het annoteren van een afbeelding, kiest u Verzenden. Hierdoor gaat u naar de volgende afbeelding in de dataset totdat alle afbeeldingen zijn gelabeld.
Toegang tot de labelresultaten
Wanneer u klaar bent met het labelen van alle afbeeldingen in de labeltaak, zal SageMaker Ground Truth de post-annotatie Lambda-functie aanroepen en een output.manifest-bestand produceren dat alle annotaties bevat. Dit output.manifest
wordt opgeslagen in de S3-emmer. In ons geval moet de locatie van het uitvoermanifest het S3-URI-pad volgen s3://<bucket name> /labeling_jobs/output/<labeling job name>/manifests/output/output.manifest
. Het output.manifest-bestand is een JSON Lines-bestand, waarbij elke regel overeenkomt met een enkele afbeelding en de bijbehorende annotaties van het labelpersoneel. Elk JSON Lines-item is een JSON-object met veel velden. Het veld waarin we geรฏnteresseerd zijn heet label-results
. De waarde van dit veld is een object dat de volgende velden bevat:
- dataset_object_id โ De ID of index van het invoermanifestitem
- data_object_s3_uri โ De Amazon S3-URI van de afbeelding
- afbeelding_bestandsnaam โ De bestandsnaam van de afbeelding
- afbeelding_s3_locatie โ De Amazon S3-URL van de afbeelding
- originele_annotaties โ De originele annotaties (alleen ingesteld en gebruikt als u een pre-annotatieworkflow gebruikt)
- bijgewerkte_annotaties โ De annotaties voor de afbeelding
- werknemer_id โ De medewerker die de aantekeningen heeft gemaakt
- geen_wijzigingen_nodig โ Of het selectievakje Geen wijzigingen nodig is ingeschakeld
- was_gemodificeerd โ Of de annotatiegegevens verschillen van de oorspronkelijke invoergegevens
- totale_tijd_in_seconden โ De tijd die de medewerker nodig had om de afbeelding te annoteren
Met deze velden heeft u toegang tot uw annotatieresultaten voor elke afbeelding en kunt u berekeningen uitvoeren, zoals de gemiddelde tijd om een โโafbeelding te labelen.
Creรซer uw eigen labeltaken
Nu we een voorbeeld van een labeltaak hebben gemaakt en u het algehele proces begrijpt, begeleiden we u door de code die verantwoordelijk is voor het maken van het manifestbestand en het starten van de labeltaak. We concentreren ons op de belangrijkste delen van het script die u mogelijk wilt wijzigen om uw eigen labeltaken te starten.
We behandelen fragmenten code uit de create_example_labeling_job.py
script dat zich in de GitHub-repository. Het script begint met het instellen van variabelen die later in het script worden gebruikt. Sommige variabelen zijn voor de eenvoud hardgecodeerd, terwijl andere, die stapelafhankelijk zijn, tijdens runtime dynamisch worden geรฏmporteerd door de waarden op te halen die zijn gemaakt op basis van onze AWS CDK-stack.
Het eerste sleutelgedeelte in dit script is het maken van het manifestbestand. Bedenk dat het manifestbestand een JSON-regelsbestand is dat de details bevat voor een SageMaker Ground Truth-labeltaak. Elk JSON Lines-object vertegenwoordigt รฉรฉn item (bijvoorbeeld een afbeelding) dat moet worden gelabeld. Voor deze workflow moet het object de volgende velden bevatten:
- bron-ref โ De Amazon S3-URI naar de afbeelding die u wilt labelen.
- annotaties โ Een lijst met annotatieobjecten, die wordt gebruikt voor het vooraf annoteren van workflows. Zie de crowd-2d-skelet documentatie voor meer details over de verwachte waarden.
Het script maakt een manifestregel voor elke afbeelding in de afbeeldingsmap met behulp van het volgende codegedeelte:
Als u andere afbeeldingen wilt gebruiken of naar een andere afbeeldingsmap wilt verwijzen, kunt u dat gedeelte van de code wijzigen. Als u een pre-annotatieworkflow gebruikt, kunt u bovendien de annotatiematrix bijwerken met een JSON-tekenreeks die bestaat uit de array en alle bijbehorende annotatieobjecten. De details van het formaat van deze array zijn gedocumenteerd in de crowd-2d-skelet documentatie.
Nu de manifestregelitems zijn gemaakt, kunt u het manifestbestand maken en uploaden naar de S3-bucket die u eerder heeft gemaakt:
Nu u een manifestbestand hebt gemaakt met de afbeeldingen die u wilt labelen, kunt u een labeltaak maken. U kunt de labeltaak programmatisch maken met behulp van de AWS SDK voor Python (Boto3). De code voor het maken van een labeltaak is als volgt:
De aspecten van deze code die u mogelijk wilt wijzigen, zijn: LabelingJobName
, TaskTitle
en TaskDescription
. De LabelingJobName
is de unieke naam van de labeltaak die SageMaker zal gebruiken om naar uw taak te verwijzen. Dit is ook de naam die op de SageMaker-console zal verschijnen. TaskTitle
dient een soortgelijk doel, maar hoeft niet uniek te zijn en zal de naam zijn van de functie die in het personeelsportaal verschijnt. Misschien wilt u deze specifieker maken voor wat u labelt of waarvoor de labeltaak is. Als laatste hebben we de TaskDescription
veld. Dit veld verschijnt in het personeelsportaal om de labelers extra context te bieden over wat de taak is, zoals instructies en begeleiding voor de taak. Voor meer informatie over deze en de andere velden raadpleegt u de create_labeling_job-documentatie.
Breng aanpassingen aan in de gebruikersinterface
In dit gedeelte bespreken we enkele manieren waarop u de gebruikersinterface kunt aanpassen. Hieronder volgt een lijst met de meest voorkomende mogelijke aanpassingen aan de gebruikersinterface, zodat u deze kunt aanpassen aan uw modelleringstaak:
- U kunt definiรซren welke kernpunten kunnen worden gelabeld. Dit omvat de naam van het keypoint en de kleur ervan.
- Je kunt de structuur van het skelet wijzigen (welke sleutelpunten met elkaar verbonden zijn).
- U kunt de lijnkleuren voor specifieke lijnen tussen specifieke hoofdpunten wijzigen.
Al deze UI-aanpassingen kunnen worden geconfigureerd via argumenten die worden doorgegeven aan de crowd-2d-skeleton-component, de JavaScript-component die in deze versie wordt gebruikt. aangepaste workflowsjabloon. In deze sjabloon vindt u het gebruik van de crowd-2d-skeleton-component. Een vereenvoudigde versie wordt weergegeven in de volgende code:
In het voorgaande codevoorbeeld ziet u de volgende kenmerken van de component: imgSrc
, keypointClasses
, skeletonRig
, skeletonBoundingBox
en intialValues
. We beschrijven het doel van elk attribuut in de volgende secties, maar het aanpassen van de gebruikersinterface is net zo eenvoudig als het wijzigen van de waarden voor deze attributen, het opslaan van de sjabloon en het opnieuw uitvoeren van de post_deployment_script.py
wij gebruikten eerder.
imgSrc-kenmerk
De imgSrc
attribuut bepaalt welke afbeelding in de gebruikersinterface moet worden weergegeven bij het labelen. Normaal gesproken wordt voor elk manifestregelitem een โโandere afbeelding gebruikt, dus dit kenmerk wordt vaak dynamisch ingevuld met behulp van het ingebouwde kenmerk Vloeistof sjabloontaal. In het vorige codevoorbeeld kunt u zien waar de attribuutwaarde op is ingesteld {{ task.input.image_s3_uri | grant_read_access }}
, wat een Liquid-sjabloonvariabele is die wordt vervangen door de actual image_s3_uri
waarde wanneer de sjabloon wordt weergegeven. Het weergaveproces begint wanneer de gebruiker een afbeelding opent voor annotatie. Dit proces haalt een regelitem uit het invoermanifestbestand en stuurt dit als een pre-annotatie Lambda-functie naar de pre-annotatie Lambda-functie. event.dataObject
. De pre-annotatiefunctie haalt de benodigde informatie uit het regelitem en retourneert a taskInput
woordenboek, dat vervolgens wordt doorgegeven aan de Liquid-renderingengine, die alle Liquid-variabelen in uw sjabloon zal vervangen. Stel dat u bijvoorbeeld een manifestbestand heeft met de volgende regel:
Deze gegevens worden doorgegeven aan de pre-annotatiefunctie. De volgende code laat zien hoe de functie de waarden uit het gebeurtenisobject extraheert:
Het object dat in dit geval door de functie wordt geretourneerd, ziet er als de volgende code uit:
De geretourneerde gegevens van de functie zijn vervolgens beschikbaar voor de Liquid-sjabloonengine, die de sjabloonwaarden in de sjabloon vervangt door de gegevenswaarden die door de functie worden geretourneerd. Het resultaat zou ongeveer de volgende code zijn:
keypointClasses-kenmerk
De keypointClasses
attribuut definieert welke sleutelpunten in de gebruikersinterface verschijnen en door de annotators worden gebruikt. Dit kenmerk heeft een JSON-tekenreeks nodig die een lijst met objecten bevat. Elk object vertegenwoordigt een sleutelpunt. Elk keypoint-object moet de volgende velden bevatten:
- id โ Een unieke waarde om dat kernpunt te identificeren.
- kleur โ De kleur van het hoofdpunt, weergegeven als een HTML-hexadecimale kleur.
- label โ De naam of keypoint-klasse.
- x โ Dit optionele attribuut is alleen nodig als u de functionaliteit voor het tekenen van skeletten in de gebruikersinterface wilt gebruiken. De waarde voor dit attribuut is de x-positie van het hoofdpunt ten opzichte van het kader van het skelet. Deze waarde wordt meestal verkregen door de Skeleton Rig Creator-tool. Als u keypoint-annotaties maakt en niet in รฉรฉn keer een volledig skelet hoeft te tekenen, kunt u deze waarde instellen op 0.
- y โ Dit optionele attribuut is vergelijkbaar met x, maar dan voor de verticale dimensie.
Voor meer informatie over de keypointClasses
attribuut, zie de keypointClasses-documentatie.
skeletonRig-kenmerk
De skeletonRig
attribuut bepaalt tussen welke sleutelpunten lijnen moeten worden getrokken. Voor dit kenmerk is een JSON-tekenreeks nodig die een lijst met sleutelpuntlabelparen bevat. Elk paar informeert de gebruikersinterface tussen welke sleutelpunten lijnen moeten worden getrokken. Bijvoorbeeld, '[["left_ankle","left_knee"],["left_knee","left_hip"]]'
informeert de gebruikersinterface om lijnen ertussen te trekken "left_ankle"
en "left_knee"
en teken er lijnen tussen "left_knee"
en "left_hip"
. Dit kan worden gegenereerd door de Skeleton Rig Creator-tool.
skeletonBoundingBox-kenmerk
De skeletonBoundingBox
attribuut is optioneel en alleen nodig als u de functionaliteit voor het tekenen van skeletten in de gebruikersinterface wilt gebruiken. De functionaliteit voor het tekenen van skeletten is de mogelijkheid om hele skeletten te annoteren met een enkele annotatieactie. We behandelen deze functie niet in dit bericht. De waarde voor dit attribuut zijn de afmetingen van het kader van het skelet. Deze waarde wordt meestal verkregen door de Skeleton Rig Creator-tool. Als u keypoint-annotaties maakt en niet in รฉรฉn keer een volledig skelet hoeft te tekenen, kunt u deze waarde op nul instellen. Het wordt aanbevolen om de tool Skeleton Rig Creator te gebruiken om deze waarde te verkrijgen.
attribuut initialValues
De initialValues
attribuut wordt gebruikt om de gebruikersinterface vooraf in te vullen met annotaties die zijn verkregen uit een ander proces (zoals een andere labeltaak of een machine learning-model). Dit is handig bij het uitvoeren van aanpassings- of revisietaken. De gegevens voor dit veld worden doorgaans dynamisch ingevuld in dezelfde beschrijving voor de imgSrc
attribuut. Meer details vindt u in de crowd-2d-skelet documentatie.
Opruimen
Om toekomstige kosten te voorkomen, moet u de objecten in uw S3-bucket en uw AWS CDK-stack verwijderen. U kunt uw S3-objecten verwijderen via de Amazon SageMaker-console of de AWS-opdrachtregelinterface (AWS CLI). Nadat u alle S3-objecten in de bucket hebt verwijderd, kunt u de AWS CDK vernietigen door de volgende code uit te voeren:
Hiermee worden de bronnen verwijderd die u eerder hebt gemaakt.
Overwegingen
Mogelijk zijn er extra stappen nodig om uw workflow te productioniseren. Hier volgen enkele overwegingen, afhankelijk van het risicoprofiel van uw organisatie:
- Toegang en applicatieregistratie toevoegen
- Een webapplicatiefirewall (WAF) toevoegen
- IAM-machtigingen aanpassen om de minste bevoegdheden te volgen
Conclusie
In dit bericht deelden we het belang van de efficiรซntie en nauwkeurigheid van het labelen bij het bouwen van datasets voor pose-schatting. Om u bij beide items te helpen, hebben we laten zien hoe u SageMaker Ground Truth kunt gebruiken om aangepaste etiketteringsworkflows te bouwen ter ondersteuning van skeletgebaseerde pose-etiketteringstaken, met als doel de efficiรซntie en precisie tijdens het etiketteringsproces te verbeteren. We hebben laten zien hoe u de code en voorbeelden verder kunt uitbreiden naar verschillende aangepaste etiketteringsvereisten voor pose-schatting.
We raden u aan deze oplossing te gebruiken voor uw etiketteringstaken en om contact op te nemen met AWS voor hulp of vragen met betrekking tot aangepaste etiketteringsworkflows.
Over de auteurs
Arthur Putname is een full-stack datawetenschapper in AWS Professional Services. Arthur's expertise concentreert zich op het ontwikkelen en integreren van front-end en back-end technologieรซn in AI-systemen. Buiten zijn werk houdt Arthur ervan om de nieuwste technologische ontwikkelingen te ontdekken, tijd door te brengen met zijn gezin en te genieten van het buitenleven.
Ben Fenker is een Senior Data Scientist in AWS Professional Services en heeft klanten geholpen bij het bouwen en implementeren van ML-oplossingen in sectoren variรซrend van sport tot gezondheidszorg tot productie. Hij heeft een Ph.D. in natuurkunde van Texas A&M University en 6 jaar ervaring in de industrie. Ben houdt van honkbal, lezen en het opvoeden van zijn kinderen.
Jarvis Lee is een Senior Data Scientist bij AWS Professional Services. Hij werkt al meer dan zes jaar bij AWS en werkt met klanten aan machine learning- en computer vision-problemen. Buiten zijn werk houdt hij van fietsen.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/skeleton-based-pose-annotation-labeling-using-amazon-sagemaker-ground-truth/
- : heeft
- :is
- :niet
- :waar
- $UP
- 1
- 10
- 100
- 13
- 15%
- 17
- 2D
- 31
- 320
- 7
- 8
- 9
- a
- vermogen
- in staat
- toegang
- beschikbaar
- Account
- nauwkeurigheid
- accuraat
- nauwkeurig
- verwerven
- acquisitie
- over
- Actie
- Handelingen
- daadwerkelijk
- toevoegen
- Extra
- Daarnaast
- Aanpassing
- aanpassingen
- vooruitgang
- Na
- AI
- AI-systemen
- het richten
- Alles
- toelaten
- toestaat
- ook
- Amazone
- Amazon Sage Maker
- Amazon SageMaker Grondwaarheid
- Amazon Web Services
- an
- en
- dieren
- Nog een
- elke
- verschijnen
- komt naar voren
- Aanvraag
- toepassingen
- toegepast
- architectuur
- ZIJN
- argument
- argumenten
- rond
- reeks
- Arthur
- AS
- aspecten
- toegewezen
- Hulp
- gaat uit van
- At
- attributen
- aangevuld
- Augmented Reality
- webmaster.
- Beschikbaar
- gemiddelde
- vermijd
- AWS
- AWS professionele services
- Back-end
- Baseball
- gebaseerde
- Baseline
- BE
- omdat
- geweest
- vaardigheden
- beginnen
- wezen
- ben
- tussen
- zowel
- Box camera's
- breed
- browser
- bouw
- Gebouw
- ingebouwd
- last
- maar
- by
- berekeningen
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- CAN
- voorzichtig
- geval
- CD
- gecentreerd
- verandering
- Wijzigingen
- veranderende
- lasten
- controle
- Kies
- klasse
- schoonmaak
- cli
- klant
- code
- kleur
- komt
- Gemeen
- compleet
- bestanddeel
- componenten
- bestaat uit
- computer
- Computer visie
- gekoppeld blijven
- overwegingen
- consequent
- bestaande uit
- troosten
- bevatten
- bevat
- verband
- controles
- komt overeen
- Kosten
- deksel
- en je merk te creรซren
- aangemaakt
- creรซert
- Wij creรซren
- het aanmaken
- schepper
- kritisch
- kruispunt
- menigte
- gewoonte
- Custom-built
- Klanten
- maatwerk
- aan te passen
- gegevens
- gegevensverwerking
- data scientist
- datasets
- datetime
- deep
- diepgaand leren
- diepere
- bepalen
- gedefinieerd
- definieert
- definitie
- tonen
- afhankelijk
- Afhankelijk
- afhankelijk
- implementeren
- ingezet
- beschrijven
- beschrijving
- ontworpen
- ontwerpen
- gewenste
- vernietigen
- detail
- gegevens
- Opsporing
- het ontwikkelen van
- diagram
- anders
- Afmeting
- Afmeting
- direct
- directory
- distributie
- duiken
- diversen
- do
- Nee
- doen
- gedaan
- Dont
- downloads
- trekken
- getrokken
- twee
- gedurende
- dynamisch
- elk
- Vroeger
- gemak
- gemakkelijk
- effectiviteit
- doeltreffendheid
- aanmoedigen
- toegewijd
- Motor
- verhogen
- genieten van
- waarborgt
- Onstpanning
- Geheel
- Milieu
- fout
- fouten
- Zelfs
- Event
- onderzoeken
- voorbeeld
- voorbeelden
- Uitvouwen
- verwacht
- ervaring
- expertise
- Verklaren
- Verkennen
- verlengen
- extra
- extracten
- vertrouwd
- vertrouwd raken
- familie
- Kenmerk
- Voordelen
- veld-
- Velden
- Dien in
- Bestanden
- finale
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- firewall
- Voornaam*
- Flexibiliteit
- Focus
- volgen
- volgend
- volgt
- Voet
- Voor
- formaat
- gevonden
- oppompen van
- functie
- functionaliteit
- functies
- fundamenteel
- verder
- toekomst
- gegenereerde
- krijgen
- gif
- GitHub
- Geven
- Go
- Ground
- leiding
- Handvaten
- Hebben
- met
- he
- gezondheidszorg
- hard
- hulp
- geholpen
- nuttig
- helpt
- hier
- HEX
- hoogwaardige
- zijn
- gastheer
- gehost
- Hosting
- Hoe
- How To
- HTML
- http
- HTTPS
- menselijk
- Honderden
- ID
- geรฏdentificeerd
- identificeren
- het identificeren van
- Identiteit
- if
- beeld
- afbeeldingen
- belang
- belangrijk
- verbeteren
- verbeterd
- in
- omvat
- Incorporated
- index
- industrieรซn
- -industrie
- ondoeltreffend
- beรฏnvloed
- informatie
- informeert
- initiatieven
- invoer
- vragen
- installeren
- instructies
- Integreren
- belang
- geรฏnteresseerd
- Interface
- Internet
- in
- gaat
- IT
- artikelen
- HAAR
- JavaScript
- Jobomschrijving:
- Vacatures
- jpg
- json
- sleutel
- Keypoint-detectie
- kinderen
- label
- etikettering
- labels
- taal
- Groot
- tot slot
- later
- laatste
- lancering
- gelanceerd
- lancering
- leidend
- LEARN
- leren
- minst
- Laten we
- als
- Lijn
- lijnen
- Vloeistof
- Lijst
- gelegen
- plaats
- inloggen
- ingelogd
- Kijk
- ziet eruit als
- machine
- machine learning
- gemaakt
- maken
- beheer
- handboek
- productie
- veel
- Mark
- het merken
- Mei..
- kan zijn
- Media
- medisch
- medische toepassingen
- Metadata
- verkleinen
- fouten
- ML
- model
- modellering
- modellen
- wijzigingen
- wijzigen
- meer
- meest
- naam
- NATUUR
- noodzakelijk
- Noodzaak
- nodig
- behoeften
- volgende
- geen
- nota
- nu
- object
- objecten
- verkregen
- het verkrijgen van
- of
- vaak
- on
- eens
- EEN
- online.
- Slechts
- open
- open source
- opent
- or
- bestellen
- organisaties
- herkomst
- origineel
- OS
- Overige
- Overig
- onze
- uit
- buiten
- uitgang
- buiten
- over
- totaal
- het te bezitten.
- Paketten
- paar
- paren
- deel
- onderdelen
- voorbij
- pad
- Mensen
- prestatie
- permissies
- Fysica
- plaats
- Plato
- Plato gegevensintelligentie
- PlatoData
- punt
- punten
- beleidsmaatregelen
- bevolkte
- Portaal
- pose
- Stel schatting
- vormt
- positie
- Post
- potentieel
- praktijk
- voorafgaat
- precisie
- vereisten
- gepresenteerd
- presenteren
- voorkomen
- voorkomt
- vorig
- die eerder
- principe
- privaat
- problemen
- processen
- verwerking
- produceren
- professioneel
- Profiel
- zorgen voor
- mits
- biedt
- publiek
- doel
- doeleinden
- Python
- kwaliteit
- snel
- het verhogen van
- reeks
- variรซrend
- Lees
- lezing
- klaar
- echte wereld
- Realiteit
- herkennen
- aanbevolen
- vermindering
- verwijzen
- referentie
- verwant
- relatief
- betrouwbaar
- blijven
- verwijderen
- gerenderd
- weergave
- vervangen
- vervangen
- bewaarplaats
- vertegenwoordigd
- vertegenwoordigt
- nodig
- Voorwaarden
- vereist
- Resources
- antwoord
- verantwoordelijk
- beperkingen
- resultaat
- Resultaten
- terugkeer
- Retourneren
- beoordelen
- paardrijden
- tuig
- Risico
- robotica
- robuust
- Rol
- lopen
- lopend
- runtime
- sagemaker
- dezelfde
- monster
- besparing
- ervaren
- scenario's
- Wetenschapper
- script
- scripts
- sdk
- sectie
- secties
- veiligheid
- zien
- kiezen
- verzendt
- senior
- bedient
- Diensten
- reeks
- het instellen van
- verscheidene
- gedeeld
- moet
- tonen
- vertoonde
- getoond
- Shows
- aanzienlijke
- gelijk
- Eenvoudig
- eenvoud
- vereenvoudigd
- eenvoudigweg
- single
- ZES
- So
- oplossing
- Oplossingen
- sommige
- iets
- bron
- special
- specifiek
- specifiek
- Uitgaven
- Sport
- stack
- starts
- Stappen
- mediaopslag
- shop
- opgeslagen
- eenvoudig
- gestroomlijnd
- Draad
- structuur
- wezenlijk
- dergelijk
- ondersteuning
- ruilen
- swaps
- system
- Systems
- Nemen
- neemt
- doelgerichte
- Taak
- taken
- techniek
- Technologies
- Technologie
- sjabloon
- tienen
- Texas
- dat
- De
- de informatie
- De lijn
- hun
- Ze
- harte
- daarbij
- daarom
- Deze
- ze
- dit
- duizenden kosten
- Door
- Gebonden
- niet de tijd of
- naar
- nam
- tools
- Trainen
- getraind
- Trainingen
- veroorzaakt
- truck
- waar
- waarheid
- BEURT
- typisch
- ui
- begrijpen
- unieke
- universiteit-
- tot
- bijwerken
- Gebruik
- .
- gebruikt
- nuttig
- Gebruiker
- User Interface
- toepassingen
- gebruik
- doorgaans
- waarde
- Values
- variabele
- variaties
- divers
- Voertuigen
- versie
- verticaal
- via
- Video's
- visie
- visuele
- volume
- W
- lopen
- loopt
- walkthrough
- willen
- was
- Manier..
- manieren
- we
- web
- web applicatie
- web browser
- webservices
- GOED
- Wat
- wanneer
- terwijl
- of
- welke
- en
- WIE
- wil
- wensen
- Met
- binnen
- zonder
- Mijn werk
- werker
- workflow
- workflows
- Workforce
- werkzaam
- zou
- het schrijven van
- X
- jaar
- You
- Your
- jezelf
- zephyrnet