Segmentação semântica da nuvem de pontos 3D - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Segmentação semântica da nuvem de pontos 3D

A segmentação semântica envolve classificar pontos individuais de uma nuvem de pontos 3D em categorias pré-especificadas. Use esse tipo de tarefa quando quiser que os operadores criem uma máscara de segmentação semântica no nível de ponto para nuvens de pontos 3D. Por exemplo, se você especificar as classes car, pedestrian e bike, os operadores vão selecionar uma classe de cada vez e colorir todos os pontos dessa classe com a mesma cor na nuvem de pontos.

Para esse tipo de tarefa, o objeto de dados que os operadores rotulam é uma sequência de quadros da nuvem de pontos. Ground Truth gera uma nuvem de pontos 3D usando os dados da nuvem de pontos que você fornece. Também é possível fornecer dados da câmera para dar aos operadores mais informações visuais sobre as cenas no quadro e para ajudar os operadores a pintar objetos. Quando um operador pinta um objeto na imagem 2D ou na nuvem de pontos 3D, a pintura aparece na outra visualização.

É possível ajustar anotações criadas em um trabalho de rotulagem de detecção de objetos de nuvem de pontos 3D usando o tipo de tarefa de ajuste de segmentação semântica de nuvem de pontos 3D.

Se você for um novo usuário da modalidade de rotulagem de nuvem de pontos 3D do Ground Truth, recomendamos que revise Visão geral dos trabalhos de rotulagem de nuvem de pontos 3D. Essa modalidade de rotulagem é diferente de outros tipos de tarefas do Ground Truth e este tópico fornece uma visão geral dos detalhes importantes dos quais você deve estar ciente ao criar um trabalho de rotulagem de nuvem de pontos 3D.

Visualizar a interface de tarefas do operador

O Ground Truth fornece aos operadores um portal da web e ferramentas para concluir as tarefas de anotação de segmentação semântica da nuvem de pontos 3D. Ao criar o trabalho de rotulagem, forneça o nome de recurso do nome do recurso da Amazon (ARN) para uma interface do usuário pré-criada do Ground Truth no parâmetro HumanTaskUiArn. Quando você cria um trabalho de rotulagem usando esse tipo de tarefa no console, essa interface do usuário é usada automaticamente. É possível visualizar e interagir com a interface do usuário do operador ao criar um trabalho de rotulagem no console. Se você for um usuário novo, é recomendável criar um trabalho de rotulagem usando o console para garantir que os atributos de rótulo, os quadros de nuvem de ponto e, se aplicável, as imagens apareçam conforme o esperado.

Veja a seguir um GIF da interface de tarefas do operador de segmentação semântica da nuvem de pontos 3D. Se você fornecer dados da câmera para fusão de sensores, as imagens serão combinadas com cenas no quadro da nuvem de pontos. Os operadores podem pintar objetos na nuvem de pontos 3D ou na imagem 2D, e a pintura aparece no local correspondente na outra média. Essas imagens aparecem no portal do operador, conforme mostrado no GIF a seguir.

O operador pode navegar na cena 3D usando o teclado e o mouse. Ele pode:

  • Clique duas vezes em objetos específicos na nuvem de pontos para ampliá-los.

  • Use o botão de deslocação do mouse ou o trackpad para ampliar e reduzir a nuvem de pontos.

  • Use as teclas de seta do teclado e as teclas Q, E, A e D para mover para cima, para baixo, para a esquerda e para a direita. Use as teclas W e S do teclado para ampliar e diminuir o zoom.

O vídeo a seguir demonstra movimentos em torno da nuvem de pontos 3D. Os operadores podem ocultar e expandir novamente todos os menus e as visualizações laterais. Nesse GIF, as visualizações laterais e os menus foram recolhidos.

O GIF a seguir demonstra como um operador pode rotular vários objetos rapidamente, refinar objetos pintados usando a opção Desfazer pintura e visualizar somente os pontos que foram pintados.

Recursos e opções de visualização adicionais estão disponíveis. Consulte a página de instruções do operador para obter uma visão geral abrangente da interface do usuário do operador.

Ferramentas do operador

Os operadores podem navegar pela nuvem de pontos 3D, ampliando e diminuindo o zoom e movendo-se em todas as direções ao redor da nuvem usando o mouse e os atalhos do teclado. Ao criar um trabalho de segmentação semântica, os operadores têm as seguintes ferramentas disponíveis:

  • Um pincel para pintar e desfazer a pintura de objetos. Os operadores pintam os objetos selecionando uma categoria de rótulo e pintando na nuvem de pontos 3D. Os operadores desfazem a pintura de objetos selecionando a opção Desfazer pintura no menu de categoria de rótulo e usando o pincel para apagar a pintura.

  • Uma ferramenta de polígono que os operadores podem usar para selecionar e pintar uma área na nuvem de pontos.

  • Uma ferramenta de pintura de plano de fundo, que permite que os operadores pintem atrás de objetos que já anotaram sem alterar as anotações originais. Por exemplo, os operadores podem usar essa ferramenta para pintar a estrada depois de pintar todos os carros na estrada.

  • Visualize opções que permitem aos operadores ocultar ou visualizar facilmente o texto do rótulo, uma malha de solo e atributos de ponto adicionais, como cor ou intensidade. Os operadores também podem escolher entre perspectivas e projeções ortogonais.

Criar um trabalho de rotulagem de segmentação semântica da nuvem de pontos 3D

