Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Image Amazon Rekognition peut analyser des images stockées dans un compartiment Amazon S3, ou des images fournies sous forme d’octets d’image.
Dans cette rubrique, vous utilisez l'opération DetectLabelsAPI pour détecter des objets, des concepts et des scènes dans une image (JPEG ou PNG) stockée dans un compartiment Amazon S3. Pour transmettre une image à une opération d’API Image Amazon Rekognition, utilisez le paramètre d’entrée Image. Dans Image
, vous spécifiez la propriété d’objet S3Object pour référencer une image stockée dans un compartiment S3. Il n’est pas nécessaire d’encoder en base64 les octets d’image pour les images stockées dans des compartiments Amazon S3. Pour de plus amples informations, veuillez consulter Spécifications d’images.
Exemple de demande
Dans cet exemple de demande JSON DetectLabels
, l’image source (input.jpg
) est chargée à partir d’un compartiment Amazon S3 nommé amzn-s3-demo-bucket
. La région du compartiment S3 contenant l’objet S3 doit correspondre à la région que vous utilisez pour les opérations Image Amazon Rekognition.
{ "Image": { "S3Object": { "Bucket": "
amzn-s3-demo-bucket
", "Name": "input.jpg" } }, "MaxLabels": 10, "MinConfidence": 75 }
Les exemples suivants utilisent various AWS SDKs et AWS CLI to callDetectLabels
. Pour en savoir plus sur la réponse d’opération DetectLabels
, consultez DetectLabels réponse.
Pour détecter des étiquettes dans une image
Si vous ne l’avez pas déjà fait :
Créez ou mettez à jour un utilisateur avec
AmazonRekognitionFullAccess
et autorisationsAmazonS3ReadOnlyAccess
. Pour de plus amples informations, veuillez consulter Étape 1 : configurer un compte AWS et créer un utilisateur.Installez et configurez le AWS CLI et le AWS SDKs. Pour de plus amples informations, veuillez consulter Étape 2 : configurer le AWS CLI et AWS SDKs. Assurez-vous que vous avez accordé à l’utilisateur qui appelle les opérations d’API les autorisations appropriées pour l’accès par programmation. Consultez Octroi d’un accès par programmation les instructions sur la procédure à suivre.
-
Chargez une image qui contient un ou plusieurs objets - par exemple des arbres, des maisons et un bateau - dans votre compartiment S3. L’image doit être au format .jpg ou .png.
Pour en savoir plus, consultez Chargement d’objets dans Amazon S3 dans le Guide de l’utilisateur Amazon Simple Storage Service.
-
Utilisez les exemples suivants pour appeler l’opération
DetectLabels
.Cet exemple affiche la liste des étiquettes qui ont été détectées dans l’image d’entrée. Remplacez les valeurs de
bucket
etphoto
par le nom du compartiment Amazon S3 et le nom de l’image utilisés à l’étape 2.//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(); } } }
Exemple de réponse
La réponse de DetectLabels
est un tableau qui recense les étiquettes détectées dans l’image et qui indique le niveau de fiabilité de la détection.
Lorsque vous effectuez l’opération DetectLabels
sur une image, Amazon Rekognition renvoie un résultat similaire à l’exemple de réponse suivant.
La réponse montre que l’opération a détecté plusieurs étiquettes, notamment Person (Personne), Vehicle (Véhicule) et Car (Voiture). A chaque étiquette est associé un niveau de fiabilité. Par exemple, l’algorithme de détection est certain à 98,991432 % que l’image contient une personne.
La réponse comprend également les étiquettes d’ancêtre d’une étiquette dans le tableau Parents
. Par exemple, l’étiquette Automobile possède deux étiquettes parents nommées Vehicle et Transportation.
La réponse pour les étiquettes d’objets courants comprend des informations de cadre de délimitation pour l’emplacement de l’étiquette sur l’image d’entrée. Par exemple, l’étiquette Personne comporte un tableau d’instances contenant deux cadres de délimitation. Il s’agit des emplacements de deux personnes détectées dans l’image.
Le champ LabelModelVersion
contient le numéro de version du modèle de détection utilisé par DetectLabels
.
Pour plus d’informations sur l’utilisation de l’opération DetectLabels
, consultez Détection d’objets et de concepts.
{
{
"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"
}
}