Leitfaden zur Produkterkennung

Mit dem Modell Product Recognizer können Sie erkennen und nachvollziehen, welches Produkt auf dem bereitgestellten Bild zu sehen ist. Das Bild sollte nur ein einzelnes Produkt enthalten, das Sie erkennen möchten.

Dieses Modell kann als primärer KI-Baustein für die Analyse und Interpretation von Produktbilddaten dienen, die Sie in Einzelhandelsgeschäften erfassen können.

Anwendungsfälle für die Tag- und Produkterkennung

Die Modelle Product Recognizer und Tag Recognizer können als primäre KI-Bausteine für die Analyse und Interpretation der Bilddaten zu Produkten und Tags dienen, die Sie möglicherweise in Einzelhandelsgeschäften erfasst haben.

Die Modelle „Produkterkennung“ und „Tag-Erkennung“ enthalten mehrere wichtige Google AI-Modellierungs- und Datenfunktionen, mit denen Einzelhändler und/oder technische Partner wichtige Probleme beim Analysieren von Produkt- und Preisschildbilddaten lösen können. Dazu gehören:

  • Erkennen, d. h. verstehen, welches Produkt auf dem Bild zu sehen ist.
  • Das Tag (z. B. „price-tag“ oder andere Textlabel-Tags) wird gemäß dem vom Nutzer definierten Schema für die Extraktion von Schlüssel/Wert-Paaren erkannt und geparst.

Insbesondere sind mehrere differenzierende Google AI-Modelle enthalten, um die Problemlösung in diesen Anwendungsfällen zu unterstützen, z. B.

  • Ein Modell zum Einbetten von Produkt-Miniaturansichten, das ein Bild einer Produkt-Miniaturansicht in eine numerische Darstellung des Merkmalsraums umwandelt.
  • Das Google-OCR-Modell, mit dem der gesamte im Bild sichtbare Text extrahiert wird.
  • Google-Modell zur Extraktion von Entitäten, das Sie anpassen können. Es wandelt die Rohdaten in die vom Nutzer definierten benannten Entitäten in Form von Schlüssel/Wert-Paaren um.

Zusätzlich zu diesen Google AI-Modellen greift die Produkterkennung auch auf die große Datenbank mit Produktinformationen von Google zurück. Die Produktdaten in dieser Produktdatenbank umfassen die GTIN-/UPC-Identität des Produkts, die Produktmarke, den Titel und sprachübergreifende Beschreibungen, das Produktlogo und Bilder mit verschiedenen Verpackungsvarianten. Die Produktdatenbank mit dem oben erwähnten visuellen Einbettungsmodell für Produkt-Thumbnails ermöglicht es dem Modell für die Produkterkennung, viele Produkte sofort zu erkennen.

Die beiden wichtigsten KI-Funktionen sind die Modelle für die Produkterkennung und die Taggerkennung.

Funktionsweise der Produkterkennung

In diesem Modell wird die Identität einzelner Produkte auf GTIN-Ebene (Global Trade Item Number) oder UPC-Ebene (Universal Product Code) erkannt. Im Product Recognizer sind mehrere differenzierende Google AI-Modelle enthalten, um die Problemlösung in diesen Anwendungsfällen zu ermöglichen, z. B.:

  • Das Modell für das visuelle Einbetten von Produkten, das ein Produktbild in eine numerische Darstellung des Merkmalsraums umwandelt.
  • Die Google-OCR-Technologie, mit der alle im Bild sichtbaren Texte extrahiert werden.
  • Die Google-Produktdatenbank, die in Kombination mit dem visuellen Einbettungsmodell für Produkt-Thumbnails verwendet wird, ermöglicht es dem Modell zur Produkterkennung, viele Produkte sofort zu erkennen.

Beispiel für ein JSON-Ausgabeobjekt

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

API-Konzepte

Es gibt sechs API-Ressourcen, die beim Erstellen von Produktkatalogen, der Verwaltung von Produktdatasets, dem Erstellen von Indexen und der Bereitstellung für den Dienst „Produkterkennung“ helfen. Sie werden so beschrieben:

