Guide de l'outil de reconnaissance de tags

Le modèle Tag Recognizer vous aide à résoudre les principaux problèmes liés à la compréhension de vos rayons, à savoir la reconnaissance et l'analyse des étiquettes (par exemple, l'étiquette de prix ou d'autres étiquettes) selon un schéma d'extraction d'entités de paires clé-valeur défini par l'utilisateur.

Ce modèle peut servir de principal composant d'IA pour analyser et interpréter les données d'images de produits dans les magasins. Par exemple, vous pouvez utiliser ce modèle sur des images d'étagères capturées par des caméras locales ou des appareils mobiles.

Cas d'utilisation de l'outil de reconnaissance de tags et de l'outil de reconnaissance de produits

Le modèle de reconnaissance des produits et les modèles de reconnaissance des tags peuvent servir de principaux composants d'IA pour analyser et interpréter les données d'image sur les produits et les tags trouvés dans les magasins, comme les images de balayage des étagères capturées par les caméras installées ou les appareils / plates-formes mobiles.

Les modèles de reconnaissance des produits et des tags intègrent plusieurs fonctionnalités de modélisation et de données de base de l'IA de Google pour aider les marchands et/ou les partenaires techniques à résoudre les principaux problèmes de compréhension des rayons de vente, y compris les suivants:

  • Détecter, reconnaître et comprendre les produits présents dans l'image ou sur l'étagère.
  • Détection, reconnaissance et analyse des balises (étiquette de prix, par exemple, ou toute autre balise d'étiquette de texte) selon le schéma d'extraction d'entités de paires clé-valeur défini par l'utilisateur.

Plus précisément, plusieurs modèles d'IA Google différenciants sont inclus dans la solution de vérification des rayons pour faciliter la résolution des problèmes liés à ces cas d'utilisation, par exemple :

  • Modèles de détection de produits (pré-entraînés par Google, mais que vous pouvez toujours personnaliser).
  • Modèle d'embedding visuel de miniatures de produits, qui transforme une image de miniature de produit en représentation numérique de l'espace des caractéristiques.
  • Modèle OCR de Google, qui extrait tous les textes visibles dans l'image.
  • Modèle d'extraction d'entités Google (que vous pouvez personnaliser), qui transforme les textes bruts en entités nommées de paires clé-valeur définies par l'utilisateur.

En plus de ces modèles d'IA Google, la solution de vérification des rayons exploite également la grande base de données d'informations produit de Google. Les données produit de cette base de données incluent l'identité GTIN / UPC du produit, sa marque, son titre et ses descriptions multilingues, son logo et des images avec différentes variantes d'emballage. La base de données de produits avec le modèle d'encapsulation visuelle de vignettes de produits mentionné précédemment permet au modèle de reconnaissance de produits de reconnaître de nombreux produits immédiatement.

Par exemple, étant donné une image d'étagère capturée comme suit, la solution de vérification des étagères vise à:

  1. Détectez et localisez tous les cartons d'articles (visibles, pas trop masqués) dans l'image, et reconnaissez l'identité de chaque carton d'article au niveau du code GTIN / UPC.
  2. Détectez et localisez toutes les zones de tag (visibles) dans l'image, reconnaissez toutes les chaînes de texte dans la balise, puis essayez d'analyser le texte dans le schéma d'extraction d'entités de paires clé-valeur défini par l'utilisateur, comme la description de l'article, la valeur du prix.

Les deux principales fonctionnalités d'IA qui permettent de mettre en œuvre ces solutions sont le modèle de reconnaissance des produits et le modèle de reconnaissance des tags, que nous décrirons plus en détail dans les sections suivantes. Pour chacune de ces deux API qui fournissent principalement les services d'inférence d'images, vous pouvez personnaliser un ou plusieurs composants. Nous allons d'abord décrire le chemin d'inférence de l'utilisation de l'API, puis fournir une brève description de la façon dont vous pouvez personnaliser les composants impliqués, soit via une configuration utilisateur, soit via un entraînement de modèle que vous effectuez.

Fonctionnalité de l'outil de reconnaissance de tags

Ce modèle reconnaît toutes les chaînes de texte de la balise, puis tente d'analyser le texte dans le schéma d'extraction d'entités de paires clé-valeur défini par l'utilisateur, comme la description de l'article ou la valeur du prix. Il comprend les modèles d'IA de Google suivants:

  • La technologie de reconnaissance optique des caractères de Google, qui extrait tout le texte visible de l'image.
  • Modèle d'extraction d'entités Google qui transforme le texte brut en paires clé-valeur nommées définies par l'utilisateur. Personnalisez ce modèle à l'aide de Vertex AI. Par exemple, si vous vous intéressez principalement à la description de l'article, à la valeur du prix du produit ou au prix soldé, mais à rien d'autre, l'utilisateur peut définir son schéma d'analyse des balises comme suit:

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

Schéma d'analyse des balises

Avec l'entraînement du modèle d'extraction d'entités personnalisé, la zone de l'élément de balise détectée sera ensuite reconnue et analysée conformément au schéma défini par l'utilisateur, par exemple comme suit:

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

Exemple d'objet JSON de sortie

{
  "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"
        }
      ]
    }
  ]
}

