Guía de Tag Recognizer

El modelo Tag Recognizer te ayuda a resolver problemas clave para entender los productos que hay en los estantes de tu tienda. En concreto, reconoce y analiza las etiquetas (por ejemplo, la etiqueta del precio u otras etiquetas) según el esquema de extracción de entidades de pares clave-valor definido por el usuario.

Este modelo puede servir como bloque de creación de IA principal para analizar e interpretar datos de imágenes de productos en tiendas. Por ejemplo, puedes usar este modelo en imágenes de estanterías capturadas por cámaras locales o dispositivos móviles.

Casos prácticos de Reconocedor de etiquetas y Reconocedor de productos

El modelo de reconocimiento de productos y los modelos de reconocimiento de etiquetas pueden servir como los principales componentes de IA para analizar e interpretar los datos de imagen sobre productos y etiquetas que se encuentran en tiendas, como las imágenes de escaneo de estanterías capturadas por las cámaras instaladas o los dispositivos o plataformas móviles.

Los modelos de reconocimiento de productos y de etiquetas incorporan varias funciones de modelización y datos de IA de Google para ayudar a los comercios y a los partners técnicos a resolver problemas clave relacionados con la comprensión de los lineales de las tiendas, como los siguientes:

  • Detectar, reconocer y, por lo tanto, entender qué productos hay en la imagen o en el estante.
  • Detectar, reconocer y analizar las etiquetas (por ejemplo, etiquetas de precio o cualquier otra etiqueta de texto) según el esquema de extracción de entidades de pares clave-valor definido por el usuario.

En concreto, la solución de comprobación de estanterías incluye varios modelos de IA de Google que se diferencian entre sí para ayudar a resolver problemas en estos casos prácticos, como los siguientes:

  • Modelos de detección de productos (entrenados previamente por Google, pero que puedes personalizar).
  • Modelo de inserción visual de miniaturas de productos, que convierte una imagen de miniatura de producto en una representación numérica del espacio de características.
  • Modelo de OCR de Google, que extrae todo el texto visible en la imagen.
  • Modelo de extracción de entidades de Google (que puedes personalizar) que convierte los textos sin formato en entidades con nombre de par clave-valor definidas por el usuario.

Además de estos modelos de IA de Google, la solución de comprobación de estanterías también aprovecha la gran base de datos de información de productos de Google. Los datos de producto de esta base de datos de productos incluyen el GTIN o el UPC del producto, la marca del producto, el título y las descripciones en varios idiomas, el logotipo del producto y las imágenes con varias variaciones del embalaje. La base de datos de productos con el modelo de inserción visual de miniaturas de productos mencionado anteriormente permite que el modelo de reconocimiento de productos pueda reconocer muchos productos inmediatamente.

Por ejemplo, dada una imagen de estantería capturada como la siguiente, la solución de comprobación de estanterías tiene como objetivo:

  1. Detectar y localizar todos los recuadros de artículos de producto (visibles, no muy ocluidos) de la imagen, así como reconocer la identidad de producto de cada recuadro de artículo de producto a nivel de GTIN o UPC.
  2. Detecta y localiza todos los cuadros de etiquetas (visibles) de la imagen, reconoce todas las cadenas de texto de la etiqueta y, a continuación, intenta analizar el texto en el esquema de extracción de entidades de pares clave-valor definido por el usuario, como la descripción del producto o el precio.

Las dos principales funciones de IA que permiten estas soluciones son el modelo de reconocimiento de productos y el modelo de reconocimiento de etiquetas, sobre los que te daremos más detalles en las siguientes secciones. En cada una de estas dos APIs, que proporcionan principalmente los servicios de inferencia de imágenes, hay uno o varios componentes que puedes personalizar. Primero describiremos la ruta de inferencia del uso de la API y, después, proporcionaremos una breve descripción de cómo puedes personalizar los componentes implicados, ya sea mediante alguna configuración de usuario o mediante algún entrenamiento de modelo que lleves a cabo.

Función de reconocimiento de etiquetas