API-Konzeptdiagramm

Katalog: Die Stammressource, die den Container für alle vom Einzelhändler angebotenen Produkte darstellt.

Produkt: Stellt ein Produkt dar, das von einem Händler angeboten wird. Product ist eine untergeordnete Ressource von Catalog.

ProductImage: Das Bild, das eine Ansicht eines Produkts darstellt. ProductImage ist eine untergeordnete Ressource von Product.

ProductSet: Ein Container mit feinerer Granularität zum Organisieren und Gruppieren von Produkten in derselben Catalog. Ein ProductSet kann ein oder mehrere Products enthalten, ist aber nicht der „Eigentümer“ der enthaltenen Products, sondern verwaltet stattdessen einen „Link“ zu ihnen.

ProductRecognitionIndex: Enthält eine Liste von Bildeinbettungen, die für Produkterkennungsalgorithmen verwendet werden. ProductRecognitionIndex kann entweder aus dem gesamten Catalog oder aus einem ProductSet (einer Teilmenge der Product aus dem Catalog) erstellt werden.

Endpunkt: Ein Placement, das alle Konfigurationen enthält, die für die Inferenz zur Produkt- oder Tag-Erkennung erforderlich sind. Für die Produkterkennung ist die Bereitstellung einer ProductRecognitionIndex erforderlich. Für die Tag-Erkennung ist die Angabe von Parsing-Modellen für Tag-Entitäten erforderlich.

Umgebung einrichten

In diesem Abschnitt wird beschrieben, wie Sie mit der Store Vision AI RESTful API interagieren.

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

Für alle create-Methoden muss der Name/die ID der zu erstellenden Ressource explizit angegeben werden. Sie können einen aussagekräftigen String als Kennung verwenden, z. B. „product-ABC“, oder eine zufällig generierte Kennung, z. B. eine UUID.

Wenn Sie einer Person mit einer Rolle Bearbeiterzugriff für die Verwendung der Store Vision API gewähren möchten, führen Sie den folgenden IAM-Bindungsbefehl aus:

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

Verwenden Sie den folgenden Befehl, um einem Dienstkonto Bearbeitungszugriff zu gewähren:

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

Weitere Informationen zum IAM-Binding

User Journey für die Produkterkennung

  1. Erstellen Sie einen Katalog.
  2. Importieren Sie Produkte und (optional) ProductImages in Catalog.
  3. Sie können die Product und ProductImages aufrufen und ändern. Optional können Sie eine ProductSet erstellen, um die Produktliste detaillierter zu organisieren.
  4. Erstellen Sie ein Index entweder aus dem gesamten Catalog oder aus einem ProductSet.
  5. Erstellt ein Endpoint-Objekt mit der gewünschten Konfiguration für die Produkterkennung und stellt ein Index-Objekt darin bereit.
  6. Führen Sie BatchAnalyze mit der Funktion ProductRecognition aus. Im Backend identifiziert das System Produkte aus jedem Eingabebild und ruft die K ähnlichsten Produkte aus dem angegebenen Index ab. Dabei werden sowohl visuelle als auch OCR-Textsignale verwendet.

API-Ressourcenverwaltung (Katalog und Indexset)

Katalog

Katalog erstellen
  • CATALOG_ID=Ihre Katalog-ID.
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

Beispielausgabe

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": false
}
Vorgang abrufen, bis er abgeschlossen ist
  • OPERATION_ID=Ihr Ausgabevorgang, z. B. 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

Beispielausgabe

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": true
}
ImportProduct

Es werden zwei Importformate unterstützt:

  • TXT: Jede Zeile enthält die GTIN eines zu importierenden Produkts.
  • JSONL: Jede Zeile ist ein JSON-Format von RetailProductIoFormat, z. B.
{"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"}}}

Weitere Informationen zu RetailProductIoFormat finden Sie in der API-Referenz. Derzeit können mit dem Vorgang „ImportProduct“ maximal 10.000 Produkte importiert werden.

