Klassifizieren von Videos - 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.

Klassifizieren von Videos

Verwenden Sie eine Amazon SageMaker Ground Truth-Labeling-Aufgabe für die Bildklassifizierung, wenn Worker Bilder mit vordefinierten Beschriftungen klassifizieren sollen, die von Ihnen angegeben werden. Auftragnehmern werden Bilder gezeigt und sie werden aufgefordert, für jedes Bild eine Beschriftung auszuwählen. Sie können einen Kennzeichnungsauftrag für die Textklassifizierung im Bereich „Ground Truth“ der Konsole von Amazon SageMaker AI oder über die CreateLabelingJob-Operation erstellen.

Ihre Videodateien müssen in einem Format codiert sein, das von dem Browser unterstützt wird, der von dem Arbeitsteam verwendet wird, das Ihre Daten beschriftet. Es wird empfohlen, dass Sie mithilfe der Worker-UI-Vorschau überprüfen, ob alle Videodateiformate in Ihrer Eingabemanifestdatei korrekt angezeigt werden. Mithilfe von Anweisungen für Auftragnehmer können Sie Ihren Auftragnehmer die unterstützten Browser mitteilen. Informationen zu den unterstützten Dateiformaten finden Sie unter Unterstützte Datumsformate.

Wichtig

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

Erstellen eines Beschriftungsauftrages für die Videoklassifizierung (Konsole)

Sie können die Anweisungen unter Erstellen eines Kennzeichnungsauftrags (Konsole) befolgen, um einen Kennzeichnungsauftrag für die Videoklassifizierung in der SageMaker-AI-Konsole zu erstellen. Wählen Sie in Schritt 10 aus der Dropdown-Liste Aufgabenkategorie die Option Video und wählen Sie als Aufgabentyp Videoklassifizierung aus.

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

GIF, das zeigt, wie ein Kennzeichnungsauftrag für die Videoklassifizierung in der SageMaker-AI-Konsole erstellt wird

Erstellen einer Labeling-Aufgabe für die Videoklassifizierung (API)

In diesem Abschnitt werden Details beschrieben, die Sie wissen müssen, wenn Sie einen Beschriftungsauftrag mithilfe der SageMaker-API-Operation CreateLabelingJob erstellen. Diese API definiert diese Operation 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:

  • Verwenden Sie eine vorannotierte Lambda-Funktion, die mit PRE-VideoClassification endet. Um die vorannotierte Lambda ARN für Ihre Region zu finden, siehe PreHumanTaskLambdaArn.

  • Verwenden Sie eine annotationskonsolidierende Lambda-Funktion, die mit endet ACS-VideoClassification. Informationen dazu, wie Sie den Anmerkungskonsolidierungs ARN für Ihre Region finden, sind im Abschnitt 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).

response = client.create_labeling_job( LabelingJobName='example-video-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-VideoClassification', 'TaskKeywords': [ 'Video Classification', ], 'TaskTitle': 'Video classification task', 'TaskDescription': 'Select a label to classify this video', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoClassification' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Stellen Sie eine Vorlage für die Videoklassifizierung bereit

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, indem Sie short-instructions, full-instructions und header ändern. Laden Sie diese Vorlage zu Amazon S3 hoch und geben Sie den Amazon-S3-URI für diese Datei in UiTemplateS3Uri an.

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-classifier name="crowd-classifier" categories="{{ task.input.labels | to_json | escape }}" header="Please classify video" > <classification-target> <video width="100%" controls/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/mp4"/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/webm"/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/ogg"/> Your browser does not support the video tag. </video> </classification-target> <full-instructions header="Video classification instructions"> <ol><li><strong>Read</strong> the task carefully and inspect the video.</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 video.</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> <p><img src="https://d7evko5405gb7.cloudfront.net/fe4fed9b-660c-4477-9294-2c66a15d6bbe/src/images/quick-instructions-example-placeholder.png" style="max-width:100%"></p> <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3> <p>Enter description of an incorrect label</p> <p><img src="https://d7evko5405gb7.cloudfront.net/fe4fed9b-660c-4477-9294-2c66a15d6bbe/src/images/quick-instructions-example-placeholder.png" style="max-width:100%"></p> </short-instructions> </crowd-classifier> </crowd-form>

Videoklassifizierungs-Ausgabedaten

Nach der Erstellung eines Beschriftungsauftrags für die Videoklassifizierung befinden sich bei Verwendung der API die Ausgabedaten in dem im S3OutputPath Parameter angegebenen Amazon-S3-Bucket oder im Feld Ausgabedatensatz-Speicherort im Abschnitt Auftragü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 Beschriftungsauftrag für die Multi-Beschriftung-Videoklassifizierung finden Sie unter Ausgabe des Klassifizierungsauftrags.