Este modelo reconoce todas las cadenas de texto de la etiqueta y, a continuación, intenta analizar el texto en el esquema de extracción de entidades de pares clave-valor definido por el usuario, como la descripción del artículo de producto o el valor del precio. Incluye los siguientes modelos de IA de Google, que se diferencian entre sí:

  • La tecnología de OCR de Google, que extrae todo el texto visible de la imagen.
  • El modelo de extracción de entidades de Google que convierte el texto sin formato en entidades con nombre de par clave-valor definidas por el usuario. Personaliza este modelo con Vertex AI. Por ejemplo, si solo le interesa la descripción del artículo del producto, el valor del precio del producto o el precio de oferta, pero no otros datos, el usuario puede definir su esquema de análisis de etiquetas de la siguiente manera:

    key: item_description   value: string
    key: regular_price      value: number
    key: sale_price         value: number
    

Esquema de análisis de etiquetas

Con el entrenamiento del modelo de extracción de entidades personalizado, el cuadro del elemento de etiqueta detectado se reconocerá y analizará de acuerdo con el esquema definido por el usuario. Por ejemplo:

  item_description:   COLLECTION 18PC GFT BX
  regular_price:      1099
  sale_price:         999

Ejemplo de objeto JSON de salida

{
  "imageUri": "gs://test_bucket/test_image.jpg",
  "tagRecognitionAnnotations": [
    {
      "entities": [
        {
          "confidence": 0.99646133,
          "mentionText": "NISSIN TOP RAMEN\n\nBOW CHICKEN\n\n",
          "region": {
            "xMax": 0.4618055,
            "xMin": 0.042725038,
            "yMax": 0.45387268,
            "yMin": 0.18415153
          },
          "type":"description"
        },
        {
          "confidence": 0.95828205,
          "mentionText": "$3.90\n",
          "region": {
            "xMax": 0.24819264,
            "xMin": 0.04185935,
            "yMax": 0.96134734,
            "yMin": 0.80382305
          },
          "type":"unit_price"
        },
        {
          "confidence": 0.60659707,
          "mentionText": "$14.99\n",
          "region": {
            "xMax": 0.9754113,
            "xMin": 0.3654699,
            "yMax": 0.92825794,
            "yMin": 0.40368474
          },
          "type":"price"
        }
      ]
    }
  ]
}

Configuración del entorno

En esta sección se describe cómo interactuar con la API RESTful de Store Vision AI.

API_ENDPOINT=visionai.googleapis.com
PROJECT_ID=your project ID

Todos los métodos create requieren que se especifique de forma explícita el nombre o el ID del recurso que se va a crear. Puede usar una cadena significativa, como "product-ABC", o un identificador generado de forma aleatoria, como un UUID.

Para conceder a una persona el rol de editor para usar la API Store Vision, ejecuta el siguiente comando de enlace de IAM:

gcloud projects add-iam-policy-binding PROJECT_ID --member='user:USER_ACCOUNT' --role='roles/visionai.editor'

Para conceder acceso de editor a una cuenta de servicio, usa el siguiente comando:

gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:SERVICE_ACCOUNT' --role='roles/visionai.editor'

Más información sobre la vinculación de gestión de identidades y accesos

Recorrido del usuario de Tag Recognizer

  1. Realiza un entrenamiento personalizado del modelo de detección de etiquetas con la función Vertex AI/Detección de objetos de AutoML Vision.
  2. Entrena un modelo de análisis de entidades de etiquetas con la función Vertex AI/Detección de objetos de AutoML Vision con un motor OCR personalizado.
  3. Crea un endpoint con la configuración de reconocimiento de etiquetas que quieras.
  4. Realiza BatchAnalyze con la función TagRecognition. En el backend, el sistema identificará las etiquetas de cada imagen de entrada y analizará el texto de cada etiqueta detectada para generar un resultado de análisis estructurado. T ## Entrenamiento del modelo de detección de etiquetas y análisis de entidades

Puedes entrenar el modelo de detección de etiquetas personalizado con la función de entrenamiento de modelos de detección de objetos de imágenes de nuestro producto Vertex AI o AutoML Vision. Aunque la función de entrenamiento de modelos de detección de objetos de Vertex AI o AutoML Vision ofrece una experiencia de entrenamiento de modelos totalmente gestionada, sigue siendo tu responsabilidad preparar un conjunto de datos de imágenes bien muestreado con anotaciones de recuadros delimitadores de objetos totalmente etiquetadas como conjunto de datos de entrenamiento para introducirlo en la consola de entrenamiento de modelos. Google Cloud proporciona el servicio de etiquetado de datos de Vertex AI para que puedas crear la tarea de etiquetado de datos. Para obtener más información, consulta el siguiente enlace sobre tareas de etiquetado de datos de Vertex AI: /vertex-ai/docs/datasets/data-labeling-job. Proporciona instrucciones claras de etiquetado de datos a los evaluadores humanos para que sepan cómo etiquetar los cuadros delimitadores de detección de etiquetas en las imágenes como preparación del conjunto de datos de entrenamiento.