Cofiguration de l'environnement

Cette section explique comment interagir avec l'API RESTful Store Vision AI.

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

Toutes les méthodes create nécessitent de spécifier explicitement le nom/l'ID de la ressource à créer. Vous pouvez utiliser un identifiant de chaîne significatif, par exemple "product-ABC", ou un identifiant généré de manière aléatoire, par exemple un UUID.

Pour accorder à un rôle de personne l'accès d'éditeur à l'API Store Vision, veuillez exécuter la commande de liaison IAM suivante:

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

Pour accorder à un compte de service l'accès éditeur, veuillez utiliser la commande ci-dessous:

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

En savoir plus sur l'association IAM

Parcours utilisateur de l'outil de reconnaissance de tags

  1. Effectuez un entraînement personnalisé du modèle de détection de tags à l'aide de la fonctionnalité Vertex AI/AutoML Vision Object Detection.
  2. Entraînez un modèle d'analyse d'entités de balise à l'aide de la fonctionnalité Vertex AI/AutoML Vision Object Detection avec un moteur OCR personnalisé.
  3. Créez un point de terminaison avec la configuration de reconnaissance des balises souhaitée.
  4. Effectuez une analyse par lot avec la fonctionnalité TagRecognition. Dans le backend, le système identifie les balises de chaque image d'entrée, analyse le texte de chaque balise détectée pour produire une sortie d'analyse structurée. Entraînement du modèle de détection des balises et d'analyse des entités

Vous pouvez entraîner le modèle de détection de tags personnalisé à l'aide de la fonctionnalité d'entraînement de modèle de détection d'objets dans les images du produit Vertex AI/AutoML Vision existant. Bien que la fonctionnalité d'entraînement de modèle de détection d'objets de vision Vertex AI / AutoML offre une expérience d'entraînement de modèle entièrement gérée, il reste de votre responsabilité de préparer un ensemble d'images bien échantillonné avec des annotations de cadre de délimitation d'objet entièrement libellées en tant qu'ensemble d'entraînement à fournir à la console d'entraînement du modèle. Google Cloud fournit le service d'étiquetage des données Vertex AI pour vous permettre de créer la tâche d'étiquetage des données. Pour en savoir plus, veuillez suivre le lien suivant vers la tâche d'étiquetage de données Vertex AI : /vertex-ai/docs/datasets/data-labeling-job. Fournissez des instructions claires sur l'étiquetage des données aux évaluateurs humains afin qu'ils sachent comment étiqueter les cadres de délimitation de la détection de tags dans les images lors de la préparation de l'ensemble de données d'entraînement.

Pour entraîner le modèle d'analyse d'entités de balise, vous devez préparer une collection de données d'entraînement, avec des images et leurs annotations associées.

  • L'image est celle de la balise déjà recadrée.
  • Dans chaque image, vous devez définir et fournir le champ d'entité clé (par exemple, les champs product_title, price et unit_price) qu'ils souhaitent détecter et reconnaître/analyser, ainsi que les coordonnées de la zone de délimitation de l'image associée dans cette vue d'image recadrée.
  • Pour permettre une reconnaissance / une analyse correcte, vous devez également fournir la syntaxe d'expression régulière pour caractériser chaque champ. Cela est nécessaire pour aider la routine d'entraînement et d'inférence de l'algorithme d'analyse des balises.