Der „name“ [Name] in „retailProductImages“ [Produktbilder für Einzelhandel] muss nur im Rahmen der übergeordneten Ressource „retailProduct“ [Einzelhandelsprodukt] eindeutig sein. Es kann also zwei „retailProductImages“ [Produktbilder für Einzelhandel] mit demselben „name“ [Name] geben, solange sie zu verschiedenen „retailProduct“-Ressourcen [Einzelhandelsprodukt] gehören.

  • IMPORT_FILE_URI=Ihr Cloud Storage-URI für die Importdatei, z. B. gs://mybucket/my_import_file.jsonl
  • IMPORT_FORMAT=Ihr Importdateiformat, entweder FORMAT_JSONL oder 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"
  }'
Katalog auflisten
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

Produkt

CreateProduct mit GTIN

Wir unterstützen die Formate GTIN-8, GTIN-13, GTIN-14 und UPC(auch bekannt als GTIN-12). Weitere Informationen zum GTIN-Format

  • PRODUCT_ID=Ihre Produkt-ID
  • GTIN=GTIN Ihres Produkts, z. B. 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 mit Drittanbieter-ID
  • PRODUCT_ID=Ihre Produkt-ID
  • THIRD_PARTY_ID=Drittanbieter-ID
  • OWNER=Die Rechtspersönlichkeit, die Inhaber der Drittanbieter-ID ist
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=Ihre Produktbild-ID
  • IMAGE_GCS_URI=Ihr Cloud Storage-URI für das Bild, z. B. 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=Ihre Produktgruppen-ID
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

Create ProductRecognitionIndex

Es gibt zwei Möglichkeiten, einen ProductRecognitionIndex zu erstellen: entweder aus einem Katalog, in dem alle darin enthaltenen Elemente verwendet werden, oder aus einer Produktgruppe, in der nur die zugehörigen Produkte und Produktbilder verwendet werden.

  • INDEX_ID=Ihre Index-ID
  • COVERAGE_CSV_OUTPUT_DIRECTORY=<Cloud Storage-Speicherort des Verzeichnisses, in das die Indexabdeckungsdatei geschrieben wird
# 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"}'
Get 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
ProductRecognitionIndex auflisten
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
Delete 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

Endpunkt

Endpunkt erstellen
  • ENDPOINT_ID=Ihre Endpunkt-ID
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

Ein Endpunkt kann nur mit einem ProductRecognitionIndex bereitgestellt werden, ein ProductRecognitionIndex kann aber auf mehreren Endpunkten bereitgestellt werden.

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

Durch das Entfernen der Bereitstellung wird der bereitgestellte ProductRecognitionIndex nur vom aktuellen aufrufenden Endpunkt entfernt. Andere Endpunkte sind nicht betroffen, wenn dieser ProductRecognitionIndex auch auf anderen Endpunkten bereitgestellt wird.

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

Batchanalyse-Inferenz (Produkterkennung)

Beispiel für Eingabedatei unter 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=Cloud Storage-URI Ihrer Eingabedatei> Jede Zeile in der Eingabedatei ist nur eine Cloud Storage-URI des zu verarbeitenden Bildes, z. B. gs://my-bucket/my-image.jpg
  • OUTPUT_URI_PREFIX=Cloud Storage-URI-Präfix für die Ausgabedatei mit den Ergebnissen, z. B. 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
      }
    }
  ],

Es gibt auch weitere Felder, die Sie in productRecognitionConfig festlegen und konfigurieren können. productRecognitionConfig ist ein RetailProductRecognitionConfig-Objekt. Weitere Informationen finden Sie in der Ressourcenbeschreibung in der API-Referenz.

API-Referenz

Ressource: projects.locations.retailCatalogs

JSON-Darstellung

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

Fields


name

String

Nur Ausgabe. Ressourcenname des RetailCatalog

displayName

String

Optional. Der Anzeigename des RetailCatalog.

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für die Erstellung dieses RetailCatalog.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel der Aktualisierung.

resourceState

enum

Nur Ausgabe. Status des RetailCatalog.

Labels

map (key: string, value: string)

