CORS-Anforderung für Eingabebilddaten - Amazon SageMaker AI

CORS-Anforderung für Eingabebilddaten

Anfang 2020 wurde das Standardverhalten weit verbreiteter Browser wie Chrome und Firefox für das Rotieren von Bildern anhand von Bildmetadaten, den sogenannten EXIF-Daten, geändert. Bis dahin zeigten Browser Bilder immer genau so an, wie sie auf der Festplatte gespeichert waren, normalerweise also nicht gedreht. Seit der Änderung werden Bilder jetzt gedreht, und zwar abhängig von einem Teil der Bildmetadaten, der als Orientierungswert bezeichnet wird. Dies hat erhebliche Auswirkungen für die gesamte Machine Learning Community (ML). Wenn beispielsweise Anwendungen, die Bilder kommentieren, die EXIF-Ausrichtung nicht berücksichtigen, können die Bilder in unerwarteter Ausrichtung erscheinen. Das führt dazu, dass die Bilder falsch beschriftet werden.

Ab Chrome 89 kann AWS die Rotation von Bildern nicht mehr automatisch verhindern, da die Web Standards Group W3C entschieden hat, dass die Fähigkeit, die Rotation von Bildern zu steuern, gegen die Same-Origin-Richtlinie für das Internet verstößt. Um daher sicherzustellen, dass Mitarbeiter (d. h. Menschen), die die von Ihnen eingegebenen Bilder in vorhersehbarer Ausrichtung kommentieren, wenn Sie einen Kennzeichnungsauftrag beantragen, müssen Sie eine CORS-Header-Richtlinie zu den Amazon-S3-Buckets hinzufügen, die die von Ihnen eingegebenen Bilder enthalten.

Wichtig

Wenn Sie zu den Amazon-S3-Buckets, die Ihre Eingabedaten enthalten, keine CORS-Konfiguration hinzufügen, schlagen die Labeling-Aufgaben für diese Eingabedatenobjekte fehl.

Wenn Sie einen Auftrag über die Ground-Truth-Konsole erstellen, ist CORS standardmäßig aktiviert. Wenn sich Ihre Eingabedaten nicht alle in demselben Amazon-S3-Bucket befinden wie Ihre Eingabe-Manifest-Datei, müssen Sie zu allen Amazon-S3-Buckets, die Eingabedaten enthalten, mit Hilfe der folgenden Anweisungen eine CORS-Konfiguration hinzufügen.

Wenn Sie mit Hilfe der CreateLabelingJob API einen Ground-Truth-Labeling-Auftrag erstellen, können Sie zu einem Amazon-S3-Bucket, der in der S3-Konsole Eingabedaten enthält, eine CORS-Richtlinie hinzufügen. Um die erforderlichen CORS-Header im Amazon-S3-Bucket festzulegen, die die von Ihnen eingegebenen Bilder in der Amazon S3-Konsole enthalten, folgen Sie den Anweisungen unter Wie füge ich mit CORS eine domainübergreifende Ressourcenfreigabe hinzu?. Verwenden Sie den folgenden CORS-Konfigurationscode für die Buckets, in denen Ihre Bilder gehostet sind. Wenn Sie die Amazon S3-Konsole verwenden, um die Richtlinie zu Ihrem Bucket hinzuzufügen, müssen Sie das JSON-Format verwenden.

Wichtig

Wenn Sie einen Kennzeichnungsauftrag mit 3D-Punktwolke oder Video-Frame erstellen, müssen Sie zusätzliche Regeln zu Ihrer CORS-Konfiguration hinzufügen. Weitere Informationen hierzu finden Sie unter Berechtigungsvoraussetzungen für 3D-Punktwolken-Kennzeichnungsjobs bzw. Anforderungen an die Genehmigung von Video-Frame-Aufträgen.

JSON

[{ "AllowedHeaders": [], "AllowedMethods": ["GET"], "AllowedOrigins": ["*"], "ExposeHeaders": ["Access-Control-Allow-Origin"] }]

XML

<CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader> </CORSRule> </CORSConfiguration>

Das folgende GIF zeigt die Anweisungen, die in der Amazon S3-Dokumentation zu finden sind. Dabei geht es darum, eine mithilfe der Amazon S3-Konsole CORS-Header-Richtlinie hinzuzufügen. Eine schriftliche Anleitung finden Sie unter Verwendung der Amazon S3-Konsole auf der Seite So fügen Sie mit CORS die domainübergreifende gemeinsame Ressourcennutzung hinzu der Dokumentation im Benutzerhandbuch zum Amazon Simple Storage Service.

GIF zum Hinzufügen einer CORS-Header-Richtlinie über die Amazon-S3-Konsole