Image de la balise reconnue

Exemple d'entraînement de l'analyse d'entités de balise

Par exemple, avec l'exemple d'entraînement d'analyse d'entités de balise précédent, vous pouvez fournir une ligne d'informations d'annotation dans le fichier CSV d'annotation des données d'entraînement comme suit:

"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}"

Dans l'exemple précédent:

  • Le champ "product_title" a la coordonnée d'image de la zone correspondante "(x0, y0, x1, y1)", et la contrainte d'expression régulière pour ce champ est "none"".
  • Le champ "price" a la coordonnée d'image de la zone correspondante "(x0, y0, x1, y1)", et la contrainte d'expression régulière pour ce champ est "\$\d+\.\d{2}", ce qui indique que nous cherchons à reconnaître et à analyser ce champ avec le signe $ au début de la saisie de texte, et quelques chiffres avant le "." et deux chiffres après le ".".
  • Le champ "unit_price" a la même syntaxe d'annotation que le champ "price". Par exemple, les coordonnées de l'image de la boîte "(x0, y0, x1, y1)" et la contrainte d'expression régulière pour ce champ sont "\$\d+\.\d{2}", ce qui indique que nous cherchons à reconnaître et à analyser ce champ avec le signe $ au début de la saisie de texte, et quelques chiffres avant le "." et deux chiffres après le ".".

Par conséquent, les données d'entraînement d'un modèle d'analyse des étiquettes de prix / de détection d'entités doivent contenir une collection d'images d'étiquettes de prix, avec l'annotation dans un fichier CSV, avec chaque entrée de ligne CSV comme dans l'exemple précédent.

"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}"

[...]

Vous pouvez entraîner le modèle personnalisé d'analyse d'entités de balise à l'aide de la fonctionnalité d'entraînement du modèle de détection d'objets dans une image de notre produit Vertex AI /AutoML Vision existant, ainsi que de la personnalisation du moteur OCR de Google.

Veuillez noter qu'à partir de juillet 2022, l'entraînement et le déploiement de modèles personnalisés de détection de tags et d'analyse d'entités de tags dans l'API BatchAnalyze de Store Vision AI ne sont pas encore entièrement pris en charge en tant qu'expérience de console intégrée. Vous pouvez toutefois toujours profiter de cet entraînement personnalisé (à l'aide de la fonctionnalité de détection d'objets de Vertex AI Vision) et les diffuser dans l'API BatchAnalyze de Store Vision AI en effectuant plusieurs étapes manuelles en libre-service.

Utilisation des API : inférence d'analyse par lot

Créer un point de terminaison
  • ENDPOINT_ID=Votre ID de point de terminaison
  • TAG_DETECTOR=nom de votre modèle de détection de tags
  • TAG_PARSER=nom de votre modèle d'analyse des balises
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 Cloud Storage de votre fichier d'entrée. Chaque ligne du fichier d'entrée n'est qu'un URI Cloud Storage de l'image à traiter (par exemple, gs://mon-bucket/mon-image.jpg).
  • OUTPUT_URI_PREFIX=préfixe d'URI Cloud Storage pour le fichier de résultats de sortie (par exemple, 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"
      }
    }
  ],

Vous pouvez également définir et configurer d'autres champs dans tagRecognitionConfig, qui est un objet RetailTagRecognitionConfig. Pour en savoir plus, consultez la description de la ressource dans la documentation de référence de l'API.

Documentation de référence de l'API

Ressource: projects.locations.retailCatalogs

Représentation JSON

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

Fields


nom

Chaîne

Uniquement en sortie. Nom de la ressource du RetailCatalog

displayName

Chaîne

Facultatif. Nom à afficher du RetailCatalog.

createTime

Chaîne (format Code temporel)

Uniquement en sortie. Code temporel de création de ce RetailCatalog.

updateTime

Chaîne (format Code temporel)

Uniquement en sortie. Code temporel de la mise à jour.

resourceState

enum

Uniquement en sortie. État du RetailCatalog.

 libellés

map (clé: chaîne, valeur: chaîne)

Les libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailCatalog.

Les clés et valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez la page https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

Méthode: projects.locations.retailCatalogs.create

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailCatalog.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailCatalog.

Méthode: projects.locations.retailCatalogs.get

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailCatalog.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailCatalog.

