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 à:
- 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 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
- Effectuez un entraînement personnalisé du modèle de détection de tags à l'aide de la fonctionnalité Vertex AI/AutoML Vision Object Detection.
- 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é.
- Créez un point de terminaison avec la configuration de reconnaissance des balises souhaitée.
- 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.
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. 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. |