Die Labels mit benutzerdefinierten Metadaten zum Organisieren Ihres RetailCatalog.

Labelschlüssel und ‑werte dürfen maximal 64 Zeichen (Unicode-Codepunkte) lang sein und nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig.

Weitere Informationen und Beispiele für Labels finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „key“: value. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

Methode: projects.locations.retailCatalogs.create

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Anfragetext

Der Anfragetext enthält eine Instanz von RetailCatalog.

Antworttext

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von RetailCatalog.

Methode: projects.locations.retailCatalogs.get

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailCatalog-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von RetailCatalog.

Methode: projects.locations.retailCatalogs.list

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Suchparameter

filtern String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die der Server liefern soll
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente als angefordert zurück. Wenn kein Wert angegeben wurde, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen in aufsteigender Reihenfolge sortiert werden soll. Verwenden Sie „desc“ nach einem Feldnamen für die absteigende Sortierung.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur: JSON-Darstellung

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

Methode: projects.locations.retailCatalogs.delete

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailCatalog-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Methode: projects.locations.retailCatalogs.importRetailProducts

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. Ressourcenname von RetailCatalog.

Anfragetext

JSON-Darstellung

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

Fields

gcsSource Objekt Erforderlich. Der Cloud Storage-Speicherort für die Eingabeinhalte. Es können mehrere Eingabestandorte angegeben werden. Die Inhalte aller Eingabestandorte werden in einem Batch importiert. Unterstützte Dateiendungen: 1. Eine JSONL-Datei. Jede Zeile ist ein JSON-Format von RetailProductIoFormat.
2. Eine TXT-Datei. Jede Zeile enthält die GTIN eines zu importierenden Produkts.
format enum Erforderlich. Das Importdateiformat.

ENUM-Werte formatieren

FORMAT_UNSPECIFIED Sollte nicht verwendet werden.
FORMAT_TXT TXT-Format.
FORMAT_JSONL JSONL-Format.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Ressource: projects.locations.retailProducts

JSON-Darstellung

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


name

String

Nur Ausgabe. Ressourcenname des RetailProductImage

displayName

String

Optional. Anzeigename des RetailProductImage.

sourceType

enum

Optional. Quelltyp

gcsUri

string

Optional. Cloud Storage-Speicherort des RetailProductImage. Sollte festgelegt werden, es sei denn, das Bild wird von Google bereitgestellt, z. B. wenn der Quelltyp SOURCE_TYPE_GOOGLE ist.

resourceState

enum

Nur Ausgabe. Status des RetailProductImage.

Labels

map (key: string, value: string)

Die Labels mit benutzerdefinierten Metadaten zum Organisieren Ihrer RetailProductImage.

Labelschlüssel und ‑werte dürfen maximal 64 Zeichen (Unicode-Codepunkte) lang sein und nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig.

Weitere Informationen und Beispiele für Labels finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „key“: value. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der Erstellung.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel der Aktualisierung.

RetailThirdPartyId JSON-Darstellung

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

Fields

id String Die Drittanbieter-ID, die vom Einzelhändler oder Hersteller verwendet wird (z. B. SKU oder MPN).
Inhaber String Die Einheit, die die Drittanbieter-Kennung „besitzt“, z. B. der Hersteller oder der Einzelhändler, der dieses Produkt verkauft.

Methode: projects.locations.retailCatalogs.retailProducts.create

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Anfragetext

Der Anfragetext enthält eine Instanz von RetailProduct.

Antworttext

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von RetailProduct.

Methode: projects.locations.retailCatalogs.retailProducts.get

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailProduct-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von RetailProduct.

Methode: projects.locations.retailCatalogs.retailProducts.list

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Suchparameter

filtern String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die der Server liefern soll
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente als angefordert zurück. Wenn kein Wert angegeben wurde, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen in aufsteigender Reihenfolge sortiert werden soll. Verwenden Sie „desc“ nach einem Feldnamen für die absteigende Sortierung.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur: JSON-Darstellung

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

Methode: projects.locations.retailCatalogs.retailProducts.delete

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailProduct-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

