Suivi d'objets dans les trames vidéo - Amazon SageMaker

Suivi d'objets dans les trames vidéo

Vous pouvez utiliser le type de tâche de suivi d'objets dans les trames vidéo pour que les employés suivent le mouvement des objets dans une séquence de trames vidéo (images extraites d'une vidéo) en utilisant les outils d'annotation de cadres de délimitation, de polylignes, de polygones ou de points clés. L'outil que vous choisissez définit le type de tâche de la trame vidéo que vous créez. Par exemple, vous pouvez utiliser un type de tâche de suivi d'objets dans les trames vidéo par cadre de délimitation pour demander aux employés de suivre le mouvement d'objets, tels que des voitures, des vélos et des piétons, en dessinant des zones autour d'eux.

Vous fournissez une liste de catégories, et chaque annotation qu'un employé ajoute à une trame vidéo est identifiée comme une instance de cette catégorie à l'aide d'un ID d'instance. Par exemple, si vous fournissez l'étiquette catégorie voiture, la première voiture qu'un employé annote aura l'ID d'instance voiture:1. La deuxième voiture annotée par l'employé aura l'ID d'instance voiture:2. Pour suivre le mouvement d'un objet, l'employé ajoute des annotations associées à la même instance ID autour de l'objet dans toutes les trames.

Vous pouvez créer une tâche d'étiquetage de suivi d'objets de trames vidéo à l'aide de la console Amazon SageMaker Ground Truth, de l'API SageMaker et des SDK AWS spécifiques à chaque langue. Pour en savoir plus, veuillez consulter Créer une tâche d'étiquetage de détection d'objets dans une trame vidéo et sélectionnez votre méthode préférée. Veuillez consulter Types de tâche pour en savoir plus sur les outils d'annotations que vous pouvez choisir lorsque vous créez une tâche d'étiquetage.

Ground Truth fournit une interface utilisateur employé et des outils pour effectuer vos tâches d'étiquetage : Prévisualisation de l'interface utilisateur employé.

Vous pouvez créer une tâche pour ajuster les annotations créées dans une tâche d'étiquetage de détection d'objet vidéo à l'aide du type de tâche d'ajustement de détection d'objet vidéo. Pour en savoir plus, consultez Créer une tâche d'étiquetage de détection d'objet de trame vidéo, d'ajustement ou de vérification.

Prévisualisation de l'interface utilisateur employé

Ground Truth fournit aux employés une interface utilisateur Web (UI) pour effectuer vos tâches d'annotation de suivi d'objet de trame vidéo. Vous pouvez prévisualiser l'interface utilisateur de travail et interagir avec cette dernière lorsque vous créez une tâche d'étiquetage dans la console. Si vous êtes un nouvel utilisateur, nous vous recommandons de créer une tâche d'étiquetage via la console en utilisant un petit jeu de données source afin de prévisualiser l'interface utilisateur employé et de vous assurer que vos trames vidéo, vos étiquettes et vos attributs d'étiquette apparaissent comme prévu.

L'interface utilisateur met à la disposition des employés les outils d'aide à l'étiquetage suivants pour mener à bien vos tâches de suivi des objets :

  • Pour toutes les tâches, les employés peuvent utiliser les fonctions Copier vers la suivante et Copier vers toutes pour copier une annotation ayant le même ID unique vers la trame suivante ou vers toutes les trames suivantes, respectivement.

  • Pour les tâches qui incluent les outils de cadre de délimitation, les employés peuvent utiliser la fonction Prédire la suivante pour dessiner un cadre de délimitation dans une seule trame, puis faire en sorte que Ground Truth prédise l'emplacement des zones ayant le même ID unique dans toutes les autres trames. Les employés peuvent alors faire des ajustements pour corriger les emplacements prédits des zones.

La vidéo suivante montre comment un employé peut utiliser l'interface utilisateur employé avec l'outil Zone de délimitation pour effectuer vos tâches de suivi d'objet.

Créer une tâche d'étiquetage de suivi d'objets dans une trame vidéo

Vous créez une tâche d'étiquetage de suivi d'objet dans une trame vidéo à l'aide de la console SageMaker ou de l'opération API CreateLabelingJob.

Cette section suppose que vous avez consulté Présentation de la tâche d'étiquetage de trame vidéo et avez choisi le type de données source et la connexion du jeu de données source que vous utilisez.

Création d'une tâche d'étiquetage (Console)

Vous pouvez suivre les instructions décrites dans Création d'une tâche d'étiquetage (Console) pour apprendre à créer une tâche de suivi d'objet de trame vidéo dans la console SageMaker. À l'étape 10, choisissez Vidéo - Suivi d'objet dans la liste déroulante Catégorie de tâches. Sélectionnez le type de tâche souhaité en sélectionnant l'une des fiches dans Task selection (Sélection des tâches).

Création d'une tâche d'étiquetage (API)

