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. ein Preisschild 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.

  • Modell für das Einbetten von Produkt-Thumbnails, das ein Produkt-Thumbnail in eine numerische Darstellung des Merkmalsraums umwandelt.
  • Google OCR-Modell, das den gesamten im Bild sichtbaren Text extrahiert.
  • Ein Google-Modell zur Extraktion von Entitäten, das Sie anpassen können und mit dem die Rohdaten in die benutzerdefinierten Schlüssel/Wert-Paare umgewandelt werden.

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 „Produkterkennung“ und „Tag-Erkennung“.

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. Der Product Recognizer umfasst mehrere differenzierende Google AI-Modelle, um diese Anwendungsfälle zu unterstützen, z. B.:

  • Das Modell für die Einbettung von Produktbildern, das ein Produktbild in eine numerische Darstellung des Merkmalsraums umwandelt.
  • Die Google OCR-Technologie, mit der der gesamte im Bild sichtbare Text extrahiert wird.
  • Die Google-Produktdatenbank in Kombination mit dem visuellen Einbettungsmodell für Produkt-Thumbnails 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:

Diagramm der Ressourcenhierarchie für den Dienst zur Produkterkennung.

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

Produkt: Stellt ein von einem Händler angebotenes Produkt dar. 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 feinerem Detaillierungsgrad zum Organisieren und Gruppieren von Produkten in derselben Catalog. Ein ProductSet kann ein oder mehrere Product enthalten, ist aber nicht der „Eigentümer“ der enthaltenen Product, 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 Durchführung von Rückschlüssen zur Produkterkennung oder zur Tag-Erkennung erforderlich sind. Für die Produkterkennung ist die Bereitstellung von 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-Identifier verwenden, z. B. „product-ABC“, oder einen zufällig generierten Identifier, 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 den Editorzugriff zu gewähren:

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

Weitere Informationen zur IAM-Bindung

User Journey für die Produkterkennung

  1. Katalog erstellen
  2. Importieren Sie Produkte und (optional) ProductImages in Catalog.
  3. Sie können die Product und ProductImages aufrufen und ändern und optional eine ProductSet erstellen, um die Produktliste genauer zu organisieren.
  4. Erstellen Sie ein Index 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
}
Pull-Vorgang bis zum Abschluss
  • 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 Sie mit dem Vorgang „ImportProduct“ maximal 10.000 Produkte importieren.

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

  • IMPORT_FILE_URI=Cloud Storage-URI Ihrer 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 als GTIN-12 bezeichnet). 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 Einheit, die die Drittanbieter-ID besitzt
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=Cloud Storage-URI Ihres Bildes, 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 Produktset-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 Datei mit der Indexabdeckung 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 jedoch an 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 davon 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

Batch Analyze Inference (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 ein 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. Dabei handelt es sich um 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. Anzeigename des RetailCatalog.

createTime

string (Timestamp format)

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

updateTime

string (Timestamp format)

Nur Ausgabe. 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. Sie 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. Zeitstempel der Aktualisierung.

RetailThirdPartyId JSON-Darstellung

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

Fields

id String Drittanbieter-ID, die vom Einzelhändler oder Hersteller verwendet wird (z. B. Artikelnummer 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. Sie 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. 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 wurde 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 RetailProductSets

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 sollten 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. 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. Kennung für 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. Kennung für 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 RetailProductSets.

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. Es werden Elemente ausgewählt, die den Filterbedingungen entsprechen, 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 RetailProductSets.

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.

Beschreibung

String

Optional. Die Beschreibung des 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. 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

Bei Erfolg 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. ProductRecognitionIndex-Kennung.

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.

Beschreibung

String

Optional. Die Beschreibung des RetailEndpoint.

deployedProductRecognitionIndex

String

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

productRecognitionConfig

object

Optional. Konfiguration für die Produkterkennung.

tagRecognitionConfig

object

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. 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, das bereitgestellt werden soll.

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ützte Inhalte: Eine TXT-Datei, in der jede Zeile den vollständigen Pfad zu einem Bild enthält. Eine Anfrage kann maximal 50.000 Bilder enthalten.
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 ML-Inferenz, die ausgeführt werden soll.

Funktion

JSON-Darstellung

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

Fields

Typ enum Erforderlich. Der Featuretyp.
productRecognitionConfig Objekt Optional. Überschreibungen pro Anfrage für die Funktion zur Produkterkennung. Ist nur wirksam, wenn der Typ 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 bereitgestellten 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 zu importieren
retailProductImages[ ] Objekt Optional: RetailProductImages der 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.