Para entrenar el modelo de análisis de entidades de etiquetas, debe preparar una colección de datos de entrenamiento con imágenes y sus anotaciones asociadas.

  • La imagen es la imagen de la etiqueta ya recortada.
  • En cada imagen, debe definir y proporcionar el campo de entidad clave (como los campos product_title, price y unit_price) que quiera detectar, reconocer o analizar, así como las coordenadas de la ubicación del recuadro delimitador de la imagen asociada en esta vista de imagen recortada.
  • Para que se reconozcan o analicen correctamente, también debe proporcionar la sintaxis de la expresión regular para caracterizar cada campo. Es necesario para ayudar a la rutina de entrenamiento e inferencia del algoritmo de análisis de etiquetas.

imagen de etiqueta reconocida

Ejemplo de entrenamiento de análisis de entidades de etiquetas

Por ejemplo, con el ejemplo de entrenamiento de análisis de entidades de etiquetas anterior, puede proporcionar una línea de información de anotación en el archivo CSV de anotación de datos de entrenamiento de la siguiente manera:

"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"

En el ejemplo anterior:

  • El campo "product_title" tiene la coordenada de la imagen del cuadro correspondiente "(x0, y0, x1, y1)" y la restricción de expresión regular de este campo es ninguna "".
  • El campo "price" tiene las coordenadas de la imagen del cuadro correspondientes "(x0, y0, x1, y1)" y la restricción de expresión regular de este campo es "\$\d+\.\d{2}", que indica que queremos reconocer y analizar este campo con el signo $ al principio de la entrada de texto, y algunos dígitos antes del "." y dos dígitos después del ".".
  • El campo "unit_price" tiene la misma sintaxis de anotación que el campo "price". Por ejemplo, las coordenadas de la imagen del recuadro son "(x0, y0, x1, y1)" y la restricción de expresión regular de este campo es "\$\d+\.\d{2}", lo que indica que queremos reconocer y analizar este campo con el signo $ al principio de la entrada de texto, unos cuantos dígitos antes del "." y dos dígitos después del ".".

Por lo tanto, los datos de entrenamiento de un modelo de detección de entidades o análisis de etiquetas de precio adecuado incluirán una colección de imágenes de etiquetas de precio, con la anotación en un archivo CSV, donde cada entrada de fila del CSV será como la del ejemplo anterior.

"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"

"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"

"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"

[...]

Puedes entrenar el modelo de análisis de entidades de etiquetas personalizado con la función de entrenamiento de modelos de detección de objetos de imágenes de nuestro producto Vertex AI o AutoML Vision, así como con la personalización del motor de OCR de Google.

Ten en cuenta que, aunque a fecha de julio del 2022, el entrenamiento y el despliegue de modelos personalizados de detección de etiquetas y análisis de entidades de etiquetas en la API BatchAnalyze de Store Vision AI aún no se admiten por completo como experiencia de consola integrada, puedes aprovechar el entrenamiento de estos modelos personalizados (con la función de detección de objetos de Vertex AI Vision) y usarlos en la API BatchAnalyze de Store Vision AI siguiendo varios pasos manuales.

Uso de la API: analizar inferencias por lotes

Crear punto final
  • ENDPOINT_ID=Tu ID de endpoint
  • TAG_DETECTOR=Nombre del modelo de detección de etiquetas
  • TAG_PARSER=Nombre del modelo de análisis de etiquetas
curl -sS -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints?retail_endpoint_id=ENDPOINT_ID \
-d '{
  "tagRecognitionConfig": {
    "tag_detection_model": "TAG_DETECTOR_NAME",
    "tag_parsing_model": "TAG_PARSER_NAME"
  }
}'
  • INPUT_FILE_URI=URI de Cloud Storage de tu archivo de entrada. Cada línea del archivo de entrada es un URI de Cloud Storage de la imagen que se va a procesar. Por ejemplo, gs://my-bucket/my-image.jpg.
  • OUTPUT_URI_PREFIX=Prefijo de URI de Cloud Storage para el archivo de resultados de salida. Por ejemplo, gs://my-bucket/my-output-dir
