View a markdown version of this page

Einen Job zur Bildklassifizierung erstellen (Multi-label) - Amazon SageMaker KI

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. Auf der folgenden Seite finden Sie Informationen zum Erstellen eines Bildklassifizierungsjobs.

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 Erstellen eines Bildklassifizierungsjobs (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.

Labeling-Job zur Multi-Label Bildklassifizierung erstellen (Konsole)

Sie können den Anweisungen folgenErstellen eines Kennzeichnungsauftrags (Konsole), um zu erfahren, wie Sie in der SageMaker AI-Konsole einen Job zur Bildklassifizierung mit mehreren Labels erstellen. Wählen Sie in Schritt 10 im Dropdownmenü „Aufgabenkategorie“ die Option „Bild“ und wählen Sie „Bildklassifizierung“ (Multi-label) als Aufgabentyp 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 Kennzeichnungsaufgaben, bereitgestellt von Ground Truth

Einen Job zur Kennzeichnung der Multi-Label Bildklassifizierung (API) erstellen

Verwenden Sie den SageMaker API-VorgangCreateLabelingJob, um einen Label-Job zur Bildklassifizierung mit mehreren Labels zu erstellen. Diese API definiert diesen Vorgang für alle AWS SDKs. Eine Liste der sprachspezifischen SDKs, die für diese Operation 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:

  • Pre-annotation Lambda-Funktionen für diesen Aufgabentyp enden mitPRE-ImageMultiClassMultiLabel. Den Lambda-ARN vor der Anmerkung für Ihre Region finden Sie unter. PreHumanTaskLambdaArn

  • Annotation-consolidation Lambda-Funktionen für diesen Aufgabentyp enden mitACS-ImageMultiClassMultiLabel. Den Lambda-ARN zur Annotationskonsolidierung für Ihre Region finden Sie unter. AnnotationConsolidationLambdaArn

Im Folgenden finden Sie ein Beispiel für eine AWS -Python-SDK-(Boto3)-Anforderung zum Erstellen eines Beschriftungsauftrags 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' }, ] )

Stellen Sie eine Vorlage für die Bildklassifizierung bereit Multi-label

Wenn Sie eine Labeling-Aufgabe unter Verwendung der API erstellen, müssen Sie in UiTemplateS3Uri eine Worker-Aufgabenvorlage bereitstellen. Kopieren und ändern Sie die folgende Vorlage. Ändern Sie nur short-instructions, full-instructions und header.

Laden Sie diese Vorlage zu S3 hoch und geben Sie den S3-URI für diese Datei in UiTemplateS3Uri an.

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

Multi-label Ausgabedaten für die Bildklassifizierung

Nachdem Sie einen Beschriftungsauftrag für die Multi-Beschriftung-Bildklassifizierung erstellt haben, befinden sich die Ausgabedaten in dem im S3OutputPath Parameter angegebenen Amazon-S3-Bucket, wenn Sie die API verwenden, oder im Feld Speicherort des Ausgabedatensatzes im Abschnitt Auftragsübersicht der Konsole.

Um mehr über die von Ground Truth erzeugte Ausgabemanifestdatei und die Dateistruktur zu erfahren, die Ground Truth zum Speichern der Ausgabedaten verwendet, siehe Ausgabedaten von Kennzeichnungsaufträgen.

Ein Beispiel für Ausgabemanifestdateien für einen Labeling-Auftrag für die Multi-Label-Bildklassifizierung finden Sie unter Multi-label Ausgabe des Klassifizierungsauftrags.