Classificazione video - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Classificazione video

Usa un'attività di classificazione dei video di Amazon SageMaker Ground Truth quando hai bisogno che i lavoratori classifichino i video utilizzando etichette predefinite da te specificate. I video vengono mostrati ai worker e viene chiesto loro di scegliere un'etichetta per ogni video.

Puoi creare un lavoro di etichettatura per la classificazione dei video utilizzando la sezione Ground Truth della SageMaker console Amazon o l'CreateLabelingJoboperazione.

I file video devono essere codificati in un formato supportato dal browser utilizzato dal team di lavoro che etichetta i dati. Si consiglia di verificare che tutti i formati di file video nel file manifesto di input vengano visualizzati correttamente utilizzando l'anteprima dell'interfaccia utente di lavoro. È possibile comunicare i browser supportati ai worker utilizzando le istruzioni per gli operatori. Per visualizzare i formati di file supportati, consulta Formati di dati supportati.

Importante

Per questo tipo di attività, se si crea un file manifesto personalizzato, utilizzare "source-ref" per identificare la posizione di ciascun file video in Amazon S3 che si desidera etichettare. Per ulteriori informazioni, consulta Dati di input.

Creare un processo di etichettatura della classificazione video (Console)

Puoi seguire le istruzioni riportate in questa pagina Creazione di un processo di etichettatura (console) per scoprire come creare un processo di etichettatura per la classificazione dei video nella SageMaker console. Nella fase 10, scegli Video dal menu a discesa della categoria Attività e scegli Classificazione video come tipo di attività.

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea un processo di etichettatura nella console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere.

Gif che mostra come creare un processo di etichettatura di classificazione video nella console. SageMaker

Creazione di un processo di etichettatura per la classificazione dei video () API

Questa sezione descrive i dettagli che è necessario conoscere quando si crea un lavoro di etichettatura utilizzando l' SageMaker APIoperazione. CreateLabelingJob Questo API definisce questa operazione per tutti AWS SDKs. Per visualizzare un elenco delle lingue specifiche SDKs supportate per questa operazione, consultate la sezione Vedere anche di. CreateLabelingJob

Segui queste istruzioni su Creazione di un processo di etichettatura (API) ed effettua le seguenti operazioni durante la configurazione della richiesta:

  • Usa una funzione Lambda di pre-annotazione che termina con PRE-VideoClassification. Per trovare la pre-annotazione Lambda ARN per la tua regione, consulta. PreHumanTaskLambdaArn

  • Usa una funzione Lambda di consolidamento delle annotazioni che termina con ACS-VideoClassification. Per trovare la ARN Lambda di consolidamento delle annotazioni per la tua regione, consulta. AnnotationConsolidationLambdaArn

Di seguito è riportato un esempio di richiesta AWS Python SDK (Boto3) per creare un processo di etichettatura nella regione Stati Uniti orientali (Virginia settentrionale).

response = client.create_labeling_job( LabelingJobName='example-video-classification-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*', 'UiConfig': { 'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoClassification', 'TaskKeywords': [ 'Video Classification', ], 'TaskTitle': 'Video classification task', 'TaskDescription': 'Select a label to classify this video', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoClassification' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Fornisci un modello per la classificazione video

Se si crea un lavoro di etichettatura utilizzando ilAPI, è necessario fornire un modello di attività di lavoro in. UiTemplateS3Uri Copia e modifica il seguente modello modificando short-instructions, full-instructions e header. Carica questo modello su Amazon S3 e inserisci Amazon URI S3 in questo file. UiTemplateS3Uri

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-classifier name="crowd-classifier" categories="{{ task.input.labels | to_json | escape }}" header="Please classify video" > <classification-target> <video width="100%" controls/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/mp4"/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/webm"/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/ogg"/> Your browser does not support the video tag. </video> </classification-target> <full-instructions header="Video classification instructions"> <ol><li><strong>Read</strong> the task carefully and inspect the video.</li> <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li> <li><strong>Choose</strong> the appropriate label that best suits the video.</li></ol> </full-instructions> <short-instructions> <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3> <p>Enter description to explain the correct label to the workers</p> <p><img src="https://d7evko5405gb7.cloudfront.net/fe4fed9b-660c-4477-9294-2c66a15d6bbe/src/images/quick-instructions-example-placeholder.png" style="max-width:100%"></p> <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3> <p>Enter description of an incorrect label</p> <p><img src="https://d7evko5405gb7.cloudfront.net/fe4fed9b-660c-4477-9294-2c66a15d6bbe/src/images/quick-instructions-example-placeholder.png" style="max-width:100%"></p> </short-instructions> </crowd-classifier> </crowd-form>

Dati di output di classificazione video

Dopo aver creato un processo di etichettatura per la classificazione dei video, i dati di output si trovano nel bucket Amazon S3 specificato S3OutputPath nel parametro quando si utilizza o API nel campo Output dataset location della sezione Job overview della console.

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta Dati di output.

Per visualizzare un esempio di file manifest di output per il processo di etichettatura di classificazione video, consulta Output del processo di classificazione.