Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Clasificación de los objetos de imagen mediante un cuadro delimitador

Modo de enfoque
Clasificación de los objetos de imagen mediante un cuadro delimitador - Amazon SageMaker AI

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.

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.

Es frecuente que las imágenes que se utilizan para entrenar un modelo de machine learning contengan varios objetos. Para clasificar y localizar uno o más objetos dentro de las imágenes, utiliza el tipo de tarea de etiquetado de cajas delimitadoras Amazon SageMaker Ground Truth. En este contexto, la localización es la ubicación en píxeles del cuadro delimitador. Para crear un trabajo de etiquetado de cajas delimitadoras, utilice la sección Ground Truth de la consola Amazon SageMaker AI o la CreateLabelingJoboperación.

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 con cuadros delimitadores (consola)

Puedes seguir las instrucciones Crear un trabajo de etiquetado (consola) para aprender a crear un trabajo de etiquetado de cajas delimitadoras en la consola de SageMaker IA. En el paso 10, elija Imagen en el menú desplegable Categoría de tareas y elija Cuadro delimitador 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 con la consola, se especifican instrucciones para ayudar a los trabajadores a completar el trabajo y hasta 50 etiquetas que los trabajadores pueden elegir.

Gif que muestra cómo dibujar un cuadro alrededor de un objeto para una categoría

Crear un trabajo de etiquetado con cuadros delimitadores (API)

Para crear un trabajo de etiquetado de cuadros delimitadores, utilice la operación SageMaker API. CreateLabelingJob Esta 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-BoundingBox. Para encontrar el ARN Lambda previo a la anotación correspondiente a su región, consulte. PreHumanTaskLambdaArn

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

A continuación se ofrece un ejemplo de solicitud del SDK de AWS Python (Boto3) para crear un trabajo de etiquetado en la región Este de EE. UU. (Norte de Virginia). Todos los parámetros en rojo deben reemplazarse con sus especificaciones y recursos.

response = client.create_labeling_job( LabelingJobName='example-bounding-box-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-BoundingBox', 'TaskKeywords': [ 'Bounding Box', ], 'TaskTitle': 'Bounding Box task', 'TaskDescription': 'Draw bounding boxes around objects in an image', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox' } }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Proporcionar una plantilla para los trabajos de etiquetado de cuadro delimitador

Si crea un trabajo de etiquetado con la API, debe proporcionar una plantilla de tarea del trabajador en UiTemplateS3Uri. Copie y modifique la siguiente plantilla. Modifique únicamente short-instructions, full-instructions y header. Cargue esta plantilla a S3 y proporcione el URI de S3 para este archivo en UiTemplateS3Uri.

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-bounding-box name="boundingBox" src="{{ task.input.taskObject | grant_read_access }}" header="please draw box" labels="{{ task.input.labels | to_json | escape }}" > <full-instructions header="Bounding box instructions"> <ol><li><strong>Inspect</strong> the image</li><li><strong>Determine</strong> if the specified label is/are visible in the picture.</li> <li><strong>Outline</strong> each instance of the specified label in the image using the provided “Box” tool.</li></ol> <ul><li>Boxes should fit tight around each object</li> <li>Do not include parts of the object are overlapping or that cannot be seen, even though you think you can interpolate the whole shape.</li> <li>Avoid including shadows.</li> <li>If the target is off screen, draw the box up to the edge of the image.</li> </full-instructions> <short-instructions> <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3> <p>Enter description of a correct bounding box label and add images</p> <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3> <p>Enter description of an incorrect bounding box label and add images</p> </short-instructions> </crowd-bounding-box> </crowd-form>

Datos de salida de cuadro delimitador

Después de crear un trabajo de etiquetado con cuadros delimitadores, los datos de salida se ubicarán en el bucket de Amazon S3 especificado en el parámetro S3OutputPath al utilizar la 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.

Por ejemplo, el archivo de manifiesto de salida de una tarea de cuadro delimitador de clase única completada correctamente contendrá lo siguiente:

[ { "boundingBox": { "boundingBoxes": [ { "height": 2832, "label": "bird", "left": 681, "top": 599, "width": 1364 } ], "inputImageProperties": { "height": 3726, "width": 2662 } } } ]

El parámetro boundingBoxes identifica la ubicación del cuadro delimitador dibujado alrededor de un objeto identificado como un "ave" con respecto a la esquina superior izquierda de la imagen, que se considera la coordenada de píxeles (0,0). En el ejemplo anterior, left y top identifican la ubicación del píxel situado en la esquina superior izquierda del cuadro delimitador con respecto a la esquina superior izquierda de la imagen. Las dimensiones del cuadro delimitador se identifican con height y width. El parámetro inputImageProperties proporciona las dimensiones en píxeles de la imagen de entrada original.

Cuando se utiliza el tipo de tarea de cuadro delimitador se pueden crear trabajos de etiquetado con cuadro delimitador de una o varias clases. El archivo de manifiesto de salida de un cuadro delimitador multiclase completado correctamente contendrá lo siguiente:

[ { "boundingBox": { "boundingBoxes": [ { "height": 938, "label": "squirrel", "left": 316, "top": 218, "width": 785 }, { "height": 825, "label": "rabbit", "left": 1930, "top": 2265, "width": 540 }, { "height": 1174, "label": "bird", "left": 748, "top": 2113, "width": 927 }, { "height": 893, "label": "bird", "left": 1333, "top": 847, "width": 736 } ], "inputImageProperties": { "height": 3726, "width": 2662 } } } ]

Para obtener más información sobre el archivo de manifiesto de salida resultante de un trabajo de etiquetado con cuadros delimitadores, consulte Salida del trabajo de cuadro delimitador.

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 Etiquetado de los datos de salida del trabajo.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.