curl -sS -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:batchAnalyze 
-d '{
  "gcsSource": {
    "uris": ["INPUT_FILE_URI"]
  },
  "features": [
    {
      "type": "TYPE_TAG_RECOGNITION",
     }
  ],
  "outputGcsDestination": {
    "outputUriPrefix": "OUTPUT_URI_PREFIX"
  }
}'
"features": [
    {
      "type": "TYPE_TAG_RECOGNITION",
      "tagRecognitionConfig": {
        "tag_detection_model": "'TAG_DETECTOR_NAME'",
        "tag_parsing_model": "TAG_PARSER_NAME"
      }
    }
  ],

También puedes definir y configurar más campos en tagRecognitionConfig, que es un objeto RetailTagRecognitionConfig. Consulta la descripción del recurso en la referencia de la API para obtener más información.

Referencia de la API

Recurso: projects.locations.retailCatalogs

Representación JSON

{
  "name": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "resourceState": enum(RetailResourceState),
  "labels": {
    string: string,
    ...
  }
}

Campos


nombre

Cadena

Solo de salida. Nombre de recurso de RetailCatalog

displayName

Cadena

Opcional. Nombre visible del recurso RetailCatalog.

createTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de creación de este RetailCatalog.

updateTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de la actualización.

resourceState

enum

Solo de salida. Estado de RetailCatalog.

labels

map (clave: cadena, valor: cadena)

Las etiquetas con metadatos definidos por el usuario para organizar tu RetailCatalog.

Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales.

Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas.

Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Método: projects.locations.retailCatalogs.create

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Cuerpo de la solicitud

En el cuerpo de la solicitud se incluye una instancia de RetailCatalog.

Cuerpo de la respuesta

Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailCatalog.

Método: projects.locations.retailCatalogs.get

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}

Parámetros de ruta

name cadena Obligatorio. RetailCatalog identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailCatalog.

Método: projects.locations.retailCatalogs.list

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Parámetros de consulta

filtrar cadena Opcional. Una expresión para filtrar los resultados de la solicitud.
pageToken cadena Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver.
pageSize entero Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente y se obtiene una respuesta, el cuerpo de dicha respuesta contiene datos con la estructura de más abajo. Representación JSON

