Classification des images (étiquette unique) - Amazon SageMaker

Classification des images (étiquette unique)

Utilisez une tâche d'étiquetage de classification d'images Amazon SageMaker Ground Truth lorsque vous avez besoin que les employés classent des images à l'aide d'étiquettes prédéfinies que vous spécifiez. Les images sont proposées aux employés, qui sont invités à choisir une étiquette pour chaque image.

Vous pouvez créer une tâche d'étiquetage de classification d'images en utilisant la section Ground Truth de la console Amazon SageMaker ou l'opération CreateLabelingJob.

Important

Pour ce type de tâche, si vous créez votre propre fichier manifeste, utilisez "source-ref" pour identifier l'emplacement dans Amazon S3 de chaque fichier image que vous souhaitez étiqueter. Pour plus d'informations, consultez Données d'entrée.

Créer une tâche d'étiquetage de classification d'image (Console)

Vous pouvez suivre les instructions de Création d'une tâche d'étiquetage (Console) pour apprendre à créer une tâche d'étiquetage de classification d'image dans la console SageMaker. À l'étape 10, choisissez Image dans le menu déroulant Catégorie de tâches, puis Classification d'image (étiquette unique) comme type de tâche.

Ground Truth fournit une interface utilisateur employé similaire à la suivante pour l'étiquetage des tâches. Lorsque vous créez la tâche d'étiquetage avec la console, vous spécifiez des instructions pour aider les collaborateurs à terminer la tâche et des étiquettes parmi lesquelles ceux-ci peuvent faire leur choix.

Créer une tâche d'étiquetage de classification d'image (API)

Pour créer une tâche d'étiquetage de classification d'image, utilisez l'opération CreateLabelingJob de l'API SageMaker. Cette API définit cette opération pour tous les kits SDK AWS. Pour afficher la liste des kits SDK spécifiques à la langue pris en charge pour cette opération, veuillez consulter la section Voir aussi de CreateLabelingJob.

Suivez les instructions présentées dans Création d'une tâche d'étiquetage (API) et procédez comme suit pour configurer votre demande :

  • Les fonctions Lambda de pré-annotation pour ce type de tâche se terminent par PRE-ImageMultiClass. Pour trouver l'ARN Lambda de pré-annotation pour votre région, veuillez consulter PreHumanTaskLambdaArn.

  • Les fonctions Lambda de consolidation des annotations pour ce type de tâche se terminent par ACS-ImageMultiClass. Pour trouver l'ARN Lambda de consolidation des annotations pour votre région, veuillez consulter AnnotationConsolidationLambdaArn.

Voici un exemple de requête du kit SDK AWS Python (Boto3) pour créer une tâche d'étiquetage dans la région USA Est (Virginie du Nord). Tous les paramètres en rouge doivent être remplacés par vos spécifications et ressources.

response = client.create_labeling_job( LabelingJobName='example-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-ImageMultiClass, 'TaskKeywords': [ Image classification', ], 'TaskTitle': Image classification task', 'TaskDescription': 'Carefully inspect the image and classify it by selecting one label from the categories provided.', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Fournir un modèle pour les tâches d'étiquetage de classification d'image

Si vous créez une tâche d'étiquetage à l'aide de l'API, vous devez fournir un modèle personnalisé dans UiTemplateS3Uri. Copiez et modifiez le modèle suivant. Modifiez uniquement short-instructions, full-instructions, et header.

Téléchargez ce modèle vers S3 et fournissez l'URI S3 pour ce fichier dans UiTemplateS3Uri.

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-image-classifier name="crowd-image-classifier" src="{{ task.input.taskObject | grant_read_access }}" header="please classify" categories="{{ task.input.labels | to_json | escape }}" > <full-instructions header="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 label that best suits 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> </crowd-form>

Données de sortie de classification d'image

Une fois que vous avez créé une tâche d'étiquetage de classification d'image, vos données de sortie seront situées dans le compartiment Amazon S3 spécifié dans le paramètre S3OutputPath lorsque vous utilisez l'API ou dans le champ Output dataset location (Emplacement du jeu de données de sortie) de la section Job overview (Présentation de la tâche) de la console.

Pour en savoir plus sur le fichier manifeste de sortie généré par Ground Truth et sur la structure de fichier que ce dernier utilise pour stocker vos données de sortie, veuillez consulter Données de sortie.

Pour afficher un exemple de fichier manifeste en sortie à partir d'une tâche d'étiquetage de classification d'image, veuillez consulter Sortie de la tâche de classification.