Segmentation sémantique du nuage de points 3D - Amazon SageMaker

Segmentation sémantique du nuage de points 3D

La segmentation sémantique consiste à classer les points individuels d'un nuage de points 3D en catégories prédéfinies. Utilisez ce type de tâche lorsque vous souhaitez que les collaborateurs créent un masque de segmentation sémantique au niveau du point pour les nuages de points 3D. Par exemple, si vous spécifiez les classes car et pedestrian, bike, les collaborateurs sélectionnent une classe à la fois et colorient de la même couleur tous les points auxquels cette classe s'applique dans le nuage de points.

Pour ce type de tâche, l'objet de données étiqueté par les employés est une séquence de trames de nuage de points. Ground Truth génère une visualisation de nuage de points 3D à l'aide des données de nuage de points que vous fournissez. Vous pouvez également fournir des données de caméra pour fournir aux collaborateurs des informations visuelles supplémentaires sur les scènes de la trame et pour les aider à peindre les objets. Lorsqu'un collaborateur peint un objet dans l'image 2D ou le nuage de points 3D, la peinture apparaît dans l'autre vue.

Vous pouvez ajuster les annotations créées dans une tâche d'étiquetage de détection d'objets de nuage de points 3D à l'aide du type de tâche d'ajustement de segmentation sémantique de nuage de points 3D.

Si vous êtes un nouvel utilisateur de la modalité d'étiquetage de nuage de points 3D Ground Truth, nous vous recommandons de consulter Présentation des tâches d'étiquetage de nuage de points 3D. Cette modalité d'étiquetage est différente des autres types de tâches Ground Truth. Cette rubrique fournit une présentation des détails importants que vous devez connaître lors de la création d'une tâche d'étiquetage de nuage de points 3D.

Affichage de l'interface des tâches de travail

Ground Truth fournit aux employés un portail Web et des outils pour effectuer les tâches d'annotation de segmentation sémantique de nuage de points 3D. Lorsque vous créez la tâche d'étiquetage, vous fournissez l'Amazon Resource Name (ARN) d'une interface utilisateur Ground Truth prédéfinie dans le paramètre HumanTaskUiArn. Lorsque vous créez une tâche d'étiquetage à l'aide de ce type de tâche dans la console, cette interface utilisateur est automatiquement utilisée. 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 à l'aide de la console pour être sûr que vos attributs d'étiquette, les trames de nuage de points et, le cas échéant, les images apparaissent comme prévu.

Ce qui suit est un GIF de l'interface de travail de segmentation sémantique de nuage de points 3D. Si vous fournissez des données de caméra pour la fusion des capteurs, les images sont mises en correspondance avec des scènes de la trame du nuage de points. Les collaborateurs peuvent peindre des objets dans le nuage de points 3D ou dans l'image 2D, et la peinture apparaît à l'emplacement correspondant dans l'autre support. Ces images apparaissent dans le portail de travail comme illustré dans le GIF suivant.

Le collaborateur peut naviguer dans la scène 3D à l'aide du clavier et de la souris. Il peut :

  • double-cliquer sur des objets spécifiques dans le nuage de points pour zoomer ;

  • utiliser une molette de souris ou un pavé tactile pour effectuer un zoom avant et arrière sur le nuage de points ;

  • utiliser les touches fléchées du clavier et les touches Q, E, A et D pour se déplacer vers le haut, le bas, la gauche et la droite ; utiliser les touches W et S du clavier pour effectuer un zoom avant et arrière.

La vidéo suivante illustre les mouvements autour du nuage de points 3D. Les collaborateurs peuvent masquer et développer de nouveau toutes les vues latérales et les menus. Dans ce GIF, les vues latérales et les menus ont été réduits.

Le GIF suivant montre comment un collaborateur peut étiqueter plusieurs objets rapidement, distinguer les objets peints à l'aide de l'option Effacer la peinture, puis afficher uniquement les points qui ont été peints.

Des options d'affichage et des fonctionnalités supplémentaires sont disponibles. Veuillez consulter la page d'instructions de travail pour obtenir une présentation complète de l'interface utilisateur de travail.

Outils de travail

