Crie um trabalho de classificação de imagens (com vários rótulos) - 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á.

Crie um trabalho de classificação de imagens (com vários rótulos)

Use uma tarefa de rotulagem de classificação de imagens com vários rótulos do Amazon SageMaker Ground Truth quando precisar que os trabalhadores classifiquem vários objetos em uma imagem. Por exemplo, a imagem a seguir apresenta um cão e um gato. Você pode usar a classificação de imagens com vários rótulos para associar os rótulos “cão” e “gato” a essa imagem. A página a seguir fornece informações sobre a criação de um trabalho de classificação de imagens.

Foto de Anusha Barwa em Unsplash

Ao trabalhar em uma tarefa de classificação de imagem com vários rótulos, os operadores devem escolher todos os rótulos aplicáveis, mas devem escolher pelo menos um. Ao criar um trabalho usando esse tipo de tarefa, você pode fornecer até 50 categorias de rótulo.

Ao criar um trabalho de rotulagem no console, o Ground Truth não fornece uma categoria “none (nenhum)” para quando nenhum dos rótulos se aplicar a uma imagem. Para fornecer essa opção aos operadores, inclua um rótulo semelhante a “none (nenhum)” ou “other (outro)” ao criar um trabalho de classificação de imagem com vários rótulos.

Para restringir a escolha dos operadores a um único rótulo para cada imagem, use o tipo de tarefa Criar um trabalho de classificação de imagens (etiqueta única).

Importante

Para esse tipo de tarefa, se você criar seu próprio arquivo de manifesto, use "source-ref" para identificar o local de cada arquivo de imagem que deseja rotular. Para obter mais informações, consulte Dados de entrada.

Criar um trabalho de rotulagem de classificação de imagem com vários rótulos (console)

Você pode seguir as instruções Criar um trabalho de rotulagem (console) para aprender como criar uma tarefa de rotulagem de classificação de imagens com vários rótulos no SageMaker console. Na Etapa 10, escolha Imagem no menu suspenso Categoria de tarefa e Classificação de imagem (com vários rótulos) como o tipo de tarefa.

O Ground Truth fornece uma interface de usuário do operador que se parece com a seguinte para tarefas de rotulagem. Ao criar um trabalho de rotulagem no console, você especifica instruções para ajudar os operadores a concluírem o trabalho e os rótulos que eles podem escolher.

Exemplo de interface de usuário de trabalho para rotular tarefas, fornecido pela Ground Truth.

Crie um Labeling Job de classificação de imagens com vários rótulos () API

Para criar um trabalho de rotulagem de classificação de imagem com vários rótulos, use 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

Siga as instruções em Criar um trabalho de rotulagem (API) e faça o seguinte enquanto você configura a solicitação:

  • As funções do Lambda de pré-anotação para esse tipo de tarefa terminam com PRE-ImageMultiClassMultiLabel. Para encontrar a pré-anotação ARN Lambda para sua região, consulte. PreHumanTaskLambdaArn

  • As funções do Lambda de consolidação de anotações para esse tipo de tarefa terminam com ACS-ImageMultiClassMultiLabel. Para encontrar o ARN Lambda de consolidação de anotações para sua região, consulte. AnnotationConsolidationLambdaArn

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). Todos os parâmetros em vermelho devem ser substituídos por suas especificações e recursos.

response = client.create_labeling_job( LabelingJobName='example-multi-label-image-classification-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*', 'UiConfig': { 'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel', 'TaskKeywords': [ 'Image Classification', ], 'TaskTitle': 'Multi-label image classification task', 'TaskDescription': 'Select all labels that apply to the images shown', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Fornecer um modelo para classificação de imagem com vários rótulos

Se você criar um trabalho de etiquetagem usando oAPI, deverá fornecer um modelo de tarefa do trabalhador emUiTemplateS3Uri. Copie e modifique o modelo a seguir. Modifique somente short-instructions, full-instructions e header.

Faça o upload desse modelo para o S3 e forneça o S3 URI para esse arquivo. UiTemplateS3Uri

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-image-classifier-multi-select name="crowd-image-classifier-multi-select" src="{{ task.input.taskObject | grant_read_access }}" header="Please identify all classes in image" categories="{{ task.input.labels | to_json | escape }}" > <full-instructions header="Multi Label Image classification instructions"> <ol><li><strong>Read</strong> the task carefully and inspect the image.</li> <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li> <li><strong>Choose</strong> the appropriate labels that best suit the image.</li></ol> </full-instructions> <short-instructions> <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3> <p>Enter description to explain the correct label to the workers</p> <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3> <p>Enter description of an incorrect label</p> </short-instructions> </crowd-image-classifier-multi-select> </crowd-form>

Dados de saída de classificação de imagens com vários rótulos

Depois de criar um trabalho de rotulagem de classificação de imagem com vários rótulos, seus dados de saída estarão localizados no bucket do Amazon S3 especificado no parâmetro ao usar S3OutputPath API o ou no campo Localização do conjunto de dados de saída da seção Visão geral do trabalho do console.

Para saber mais sobre o arquivo manifesto de saída gerado pelo Ground Truth, e sobre a estrutura do arquivo que o Ground Truth usa para armazenar os dados de saída, consulte Rotulando dados de saída do trabalho.

Para ver um exemplo de arquivos manifesto de saída para o trabalho de rotulagem de classificação de imagem com vários rótulos, consulte Saída do trabalho de classificação com vários rótulos.