Méthode: projects.locations.retailCatalogs.list

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Paramètres de requête

filter chaîne Facultatif. Expression pour filtrer les résultats de la requête.
pageToken chaîne Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer moins d'éléments que demandés. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy chaîne Facultatif. Liste de champs à trier dans l'ordre croissant, séparés par une virgule. Utilisez "desc" après le nom d'un champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante : représentation JSON

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

Méthode: projects.locations.retailCatalogs.delete

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailCatalog.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Méthode: projects.locations.retailCatalogs.importRetailProducts

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Nom de la ressource RetailCatalog.

Corps de la requête

Représentation JSON

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

Fields

gcsSource objet Obligatoire. Emplacement Cloud Storage du contenu d'entrée. Vous pouvez fournir plusieurs emplacements d'entrée. Le contenu de tous les emplacements d'entrée sera importé en un seul lot. Extensions de fichier compatibles: 1. Fichier JSONL Chaque ligne est au format JSON de RetailProductIoFormat.
2. Fichier TXT Chaque ligne correspond au code GTIN d'un produit à importer.
format énum Obligatoire. Format du fichier d'importation.

Mettre en forme les valeurs ENUM

FORMAT_UNSPECIFIED Ne doit pas être utilisé.
FORMAT_TXT Format TXT.
FORMAT_JSONL au format JSONL.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Ressource: projects.locations.retailProducts

Représentation 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
}

Fields


nom

Chaîne

Uniquement en sortie. Nom de la ressource RetailProductImage

displayName

Chaîne

Facultatif. Nom à afficher de RetailProductImage.

sourceType

enum

Facultatif. Type de source

gcsUri
Chaîne

Facultatif. Emplacement Cloud Storage de RetailProductImage. Il doit être défini, sauf lorsque l'image est fournie par Google, par exemple lorsque le type de source est SOURCE_TYPE_GOOGLE.

resourceState

enum

Uniquement en sortie. État de RetailProductImage.

 libellés

map (clé: chaîne, valeur: chaîne)

Les libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductImage.

Les clés et valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez la page https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

chaîne (format code temporel)

Sortie uniquement. Code temporel de création.

updateTime

chaîne (format code temporel)

Sortie uniquement. Code temporel de la mise à jour.

RetailThirdPartyId Présentation JSON

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

Fields

id chaîne ID tiers utilisé par le marchand ou le fabricant (par exemple, SKU ou référence fabricant).
owner chaîne Entité qui "possède" l'identifiant tiers, par exemple le fabricant ou le marchand qui vend ce produit.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailProduct.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailProduct.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailProduct.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailProduct.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Paramètres de requête

filter chaîne Facultatif. Expression pour filtrer les résultats de la requête.
pageToken chaîne Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer moins d'éléments que demandés. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy chaîne Facultatif. Liste de champs à trier dans l'ordre croissant, séparés par une virgule. Utilisez "desc" après le nom d'un champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante : représentation JSON

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

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailProduct.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

Ressource: projects.locations.retailProductImages

Représentation JSON

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

Fields


nom

Chaîne

Uniquement en sortie. Nom de la ressource RetailProductImage

displayName

Chaîne

Facultatif. Nom à afficher de RetailProductImage.

sourceType

enum

Facultatif. Type de source

gcsUri

chaîne

Facultatif. Emplacement Cloud Storage de RetailProductImage. Il doit être défini, sauf lorsque l'image est fournie par Google, par exemple lorsque le type de source est SOURCE_TYPE_GOOGLE.

resourceState

enum

Sortie uniquement. État de RetailProductImage.

 libellés

map (clé: chaîne, valeur: chaîne)

Les libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductImage.

Les clés et valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez la page https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

Chaîne (format Code temporel)

Uniquement en sortie. Code temporel de création.

updateTime

Chaîne (format Code temporel)

Uniquement en sortie. Code temporel de la mise à jour.

Valeurs de l'énumération SourceType