{
  "retailCatalogs": [
    {
      object (RetailCatalog)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.delete

Solicitud HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}

Parámetros de ruta

name cadena Obligatorio. RetailCatalog identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Método: projects.locations.retailCatalogs.importRetailProducts

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}:importRetailProducts

Parámetros de ruta

name cadena Obligatorio. RetailCatalog nombre del recurso.

Cuerpo de la solicitud

Representación JSON

{
  "gcsSource": { object(GcsSource) },
  "format": enum(Format)
}

Campos

gcsSource objeto Obligatorio. Ubicación de Cloud Storage del contenido de entrada. Se pueden proporcionar varias ubicaciones de entrada. El contenido de todas las ubicaciones de entrada se importará en un lote. Extensiones de archivo compatibles: 1. Un archivo JSONL. Cada línea tiene el formato JSON de RetailProductIoFormat.
2. Un archivo TXT. Cada línea es el GTIN de un producto que se va a importar.
formato enum Obligatorio. El formato del archivo de importación.

Formatear valores ENUM

FORMAT_UNSPECIFIED No se debe usar.
FORMAT_TXT Formato TXT.
FORMAT_JSONL Formato JSONL.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Recurso: projects.locations.retailProducts

Representación JSON

{
  "name": string,
  "gtins": [string],
  "normalizedGtins": [string],
  "thirdPartyIds": [ { object(ThirdPartyId) }],
  "locale": string,
  "brand": string,
  "title": string,
  "productUri": string,
  "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campos


nombre

Cadena

Solo de salida. Nombre de recurso de RetailProductImage

displayName

Cadena

Opcional. Nombre visible de RetailProductImage.

sourceType

enum

Opcional. Tipo de origen

gcsUri

cadena

Opcional. Ubicación de Cloud Storage de RetailProductImage. Se debe definir, excepto cuando Google proporcione la imagen (por ejemplo, cuando el tipo de origen sea SOURCE_TYPE_GOOGLE).

resourceState

enum

Solo de salida. Estado de RetailProductImage.

labels

map (clave: cadena, valor: cadena)

Las etiquetas con metadatos definidos por el usuario para organizar su RetailProductImage.

Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales.

Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas.

Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de creación.

updateTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de la actualización.

RetailThirdPartyId Presentación JSON

{
  "id": string,
  "owner": string
}

Campos

id cadena ID de terceros usado por el comercio o el fabricante (por ejemplo, SKU o MPN).
propietario cadena La entidad que "posee" el identificador de terceros, como el fabricante o el comercio que vende este producto.

Método: projects.locations.retailCatalogs.retailProducts.create

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Cuerpo de la solicitud

En el cuerpo de la solicitud se incluye una instancia de RetailProduct.

Cuerpo de la respuesta

Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailProduct.

Método: projects.locations.retailCatalogs.retailProducts.get

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*

Parámetros de ruta

name cadena Obligatorio. RetailProduct identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailProduct.

Método: projects.locations.retailCatalogs.retailProducts.list

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Parámetros de consulta

filtrar cadena Opcional. Una expresión para filtrar los resultados de la solicitud.
pageToken cadena Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver.
pageSize entero Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente y se obtiene una respuesta, el cuerpo de dicha respuesta contiene datos con la estructura de más abajo. Representación JSON

{
  "retailProducts": [
    {
      object (RetailProducts)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.retailProducts.delete

Solicitud HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*

Parámetros de ruta

name cadena Obligatorio. RetailProduct identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.

Recurso: projects.locations.retailProductImages

Representación JSON

{
  "name": string,
  "displayName": string,
  "sourceType": enum(SourceType),
  "gcsUri": string,
  "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campos


nombre

Cadena

Solo de salida. Nombre de recurso de RetailProductImage

displayName

Cadena

Opcional. Nombre visible de RetailProductImage.

sourceType

enum

Opcional. Tipo de origen

gcsUri

cadena

Opcional. Ubicación de Cloud Storage de RetailProductImage. Se debe definir, excepto cuando Google proporcione la imagen (por ejemplo, cuando el tipo de origen sea SOURCE_TYPE_GOOGLE).

resourceState

enum

Solo de salida. Estado de RetailProductImage.

labels

map (clave: cadena, valor: cadena)

Las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductImage.

Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales.

Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas.

Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de creación.

updateTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de la actualización.

Valores ENUM de SourceType

SOURCE_TYPE_UNSPECIFIED Fuente de datos desconocida. No se debe usar.
SOURCE_TYPE_FIXED_CAMERA La imagen se ha capturado con una cámara fija.
SOURCE_TYPE_HAND_HELD_CAMERA Imagen captada con una cámara de mano.
SOURCE_TYPE_CRAWLED La imagen se rastrea en la Web.
SOURCE_TYPE_SYSTEM_GENERATED Imagen recortada de una imagen original con etiquetas de personas.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.create

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Cuerpo de la solicitud

En el cuerpo de la solicitud se incluye una instancia de RetailProductImage.

Cuerpo de la respuesta

Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailProductImage.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.get

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*

Parámetros de ruta

name cadena Obligatorio. RetailProductImage identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailProductImage.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.list

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Parámetros de consulta

filtrar cadena Opcional. Una expresión para filtrar los resultados de la solicitud.
pageToken cadena Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver.
pageSize entero Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la acción se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:

Representación JSON

{
  "retailProductImages": [
    {
      object (RetailProductImages)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete

Solicitud HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*

Parámetros de ruta

name cadena Obligatorio. RetailProductImage identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.

Recurso: projects.locations.retailCatalogs.retailProductSets

Representación JSON

{
  "name": string,
  "displayName": string,
  "retailProductIds": [string],
  "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campos


nombre

Cadena

Solo de salida. Nombre de recurso del RetailProductSet

displayName

Cadena

Opcional. Nombre visible del RetailProductSet.

retailProductIds []

Cadena

Solo de salida. IDs de recursos de los productos que pertenecen a este RetailProductSet. Los productos de un RetailProductSet deben estar en el mismo catálogo.

resourceState

enum

Solo de salida. Estado del RetailProductSet.

labels

map (clave: cadena, valor: cadena)

Las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductSet.

Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales.

Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas.

Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de creación.

updateTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de la actualización.

Método: projects.locations.retailCatalogs.retailProductSets.create

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene una instancia de RetailProductSet.

Cuerpo de la respuesta

Si la solicitud se completa correctamente, el cuerpo de la respuesta contiene una instancia recién creada de RetailProductSet.

Método: projects.locations.retailCatalogs.retailProductSets.get

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*

Parámetros de ruta

name cadena Obligatorio. Identificador de RetailProductSet.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailProductSet.

Método: projects.locations.retailCatalogs.retailProductSets.list

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Parámetros de consulta

filtrar cadena Opcional. Una expresión para filtrar los resultados de la solicitud.
pageToken cadena Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver.
pageSize entero Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la acción se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:

Representación JSON

{
  "retailProductSets": [
    {
      object (RetailProductSets)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.retailProductSets.delete

Solicitud HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*

Parámetros de ruta

name cadena Obligatorio. Identificador de RetailProductSet.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.

Método: projects.locations.retailCatalogs.retailProductSets.add

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:remove

Parámetros de ruta

name cadena Obligatorio. Nombre de recurso de RetailProductSet.

Cuerpo de la solicitud

Representación JSON

{
  "productIds": [string],
  "productFilter": string
}

Campos


productIds[ ]

cadena

ID de recurso de los RetailProducts que se van a añadir. Todos deben pertenecer al mismo RetailCatalog que el RetailProductSet de destino especificado. Se pueden especificar hasta 200 IDs de RetailProduct en una solicitud. No se puede usar junto con productFilter.

productFilter

cadena

Un filtro estándar que se aplicará a todos los RetailProducts del RetailCatalog principal. Selecciona los elementos que cumplan las condiciones del filtro y añádelos al RetailProductSet. No se puede usar junto con product_ids. Filtros admitidos: https://google.aip.dev/160

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Método: projects.locations.retailCatalogs.retailProductSets.remove

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:add

Parámetros de ruta

name cadena Obligatorio. Nombre de recurso de RetailProductSet.

Cuerpo de la solicitud

Representación JSON

{
  "productIds": [string],
  "productFilter": string
}

Campos


productIds[ ]

cadena

IDs de recursos de los RetailProducts que se van a quitar. Si el valor de RetailProducts especificado no pertenece a este RetailProductSet, se ignorará. Se pueden especificar hasta 200 IDs de RetailProduct en una solicitud. No se puede usar junto con products_filter.

productFilter

cadena

Un filtro estándar que se aplicará a todos los RetailProducts del RetailProductSet especificado. Selecciona los elementos que cumplan las condiciones del filtro y los quita del RetailProductSet. No se puede usar junto con product_ids. Filtros admitidos:https://google.aip.dev/160

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Recurso: projects.locations.retailCatalogs.retailProductRecognitionIndexes

Representación JSON

{
  "name": string,
  "displayName": string,
  "description": string,
  "retailProductSet": [string],
   "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campos


nombre

Cadena

Solo de salida. Nombre de recurso del recurso RetailProductRecognitionIndex.

displayName

Cadena

Opcional. Nombre visible de RetailProductRecognitionIndex.

descripción

Cadena

Opcional. Descripción de RetailProductRecognitionIndex.

retailProductSet[]

cadena

Opcional. Nombre de recurso de RetailProductSet que se va a usar para crear este recurso. Si se define, RetailProductRecognitionIndex solo contendrá productos del RetailProductSet indicado. Si no se define, se usarán todos los productos del catálogo principal.

resourceState

enum

Solo de salida. Estado de RetailProductRecognitionIndex.

labels

map (clave: cadena, valor: cadena)

Las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductRecognitionIndex.

Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales.

Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas.

Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de creación.

updateTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de la actualización.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Cuerpo de la solicitud

En el cuerpo de la solicitud se incluye una instancia de RetailProductRecognitionIndex.

Cuerpo de la respuesta

Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailProductRecognitionIndex.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*

Parámetros de ruta

name cadena Obligatorio. RetailProductRecognitionIndex identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la salida del comando es correcta, en el cuerpo de la respuesta se incluirá una instancia de RetailProductRecognitionIndex.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Parámetros de consulta

filtrar cadena Opcional. Una expresión para filtrar los resultados de la solicitud.
pageToken cadena Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver.
pageSize entero Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la acción se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:

Representación JSON

{
  "retailProductRecognitionIndexes": [
    {
      object (RetailProductRecognitionIndex)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete

Solicitud HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*

Parámetros de ruta

name cadena Obligatorio. Identificador de ProductRecognitionIndex.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Recurso: projects.locations.retailEndpoints

Representación JSON

{
  "name": string,
  "displayName": string,
  "description": string,
  "deployedProductRecognitionIndex": string,
  "resourceState": enum(RetailResourceState),
  "productRecognitionConfig": { object(RetailProductRecognitionConfig) },
  "tagRecognitionConfig": { object(RetailTagRecognitionConfig) },
  "labels": {
    string: string,
    ...
   }
  "createTime": string,
  "updateTime": string
}

Campos


nombre

Cadena

Solo de salida. Nombre de recurso del recurso RetailEndpoint.

displayName

Cadena

Opcional. Nombre visible del RetailEndpoint.

descripción

Cadena

Opcional. Descripción del RetailEndpoint.

deployedProductRecognitionIndex

Cadena

Solo de salida. Nombre de recurso de ProductRecognitionIndex implementado en este RetailEndpoint.

productRecognitionConfig

objeto

Opcional. Configuración del reconocimiento de productos.

tagRecognitionConfig

objeto

Opcional. Configuración para el reconocimiento de etiquetas.

resourceState

enum

Solo de salida. Estado de RetailProductRecognitionIndex.

labels

map (clave: cadena, valor: cadena)

Las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductRecognitionIndex.

Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales.

Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas.

Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de creación.

updateTime

string (formato Timestamp)

Solo de salida. Marca de tiempo de la actualización.

RetailProductRecognitionConfig

Representación JSON

{
  "productDetectionModel": string,
  "detectionConfidenceThreshold": float,
  "recognitionConfidenceThreshold": float,
  "additionalConfig": { object }
}

Campos

|

productDetectionModel cadena Obligatorio. Modelo que se va a usar para detectar productos en las imágenes de entrada. Valores admitidos: "builtin/stable" (valor predeterminado) o nombre del recurso del modelo de Vertex AI.
detectionConfidenceThreshold flotante Opcional. Umbral de confianza para filtrar los resultados de detección. Si no se define, se usará un valor predeterminado del sistema.
recognitionConfidenceThreshold flotante Opcional. Umbral de confianza para filtrar los resultados del reconocimiento. Si no se define, se usará un valor predeterminado del sistema.
additionalConfig objeto (formato Struct) Opcional. Configuraciones adicionales para el reconocimiento de productos.

RetailTagRecognitionConfig

Representación JSON

{
  "tagDetectionModel": string,
  "tagParsingModel": string,
  "detectionConfidenceThreshold": float,
  "parsingConfidenceThreshold": float,
  "additionalConfig": { object }
}

Campos

tagDetectionModel cadena Obligatorio. Modelo que se va a usar para detectar etiquetas en las imágenes de entrada. Valores admitidos: recurso de modelo de Vertex AI.
tagParsingModel cadena Obligatorio. Modelo para analizar el texto de las etiquetas detectadas. Valores admitidos: recurso de modelo de Vertex AI.
detectionConfidenceThreshold flotante Opcional. Umbral de confianza para filtrar los resultados de detección. Si no se define, se usará un valor predeterminado del sistema.
parsingConfidenceThreshold flotante Opcional. Umbral de confianza para filtrar los resultados del análisis de texto. Si no se define, se usará un valor predeterminado del sistema.
additionalConfig objeto (formato Struct) Opcional. Configuraciones adicionales para el reconocimiento de etiquetas.

Método: projects.locations.retailEndpoints.create

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Cuerpo de la solicitud

En el cuerpo de la solicitud se incluye una instancia de RetailEndpoint.

Cuerpo de la respuesta

Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailEndpoint.

Método: projects.locations.retailEndpoints.get

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*}

Parámetros de ruta

name cadena Obligatorio. RetailEndpoint identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailEndpoint.

Método: projects.locations.retailEndpoints.list

Solicitud HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints

Parámetros de ruta

parent cadena Obligatorio. Identificador principal.

Parámetros de consulta

filtrar cadena Opcional. Una expresión para filtrar los resultados de la solicitud.
pageToken cadena Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver.
pageSize entero Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la acción se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:

Representación JSON

{
  "retailEndpoints": [
    {
      object (RetailEndpoint)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailEndpoints.delete

Solicitud HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*

Parámetros de ruta

name cadena Obligatorio. RetailEndpoint identificador.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.

Método: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:deployRetailProductRecognitionIndex

Parámetros de ruta

retailEndpoint cadena Obligatorio. Nombre de recurso del RetailEndpoint recurso en el que se RetailProductRecognitionIndex implementa.

Cuerpo de la solicitud

Representación JSON

{
  "retailProductRecognitionIndex": string,
}

Campos

retailProductRecognitionIndex cadena Obligatorio. Nombre de recurso de RetailProductRecognitionIndex que se va a desplegar.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Método: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:undeployRetailProductRecognitionIndex

Parámetros de ruta

retailEndpoint cadena Obligatorio. Nombre de recurso del RetailEndpoint recurso en el que se realizará la cancelación de la implementación.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Método: projects.locations.retailEndpoints.batchAnalyze

Solicitud HTTP

POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:batchAnalyze

Parámetros de ruta

retailEndpoint cadena Obligatorio. Nombre de recurso del RetailEndpoint para servir la solicitud de inferencia.

Cuerpo de la solicitud

Representación JSON

{
  "gcsSource": string,
  "features": { object(Feature) },
  // Union field output can be only one of the following:
  "outputGcsDestination": string,
  "corpus": string,
  // End of list of possible types for union field output.
  "bigqueryTable": string
}

Campos

gcsSource cadena Obligatorio. Ubicación de Cloud Storage del contenido de entrada. Se pueden proporcionar varias ubicaciones de entrada. El contenido de todas las ubicaciones de entrada se procesará en un lote. Contenido admitido: un archivo TXT en el que cada línea es la ruta completa de una imagen. Se pueden incluir hasta 50.000 imágenes en una solicitud.
outputGcsDestination cadena Opcional. Ubicación de Cloud Storage del directorio en el que se va a escribir la salida.
corpus cadena Opcional. Nombre de recurso del corpus del almacén de imágenes. Todavía no se admite.
bigqueryTable cadena Opcional. Nombre de recurso de la tabla de BigQuery para las exportaciones de anotaciones. Con el formato "projects/*/datasets/*/tables/*". Si se define, las anotaciones generadas a partir de la inferencia de aprendizaje automático también se exportarán a la tabla de BigQuery indicada. Todavía no se admite.
features[] Objeto Obligatorio. Tipo de inferencia de aprendizaje automático que se va a realizar.

Función

Representación JSON

{
  "type": enum(Type),
  "productRecognitionConfig": object(RetailProductRecognitionConfig),
  "tagRecognitionConfig": object(RetailTagRecognitionConfig)
}

Campos

tipo enum Obligatorio. El tipo de función.
productRecognitionConfig objeto Opcional. Sustituciones por solicitud de la función de reconocimiento de productos. Solo es eficaz si el tipo se define como TYPE_PRODUCT_RECOGNITION.
tagRecognitionConfig objeto Opcional. Anulaciones por solicitud de la función de reconocimiento de etiquetas. Solo es eficaz si el tipo se define como TYPE_TAG_RECOGNITION.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Tipos

GcsSource

Representación JSON

{
  "uris": [string]
}

Campos

uris[] cadena Obligatorio. Referencias a rutas de Cloud Storage.

Tipo

Valores ENUM

TYPE_UNSPECIFIED El valor predeterminado. No se debe usar.
TYPE_PRODUCT_RECOGNITION Reconocimiento de productos. Debe usarse en un RetailEndpoint con RetailProductRecognitionIndex implementado.
TYPE_TAG_RECOGNITION Detección y análisis de etiquetas. Se debe usar en un RetailEndpoint con RetailTagRecognitionConfig.

RetailProductIoFormat

Representación JSON

{
  "retailProduct": { object(RetailProduct) },
  "retailProductImages": [ { object(RetailProductImage) }]
}

Campos

retailProduct objeto Obligatorio. RetailProduct que se va a importar
retailProductImages[ ] objeto Opcional. RetailProductImages del RetailProduct proporcionado que se van a importar.

RetailResourceState

Valores ENUM

RETAIL_RESOURCE_STATE_UNSPECIFIED El valor predeterminado. No se debe usar.
RETAIL_RESOURCE_STATE_CREATING Estado Creating.
RETAIL_RESOURCE_STATE_CREATED Estado creado.
RETAIL_RESOURCE_STATE_UPDATING Actualizando el estado.
RETAIL_RESOURCE_STATE_DELETED Estado eliminado.
RETAIL_RESOURCE_STATE_ERROR Error de estado.