Identificare gli oggetti utilizzando il rilevamento di oggetti in frame video - Amazon SageMaker AI

Identificare gli oggetti utilizzando il rilevamento di oggetti in frame video

È possibile utilizzare il tipo di attività di rilevamento di oggetti con fotogrammi video per consentire agli operatori di identificare e localizzare gli 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 aiutare i worker a identificare e localizzare i vari oggetti in una serie di fotogrammi video, come automobili, biciclette e pedoni. È possibile creare un processo di etichettatura 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 del worker

Ground Truth offre ai worker un'interfaccia utente Web (UI) per completare le attività di annotazione del rilevamento di oggetti dei 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 rilevamento di oggetti:

  • Per tutte le attività, i worker possono utilizzare le funzionalità Copia su successivo e Copia su tutti per copiare rispettivamente un'annotazione 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 la stessa etichetta 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 rilevamento di oggetti.

GIF che mostra come un worker può utilizzare lo strumento del riquadro di delimitazione per le proprie attività di rilevamento di oggetti.

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

È possibile creare un processo di etichettatura per il rilevamento 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 - Rilevamento 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 per il rilevamento 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/VideoObjectDetection. 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, video-od-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.

  • 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-VideoObjectDetection.

    • 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-VideoObjectDetection.

  • 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-od-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/VideoObjectDetection' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectDetection', 'TaskKeywords': [ 'Video Frame Object Detection', ], 'TaskTitle': 'Video frame object detection task', 'TaskDescription': 'Classify and identify the location of objects and people in video frames', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectDetection' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Creazione di un processo di regolazione del rilevamento di oggetti del fotogramma video o di etichettatura di verifica

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 rilevamento 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 rilevamento di oggetti del fotogramma video, consulta Output del rilevamento 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.