Le modèle de reconnaissance de produits vous aide à identifier et à comprendre les produits figurant sur l'image fournie ou sur l'étagère.
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 à:
- 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.
- 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 reconnaissance de produits
Ce modèle reconnaît l'identité individuelle des produits au niveau du code article international (GTIN) ou du code produit universel (UPC). Plusieurs modèles d'IA Google distinctifs sont inclus dans le système de reconnaissance des produits pour faciliter la résolution des problèmes liés à ces cas d'utilisation, par exemple:
- Modèle d'embedding visuel des produits, qui transforme une image de produit en représentation de l'espace des caractéristiques numériques.
- La technologie de reconnaissance optique des caractères de Google, qui extrait tous les textes visibles dans l'image.
- La base de données de produits Google utilisée en combinaison avec le modèle d'intégration visuelle des miniatures de produits permet au modèle de reconnaissance de produits de reconnaître de nombreux produits immédiatement.
Exemple d'objet JSON de sortie
{ "imageUri": "gs://test_bucket/test_image.jpg", "productRecognitionAnnotations": [ { "detectedText": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage", "recognitionResults": [ { "confidence": 0.9420832, "productMetadata": { "brand": "Bolthouse Farms", "gtins": [ "00071464260804" ], "locale": "en-US", "title": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage, Vanilla Chai Tea - 52 fl oz" }, } ] } ] }
Concepts de l'API
Six ressources d'API sont proposées pour vous aider à créer un catalogue de produits, à gérer des ensembles de données de produits, à créer des index et à déployer le service de reconnaissance des produits. Ils sont décrits comme suit:
Catalogue: ressource racine qui représente le conteneur de tous les produits proposés par le marchand.
Produit: représente un produit proposé par un marchand. Product
est une ressource enfant de Catalog
.
ProductImage: image représentant une vue d'un produit. ProductImage
est une ressource enfant de Product
.
ProductSet: conteneur à granularité plus fine permettant d'organiser et de regrouper des produits dans le même Catalog
. Un ProductSet
peut contenir un ou plusieurs Product
, mais il ne "possède" pas les Product
qu'il contient, mais entretient un "lien" avec eux.
ProductRecognitionIndex: contient une liste d'embeddings d'images utilisés pour les algorithmes de reconnaissance de produits. ProductRecognitionIndex
peut être créé à partir de l'ensemble de Catalog
ou d'un ProductSet
(un sous-ensemble des Product
de Catalog
).
Point de terminaison: emplacement qui contient toutes les configurations requises pour effectuer une inférence de reconnaissance de produit ou de balise. Pour la reconnaissance de produits, vous devez spécifier le modèle de détection de produits et déployer un ProductRecognitionIndex
. Pour la reconnaissance des balises, vous devez spécifier à la fois des modèles de détection de balises et d'analyse d'entités de balises.
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 la reconnaissance de produits
- Créez un catalogue.
- Importez les produits et (facultatif)
ProductImages
dans le fichierCatalog
. - Affiche et modifie les
Product
etProductImages
, et crée éventuellement unProductSet
pour organiser la liste des produits de manière plus précise. - Créez un
Index
, soit à partir de l'ensemble duCatalog
, soit à partir d'unProductSet
. - Créez un
Endpoint
avec la configuration de reconnaissance des produits souhaitée et y déployez unIndex
. - Effectuez
BatchAnalyze
avec la fonctionnalitéProductRecognition
. Dans le backend, le système identifie les produits de chaque image d'entrée et récupère les K meilleurs produits similaires de l'index spécifié à l'aide de signaux visuels et de texte OCR.
Gestion des ressources d'API (catalogue et ensemble d'index)
Catalogue
Créer un catalogue
- CATALOG_ID=votre ID de catalogue.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs?retail_catalog_id=CATALOG_ID
Exemple de résultat :
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": false
}
Opération de récupération jusqu'à la fin
- OPERATION_ID=Votre opération de sortie, par exemple, operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
Exemple de résultat :
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": true
}
ImportProduct
Deux formats d'importation sont acceptés:
- TXT: chaque ligne correspond au code GTIN d'un produit à importer
- JSONL : chaque ligne est au format JSON de RetailProductIoFormat, par exemple :
{"retailProduct":{"name":"00040094314034","gtins":["00040094314034"]},"retailProductImages":[{"name":"1","gcsUri":"gs://shelfchecking-integration-test-data/products-data/00040094314034/1.jpg"}]}
{"retailProduct": {"name":"00123", "thirdPartyIds": {"id": "test-id", "owner": "test-owner"}}}
Pour en savoir plus sur RetailProductIoFormat, consultez la documentation de référence de l'API. Actuellement,vous pouvez importer un maximum de 10 000 produits par opération ImportProduct.
Notez également que le nom des "retailProductImages" ne doit être unique que dans le champ d'application de la ressource parente "retailProduct". Autrement dit, il peut y avoir deux "retailProductImages" avec le même nom tant qu'ils appartiennent à des ressources "retailProduct" différentes.
- IMPORT_FILE_URI=URI Cloud Storage de votre fichier d'importation (par exemple, gs://mybucket/my_import_file.jsonl)
- IMPORT_FORMAT=format de votre fichier d'importation, FORMAT_JSONL ou FORMAT_TXT
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/retailCatalogs/CATALOG_ID:importRetailProducts \
-d '{
"gcs_source": {
"uris": "IMPORT_FILE_URI"
},
"format": "IMPORT_FORMAT"
}'
Catalogue de listes
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs
GetCatalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
DeleteCatalog
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
Produit
CreateProduct avec code GTIN
Nous acceptons les formats GTIN-8, GTIN-13, GTIN-14 et UPC(également appelé GTIN-12). Pour en savoir plus sur le format GTIN, cliquez ici.
- PRODUCT_ID=Votre ID produit
- GTIN=code GTIN de votre produit, par exemple : 50735854797459, 00040094314034
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/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '{"gtins": "GTIN"}'
CreateProduct avec un ID tiers
- PRODUCT_ID=Votre ID produit
- THIRD_PARTY_ID=ID tiers
- OWNER=entité propriétaire de l'identifiant tiers
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/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '
{
"third_party_ids": {
"id": "THIRD_PARTY_ID",
"owner": "OWNER",
}
}'
ListProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts
GetProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
DeleteProduct
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
ProductImage
CreateProductImage
- PRODUCT_IMAGE_ID=ID de votre image produit
- IMAGE_GCS_URI=URI Cloud Storage de votre image (par exemple, gs://mybucket/my_img.jpg)
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/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages?retail_product_image_id=PRODUCT_IMAGE_ID \
-d '{
"source_type": "SOURCE_TYPE_HAND_HELD_CAMERA",
"gcs_uri": "IMAGE_GCS_URI"
}'
ListProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages
GetProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
DeleteProductImage
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
ProductSet
CreateProductSet
- PRODUCT_SET_ID=ID de votre ensemble de produits
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets?retail_product_set_id=PRODUCT_SET_ID
ListProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets
GetProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
AddProductsToProductSet
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/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:add \
-d '{"product_ids": "PRODUCT_ID"}'
RemoveProductsFromProductSet
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/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:remove \
-d '{"product_ids": "PRODUCT_ID"}'
DeleteProductSet
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
ProductRecognitionIndex
Créer ProductRecognitionIndex
Vous pouvez créer un ProductRecognitionIndex de deux manières : à partir d'un catalogue qui utilisera tout ce qui est contenu dans ce catalogue, ou à partir d'un ensemble de produits qui n'utilisera que les produits et les images associés.
- INDEX_ID=votre ID d'index
- COVERAGE_CSV_OUTPUT_DIRECTORY=<emplacement Cloud Storage du répertoire dans lequel le fichier de couverture de l'index sera écrit
# Create from Catalog
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/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID
# Create from Catalog and output index coverage CSV file to a Cloud Storage directory.
# This API method is especially useful when you want to understand the
# actual number of images used to construct the index per imported GTIN, and
# the image can be sourced from the Google Product database, your own importing,
# and other means (such as with the Google Data Labeling service.
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/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID&coverage_output.output_uri_prefix=COVERAGE_CSV_OUTPUT_DIRECTORY"
# Create from ProductSet, by adding the following to the previous Curl command
-d '{"retail_product_set": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductSets/PRODUCT_SET_ID"}'
Obtenir ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
List ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes
Supprimer ProductRecognitionIndex
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
Point de terminaison
Créer un point de terminaison
- ENDPOINT_ID=Votre ID de point de terminaison
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 '{
"productRecognitionConfig": {
"recognitionConfidenceThreshold": 0.4
}
}'
DeployProductRecognitionIndex
Un point de terminaison ne peut être déployé qu'avec un seul ProductRecognitionIndex, mais un ProductRecognitionIndex peut être déployé sur plusieurs points de terminaison.
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:deployRetailProductRecognitionIndex \
-d '{
"retail_product_recognition_index": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductRecognitionIndexes/INDEX_ID"
}'
GetEndpoint
curl -sS -X GET -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
ListEndpoints
curl -sS -X GET -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
UndeployProductRecognitionIndex
Le désengagement ne supprime que le ProductRecognitionIndex déployé du point de terminaison appelant actuel et n'affecte pas les autres points de terminaison si ce ProductRecognitionIndex est également déployé sur d'autres.
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:undeployRetailProductRecognitionIndex
DeleteEndpoint
curl -sS -X DELETE -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
Analyser les inférences par lot (reconnaissance de produits)
Exemple de fichier d'entrée dans gs://my-bucket/input-file.csv
:
gs://my-bucket/my-image1.jpg
gs://my-bucket/my-image2.jpg
gs://my-bucket/my-image3.jpg
- 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_PRODUCT_RECOGNITION",
}
],
"outputGcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}'
"features": [
{
"type": "TYPE_PRODUCT_RECOGNITION",
"productRecognitionConfig": {
"recognitionConfidenceThreshold": 0.4
}
}
],
Vous pouvez également définir et configurer d'autres champs dans productRecognitionConfig
, qui est un objet RetailProductRecognitionConfig
.
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. RetailProductImage s 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. |