Vous créez une tâche d'étiquetage de suivi d'objet à l'aide de l'opération de l'API SageMaker CreateLabelingJob. Cette API définit cette opération pour tous les kits SDK AWS. Pour afficher la liste des kits SDK spécifiques à la langue pris en charge pour cette opération, veuillez consulter la section Voir aussi de CreateLabelingJob.

Création d'une tâche d'étiquetage (API) fournit une présentation de l'opération CreateLabelingJob. Suivez ces instructions et procédez comme suit pour configurer votre demande :

  • Vous devez entrer un ARN pour HumanTaskUiArn. Utilisez arn:aws:sagemaker:<region>:394669845002:human-task-ui/VideoObjectTracking. Remplacez <region> par la région AWS dans laquelle vous créez la tâche d'étiquetage.

    N'incluez pas de source pour le paramètre UiTemplateS3Uri.

  • Votre élément LabelAttributeName doit se terminer par -ref. Par exemple : «  », ot-labels-ref.

  • Votre fichier manifeste source doit être un fichier manifeste de séquence de trames vidéo. Vous pouvez créer ce fichier manifeste à l'aide de la console SageMaker, ou le créer manuellement et le télécharger sur Amazon S3. Pour de plus amples informations, veuillez consulter . Configuration des données source. Si vous créez une tâche d'étiquetage en streaming, le fichier manifeste source est facultatif.

  • Vous ne pouvez utiliser que des équipes privées ou de fournisseurs pour créer des tâches d'étiquetage d'objets de détection de trame vidéo.

  • Vous spécifiez vos étiquettes, les attributs de la catégorie d'étiquette et de trame, le type de tâche et les instructions de l'employé dans un fichier de configuration de la catégorie d'étiquette. Spécifiez le type de tâche (cadres de délimitation, polylignes, polygones ou points clés) à l'aide de annotationType dans le fichier de configuration de votre catégorie d'étiquette. Pour de plus amples informations, veuillez consulter Créer un fichier de configuration de catégorie d'étiquetage avec les attributs de catégorie d'étiquette et de trame pour savoir comment créer ce fichier.

  • Vous devez fournir des ARN prédéfinis pour les fonctions Lambda de pré-annotation et de post-annotation (ACS). Ces ARN sont spécifiques à la région AWS que vous utilisez pour créer votre tâche d'étiquetage.

    • Pour trouver l'ARN Lambda de pré-annotation, veuillez consulter PreHumanTaskLambdaArn. Utilisez la région dans laquelle vous créez votre tâche d'étiquetage pour trouver l'ARN correct qui se termine par PRE-VideoObjectTracking.

    • Pour trouver l'ARN Lambda de post-annotation, veuillez consulter AnnotationConsolidationLambdaArn. Utilisez la région dans laquelle vous créez votre tâche d'étiquetage pour trouver l'ARN correct qui se termine par ACS-VideoObjectTracking.

  • Le nombre de collaborateurs spécifié dans NumberOfHumanWorkersPerDataObject doit être 1.

  • L'étiquetage automatisé des données n'est pas pris en charge pour les tâches d'étiquetage de trame vidéo. Vous ne devez pas spécifier de valeurs pour les paramètres dans LabelingJobAlgorithmsConfig.

  • Les tâches d'étiquetage de suivi d'objet de trame vidéo peuvent prendre plusieurs heures. Vous pouvez spécifier une durée plus longue pour ces tâches d'étiquetage dans TaskTimeLimitInSeconds (jusqu'à 7 jours ou 604 800 secondes).

Voici un exemple de requête du kit SDK AWS Python (Boto3) pour créer une tâche d'étiquetage dans la région USA Est (Virginie du Nord).

response = client.create_labeling_job( LabelingJobName='example-video-ot-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://DOC-EXAMPLE-BUCKET/path/video-frame-sequence-input-manifest.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://DOC-EXAMPLE-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' }, ] )

Créer une tâche d'étiquetage de suivi d'objet ou de vérification de trame vidéo

Vous pouvez créer une tâche d'étiquetage d'ajustement et de vérification en utilisant la console Ground Truth ou l'API CreateLabelingJob. Pour en savoir plus sur les tâches d'étiquetage d'ajustement et de vérification, et pour apprendre à en créer une, veuillez consulter Vérifier et ajuster les étiquettes.

Format des données en sortie

Lorsque vous créez une tâche d'étiquetage de suivi d'objets dans les trames vidéo, les tâches sont envoyées aux employés. Lorsque ces employés terminent leurs tâches, les étiquettes sont écrites dans l'emplacement de sortie Amazon S3 que vous avez spécifié lorsque vous avez créé la tâche d'étiquetage. Pour en savoir plus sur le format des données de sortie du suivi d'objet de trame vidéo, veuillez consulter Fichier de sortie de suivi d'objets dans les trames vidéo. Si vous êtes un nouvel utilisateur de Ground Truth, veuillez consulter Données de sortie pour en savoir plus sur le format des données de sortie de Ground Truth.