SOURCE_TYPE_UNSPECIFIED Source de données inconnue. Ne doit pas être utilisé.
SOURCE_TYPE_FIXED_CAMERA L'image est capturée à partir d'une caméra fixe.
SOURCE_TYPE_HAND_HELD_CAMERA L'image est capturée à l'aide d'une caméra à main.
SOURCE_TYPE_CRAWLED L'image est explorée sur le Web.
SOURCE_TYPE_SYSTEM_GENERATED L'image est recadrée à partir d'une image d'origine avec un libellé manuel.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailProductImage.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailProductImage.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailProductImage.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailProductImage.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Paramètres de requête

filter chaîne Facultatif. Expression pour filtrer les résultats de la requête.
pageToken chaîne Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer moins d'éléments que demandés. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy chaîne Facultatif. Liste de champs à trier dans l'ordre croissant, séparés par une virgule. Utilisez "desc" après le nom d'un champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :

Représentation JSON

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

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailProductImage.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

Ressource: projects.locations.retailCatalogs.retailProductSets

Représentation JSON

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

Fields


nom

Chaîne

Uniquement en sortie. Nom de la ressource RetailProductSet

displayName

Chaîne

Facultatif. Nom à afficher du RetailProductSet.

retailProductIds []

Chaîne

Uniquement en sortie. ID de ressource des produits appartenant à cet ensemble de produits pour le commerce de détail. Les produits d'un RetailProductSet doivent appartenir au même catalogue.

resourceState

enum

Uniquement en sortie. État du RetailProductSet.

 libellés

map (clé: chaîne, valeur: chaîne)

Les libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductSet.

Les clés et valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez la page https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

chaîne (format code temporel)

Sortie uniquement. Code temporel de création.

updateTime

chaîne (format code temporel)

Sortie uniquement. Code temporel de la mise à jour.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailProductSet.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailProductSet.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant du RetailProductSet.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailProductSet.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Paramètres de requête

filter chaîne Facultatif. Expression pour filtrer les résultats de la requête.
pageToken chaîne Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer moins d'éléments que demandés. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy chaîne Facultatif. Liste de champs à trier dans l'ordre croissant, séparés par une virgule. Utilisez "desc" après le nom d'un champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :

Représentation JSON

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

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant du RetailProductSet.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Nom de la ressource RetailProductSet.

Corps de la requête

Représentation JSON

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

Fields


productIds[ ]
Chaîne

ID de ressource des produits vendus en magasin à ajouter. Ils doivent tous appartenir au même RetailCatalog que le RetailProductSet de destination spécifié. Vous pouvez spécifier jusqu'à 200 ID de produits Retail dans une même requête. Ne peut pas être utilisé avec productFilter.

productFilter

chaîne

Filtre standard qui sera appliqué à tous les RetailProducts du RetailCatalog parent, sélectionnera les articles qui répondent aux conditions du filtre et les ajoutera au RetailProductSet. Ne peut pas être utilisé avec product_ids. Filtres compatibles: https://google.aip.dev/160

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Nom de la ressource RetailProductSet.

Corps de la requête

Représentation JSON

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

Fields


productIds[ ]
Chaîne

ID de ressource des produits vendus en magasin à supprimer. Si les produits RetailProducts spécifiés n'appartiennent pas à ce RetailProductSet, ils seront ignorés. Vous pouvez spécifier jusqu'à 200 ID de produits Retail dans une même requête. Ne peut pas être utilisé avec products_filter.

productFilter
Chaîne

Filtre standard qui sera appliqué à tous les RetailProducts du RetailProductSet spécifié, sélectionnera les éléments qui répondent aux conditions du filtre et les supprimera du RetailProductSet. Ne peut pas être utilisé avec product_ids. Filtres compatibles:https://google.aip.dev/160

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Ressource: projects.locations.retailCatalogs.retailProductRecognitionIndexes

Représentation JSON

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

Fields


nom

Chaîne

Uniquement en sortie. Nom de la ressource RetailProductRecognitionIndex.

displayName

Chaîne

Facultatif. Nom à afficher de RetailProductRecognitionIndex.

description

Chaîne

Facultatif. Description de RetailProductRecognitionIndex.

retailProductSet[]

chaîne

Facultatif. Nom de la ressource RetailProductSet à utiliser pour créer cette ressource. Si ce champ est défini, RetailProductRecognitionIndex ne contiendra que les produits du RetailProductSet donné. Si ce paramètre n'est pas défini, tous les produits du catalogue parent sont utilisés.

resourceState

enum

