Clasificación de imágenes (etiquetas múltiples) - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Clasificación de imágenes (etiquetas múltiples)

Usa una tarea de etiquetado de clasificación de imágenes con múltiples etiquetas de Amazon SageMaker Ground Truth cuando necesites trabajadores que clasifiquen varios objetos de una imagen. Por ejemplo, la siguiente imagen muestra un perro y un gato. Puede utilizar la clasificación de imágenes de varias etiquetas para asociar las etiquetas "perro" y "gato" con esta imagen.

Foto de Anusha Barwa en Unsplash

Al trabajar en una tarea de clasificación de imágenes de varias etiquetas, los trabajadores deben elegir todas las etiquetas aplicables y una como mínimo. Cuando se crea un trabajo con este tipo de tareas, se pueden proporcionar hasta 50 categorías de etiquetas.

Al crear un trabajo de etiquetado en la consola, Ground Truth no proporciona la categoría "ninguno" cuando ninguna de las etiquetas se aplica a una imagen. Para proporcionar esta opción a los trabajadores, incluya una etiqueta similar a "none" u "other" cuando cree un trabajo de clasificación de imágenes con varias etiquetas.

Para evitar que los trabajadores seleccionen una sola etiqueta para cada imagen, utilice el tipo de tarea Clasificación de imágenes (etiqueta única).

importante

Para este tipo de tarea, si crea su propio archivo de manifiesto, utilice "source-ref" para identificar la ubicación de cada archivo de imagen en Amazon S3 que desee etiquetar. Para obtener más información, consulte Datos de entrada.

Crear un trabajo de etiquetado de clasificación de imágenes de varias etiquetas (consola)

Puede seguir las instrucciones Crear un trabajo de etiquetado (consola) para aprender a crear un trabajo de etiquetado de clasificación de imágenes con múltiples etiquetas en la SageMaker consola. En el paso 10, elija Imagen en el menú desplegable Categoría de tareas y elija Clasificación de imágenes (varias etiquetas) como tipo de tarea.

Ground Truth proporciona una interfaz de usuario del trabajador similar a la siguiente para las tareas de etiquetado. Al crear el trabajo de etiquetado en la consola, se especifican instrucciones para ayudar a los trabajadores a completar el trabajo y las etiquetas que los trabajadores pueden elegir.

Ejemplo de interfaz de usuario de un trabajador para tareas de etiquetado, proporcionada por Ground Truth.

Crear un trabajo de etiquetado de clasificación de imágenes con múltiples etiquetas () API

Para crear un trabajo de etiquetado de clasificación de imágenes con múltiples etiquetas, utilice la SageMaker API operación. CreateLabelingJob Esto API define esta operación para todos AWS SDKs. Para ver una lista de los idiomas específicos SDKs compatibles con esta operación, consulte la sección Vea también de. CreateLabelingJob

Siga las instrucciones de Crear un trabajo de etiquetado (API) y haga lo siguiente mientras configura su solicitud:

  • Las funciones de Lambda de preanotación para este tipo de tareas terminan con PRE-ImageMultiClassMultiLabel. Para encontrar la Lambda previa a la anotación correspondiente a su región, ARN consulte. PreHumanTaskLambdaArn

  • Las funciones de Lambda de consolidación de anotaciones para este tipo de tareas terminan con ACS-ImageMultiClassMultiLabel. Para encontrar la ARN Lambda de consolidación de anotaciones de su región, consulte. AnnotationConsolidationLambdaArn

El siguiente es un ejemplo de una solicitud de AWS Python SDK (Boto3) para crear un trabajo de etiquetado en la región EE.UU. Este (Norte de Virginia). Todos los parámetros en rojo deben reemplazarse con sus especificaciones y 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' }, ] )

Proporcionar una plantilla para la clasificación de imágenes de múltiples etiquetas

Si crea un trabajo de etiquetado utilizando elAPI, debe proporcionar una plantilla de tarea de trabajo. UiTemplateS3Uri Copie y modifique la siguiente plantilla. Modifique únicamente short-instructions, full-instructions y header.

Cargue esta plantilla en S3 e introduzca el S3 URI para este archivoUiTemplateS3Uri.

<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>

Datos de salida de clasificación de imágenes de etiquetas múltiples

Una vez que haya creado un trabajo de etiquetado y clasificación de imágenes con varias etiquetas, los datos de salida se ubicarán en el bucket de Amazon S3 especificado en el S3OutputPath parámetro cuando se utilice el campo API o en el campo Ubicación del conjunto de datos de salida de la sección Descripción general del trabajo de la consola.

Para obtener más información sobre el archivo de manifiesto de salida generado por Ground Truth y la estructura de archivos que Ground Truth utiliza para almacenar los datos de salida, consulte Datos de salida.

Para ver un ejemplo de archivos de manifiesto de salida para el trabajo de etiquetado de clasificación de imágenes con etiquetas múltiples, consulte Salida del trabajo de clasificación de etiquetas múltiples.