Ressource: projects.locations.retailProductImages

JSON-Darstellung

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

Fields


name

String

Nur Ausgabe. Ressourcenname des RetailProductImage

displayName

String

Optional. Anzeigename des RetailProductImage.

sourceType

enum

Optional. Quelltyp

gcsUri

string

Optional. Cloud Storage-Speicherort des RetailProductImage. Sollte festgelegt werden, es sei denn, das Bild wird von Google bereitgestellt, z. B. wenn der Quelltyp SOURCE_TYPE_GOOGLE ist.

resourceState

enum

Nur Ausgabe. Status des RetailProductImage.

Labels

map (key: string, value: string)

Die Labels mit benutzerdefinierten Metadaten zum Organisieren Ihrer RetailProductImage.

Labelschlüssel und ‑werte dürfen maximal 64 Zeichen (Unicode-Codepunkte) lang sein und nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig.

Weitere Informationen und Beispiele für Labels finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „key“: value. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der Erstellung.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel der Aktualisierung.

ENUM-Werte für SourceType

SOURCE_TYPE_UNSPECIFIED Unbekannte Datenquelle. Sollte nicht verwendet werden.
SOURCE_TYPE_FIXED_CAMERA Das Bild wurde mit einer festen Kamera aufgenommen.
SOURCE_TYPE_HAND_HELD_CAMERA Das Bild wurde mit einer Handkamera aufgenommen.
SOURCE_TYPE_CRAWLED Das Bild wird aus dem Web gecrawlt.
SOURCE_TYPE_SYSTEM_GENERATED Das Bild wurde aus einem Originalbild mit menschlicher Beschriftung zugeschnitten.

Methode: projects.locations.retailCatalogs.retailProducts.retailProductImages.create

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Anfragetext

Der Anfragetext enthält eine Instanz von RetailProductImage.

Antworttext

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von RetailProductImage.

Methode: projects.locations.retailCatalogs.retailProducts.retailProductImages.get

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailProductImage-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von RetailProductImage.

Methode: projects.locations.retailCatalogs.retailProducts.retailProductImages.list

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Suchparameter

filtern String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die der Server liefern soll
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente als angefordert zurück. Wenn kein Wert angegeben wurde, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen in aufsteigender Reihenfolge sortiert werden soll. Verwenden Sie „desc“ nach einem Feldnamen für die absteigende Sortierung.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Daten mit folgender Struktur:

JSON-Darstellung

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

Methode: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailProductImage-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

Ressource: projects.locations.retailCatalogs.retailProductSets

JSON-Darstellung

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

Fields


name

String

Nur Ausgabe. Ressourcenname des RetailProductSet

displayName

String

Optional. Anzeigename des RetailProductSet.

retailProductIds []

String

Nur Ausgabe. Ressourcen-IDs von Produkten, die zu diesem RetailProductSet gehören. Die Produkte in einem RetailProductSet müssen sich im selben Katalog befinden.

resourceState

enum

Nur Ausgabe. Status des RetailProductSet.

Labels

map (key: string, value: string)

Die Labels mit benutzerdefinierten Metadaten zum Organisieren Ihres RetailProductSet.

Labelschlüssel und ‑werte dürfen maximal 64 Zeichen (Unicode-Codepunkte) lang sein und nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig.

Weitere Informationen und Beispiele für Labels finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „key“: value. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der Erstellung.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel der Aktualisierung.

Methode: projects.locations.retailCatalogs.retailProductSets.create

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Anfragetext

Der Anfragetext enthält eine Instanz von RetailProductSet.

Antworttext

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von RetailProductSet.

Methode: projects.locations.retailCatalogs.retailProductSets.get

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. Kennzeichnung des RetailProductSet.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Bei Erfolg enthält der Antworttext eine Instanz von RetailProductSet.

Methode: projects.locations.retailCatalogs.retailProductSets.list

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Suchparameter

filtern String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die der Server liefern soll
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente als angefordert zurück. Wenn kein Wert angegeben wurde, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen in aufsteigender Reihenfolge sortiert werden soll. Verwenden Sie „desc“ nach einem Feldnamen für die absteigende Sortierung.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Daten mit folgender Struktur:

JSON-Darstellung

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

Methode: projects.locations.retailCatalogs.retailProductSets.delete

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. Kennzeichnung des RetailProductSet.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

Methode: projects.locations.retailCatalogs.retailProductSets.add

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. Ressourcenname des RetailProductSet.

Anfragetext

JSON-Darstellung

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

Fields


productIds[ ]

string

Ressourcen-ID der hinzuzufügenden RetailProducts. Sie müssen alle zum selben RetailCatalog wie das angegebene Ziel-RetailProductSet gehören. In einer Anfrage können bis zu 200 RetailProducts-IDs angegeben werden. Kann nicht zusammen mit „productFilter“ verwendet werden.

productFilter

string

Ein Standardfilter, der auf alle RetailProducts im übergeordneten RetailCatalog angewendet wird. Damit werden Elemente ausgewählt, die die Filterbedingungen erfüllen, und dem RetailProductSet hinzugefügt. Kann nicht zusammen mit „product_ids“ verwendet werden. Unterstützte Filter: https://google.aip.dev/160

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Methode: projects.locations.retailCatalogs.retailProductSets.remove

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. Ressourcenname des RetailProductSet.

Anfragetext

JSON-Darstellung

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

Fields


productIds[ ]

string

Ressourcen-IDs der zu entfernenden RetailProducts. Wenn die angegebenen RetailProducts nicht zu diesem RetailProductSet gehören, werden sie ignoriert. In einer Anfrage können bis zu 200 RetailProducts-IDs angegeben werden. Kann nicht zusammen mit „products_filter“ verwendet werden.

productFilter

string

Ein Standardfilter, der auf alle RetailProducts im angegebenen RetailProductSet angewendet wird. Er wählt Elemente aus, die den Filterbedingungen entsprechen, und entfernt sie aus dem RetailProductSet. Kann nicht zusammen mit „product_ids“ verwendet werden. Unterstützte Filter:https://google.aip.dev/160

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Ressource: projects.locations.retailCatalogs.retailProductRecognitionIndexes

JSON-Darstellung

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

Fields


name

String

Nur Ausgabe. Ressourcenname der RetailProductRecognitionIndex-Ressource.

displayName

String

Optional. Anzeigename des RetailProductRecognitionIndex.

description

String

Optional. Die Beschreibung von RetailProductRecognitionIndex.

retailProductSet[]

string

Optional. Der Ressourcenname des RetailProductSet, das zum Erstellen dieser Ressource verwendet werden soll. Wenn festgelegt, enthält der RetailProductRecognitionIndex nur Produkte im angegebenen RetailProductSet. Wenn nicht festgelegt, werden alle Produkte im übergeordneten Katalog verwendet.

resourceState

enum

Nur Ausgabe. Status des RetailProductRecognitionIndex.

Labels

map (key: string, value: string)

Die Labels mit benutzerdefinierten Metadaten zum Organisieren Ihres RetailProductRecognitionIndex.

Labelschlüssel und ‑werte dürfen maximal 64 Zeichen (Unicode-Codepunkte) lang sein und nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig.

Weitere Informationen und Beispiele für Labels finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „key“: value. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der Erstellung.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel der Aktualisierung.

Methode: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Anfragetext

Der Anfragetext enthält eine Instanz von RetailProductRecognitionIndex.

Antworttext

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von RetailProductRecognitionIndex.

Methode: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailProductRecognitionIndex-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von RetailProductRecognitionIndex.

Methode: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Suchparameter

filtern String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die der Server liefern soll
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente als angefordert zurück. Wenn kein Wert angegeben wurde, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen in aufsteigender Reihenfolge sortiert werden soll. Verwenden Sie „desc“ nach einem Feldnamen für die absteigende Sortierung.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Daten mit folgender Struktur:

JSON-Darstellung

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

Methode: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. Die Kennzeichnung des ProductRecognitionIndex.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Ressource: projects.locations.retailEndpoints