Sortie uniquement. État de l'index RetailProductRecognitionIndex.

 libellés

map (clé: chaîne, valeur: chaîne)

Étiquettes avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductRecognitionIndex.

Les clés et valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez la page https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

chaîne (format code temporel)

Sortie uniquement. Code temporel de création.

updateTime

chaîne (format code temporel)

Sortie uniquement. Code temporel de la mise à jour.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailProductRecognitionIndex.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailProductRecognitionIndex.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailProductRecognitionIndex.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailProductRecognitionIndex.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Paramètres de requête

filter chaîne Facultatif. Expression pour filtrer les résultats de la requête.
pageToken chaîne Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer moins d'éléments que demandés. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy chaîne Facultatif. Liste de champs à trier dans l'ordre croissant, séparés par une virgule. Utilisez "desc" après le nom d'un champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :

Représentation JSON

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

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

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant ProductRecognitionIndex.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Ressource: projects.locations.retailEndpoints

Représentation 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
}

Fields


nom

Chaîne

Uniquement en sortie. Nom de la ressource RetailEndpoint.

displayName

Chaîne

Facultatif. Nom à afficher du RetailEndpoint.

description

Chaîne

Facultatif. Description du RetailEndpoint.

deployedProductRecognitionIndex

Chaîne

Sortie uniquement. Nom de la ressource ProductRecognitionIndex déployée sur ce RetailEndpoint.

productRecognitionConfig
Objet

Facultatif. Configuration pour la reconnaissance de produits.

tagRecognitionConfig
Objet

Facultatif. Configuration pour la reconnaissance des balises.

resourceState

enum

Sortie uniquement. État de l'index RetailProductRecognitionIndex.

 libellés

map (clé: chaîne, valeur: chaîne)

Étiquettes avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductRecognitionIndex.

Les clés et valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez la page https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

chaîne (format code temporel)

Sortie uniquement. Code temporel de création.

updateTime

chaîne (format code temporel)

Sortie uniquement. Code temporel de la mise à jour.

RetailProductRecognitionConfig

Représentation JSON

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

Fields

|

productDetectionModel chaîne Obligatoire. Modèle à utiliser pour détecter les produits dans les images d'entrée. Valeurs acceptées: "builtin/stable" (valeur par défaut) ou nom de la ressource de modèle Vertex AI.
detectionConfidenceThreshold float Facultatif. Seuil de confiance pour filtrer les résultats de détection. Si elle n'est pas définie, une valeur par défaut du système est utilisée.
recognitionConfidenceThreshold float Facultatif. Seuil de confiance pour filtrer les résultats de la reconnaissance. Si elle n'est pas définie, une valeur par défaut du système est utilisée.
additionalConfig object (format Struct) Facultatif. Configurations supplémentaires pour la reconnaissance des produits.

RetailTagRecognitionConfig

Représentation JSON

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

Fields

tagDetectionModel chaîne Obligatoire. Modèle à utiliser pour détecter les tags dans les images d'entrée. Valeurs acceptées: ressource de modèle Vertex AI.
tagParsingModel chaîne Obligatoire. Modèle permettant d'analyser le texte sur les balises détectées. Valeurs acceptées: ressource de modèle Vertex AI.
detectionConfidenceThreshold float Facultatif. Seuil de confiance pour filtrer les résultats de détection. Si elle n'est pas définie, une valeur par défaut du système est utilisée.
parsingConfidenceThreshold float Facultatif. Seuil de confiance pour filtrer les résultats d'analyse du texte. Si elle n'est pas définie, une valeur par défaut du système est utilisée.
additionalConfig object (format Struct) Facultatif. Configurations supplémentaires pour la reconnaissance des balises.

Méthode: projects.locations.retailEndpoints.create

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailEndpoint.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailEndpoint.

Méthode: projects.locations.retailEndpoints.get

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailEndpoint.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailEndpoint.

Méthode: projects.locations.retailEndpoints.list

Requête HTTP

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

Paramètres de chemin d'accès

parent chaîne Obligatoire. Identifiant parent.

Paramètres de requête

filter chaîne Facultatif. Expression pour filtrer les résultats de la requête.
pageToken chaîne Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer moins d'éléments que demandés. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy chaîne Facultatif. Liste de champs à trier dans l'ordre croissant, séparés par une virgule. Utilisez "desc" après le nom d'un champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :

