Tenere traccia degli oggetti nei frame video utilizzando il tracciamento degli oggetti in frame video - Amazon SageMaker AI

Tenere traccia degli oggetti nei frame video utilizzando il tracciamento degli oggetti in frame video

È possibile utilizzare il tipo di attività di monitoraggio di oggetti con fotogrammi video per consentire ai worker di identificare il movimento di oggetti in una sequenza di fotogrammi video (immagini estratte da un video) utilizzando riquadri di delimitazione, polilinee, poligoni o strumenti di annotazione dei punti chiave. Lo strumento scelto definisce il tipo di attività relativo ai fotogrammi video da creare. Ad esempio, puoi utilizzare un riquadro di delimitazione per il tipo di attività di monitoraggio di oggetti con fotogramma video per chiedere ai worker di rilevare il movimento di oggetti, come auto, biciclette e pedoni, disegnando dei riquadri attorno ad essi.

Fornisci un elenco di categorie e ogni annotazione che un worker aggiunge a un fotogramma video viene identificata come un'istanza di quella categoria utilizzando un ID istanza. Ad esempio, se fornisci la categoria di etichetta “automobile”, la prima automobile annotata da un worker avrà l'ID istanza automobile:1. La seconda automobile annotata dal worker avrà l'ID istanza automobile:2. Per monitorare il movimento di un oggetto, il worker aggiunge annotazioni associate allo stesso ID istanza all'oggetto in tutti i fotogrammi.

Puoi creare un processo di etichettatura per il tracciamento di oggetti in frame video utilizzando la console di Amazon SageMaker AI Ground Truth, l’API SageMaker e gli AWS SDK specifici per linguaggio. Per ulteriori informazioni, consulta Creazione di un processo di etichettatura per il rilevamento di oggetti con fotogrammi video e seleziona il tuo metodo preferito. Consulta Tipi di attività per saperne di più sugli strumenti di annotazione tra cui scegliere quando crei un processo di etichettatura.

Ground Truth fornisce un'interfaccia utente di worker e gli strumenti necessari per completare le attività dei processi di etichettatura: Anteprima dell'interfaccia utente del worker.

Puoi creare un processo per adattare le annotazioni create in un processo di etichettatura di rilevamento di oggetti video utilizzando il tipo di attività di regolazione del rilevamento di oggetti video. Per ulteriori informazioni, consulta Creazione di un processo di regolazione del rilevamento di oggetti del fotogramma video o di etichettatura di verifica.

Anteprima dell'interfaccia utente dei worker

Ground Truth offre ai worker un'interfaccia utente Web (UI) per completare le attività di annotazione di oggetti di monitoraggio di oggetti di fotogrammi video. Puoi visualizzare in anteprima e interagire con l'interfaccia utente del worker quando crei un processo di etichettatura nella console. Se sei un nuovo utente, ti consigliamo di creare un processo di etichettatura tramite la console utilizzando un piccolo set di dati di input per visualizzare in anteprima l'interfaccia utente dei worker e assicurarti che i fotogrammi video, le etichette e gli attributi delle etichette appaiano correttamente.

L'interfaccia utente fornisce ai worker i seguenti strumenti di etichettatura ausiliari, per completare le attività di monitoraggio di oggetti:

  • Per tutte le attività, i worker possono utilizzare le funzionalità Copia su successivo e Copia su tutti per copiare rispettivamente un'annotazione con lo stesso ID univoco nel fotogramma successivo o in tutti i fotogrammi successivi.

  • Per le attività che includono gli strumenti del riquadro di delimitazione, i worker possono utilizzare la funzione Prevedi successivo per disegnare un riquadro di delimitazione in un singolo fotogramma, quindi fare in modo che Ground Truth preveda la posizione dei riquadri con lo stesso ID univoco in tutti gli altri fotogrammi. I worker possono quindi effettuare regolazioni per correggere le posizioni previste dei riquadri.

Il video seguente mostra come un worker potrebbe utilizzare l'interfaccia utente con lo strumento riquadro di delimitazione per completare le attività di monitoraggio di oggetti.

GIF che mostra come un worker può utilizzare lo strumento del riquadro di delimitazione con la funzionalità di previsione successiva.

Creazione di un processo di etichettatura per il monitoraggio di oggetti con fotogrammi video

È possibile creare un processo di etichettatura per il tracciamento di oggetti in frame video utilizzando la console SageMaker AI o l’operazione API CreateLabelingJob.

Questa sezione presuppone che tu abbia esaminato Riferimento per i processi di etichettatura in frame video e scelto il tipo di dati di input e la connessione al set di dati di input che stai utilizzando.

Creare un processo di etichettatura (console)

Per imparare a creare un processo di tracciamento di oggetti in frame video nella console SageMaker AI, puoi seguire le istruzioni riportate in Creare un processo di etichettatura (console). Nella fase 10, scegli Video - Monitoraggio di oggetti dal menu a discesa della categoria Attività. Seleziona il tipo di attività che desideri selezionando una delle schede in Selezione attività.