É possível criar um trabalho de rotulagem de nuvem de pontos 3D usando o console do SageMaker ou a operação de API, CreateLabelingJob. Para criar um trabalho de rotulagem para esse tipo de tarefa, você precisa do seguinte:

Além disso, verifique se você revisou e atendeu a Atribua permissões do IAM para usar o Ground Truth.

Use uma das seções a seguir para saber como criar um trabalho de rotulagem usando o console ou uma API.

Criar um trabalho de rotulagem (console)

Você pode seguir as instruções Criar um trabalho de rotulagem (console) para saber como criar um trabalho de rotulagem de segmentação de semântica de nuvem de pontos 3D no console do SageMaker. Enquanto estiver criando o trabalho de rotulagem, esteja ciente do seguinte:

  • O arquivo de manifesto de entrada deve ser um arquivo de manifesto de quadro único. Para obter mais informações, consulte Criar um arquivo manifesto de entrada de quadro da nuvem de pontos.

  • A rotulagem automatizada de dados e a consolidação de anotações não são compatíveis com tarefas de rotulagem de nuvem de pontos 3D.

  • Os trabalhos de rotulagem de segmentação semântica de nuvem de pontos 3D podem levar várias horas para serem concluídos. É possível especificar um limite de tempo mais longo para esses trabalhos de rotulagem ao selecionar a equipe de trabalho (até 7 dias ou 604800 segundos).

Criar um trabalho de rotulagem (API)

Esta seção aborda detalhes que você precisa saber quando criar um trabalho de rotulagem usando a operação de API CreateLabelingJob do SageMaker. Essa API define essa operação para todos os SDKs AWS. Para ver uma lista de SDKs específicos de linguagem compatíveis com essa operação, revise a seção Ver também do CreateLabelingJob.

A página Criar um trabalho de rotulagem (API) fornece uma visão geral da operação CreateLabelingJob. Siga estas instruções e faça o seguinte enquanto configura a solicitação:

  • É necessário inserir um ARN para HumanTaskUiArn. Use arn:aws:sagemaker:<region>:394669845002:human-task-ui/PointCloudSemanticSegmentation. Substitua <region> pela região AWS na qual você está criando o trabalho de rotulagem.

    Não deve haver uma entrada para o parâmetro UiTemplateS3Uri.

  • O LabelAttributeName deve terminar em -ref. Por exemplo, ss-labels-ref.

  • O arquivo de manifesto de entrada deve ser um arquivo de manifesto de quadro único. Para obter mais informações, consulte Criar um arquivo manifesto de entrada de quadro da nuvem de pontos.

  • Especifique os rótulos e as instruções do operador em um arquivo de configuração da categoria de rótulo. Consulte Criar um arquivo de configuração de categoria de rotulagem com atributos de categoria e quadro de rótulo para saber como criar esse arquivo.

  • É necessário fornecer um ARN predefinido para as funções do Lambda de pré-anotação e pós-anotação (ACS). Esses ARNs são específicos da região AWS usada para criar o trabalho de rotulagem.

    • Para localizar o ARN de pré-anotação do Lambda, consulte PreHumanTaskLambdaArn. Use a região na qual você está criando o trabalho de rotulagem para encontrar o ARN correto. Por exemplo, se você estiver criando o trabalho de rotulagem em us-east-1, o ARN será arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation.

    • Para localizar o ARN de pós-anotação do Lambda, consulte AnnotationConsolidationLambdaArn. Use a região na qual você está criando o trabalho de rotulagem para encontrar o ARN correto. Por exemplo, se você estiver criando o trabalho de rotulagem em us-east-1, o ARN será arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudSemanticSegmentation.

  • O número de workers especificado em NumberOfHumanWorkersPerDataObject deve ser 1.

  • A rotulagem automatizada de dados não é compatível com trabalhos de rotulagem de nuvem de pontos 3D. Você não deve especificar valores para parâmetros em LabelingJobAlgorithmsConfig.

  • Os trabalhos de rotulagem de segmentação semântica de nuvem de pontos 3D podem levar várias horas para serem concluídos. É possível especificar um limite de tempo mais longo para esses trabalhos de rotulagem em TaskTimeLimitInSeconds (até 7 dias ou 604800 segundos).

Criar um trabalho de rotulagem de ajuste ou verificação de segmentação semântica da nuvem de pontos 3D

É possível criar um trabalho de ajuste de verificação de rotulagem usando o console do Ground Truth ou a API CreateLabelingJob. Para saber mais sobre trabalhos de rotulagem de ajuste e verificação e como criar um, consulte Verificar e ajustar rótulos.

Formato dos dados de saída

Ao criar um trabalho de rotulagem de segmentação semântica de nuvem de pontos 3D, as tarefas são enviadas aos operadores. Quando esses operadores concluem suas tarefas, suas anotações são gravadas no bucket do Amazon S3 especificado durante a criação do trabalho de rotulagem. O formato dos dados de saída determina o que você vê no bucket do Amazon S3 quando o status do trabalho de rotulagem (LabelingJobStatus) é Completed.

Se você for um novo usuário do Ground Truth, consulte Dados de saída para saber mais sobre o formato dos dados de saída do Ground Truth. Para saber mais sobre o formato dos dados de saída de detecção de objeto de nuvem de pontos 3D, consulte Segmentação de semântica da nuvem de pontos 3D.