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.
Amazon Rekognition Image kann Bilder analysieren, die in einem Amazon-S3-Bucket gespeichert sind, oder Bilder, die als Bild-Bytes bereitgestellt werden.
In diesem Thema verwenden Sie den DetectLabelsAPI-Vorgang, um Objekte, Konzepte und Szenen in einem Bild (JPEG oder PNG) zu erkennen, das in einem Amazon S3 S3-Bucket gespeichert ist. Sie übergeben ein Bild an eine Amazon-Rekognition-Image-API-Operation, indem Sie den Eingabeparameter Bild verwenden. Innerhalb von Image
spezifizieren Sie die S3Object-Objekteigenschaft, um auf ein in einem S3-Bucket gespeichertes Bild zu verweisen. Bild-Bytes für Bilder, die in Amazon-S3-Buckets gespeichert sind, müssen nicht base64-codiert werden. Weitere Informationen finden Sie unter Bildspezifikationen.
Beispielanforderung
In diesem Beispiel einer JSON-Anforderung für DetectLabels
wird das Quell-Bild (input.jpg
) aus einem Amazon-S3-Bucket mit dem Namen amzn-s3-demo-bucket
geladen. Beachten Sie, dass die Region für den S3-Bucket, der das S3-Objekt enthält, mit der Region übereinstimmen muss, die Sie für Amazon-Rekognition-Image-Operationen verwenden.
{ "Image": { "S3Object": { "Bucket": "
amzn-s3-demo-bucket
", "Name": "input.jpg" } }, "MaxLabels": 10, "MinConfidence": 75 }
In den folgenden Beispielen werden die AWS SDKs Aufrufe various und AWS CLI to verwendetDetectLabels
. Informationen über die Antwort auf die Operation DetectLabels
finden Sie unter DetectLabels Antwort.
So erkennen Sie Labels in einem Bild
Wenn Sie dies noch nicht getan haben:
Erstellen oder aktualisieren Sie einen Benutzer mit
AmazonRekognitionFullAccess
- undAmazonS3ReadOnlyAccess
-Berechtigungen. Weitere Informationen finden Sie unter Schritt 1: Einrichten eines AWS-Kontos und Erstellen eines Benutzers.Installieren und konfigurieren Sie das AWS CLI und das AWS SDKs. Weitere Informationen finden Sie unter Schritt 2: Richten Sie das AWS CLI und ein AWS SDKs. Stellen Sie sicher, dass Sie dem Benutzer, der die API-Operationen aufruft, die richtigen Berechtigungen für den programmatischen Zugriff erteilt haben. Eine Anleitung dazu finden Sie unter Erteilen programmgesteuerten Zugriffs.
-
Laden Sie ein Bild mit einem oder mehreren Objekten wie Bäumen, Häusern und einem Boot auf Ihren S3-Bucket hoch. Das Bild muss entweder im JPG- oder PNG-Format vorliegen.
Weitere Anleitungen finden Sie unter Upload eines Objekts in Amazon S3 im Benutzerhandbuch für Amazon Simple Storage Service.
-
Verwenden Sie die folgenden Beispiele zum Aufrufen der
DetectLabels
-Operation.Dieses Beispiel zeigt eine Liste von Labels an, die auf dem Eingabebild erkannt wurden. Ersetzen Sie die Werte von
bucket
undphoto
durch die Namen des Amazon-S3-Buckets und des Bilds, das Sie in Schritt 2 verwendet haben.//Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. //PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.) package com.amazonaws.samples; import com.amazonaws.services.rekognition.AmazonRekognition; import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder; import com.amazonaws.services.rekognition.model.AmazonRekognitionException; import com.amazonaws.services.rekognition.model.DetectLabelsRequest; import com.amazonaws.services.rekognition.model.DetectLabelsResult; import com.amazonaws.services.rekognition.model.Image; import com.amazonaws.services.rekognition.model.Label; import com.amazonaws.services.rekognition.model.S3Object; import java.util.List; public class DetectLabels { public static void main(String[] args) throws Exception { String photo = "input.jpg"; String bucket = "bucket"; AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient(); DetectLabelsRequest request = new DetectLabelsRequest() .withImage(new Image() .withS3Object(new S3Object() .withName(photo).withBucket(bucket))) .withMaxLabels(10) .withMinConfidence(75F); try { DetectLabelsResult result = rekognitionClient.detectLabels(request); List <Label> labels = result.getLabels(); System.out.println("Detected labels for " + photo); for (Label label: labels) { System.out.println(label.getName() + ": " + label.getConfidence().toString()); } } catch(AmazonRekognitionException e) { e.printStackTrace(); } } }
Beispielantwort
Die Antwort von DetectLabels
ist ein Array der erkannten Labels in dem Bild und der Zuverlässigkeitswert, mit dem sie erkannt wurden.
Wenn Sie die DetectLabels
-Operation mit einem Bild ausführen, gibt Amazon Rekognition eine Ausgabe zurück, die der folgenden Beispielantwort ähnelt.
Die Antwort zeigt, dass die Operation mehrere Labels erkannt hat, einschließlich Person, Fahrzeug und Auto. Jedem Label ist ein Zuverlässigkeitswert zugeordnet. Beispielsweise ist der Erkennungsalgorithmus zu 98,991432 % sicher, dass auf dem Bild eine Person abgebildet ist.
Die Antwort umfasst auch die übergeordneten Vorgängerlabels für ein Label im Parents
-Array. Beispielsweise hat das Label „Automobil“ die zwei übergeordneten Labels „Fahrzeug“ und „Transport“.
Die Antwort für gängige Objektlabels enthält Informationen zum Begrenzungsrahmen für die Position des Labels auf dem Eingabebild. Beispiel: Das Label „Person“ ist ein Instances-Array mit zwei Begrenzungsrahmen. Dies sind die Positionen von zwei Personen, die im Bild erkannt wurden.
Das Feld LabelModelVersion
enthält die Versionsnummer des von DetectLabels
verwendeten Erkennungsmodells.
Weitere Informationen zur Verwendung der DetectLabels
-Operation finden Sie unter Erkennung von Objekten und Konzepten.
{
{
"Labels": [
{
"Name": "Vehicle",
"Confidence": 99.15271759033203,
"Instances": [],
"Parents": [
{
"Name": "Transportation"
}
]
},
{
"Name": "Transportation",
"Confidence": 99.15271759033203,
"Instances": [],
"Parents": []
},
{
"Name": "Automobile",
"Confidence": 99.15271759033203,
"Instances": [],
"Parents": [
{
"Name": "Vehicle"
},
{
"Name": "Transportation"
}
]
},
{
"Name": "Car",
"Confidence": 99.15271759033203,
"Instances": [
{
"BoundingBox": {
"Width": 0.10616336017847061,
"Height": 0.18528179824352264,
"Left": 0.0037978808395564556,
"Top": 0.5039216876029968
},
"Confidence": 99.15271759033203
},
{
"BoundingBox": {
"Width": 0.2429988533258438,
"Height": 0.21577216684818268,
"Left": 0.7309805154800415,
"Top": 0.5251884460449219
},
"Confidence": 99.1286392211914
},
{
"BoundingBox": {
"Width": 0.14233611524105072,
"Height": 0.15528248250484467,
"Left": 0.6494812965393066,
"Top": 0.5333095788955688
},
"Confidence": 98.48368072509766
},
{
"BoundingBox": {
"Width": 0.11086395382881165,
"Height": 0.10271988064050674,
"Left": 0.10355594009160995,
"Top": 0.5354844927787781
},
"Confidence": 96.45606231689453
},
{
"BoundingBox": {
"Width": 0.06254628300666809,
"Height": 0.053911514580249786,
"Left": 0.46083059906959534,
"Top": 0.5573825240135193
},
"Confidence": 93.65448760986328
},
{
"BoundingBox": {
"Width": 0.10105438530445099,
"Height": 0.12226245552301407,
"Left": 0.5743985772132874,
"Top": 0.534368634223938
},
"Confidence": 93.06217193603516
},
{
"BoundingBox": {
"Width": 0.056389667093753815,
"Height": 0.17163699865341187,
"Left": 0.9427769780158997,
"Top": 0.5235804319381714
},
"Confidence": 92.6864013671875
},
{
"BoundingBox": {
"Width": 0.06003860384225845,
"Height": 0.06737709045410156,
"Left": 0.22409997880458832,
"Top": 0.5441341400146484
},
"Confidence": 90.4227066040039
},
{
"BoundingBox": {
"Width": 0.02848697081208229,
"Height": 0.19150497019290924,
"Left": 0.0,
"Top": 0.5107086896896362
},
"Confidence": 86.65286254882812
},
{
"BoundingBox": {
"Width": 0.04067881405353546,
"Height": 0.03428703173995018,
"Left": 0.316415935754776,
"Top": 0.5566273927688599
},
"Confidence": 85.36471557617188
},
{
"BoundingBox": {
"Width": 0.043411049991846085,
"Height": 0.0893595889210701,
"Left": 0.18293385207653046,
"Top": 0.5394920110702515
},
"Confidence": 82.21705627441406
},
{
"BoundingBox": {
"Width": 0.031183116137981415,
"Height": 0.03989990055561066,
"Left": 0.2853088080883026,
"Top": 0.5579366683959961
},
"Confidence": 81.0157470703125
},
{
"BoundingBox": {
"Width": 0.031113790348172188,
"Height": 0.056484755128622055,
"Left": 0.2580395042896271,
"Top": 0.5504819750785828
},
"Confidence": 56.13441467285156
},
{
"BoundingBox": {
"Width": 0.08586374670267105,
"Height": 0.08550430089235306,
"Left": 0.5128012895584106,
"Top": 0.5438792705535889
},
"Confidence": 52.37760925292969
}
],
"Parents": [
{
"Name": "Vehicle"
},
{
"Name": "Transportation"
}
]
},
{
"Name": "Human",
"Confidence": 98.9914321899414,
"Instances": [],
"Parents": []
},
{
"Name": "Person",
"Confidence": 98.9914321899414,
"Instances": [
{
"BoundingBox": {
"Width": 0.19360728561878204,
"Height": 0.2742200493812561,
"Left": 0.43734854459762573,
"Top": 0.35072067379951477
},
"Confidence": 98.9914321899414
},
{
"BoundingBox": {
"Width": 0.03801717236638069,
"Height": 0.06597328186035156,
"Left": 0.9155802130699158,
"Top": 0.5010883808135986
},
"Confidence": 85.02790832519531
}
],
"Parents": []
}
],
"LabelModelVersion": "2.0"
}
}