GIF che mostra come creare un processo di tracciamento di oggetti in frame video nella console SageMaker AI.

Creare un processo di etichettatura (API)

È possibile creare un processo di etichettatura di monitoraggio di oggetti utilizzando l'operazione API SageMaker CreateLabelingJob. Questa API definisce l'operazione per tutti gli SDK AWS. Per visualizzare l'elenco degli SDK specifici del linguaggio supportati per questa operazione, consulta la sezione See Also di CreateLabelingJob.

Creare un processo di etichettatura (API) fornisce una panoramica dell'operazione CreateLabelingJob. Segui queste istruzioni ed effettua le seguenti operazioni durante la configurazione della richiesta:

  • Immetti un ARN per HumanTaskUiArn. Utilizza arn:aws:sagemaker:<region>:394669845002:human-task-ui/VideoObjectTracking. Sostituisci <region> con la Regione AWS in cui stai creando il processo di etichettatura.

    Non includere una voce per il parametro UiTemplateS3Uri.

  • Il tuo LabelAttributeName deve finire con -ref. Ad esempio, ot-labels-ref.

  • Il file manifest di input deve essere un file manifest di sequenza di fotogrammi video. Puoi creare questo file di manifesto utilizzando la console SageMaker AI oppure crearlo manualmente e caricarlo su Amazon S3. Per ulteriori informazioni, consulta Configurazione dei dati di input. Se crei un processo di etichettatura in streaming, il file manifest di input è facoltativo.

  • Puoi utilizzare solo team di lavoro privati o di fornitori per creare processi di etichettatura di rilevamento di oggetti con fotogrammi video.

  • Specifica le etichette, la categoria di etichette e gli attributi dei fotogrammi, il tipo di attività e le istruzioni per il worker in un file di configurazione della categoria di etichetta. Specifica il tipo di attività (riquadri di delimitazione, polilinee, poligoni o keypoint) utilizzando annotationType nel file di configurazione della categoria di etichette. Per ulteriori informazioni su come creare questo file, consulta File di configurazione delle categoria di etichettatura con riferimento alle categorie di etichette e agli attributi dei frame.

  • Devi fornire ARN predefiniti per le funzioni Lambda di pre-annotazione e post-annotazione (ACS). Questi ARN sono specifici della Regione AWS utilizzata per creare il processo di etichettatura.

    • Per trovare l'ARN Lambda di pre-annotazione, fai riferimento a PreHumanTaskLambdaArn. Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con PRE-VideoObjectTracking.

    • Per trovare l'ARN Lambda di post-annotazione, fai riferimento a AnnotationConsolidationLambdaArn. Utilizza la Regione in cui stai creando il processo di etichettatura per trovare l'ARN corretto che termina con ACS-VideoObjectTracking.

  • Il numero di worker specificato in NumberOfHumanWorkersPerDataObject deve essere 1.

  • L'etichettatura automatizzata dei dati non è supportata per i processi di etichettatura dei fotogrammi video. Non specificare i valori per i parametri in LabelingJobAlgorithmsConfig.

  • Il completamento dei processi di etichettatura per il monitoraggio di oggetti dei fotogrammi video può richiedere più ore. Puoi specificare un limite di tempo più lungo per questi processi di etichettatura in TaskTimeLimitInSeconds (fino a 7 giorni o 604.800 secondi).

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-ot-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://amzn-s3-demo-bucket/path/video-frame-sequence-input-manifest.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://amzn-s3-demo-bucket/prefix/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/prefix/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*', 'UiConfig': { 'HumanTaskUiArn: 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/VideoObjectTracking' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectTracking', 'TaskKeywords': [ 'Video Frame Object Tracking, ], 'TaskTitle': 'Video frame object tracking task', 'TaskDescription': Tracking the location of objects and people across video frames', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectTracking' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Creazione di un processo di etichettatura di tracciamento o verifica del monitoraggio di oggetti con fotogrammi video

Puoi creare un processo di etichettatura di regolazione e di verifica dell'etichetta utilizzando la console Ground Truth o l'API CreateLabelingJob. Per ulteriori informazioni sui processi di etichettatura di regolazione e di etichettatura di verifica e per scoprire come crearne uno, consulta Verifica e aggiustamento delle etichette.

Formato dei dati di output

Quando crei un processo di etichettatura di monitoraggio di oggetti del fotogramma video, le attività vengono inviate ai worker. Quando questi worker completano le attività, le etichette vengono scritte nella posizione di uscita Amazon S3 specificata al momento della creazione del processo di etichettatura. Per informazioni sul formato dei dati di output del monitoraggio di oggetti del fotogramma video, consulta Output del monitoraggio di oggetti in un frame video. Se non hai familiarità con Ground Truth, consulta Etichettatura dei dati di output di un processo per ulteriori informazioni sul formato dei dati di output in Ground Truth.