Identifique objetos usando a detecção de objetos de quadro de vídeo - 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á.

Identifique objetos usando a detecção de objetos de quadro de vídeo

É possível usar o tipo de tarefa de detecção de objetos de quadro de vídeo para que os operadores identifiquem e localizem objetos em uma sequência de quadros de vídeo (imagens extraídas de um vídeo) usando caixas delimitadoras, linhas poligonais, polígonos ou ferramentas de anotação de pontos principais. A ferramenta escolhida define o tipo de tarefa de quadro de vídeo que você cria. Por exemplo, você pode usar operadores do tipo de tarefa de detecção de objetos de quadro de vídeo com caixa delimitadora para identificar e localizar vários objetos em uma série de quadros de vídeo, como carros, bicicletas e pedestres. Você pode criar um trabalho de rotulagem de detecção de objetos de quadro de vídeo usando o console Amazon SageMaker Ground Truth, o SageMaker API, e um idioma específico AWS SDKs. Para saber mais, consulte Criar um trabalho de rotulagem de detecção de objetos de quadro de vídeo e selecione o método preferido. Consulte Tipos de tarefa para saber mais sobre as ferramentas de anotações que você pode escolher ao criar um trabalho de rotulagem.

O Ground Truth fornece uma interface de usuário e ferramentas de trabalho para concluir os trabalhos de rotulagem: Visualize a interface do usuário do operador.

É possível criar um trabalho para ajustar anotações criadas em um trabalho de rotulagem de detecção de objetos de vídeo usando o tipo de tarefa de ajuste de detecção de objetos de vídeo. Para saber mais, consulte Crie um trabalho de ajuste de detecção de objetos de quadros de vídeo ou rotulagem de verificação.

Visualize a interface do usuário do operador

O Ground Truth fornece aos operadores uma interface de usuário (UI) da web para concluir suas tarefas de anotação de detecção de objetos de quadro de vídeo. É 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 novo usuário, recomendamos criar um trabalho de rotulagem por meio do console usando um pequeno conjunto de dados de entrada para visualizar a interface do usuário do operador e garantir que os quadros de vídeo, rótulos e atributos de rótulo apareçam conforme o esperado.

A interface do usuário fornece aos operadores as seguintes ferramentas auxiliares de rotulagem para concluir as tarefas de detecção de objetos:

  • Para todas as tarefas, os operadores podem usar os recursos Copiar para o próximo e os recursos do Copiar para todos para copiar uma anotação para o próximo quadro ou para todos os quadros subsequentes, respectivamente.

  • Para tarefas que incluem as ferramentas da caixa delimitadora, os operadores podem usar o recurso Prever o próximo para desenhar uma caixa delimitadora em um único quadro e, em seguida, fazer com que a Ground Truth preveja a localização das caixas com o mesmo rótulo em todos os outros quadros. Os operadores podem então fazer ajustes para corrigir os locais previstos das caixas.

O vídeo a seguir mostra como um operador pode usar a interface do usuário do operador com a ferramenta de caixa delimitadora para concluir as tarefas de detecção de objetos.

GIF mostrando como um trabalhador pode usar a ferramenta de caixa delimitadora para suas tarefas de detecção de objetos.

Criar um trabalho de rotulagem de detecção de objetos de quadro de vídeo

Você pode criar um trabalho de rotulagem de detecção de objetos de quadro de vídeo usando o SageMaker console ou a CreateLabelingJobAPIoperação.

Esta seção pressupõe que você tenha revisado o Referência de trabalho de rotulagem de quadros de vídeo e escolhido o tipo de dados de entrada e a conexão do conjunto de dados de entrada que está usando.

Criar um trabalho de rotulagem (console)

Você pode seguir as instruções Criar um trabalho de rotulagem (console) para aprender como criar uma tarefa de rastreamento de objetos de quadro de vídeo no SageMaker console. Na etapa 10, escolha Vídeo - Detecção de objetos na lista suspensa da Categoria da tarefa. Selecione o tipo de tarefa que você deseja selecionando um dos cartões em Seleção de tarefas.