JSON-Darstellung

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


name

String

Nur Ausgabe. Ressourcenname der RetailEndpoint-Ressource.

displayName

String

Optional. Anzeigename des RetailEndpoint.

description

String

Optional. Die Beschreibung des RetailEndpoint.

deployedProductRecognitionIndex

String

Nur Ausgabe. Ressourcenname des ProductRecognitionIndex, der für diesen RetailEndpoint bereitgestellt wird.

productRecognitionConfig

Objekt

Optional. Konfiguration für die Produkterkennung.

tagRecognitionConfig

Objekt

Optional. Konfiguration für die Tag-Erkennung.

resourceState

enum

Nur Ausgabe. Status des RetailProductRecognitionIndex.

Labels

map (key: string, value: string)

Die Labels mit benutzerdefinierten Metadaten zum Organisieren Ihres RetailProductRecognitionIndex.

Labelschlüssel und ‑werte dürfen maximal 64 Zeichen (Unicode-Codepunkte) lang sein und nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig.

Weitere Informationen und Beispiele für Labels finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „key“: value. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der Erstellung.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel der Aktualisierung.

RetailProductRecognitionConfig

JSON-Darstellung

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

Fields

|

productDetectionModel String Erforderlich. Modell, das zum Erkennen von Produkten in Eingabebildern verwendet werden soll. Unterstützte Werte: „builtin/stable“ (Standardeinstellung) oder Ressourcenname des Vertex AI-Modells.
detectionConfidenceThreshold float Optional. Konfidenzschwellenwert zum Filtern von Erkennungsergebnissen. Wenn nicht festgelegt, wird ein Systemstandardwert verwendet.
recognitionConfidenceThreshold float Optional. Konfidenzschwellenwert zum Filtern von Erkennungsergebnissen. Wenn nicht festgelegt, wird ein Systemstandardwert verwendet.
additionalConfig object (Struct format) Optional. Zusätzliche Konfigurationen für die Produkterkennung.

RetailTagRecognitionConfig

JSON-Darstellung

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

Fields

tagDetectionModel String Erforderlich. Modell, das zum Erkennen von Tags in Eingabebildern verwendet werden soll. Unterstützte Werte: Vertex AI-Modellressource.
tagParsingModel String Erforderlich. Modell zum Parsen von Text in erkannten Tags. Unterstützte Werte: Vertex AI-Modellressource.
detectionConfidenceThreshold float Optional. Konfidenzschwellenwert zum Filtern von Erkennungsergebnissen. Wenn nicht festgelegt, wird ein Systemstandardwert verwendet.
parsingConfidenceThreshold float Optional. Konfidenzgrenzwert zum Filtern von Ergebnissen der Textanalyse. Wenn nicht festgelegt, wird ein Systemstandardwert verwendet.
additionalConfig object (Struct format) Optional. Zusätzliche Konfigurationen für die Tag-Erkennung.

Methode: projects.locations.retailEndpoints.create

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Anfragetext

Der Anfragetext enthält eine Instanz von RetailEndpoint.

Antworttext

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von RetailEndpoint.

Methode: projects.locations.retailEndpoints.get

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailEndpoint-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von RetailEndpoint.

Methode: projects.locations.retailEndpoints.list

HTTP-Anfrage

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

Pfadparameter

parent String Erforderlich. Übergeordnete Kennung.

Suchparameter

filtern String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die der Server liefern soll
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente als angefordert zurück. Wenn kein Wert angegeben wurde, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen in aufsteigender Reihenfolge sortiert werden soll. Verwenden Sie „desc“ nach einem Feldnamen für die absteigende Sortierung.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Daten mit folgender Struktur:

JSON-Darstellung

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

Methode: projects.locations.retailEndpoints.delete

HTTP-Anfrage

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

Pfadparameter

Name String Erforderlich. RetailEndpoint-ID.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

Methode: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex

HTTP-Anfrage

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

Pfadparameter

retailEndpoint String Erforderlich. Ressourcenname der RetailEndpoint-Ressource, in der die RetailProductRecognitionIndex bereitgestellt wird.