Les collaborateurs peuvent naviguer dans le nuage de points 3D en effectuant un zoom avant et arrière, et en se déplaçant dans toutes les directions autour du nuage à l'aide des raccourcis clavier et de la souris. Lorsque vous créez une tâche de segmentation sémantique, les collaborateurs disposent des outils suivants :

  • Un pinceau pour peindre les objets et effacer la peinture des objets. Les collaborateurs peignent les objets en sélectionnant une catégorie d'étiquette, puis en peignant dans le nuage de points 3D. Les collaborateurs effacent la peinture des objets en sélectionnant l'option Effacer la peinture dans le menu des catégories d'étiquettes et en utilisant le pinceau pour effacer la peinture.

  • Un outil polygone que les collaborateurs peuvent utiliser pour sélectionner et peindre une zone du nuage de points.

  • Un outil de peinture d'arrière-plan qui permet aux collaborateurs de peindre derrière les objets qu'ils ont déjà annotés sans modifier les annotations d'origine. Par exemple, les collaborateurs peuvent utiliser cet outil pour peindre la route après avoir peint toutes les voitures sur la route.

  • Des options d'affichage qui permettent aux collaborateurs de masquer ou d'afficher facilement le texte des étiquettes, un maillage au sol et des attributs ponctuels supplémentaires tels que la couleur ou l'intensité. Les collaborateurs peuvent également choisir entre la perspective et les projections orthogonales.

Création d'une tâche d'étiquetage de segmentation sémantique de nuage de points 3D

Vous pouvez créer une tâche d'étiquetage de nuage de points 3D à l'aide de la console SageMaker ou de l'opération d'API, CreateLabelingJob. Pour créer une tâche d'étiquetage pour ce type de tâche, vous devez disposer des éléments suivants :

En outre, veillez à prendre connaissance de la section et à satisfaire les conditions qui y sont exposées Attribuer des autorisations IAM pour utiliser Ground Truth.

Utilisez l'une des sections suivantes pour apprendre à créer une tâche d'étiquetage à l'aide de la console ou d'une API.

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 d'étiquetage de segmentation sémantique de nuage de points 3D dans la console SageMaker. Pendant la création de votre tâche d'étiquetage, tenez compte des points suivants :

  • Votre fichier manifeste d'entrée doit être un fichier manifeste à trame unique. Pour de plus amples informations, veuillez consulter Création d'un fichier manifeste d'entrée de trame de nuage de points.

  • L'étiquetage automatisé des données et la consolidation des annotations ne sont pas pris en charge pour les tâches d'étiquetage de nuage de points 3D.

  • Les tâches d'étiquetage de segmentation sémantique de nuage de points 3D peuvent prendre plusieurs heures. Vous pouvez spécifier une durée plus longue pour ces tâches d'étiquetage lorsque vous sélectionnez votre équipe de travail (jusqu'à 7 jours ou 604 800 secondes).

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

Cette section présente les détails que vous devez connaître lorsque vous créez une tâche d'étiquetage à 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.

La page 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/PointCloudSemanticSegmentation. Remplacez <region> par la région AWS dans laquelle vous créez la tâche d'étiquetage.

    Il ne doit pas y avoir d'entrée pour le paramètre UiTemplateS3Uri.

  • Votre élément LabelAttributeName doit se terminer par -ref. Par exemple, ss-labels-ref.

  • Votre fichier manifeste d'entrée doit être un fichier manifeste à trame unique. Pour de plus amples informations, veuillez consulter Création d'un fichier manifeste d'entrée de trame de nuage de points.

  • Vous spécifiez vos étiquettes et vos instructions de travail dans un fichier de configuration de catégorie d'étiquette. Pour savoir comment créer ce fichier, veuillez consulter Créer un fichier de configuration de catégorie d'étiquetage avec les attributs de catégorie d'étiquette et de trame.

  • Vous devez fournir les 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. Par exemple, si vous créez votre tâche d'étiquetage dans us-east-1, l'ARN sera arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation.

    • 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. Par exemple, si vous créez votre tâche d'étiquetage dans us-east-1, l'ARN sera arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudSemanticSegmentation.

  • 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 nuage de points 3D. Vous ne devez pas spécifier de valeurs pour les paramètres dans LabelingJobAlgorithmsConfig.

  • Les tâches d'étiquetage de segmentation sémantique de nuage de points 3D 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).

Créer une tâche d'étiquetage de segmentation sémantique ou d'ajustement de vérification d'un nuage de points en 3D

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 segmentation sémantique de nuage de points 3D, les tâches sont envoyées aux collaborateurs. Lorsque ces employés terminent leurs tâches, leurs annotations sont écrites dans le compartiment Amazon S3 que vous avez spécifié lors de la création de la tâche d'étiquetage. C'est le format des données de sortie qui détermine ce que vous voyez dans votre compartiment Amazon S3 lorsque le statut de votre tâche d'étiquetage (LabelingJobStatus) est Completed.

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. Pour de plus amples informations sur le format des données de sortie de détection d'objets de nuage de points 3D, veuillez consulter Fichier de sortie de segmentation sémantique de nuage de points 3D.