Gif mostrando como criar um trabalho de rastreamento de objetos de quadro de vídeo no SageMaker console.

Criar um Labeling Job (API)

Você cria um trabalho de rotulagem de detecção de objetos usando a SageMaker API operaçãoCreateLabelingJob. Isso API define essa operação para todos AWS SDKs. Para ver uma lista de idiomas específicos com SDKs suporte para essa operação, consulte a seção Consulte também do. CreateLabelingJob

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:

  • Você deve inserir um ARN formulárioHumanTaskUiArn. Usar arn:aws:sagemaker:<region>:394669845002:human-task-ui/VideoObjectDetection. Substitua <region> pela região da AWS na qual você está criando o trabalho de rotulagem.

    Não inclua uma entrada para o parâmetro UiTemplateS3Uri.

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

  • O arquivo manifesto de entrada deve ser um arquivo manifesto de sequência de quadros de vídeo. Você pode criar esse arquivo de manifesto usando o SageMaker console ou criá-lo manualmente e carregá-lo no Amazon S3. Para obter mais informações, consulte Configuração de dados de entrada.

  • Você só pode usar equipes de trabalho privadas ou de fornecedores para criar trabalhos de rotulagem de detecção de objetos de quadro de vídeo.

  • Especifique os rótulos, as categorias de rótulo, os atributos de quadro, tipo de tarefa e as instruções do operador em um arquivo de configuração da categoria de rótulo. Especifique o tipo de tarefa (caixas delimitadoras, linhas poligonais, polígonos ou ponto principal) usando annotationType no arquivo de configuração de categoria de rótulo. Para obter mais informações, consulte Arquivo de configuração da categoria de rotulagem com referência aos atributos da categoria e do quadro para saber como criar esse arquivo.

  • Você precisa fornecer funções Lambda predefinidas ARNs para pré-anotação e pós-anotação (). ACS Eles ARNs são específicos para a AWS região que você usa para criar seu trabalho de etiquetagem.

    • Para encontrar a pré-anotação ARN Lambda, consulte. PreHumanTaskLambdaArn Use a região na qual você está criando seu trabalho de etiquetagem para encontrar a correta ARN que termina comPRE-VideoObjectDetection.

    • Para encontrar a pós-anotação ARN Lambda, consulte. AnnotationConsolidationLambdaArn Use a região na qual você está criando seu trabalho de etiquetagem para encontrar a correta ARN que termina comACS-VideoObjectDetection.

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

  • A rotulagem automatizada de dados não é compatível com trabalhos de rotulagem de quadros de vídeo. Você não deve especificar valores para parâmetros em LabelingJobAlgorithmsConfig.

  • Os trabalhos de rotulagem de rastreamento de objetos de quadros de vídeo 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 604.800 segundos).

Veja a seguir um exemplo de uma solicitação em AWS Python SDK (Boto3) para criar um trabalho de etiquetagem na região Leste dos EUA (Norte da Virgínia).

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' }, ] )

Crie um trabalho de ajuste de detecção de objetos de quadros de vídeo ou rotulagem de verificação

Você pode criar um trabalho de rotulagem de ajuste e verificação usando o console Ground Truth ou CreateLabelingJobAPI. Para saber mais sobre trabalhos de ajuste e rotulagem de verificação e como criar um, consulte Verificação e ajuste do rótulo.

Formato dos dados de saída

Ao criar um trabalho de rotulagem de detecção de objetos de quadros de vídeo, as tarefas são enviadas aos operadores. Quando esses operadores concluem as tarefas, os rótulos são gravados no local de saída do Amazon S3 especificado durante a criação do trabalho de rotulagem. Para saber mais sobre o formato dos dados de saída de detecção de objeto dos quadros de vídeo, consulte Saída de detecção de objetos de quadro de vídeo. Se você for um usuário novo do , consulte Rotulando dados de saída do trabalho para saber mais sobre o formato dos dados de saída do Ground Truth.