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.
Identificación del contenido de las imágenes mediante la segmentación semántica
Para identificar el contenido de una imagen a nivel de píxel, usa una tarea de etiquetado de segmentación semántica de Amazon SageMaker Ground Truth. Cuando se asigna un trabajo de etiquetado de segmentación semántica, los trabajadores clasifican los píxeles de la imagen en un conjunto de etiquetas o clases predefinidas. Ground Truth admite trabajos de etiquetado de segmentación semántica de clase única y múltiple. Para crear un trabajo de etiquetado de segmentación semántica, utilice la sección Ground Truth de la consola Amazon SageMaker AI o la CreateLabelingJob
operación.
Las imágenes que contienen un gran número de objetos que deben segmentarse requieren más tiempo. Para ayudar a los trabajadores (de personal privado o de proveedor) a etiquetar estos objetos en menos tiempo y con mayor precisión, Ground Truth proporciona una herramienta de segmentación automática asistida por IA. Para obtener más información, consulte Herramienta de segmentación automática.
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 segmentación semántica (consola)
Puede seguir las instrucciones Crear un trabajo de etiquetado (consola) para aprender a crear un trabajo de etiquetado de segmentación semántica en la consola de IA. SageMaker En el paso 10, elija Image (Imagen) en el menú desplegable Task category (Categoría de tarea) y, luego, Semantic segmentation (Segmentación semántica) como tipo de tarea.
Ground Truth proporciona una interfaz de usuario de 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 las etiquetas que los trabajadores pueden elegir.
![Gif que muestra un ejemplo sobre cómo crear un trabajo de etiquetado de segmentación semántica en la consola de IA. SageMaker](images/semantic_segmentation_sample.gif)
Crear un trabajo de etiquetado de segmentación semántica (API)
Para crear un trabajo de etiquetado de segmentación semántica, utilice la operación API. SageMaker 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-SemanticSegmentation
. 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-SemanticSegmentation
. 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)
response = client.create_labeling_job( LabelingJobName=
'example-semantic-segmentation-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-SemanticSegmentation, 'TaskKeywords': ['Semantic Segmentation'
, ], 'TaskTitle':'Semantic segmentation task'
, 'TaskDescription':'For each category provided, segment out each relevant object using the color associated with that category'
, 'NumberOfHumanWorkersPerDataObject':123
, 'TaskTimeLimitInSeconds':123
, 'TaskAvailabilityLifetimeInSeconds':123
, 'MaxConcurrentTaskCount':123
, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414
:function:ACS-SemanticSegmentation' }, Tags=[ { 'Key':'string'
, 'Value':'string'
}, ] )
Proporcionar una plantilla para trabajos de etiquetado de segmentación semántica
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-semantic-segmentation name="crowd-semantic-segmentation" src="{{ task.input.taskObject | grant_read_access }}" header="Please segment out all pedestrians." labels="{{ task.input.labels | to_json | escape }}" > <full-instructions header="Segmentation 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 label that best suits an object and paint that object using the tools provided.</li></ol> </full-instructions> <short-instructions> <h2><span style="color: rgb(0, 138, 0);">Good example</span></h2> <p>Enter description to explain a correctly done segmentation</p> <p><br></p><h2><span style="color: rgb(230, 0, 0);">Bad example</span></h2> <p>Enter description of an incorrectly done segmentation</p> </short-instructions> </crowd-semantic-segmentation> </crowd-form>
Datos de salida de segmentación semántica
Después de crear un trabajo de etiquetado de segmentación semántica, 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 de conjunto de datos de salida de la sección Informació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 Etiquetado de los datos de salida del trabajo.
Para ver un ejemplo de un archivo de manifiesto de salida para un trabajo de etiquetado de segmentación semántica, consulte Salida de segmentación semántica de nubes de puntos 3D.