Anfragetext

JSON-Darstellung

{
  "retailProductRecognitionIndex": string,
}

Fields

retailProductRecognitionIndex String Erforderlich. Der Ressourcenname von RetailProductRecognitionIndex für die Bereitstellung.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Methode: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

HTTP-Anfrage

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

Pfadparameter

retailEndpoint String Erforderlich. Der Ressourcenname der RetailEndpoint-Ressource, für die die Bereitstellung aufgehoben wird.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Methode: projects.locations.retailEndpoints.batchAnalyze

HTTP-Anfrage

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

Pfadparameter

retailEndpoint String Erforderlich. Der Ressourcenname der RetailEndpoint, die für die Verarbeitung der Inferenzanfrage verwendet werden soll.

Anfragetext

JSON-Darstellung

{
  "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 String Erforderlich. Der Cloud Storage-Speicherort für die Eingabeinhalte. Es können mehrere Eingabestandorte angegeben werden. Die Inhalte aller Eingabestandorte werden in einem Batch verarbeitet. Unterstützter Inhalt: Eine TXT-Datei, in der jede Zeile den vollständigen Pfad zu einem Bild enthält. In einer Anfrage können maximal 50.000 Bilder unterstützt werden.
outputGcsDestination String Optional. Der Cloud Storage-Speicherort des Verzeichnisses, in das die Ausgabe geschrieben werden soll.
Korpus String Optional. Ressourcenname des Bild-Warehouse-Korpus. Wird bisher nicht unterstützt.
bigqueryTable String Optional. Ressourcenname der BigQuery-Tabelle für den Export von Anmerkungen. Im Format „projects/*/datasets/*/tables/*“. Wenn festgelegt, werden auch Vermerke, die aus der ML-Inferenz generiert wurden, in die angegebene BigQuery-Tabelle exportiert. Wird bisher nicht unterstützt.
features[] Objekt Erforderlich. Der Typ der auszuführenden ML-Inferenz.

Funktion

JSON-Darstellung

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

Fields

Typ enum Erforderlich. Der Featuretyp.
productRecognitionConfig Objekt Optional. Überschreibungen für die Funktion zur Produkterkennung pro Anfrage. Sie ist nur wirksam, wenn „type“ auf TYPE_PRODUCT_RECOGNITION festgelegt ist.
tagRecognitionConfig Objekt Optional. Überschreibungen pro Anfrage für die Funktion zur Tag-Erkennung. Sie ist nur wirksam, wenn der Typ auf TYPE_TAG_RECOGNITION festgelegt ist.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

Typen

GcsSource

JSON-Darstellung

{
  "uris": [string]
}

Fields

uris[] String Erforderlich. Verweise auf Cloud Storage-Pfade.

Typ

ENUM-Werte

TYPE_UNSPECIFIED Der Standardwert. Sollte nicht verwendet werden.
TYPE_PRODUCT_RECOGNITION Produkterkennung. Muss auf einem RetailEndpoint mit bereitgestelltem RetailProductRecognitionIndex verwendet werden.
TYPE_TAG_RECOGNITION Tag-Erkennung und ‑Parsing. Muss für ein RetailEndpoint mit RetailTagRecognitionConfig verwendet werden.

RetailProductIoFormat

JSON-Darstellung

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

Fields

retailProduct Objekt Erforderlich. RetailProduct wird importiert
retailProductImages[ ] Objekt Optional. RetailProductImages des angegebenen RetailProduct, die importiert werden sollen.

RetailResourceState

ENUM-Werte

RETAIL_RESOURCE_STATE_UNSPECIFIED Der Standardwert. Sollte nicht verwendet werden.
RETAIL_RESOURCE_STATE_CREATING Status „Wird erstellt“.
RETAIL_RESOURCE_STATE_CREATED Status „Erstellt“
RETAIL_RESOURCE_STATE_UPDATING Status wird aktualisiert.
RETAIL_RESOURCE_STATE_DELETED Bundesland gelöscht.
RETAIL_RESOURCE_STATE_ERROR Statusfehler.