Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Amazon Rekognition Image puede analizar imágenes almacenadas en un bucket de Amazon S3 o imágenes suministradas como bytes de imagen.
En este tema, utilizará la operación de DetectLabelsAPI para detectar objetos, conceptos y escenas en una imagen (JPEG o PNG) almacenada en un bucket de Amazon S3. Puede transferir una imagen a una operación API de Amazon Rekognition Image mediante el parámetro de entrada Image. Dentro de Image
, especifique la propiedad de objeto S3Object para hacer referencia a una imagen almacenada en un bucket de S3. Los bytes de imagen para las imágenes almacenadas en buckets de Amazon S3 no tienen por qué estar codificados en base64. Para obtener más información, consulte Especificaciones de imagen.
Ejemplo de solicitud
En este ejemplo de solicitud de JSON para DetectLabels
, la imagen de origen (input.jpg
) se sube desde un bucket de Amazon S3; llamado amzn-s3-demo-bucket
. La región del bucket de Amazon S3 que contiene el objeto S3 debe coincidir con la región que utiliza para las operaciones de Amazon Rekognition Image.
{ "Image": { "S3Object": { "Bucket": "
amzn-s3-demo-bucket
", "Name": "input.jpg" } }, "MaxLabels": 10, "MinConfidence": 75 }
En los ejemplos siguientes se utilizan varios AWS SDKs y la llamada AWS CLI toDetectLabels
. Para obtener más información sobre la respuesta de la operación DetectLabels
, consulte DetectLabels respuesta.
Para detectar las etiquetas en una imagen
Si aún no lo ha hecho:
Cree o actualice un usuario con los permisos
AmazonRekognitionFullAccess
yAmazonS3ReadOnlyAccess
. Para obtener más información, consulte Paso 1: Configurar una cuenta de AWS y crear un usuario.Instale y configure el AWS CLI y el AWS SDKs. Para obtener más información, consulte Paso 2: Configure y AWS CLIAWS SDKs. Asegúrese de haber otorgado al usuario que llama a las operaciones de la API los permisos adecuados para el acceso mediante programación; consulte las instrucciones de Concesión de acceso programático sobre cómo hacerlo.
-
Suba una imagen que contenga uno o varios objetos, como árboles, casas o barcos, en el bucket de S3. La imagen debe estar en formato .jpg o .png.
Para ver las instrucciones, consulte Carga de objetos en Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
-
Consulte los siguientes ejemplos para llamar a la operación
DetectLabels
.Este ejemplo muestra una lista de las etiquetas que se han detectado en la imagen de entrada. Reemplace los valores de
bucket
yphoto
por los nombre del bucket de Amazon S3 y de la imagen que utilizó en el paso 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(); } } }
Ejemplo de respuesta
La respuesta de DetectLabels
es una matriz de las etiquetas detectadas en la imagen y el nivel de confianza por el que se detectan.
Al realizar la operación DetectLabels
en una imagen, Amazon Rekognition devuelve un resultado similar al siguiente ejemplo de respuesta.
La respuesta muestra que la operación ha detectado varias etiquetas, como Person (Persona), Vehicle (Vehículo) y Car (Automóvil). Cada etiqueta tiene un nivel de confianza asociado. Por ejemplo, el algoritmo de detección tiene una confianza del 98,991432 % en que la imagen contiene una persona.
La respuesta también incluye las etiquetas antecesoras de una etiqueta de la matriz Parents
. Por ejemplo, la etiqueta Automobile (Automóvil) tiene dos etiquetas principales denominadas Vehicle (Vehículo) y Transportation (Transporte).
La respuesta para las etiquetas de objetos comunes incluye información del cuadro delimitador para localizar la etiqueta en la imagen de entrada. Por ejemplo, la etiqueta Person (persona) tiene una matriz de instancias que contiene dos cuadros delimitadores. Se trata de las ubicaciones de dos personas detectadas en la imagen.
El campo LabelModelVersion
contiene el número de versión del modelo de detección que DetectLabels
utiliza.
Para obtener más información acerca del uso de la operación DetectLabels
, consulte Detección de objetos y conceptos.
{
{
"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"
}
}