Représentation JSON

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

Méthode: projects.locations.retailEndpoints.delete

Requête HTTP

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

Paramètres de chemin d'accès

nom chaîne Obligatoire. Identifiant RetailEndpoint.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

Méthode: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex

Requête HTTP

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

Paramètres de chemin d'accès

retailEndpoint chaîne Obligatoire. Nom de la ressource RetailEndpoint dans laquelle le RetailProductRecognitionIndex est déployé.

Corps de la requête

Représentation JSON

{
  "retailProductRecognitionIndex": string,
}

Fields

retailProductRecognitionIndex chaîne Obligatoire. Nom de la ressource RetailProductRecognitionIndex à déployer.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Méthode: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

Requête HTTP

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

Paramètres de chemin d'accès

retailEndpoint chaîne Obligatoire. Nom de la ressource RetailEndpoint sur laquelle le dés déploiement agira.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Méthode: projects.locations.retailEndpoints.batchAnalyze

Requête HTTP

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

Paramètres de chemin d'accès

retailEndpoint chaîne Obligatoire. Nom de la ressource de l'RetailEndpoint pour diffuser la requête d'inférence.

Corps de la requête

Représentation 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
}

Fields

gcsSource chaîne Obligatoire. Emplacement Cloud Storage du contenu d'entrée. Vous pouvez fournir plusieurs emplacements d'entrée. Le contenu de tous les emplacements d'entrée sera traité en un seul lot. Contenu accepté: fichier TXT, chaque ligne correspondant au chemin d'accès complet d'une image. Vous ne pouvez pas envoyer plus de 50 000 images par requête.
outputGcsDestination chaîne Facultatif. Emplacement Cloud Storage du répertoire dans lequel la sortie doit être écrite.
corpus chaîne Facultatif. Nom de la ressource du corpus de l'entrepôt d'images. Pas encore compatible.
bigqueryTable chaîne Facultatif. Nom de la ressource de la table BigQuery pour les exportations d'annotations. au format "projects/*/datasets/*/tables/*". Si cette option est définie, les annotations générées à partir de l'inférence ML seront également exportées vers la table BigQuery donnée. Pas encore compatible.
features[] Objet Obligatoire. Type d'inférence ML à effectuer.

Fonctionnalité

Représentation JSON

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

Fields

type énum Obligatoire. Type de fonctionnalité.
productRecognitionConfig objet Facultatif. Forcer des valeurs par requête pour la fonctionnalité de reconnaissance de produits. Il n'est efficace que si le type est défini sur TYPE_PRODUCT_RECOGNITION.
tagRecognitionConfig objet Facultatif. Forcer des valeurs par requête pour la fonctionnalité de reconnaissance des balises. Il n'est efficace que si le type est défini sur TYPE_TAG_RECOGNITION.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Types

GcsSource

Représentation JSON

{
  "uris": [string]
}

Fields

uris[] chaîne Obligatoire. Références à des chemins d'accès Cloud Storage.

Type

Valeurs ENUM

TYPE_UNSPECIFIED Valeur par défaut. Ne doit pas être utilisé.
TYPE_PRODUCT_RECOGNITION Reconnaissance de produits. Doit être utilisé sur un RetailEndpoint avec un RetailProductRecognitionIndex déployé.
TYPE_TAG_RECOGNITION Détection et analyse des balises Doit être utilisé sur un RetailEndpoint avec RetailTagRecognitionConfig.

RetailProductIoFormat

Représentation JSON

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

Fields

retailProduct objet Obligatoire. RetailProduct à importer
retailProductImages[ ] objet Facultatif. RetailProductImages de l'RetailProduct donné à importer.

RetailResourceState

Valeurs ENUM

RETAIL_RESOURCE_STATE_UNSPECIFIED Valeur par défaut. Ne doit pas être utilisé.
RETAIL_RESOURCE_STATE_CREATING Création d'état.
RETAIL_RESOURCE_STATE_CREATED État créé.
RETAIL_RESOURCE_STATE_UPDATING État Modification.
RETAIL_RESOURCE_STATE_DELETED État "Supprimé".
RETAIL_RESOURCE_STATE_ERROR Erreur d'état.