Einen Job zur Bildklassifizierung erstellen (Multi-Label) - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einen Job zur Bildklassifizierung erstellen (Multi-Label)

Verwenden Sie eine Amazon SageMaker Ground Truth Bildklassifizierungsaufgabe mit mehreren Labels, wenn Mitarbeiter mehrere Objekte in einem Bild klassifizieren müssen. Auf dem folgenden Bild beispielsweise sind ein Hund und eine Katze zu sehen. Sie können die Multi-Label-Bildklassifizierung verwenden, um die Bezeichnungen „Hund“ und „Katze“ mit diesem Bild zu verknüpfen. Die folgende Seite enthält Informationen zur Erstellung eines Jobs zur Bildklassifizierung.

Foto von Anusha Barwa auf Unsplash

Auftragnehmer, die an einer Aufgabe zur Multi-Label-Bildklassifizierung arbeiten, sollten alle anwendbaren Bezeichnungen (Label) auswählen, zumindest muss jedoch eine Bezeichnung ausgewählt werden. Beim Erstellen eines Auftrags mit diesem Aufgabentyp können Sie bis zu 50 Bezeichnungskategorien angeben.

Wenn Sie einen Beschriftungsauftrag in der Konsole erstellen, stellt Ground Truth keine Kategorie „Keine“ für Fälle bereit, in denen keine der Beschriftungen auf ein Bild angewendet werden kann. Um den Auftragnehmern diese Option zur Verfügung zu stellen, fügen Sie beim Erstellen eines Multi-Label-Bildklassifizierungsauftrags eine Bezeichnung wie „Keine“ oder „Sonstiges“ hinzu.

Verwenden Sie den Aufgabentyp Einen Job zur Bildklassifizierung erstellen (Single Label), um Auftragnehmer auf die Auswahl einer einzelnen Bezeichnung für jedes Bild zu beschränken.

Wichtig

Wenn Sie für diesen Aufgabentyp Ihre eigene Manifestdatei erstellen, verwenden Sie "source-ref", um den Speicherort jeder Bilddatei in Amazon S3 zu identifizieren, die Sie beschriften möchten. Weitere Informationen finden Sie unter Eingabedaten.

Erstellen eines Labeling-Auftrags für die Multi-Label-Bildklassifizierung (Konsole)

Sie können den Anweisungen folgenErstellen eines Kennzeichnungsauftrags (Konsole), um zu erfahren, wie Sie in der SageMaker Konsole einen Auftrag zur Bildklassifizierung mit mehreren Labels erstellen. Wählen Sie in Schritt 10 im Dropdown-Menü Aufgabenkategorie die Option Bild und als Aufgabentyp Bildklassifizierung (Multi-Beschriftung) aus.

Ground Truth stellt für die Labeling-Aufgaben eine Worker-Benutzeroberfläche ähnlich der folgenden bereit. Wenn Sie eine Labeling-Aufgabe in der Konsole erstellen, müssen Sie Anweisungen bereitstellen, damit die Worker die Aufgabe ausführen können, und Kennzeichnungen, aus denen die Worker auswählen können.

Beispiel für eine Worker-Benutzeroberfläche für Labeling-Aufgaben, bereitgestellt von Ground Truth.

Einen Label-Job zur Bildklassifizierung mit mehreren Labels erstellen () API

Verwenden Sie den Vorgang, um einen Auftrag zur Bildklassifizierung mit mehreren Bezeichnungen zu erstellen. SageMaker API CreateLabelingJob Dadurch wird dieser Vorgang für alle API AWS SDKs definiert. Eine Liste der sprachspezifischen Sprachen, die für diesen Vorgang SDKs unterstützt werden, finden Sie im Abschnitt Siehe auch von. CreateLabelingJob

Befolgen Sie diese Anweisungen unter Erstellen eines Kennzeichnungsauftrags (API) und führen Sie die folgenden Schritte aus, während Sie Ihre Anforderung konfigurieren:

  • Vorannotierende Lambda-Features für die Vorannotierung für diesen Aufgabentyp enden mit PRE-ImageMultiClassMultiLabel. Informationen zum Lambda-Pre-Annotation ARN für Ihre Region finden Sie unter. PreHumanTaskLambdaArn

  • Annotations-Konsolidierende Lambda-Features für die Annotationskonsolidierung für diesen Aufgabentyp enden mit ACS-ImageMultiClassMultiLabel. Informationen zum Lambda zur Annotationskonsolidierung ARN für Ihre Region finden Sie unter. AnnotationConsolidationLambdaArn

Im Folgenden finden Sie ein Beispiel für eine AWS Python-Anfrage SDK (Boto3) zur Erstellung eines Labeling-Jobs in der Region USA Ost (Nord-Virginia). Alle Parameter in Rot sollten durch Ihre Spezifikationen und Ressourcen ersetzt werden.

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' }, ] )

Bereitstellen einer Vorlage für die Bildklassifizierung mit mehreren Kennzeichnungen

Wenn Sie einen Label-Job mit dem erstellenAPI, müssen Sie unter eine Worker-Aufgabenvorlage angeben. UiTemplateS3Uri Kopieren und ändern Sie die folgende Vorlage. Ändern Sie nur short-instructions, full-instructions und header.

Laden Sie diese Vorlage auf S3 hoch und stellen Sie die S3-Datei URI für diese Datei unter bereitUiTemplateS3Uri.

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

Ausgabedaten der Multi-Label-Bildklassifizierung

Sobald Sie einen Label-Job zur Bildklassifizierung mit mehreren Labels erstellt haben, befinden sich Ihre Ausgabedaten in dem Amazon S3 S3-Bucket, der im S3OutputPath Parameter angegeben ist, wenn Sie das API oder im Feld Speicherort des Ausgabedatensatzes im Bereich Auftragsübersicht der Konsole verwenden.

Weitere Informationen zu der von Ground Truth generierten Ausgabemanifestdatei und zur Dateistruktur, die zum Speichern Ihrer Ausgabedaten verwendet, finden Sie unter Ausgabedaten des Jobs beschriften.

Ein Beispiel für Ausgabemanifestdateien für einen Labeling-Auftrag für die Multi-Label-Bildklassifizierung finden Sie unter Ausgabe von Klassifizierungsaufträgen mit mehreren Bezeichnungen.