Leitfaden zur Produkterkennung

Mit dem Modell Produkterkennung können Sie erkennen und nachvollziehen, welche Produkte auf dem bereitgestellten Bild oder im Regal zu sehen sind.

Dieses Modell kann als primärer KI-Baustein für die Analyse und Interpretation von Produktbilddaten in Einzelhandelsgeschäften dienen. Sie können dieses Modell beispielsweise für Regalbilder verwenden, die mit lokalen Kameras oder Mobilgeräten aufgenommen wurden.

Anwendungsfälle für die Tag-Erkennung und die Produkterkennung

Das Produkterkennungsmodell und die Tag-Erkennungsmodelle können als die primären KI-Bausteine für die Analyse und Interpretation der Bilddaten zu Produkten und Tags in Einzelhandelsgeschäften dienen, z. B. die Bilder von Regalen, die von den installierten Kameras oder Mobilgeräten / Plattformen aufgenommen werden.

Die Modelle für die Produkterkennung und die Tag-Erkennung umfassen mehrere wichtige KI-Modellierungs- und Datenfunktionen von Google, mit denen Einzelhändler und/oder technische Partner wichtige Probleme beim Verständnis des Einzelhandelsregals lösen können, darunter:

  • Erkennen und erfassen, welche Produkte sich auf dem Bild oder im Regal befinden.
  • Erkennen, Erkennen und Parsen der Tags (z. B. Preis-Tags oder andere Textlabel-Tags) gemäß dem benutzerdefinierten Schema zur Entitätsextraktion von Schlüssel/Wert-Paaren.

Insbesondere sind in der Lösung zur Regalprüfung mehrere differenzierende Google-KI-Modelle enthalten, um die Lösung dieser Anwendungsfallprobleme zu unterstützen, z. B.

  • Modelle zur Produkterkennung (von Google vortrainiert, aber anpassbar)
  • Visuelles Einbettungsmodell für Produkt-Thumbnails, das ein Produkt-Thumbnail-Bild in eine numerische Darstellung des Merkmalsraums umwandelt.
  • Das OCR-Modell von Google, mit dem der gesamte im Bild sichtbare Text extrahiert wird.
  • Das benutzerdefinierbare Modell zur Entitätsextraktion von Google, das die Rohtexte in benutzerdefinierte benannte Entitäten mit Schlüssel/Wert-Paaren umwandelt.

Neben diesen KI-Modellen von Google nutzt die Lösung zur Regalinspektion auch die umfangreiche Datenbank mit Produktinformationen von Google. Die Produktdaten in dieser Produktdatenbank umfassen die GTIN / UPC-Identität, die Produktmarke, den Titel und mehrsprachige Beschreibungen, das Produktlogo und Bilder mit verschiedenen Verpackungsvarianten. Mit der Produktdatenbank mit dem zuvor erwähnten Modell für das visuelle Einbetten von Produktminiaturen kann das Modell für die Produkterkennung viele Produkte sofort erkennen.

Bei einem aufgenommenen Regalbild wie dem folgenden soll die Lösung zur Regalprüfung beispielsweise Folgendes erreichen:

  1. Alle sichtbaren (nicht stark verdeckten) Produktboxen im Bild erkennen und lokalisieren und die Produktidentität der einzelnen Produktboxen auf GTIN-/UPC-Ebene erkennen.
  2. Alle (sichtbaren) Tag-Boxen im Bild erkennen und lokalisieren, alle Textstrings im Tag erkennen und dann versuchen, den Text in das benutzerdefinierte Schema zur Entnahme von Entitäten mit Schlüssel/Wert-Paaren zu parsen, z. B. Produktartikelbeschreibung, Preiswert.

Die beiden wichtigsten KI-Funktionen, die diese Lösungen ermöglichen, sind das Produkterkennungsmodell und das Tagerkennungsmodell. Weitere Informationen dazu finden Sie in den folgenden Abschnitten. Bei jeder dieser beiden APIs, die hauptsächlich die Dienste zur Bilderkennung bereitstellen, gibt es eine oder mehrere Komponenten, die Sie anpassen können. Wir beschreiben zuerst den Inferenzpfad der API-Nutzung und gehen dann kurz darauf ein, wie Sie die beteiligten Komponenten anpassen können, entweder über eine Nutzerkonfiguration oder über ein von Ihnen durchgeführtes Modelltraining.

Produkterkennung

Dieses Modell erkennt die Identität einzelner Produkte auf Ebene der Global Trade Item Number (GTIN) oder des Universal Product Code (UPC). Der Produkterkenner enthält mehrere unterschiedliche Google-KI-Modelle, um diese Anwendungsfälle zu lösen, z. B.:

  • Das visuelle Einbettungsmodell für Produkte, das ein Produktbild in eine numerische Darstellung des Merkmalsraums umwandelt.
  • Die OCR-Technologie von Google, mit der der gesamte im Bild sichtbare Text extrahiert wird.
  • 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 werden sechs API-Ressourcen angeboten, die beim Erstellen des Produktkatalogs, der Verwaltung von Produktdatensätzen, dem Erstellen von Indexen und der Bereitstellung des Produkterkennungsdienstes helfen. Sie werden so beschrieben:

API-Konzeptdiagramm

Katalog: 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 höherer Granularität, mit dem Produkte in derselben Catalog organisiert und gruppiert werden können. Ein ProductSet kann eine oder mehrere Product enthalten, ist aber nicht deren „Eigentümer“, sondern hat lediglich einen „Link“ zu ihnen.Product

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

Endpunkt: Ein Placement mit allen Konfigurationen, die für die Produkterkennung oder Tag-Erkennung erforderlich sind. Für die Produkterkennung müssen Sie ein Modell für die Produkterkennung angeben und eine ProductRecognitionIndex bereitstellen. Für die Tag-Erkennung müssen sowohl Modelle für die Tag-Erkennung als auch für das Parsen von Tag-Entitäten angegeben werden.

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

Bei allen create-Methoden muss der Name/die ID der zu erstellenden Ressource explizit angegeben werden. Sie können eine aussagekräftige String-ID wie „Produkt-ABC“ oder eine zufällig generierte Kennung wie eine UUID verwenden.

Wenn Sie einer Personenrolle den Bearbeitungszugriff auf die Store Vision API gewähren möchten, führen Sie den folgenden Befehl zur IAM-Bindung aus:

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

Wenn Sie einem Dienstkonto den Bearbeitungszugriff gewähren möchten, verwenden Sie den folgenden Befehl:

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

Weitere Informationen zu IAM-Bindungen

User Journey für die Produkterkennung

  1. Erstellen Sie einen Katalog.
  2. Importieren Sie Produkte und (optional) ProductImages in die 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 einen Endpoint mit der gewünschten Konfiguration für die Produkterkennung und stellt eine Index darauf bereit.
  6. Führen Sie BatchAnalyze mit der Funktion ProductRecognition aus. Im Backend identifiziert das System Produkte aus jedem Eingabebild und ruft die Top-K-ähnlichen Produkte aus dem angegebenen Index ab, wobei sowohl visuelle als auch OCR-Textsignale verwendet werden.

API-Ressourcenverwaltung (Katalog und Indexsatz)

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 maximal 10.000 Produkte pro ImportProduct-Vorgang importiert werden.

Beachten Sie außerdem, dass der „Name“ in den „retailProductImages“ nur innerhalb der übergeordneten „retailProduct“-Ressource eindeutig sein muss. Das bedeutet, dass es zwei „retailProductImages“ mit demselben „Namen“ geben kann, solange sie zu verschiedenen „retailProduct“-Ressourcen gehören.

  • IMPORT_FILE_URI=Cloud Storage-URI der Importdatei, z. B. gs://mybucket/my_import_file.jsonl
  • IMPORT_FORMAT=Format der Importdatei, 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 GTIN-12 genannt). 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 Entität, der die Drittanbieter-ID zugewiesen 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=ID Ihres Produktbilds
  • 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

ProductRecognitionIndex erstellen

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=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"}'
ProductRecognitionIndex abrufen
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
List ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes
ProductRecognitionIndex löschen
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, aber ein ProductRecognitionIndex kann 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 die Aufhebung der Bereitstellung wird der bereitgestellte ProductRecognitionIndex nur vom aktuellen aufrufenden Endpunkt entfernt. Andere Endpunkte sind davon nicht betroffen, wenn dieser ProductRecognitionIndex auch auf anderen 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 der Inferenz (Produkterkennung)

Beispiel für eine 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 der Eingabedatei> Jede Zeile in der Eingabedatei ist nur ein Cloud Storage-URI des zu verarbeitenden Bilds, 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 noch weitere Felder, die Sie im productRecognitionConfig festlegen und konfigurieren können. Das 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 Einzelhandelskatalogs.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Aktualisierungszeitstempel.

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) haben und dürfen 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 „Schlüssel“: „Wert“. 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

Übergeordnetes Element String Pflichtangabe. Ü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 Pflichtangabe. RetailCatalog-Kennung.

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

Übergeordnetes Element String Pflichtangabe. Übergeordnete Kennung.

Anfrageparameter

Filter String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die vom Server zurückgegeben werden soll.
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente zurück, als angefordert. Wenn keine Angabe erfolgt, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen sortiert werden soll. Die Sortierung erfolgt in aufsteigender Reihenfolge. Verwenden Sie „desc“ nach einem Feldnamen für eine 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 Pflichtangabe. RetailCatalog-Kennung.

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 Pflichtangabe. RetailCatalog-Ressourcenname.

Anfragetext

JSON-Darstellung

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

Fields

gcsSource Objekt Pflichtangabe. Der Cloud Storage-Speicherort für die Eingabeinhalte. Es können mehrere Eingabeorte angegeben werden. Der Inhalt aller Eingabestandorte wird in einem Batch importiert. Unterstützte Dateiendungen: 1. JSONL-Datei Jede Zeile ist ein JSON-Format von RetailProductIoFormat.
2. Eine TXT-Datei. Jede Zeile ist die GTIN eines zu importierenden Produkts.
Format enum Pflichtangabe. 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 von „RetailProductImage“.

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

Weitere Informationen zu Labels und Beispiele finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „Schlüssel“: „Wert“. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Der Erstellungszeitstempel.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Aktualisierungszeitstempel.

RetailThirdPartyId JSON-Darstellung

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

Fields

id String Die vom Einzelhändler oder Hersteller verwendete Drittanbieter-ID (z. B. SKU oder MPN).
Inhaber String Das Rechtssubjekt, das Inhaber der Drittanbieter-ID ist, 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

Übergeordnetes Element String Pflichtangabe. Ü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 Pflichtangabe. RetailProduct-Kennung.

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

Übergeordnetes Element String Pflichtangabe. Übergeordnete Kennung.

Anfrageparameter

Filter String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die vom Server zurückgegeben werden soll.
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente zurück, als angefordert. Wenn keine Angabe erfolgt, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen sortiert werden soll. Die Sortierung erfolgt in aufsteigender Reihenfolge. Verwenden Sie „desc“ nach einem Feldnamen für eine 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 Pflichtangabe. RetailProduct-Kennung.

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 von „RetailProductImage“.

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

Weitere Informationen zu Labels und Beispiele finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „Schlüssel“: „Wert“. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Der Erstellungszeitstempel.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Aktualisierungszeitstempel.

ENUM-Werte für „SourceType“

SOURCE_TYPE_UNSPECIFIED Unbekannte Datenquelle. Sollte nicht verwendet werden.
SOURCE_TYPE_FIXED_CAMERA Das Bild wird von einer fixierten 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 manuellem Labeling zugeschnitten.

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

HTTP-Anfrage

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

Pfadparameter

Übergeordnetes Element String Pflichtangabe. Ü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 Pflichtangabe. RetailProductImage-Kennung.

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

Übergeordnetes Element String Pflichtangabe. Übergeordnete Kennung.

Anfrageparameter

Filter String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die vom Server zurückgegeben werden soll.
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente zurück, als angefordert. Wenn keine Angabe erfolgt, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen sortiert werden soll. Die Sortierung erfolgt in aufsteigender Reihenfolge. Verwenden Sie „desc“ nach einem Feldnamen für eine 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 Pflichtangabe. RetailProductImage-Kennung.

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 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) haben und dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig.

Weitere Informationen zu Labels und Beispiele finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „Schlüssel“: „Wert“. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Der Erstellungszeitstempel.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Aktualisierungszeitstempel.

Methode: projects.locations.retailCatalogs.retailProductSets.create

HTTP-Anfrage

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

Pfadparameter

Übergeordnetes Element String Pflichtangabe. Ü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 Pflichtangabe. Kennzeichnung 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

Übergeordnetes Element String Pflichtangabe. Übergeordnete Kennung.

Anfrageparameter

Filter String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die vom Server zurückgegeben werden soll.
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente zurück, als angefordert. Wenn keine Angabe erfolgt, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen sortiert werden soll. Die Sortierung erfolgt in aufsteigender Reihenfolge. Verwenden Sie „desc“ nach einem Feldnamen für eine 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 Pflichtangabe. Kennzeichnung 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 Pflichtangabe. Ressourcenname von „RetailProductSet“.

Anfragetext

JSON-Darstellung

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

Fields


productIds[ ]

String

Ressourcen-ID der hinzuzufügenden Einzelhandelsprodukte. 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 mit „productFilter“ verwendet werden.

productFilter

String

Ein Standardfilter, der auf alle RetailProducts im übergeordneten RetailCatalog angewendet wird. Es werden Elemente ausgewählt, die die Filterbedingungen erfüllen, und dem RetailProductSet hinzugefügt. Kann nicht 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 Pflichtangabe. Ressourcenname von „RetailProductSet“.

Anfragetext

JSON-Darstellung

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

Fields


productIds[ ]

String

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

productFilter

String

Ein Standardfilter, der auf alle Einzelhandelsprodukte im angegebenen RetailProductSet angewendet wird. Dabei werden Elemente ausgewählt, die die Filterbedingungen erfüllen, und aus dem RetailProductSet entfernt. Kann nicht 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, der zum Erstellen dieser Ressource verwendet werden soll. Wenn festgelegt, enthält der RetailProductRecognitionIndex nur Produkte aus dem angegebenen RetailProductSet. Wenn nicht festgelegt, werden alle Produkte im übergeordneten Katalog verwendet.

resourceState

enum

Output only. Status des RetailProductRecognitionIndex.

Labels

map (key: string, value: string)

Die Labels mit benutzerdefinierten Metadaten zum Organisieren des RetailProductRecognitionIndex.

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

Weitere Informationen zu Labels und Beispiele finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „Schlüssel“: „Wert“. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Der Erstellungszeitstempel.

updateTime

string (Timestamp format)

Output only. Der Aktualisierungszeitstempel.

Methode: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create

HTTP-Anfrage

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

Pfadparameter

Übergeordnetes Element String Pflichtangabe. Ü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 Pflichtangabe. RetailProductRecognitionIndex-Kennung.

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

Übergeordnetes Element String Pflichtangabe. Übergeordnete Kennung.

Anfrageparameter

Filter String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die vom Server zurückgegeben werden soll.
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente zurück, als angefordert. Wenn keine Angabe erfolgt, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen sortiert werden soll. Die Sortierung erfolgt in aufsteigender Reihenfolge. Verwenden Sie „desc“ nach einem Feldnamen für eine 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 Pflichtangabe. Kennung für 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. Der Anzeigename des RetailEndpoint.

Beschreibung

String

Optional. Die Beschreibung des RetailEndpoint.

deployedProductRecognitionIndex

String

Nur Ausgabe. Ressourcenname des ProductRecognitionIndex, der auf diesem RetailEndpoint bereitgestellt wird.

productRecognitionConfig

Objekt

Optional. Konfiguration für die Produkterkennung.

tagRecognitionConfig

Objekt

Optional. Konfiguration für die Tagerkennung.

resourceState

enum

Output only. Status des RetailProductRecognitionIndex.

Labels

map (key: string, value: string)

Die Labels mit benutzerdefinierten Metadaten zum Organisieren des RetailProductRecognitionIndex.

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

Weitere Informationen zu Labels und Beispiele finden Sie unter https://goo.gl/xmQnxf.

Ein Objekt mit einer Liste der Paare „Schlüssel“: „Wert“. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel der Erstellung.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Aktualisierungszeitstempel.

RetailProductRecognitionConfig

JSON-Darstellung

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

Fields

|

productDetectionModel String Pflichtangabe. Modell, das zum Erkennen von Produkten in Eingabebildern verwendet werden soll. Unterstützte Werte: „builtin/stable“ (Standardeinstellung) oder Name der Vertex AI-Modellressource.
detectionConfidenceThreshold float Optional. Konfidenzschwellenwert zum Filtern der Erkennungsergebnisse. Wenn nicht festgelegt, wird ein Systemstandardwert verwendet.
recognitionConfidenceThreshold float Optional. Konfidenzgrenzwert zum Filtern der Erkennungsergebnisse. 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 Pflichtangabe. Modell, das zum Erkennen von Tags in Eingabebildern verwendet werden soll. Unterstützte Werte: Vertex AI-Modellressource.
tagParsingModel String Pflichtangabe. Modell zum Parsen von Text in erkannten Tags. Unterstützte Werte: Vertex AI-Modellressource.
detectionConfidenceThreshold float Optional. Konfidenzschwellenwert zum Filtern der Erkennungsergebnisse. Wenn nicht festgelegt, wird ein Systemstandardwert verwendet.
parsingConfidenceThreshold float Optional. Konfidenzgrenzwert zum Filtern der Ergebnisse 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

Übergeordnetes Element String Pflichtangabe. Ü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 Pflichtangabe. RetailEndpoint-Kennung.

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

Übergeordnetes Element String Pflichtangabe. Übergeordnete Kennung.

Anfrageparameter

Filter String Optional. Ein Ausdruck zum Filtern der Ergebnisse der Anfrage.
pageToken String Optional. Ein Token, das eine Ergebnisseite identifiziert, die vom Server zurückgegeben werden soll.
pageSize integer Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente zurück, als angefordert. Wenn keine Angabe erfolgt, wählt der Server einen geeigneten Standardwert aus.
orderBy String Optional. Eine durch Kommas getrennte Liste von Feldern, nach denen sortiert werden soll. Die Sortierung erfolgt in aufsteigender Reihenfolge. Verwenden Sie „desc“ nach einem Feldnamen für eine 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 Pflichtangabe. RetailEndpoint-Kennung.

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 Pflichtangabe. Ressourcenname der RetailEndpoint-Ressource, in der die RetailProductRecognitionIndex bereitgestellt wird.

Anfragetext

JSON-Darstellung

{
  "retailProductRecognitionIndex": string,
}

Fields

retailProductRecognitionIndex String Pflichtangabe. Der Ressourcenname der zu implementierenden RetailProductRecognitionIndex.

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 Pflichtangabe. Ressourcenname der RetailEndpoint-Ressource, auf die die Deaktivierung angewendet werden soll.

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 Pflichtangabe. Ressourcenname der RetailEndpoint, über die die Inferenzanfrage gesendet 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 Pflichtangabe. Der Cloud Storage-Speicherort für die Eingabeinhalte. Es können mehrere Eingabeorte angegeben werden. Der Inhalt aller Eingabespeicherorte wird in einem Batch verarbeitet. Unterstützte Inhalte: TXT-Datei, jede Zeile ist der vollständige Pfad zu einem Bild. Pro 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 Anmerkungsexporte. Im Format „projects/*/datasets/*/tables/*“. Wenn diese Option festgelegt ist, werden auch Anmerkungen, die durch ML-Inferenz generiert wurden, in die angegebene BigQuery-Tabelle exportiert. Wird bisher nicht unterstützt.
features[] Object Pflichtangabe. Die Art der durchzuführenden ML-Inferenz.

Funktion

JSON-Darstellung

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

Fields

Typ enum Pflichtangabe. Der Featuretyp.
productRecognitionConfig Objekt Optional. Überschreibungen für die Produkterkennung pro Anfrage. Sie ist nur wirksam, wenn „type“ auf „TYPE_PRODUCT_RECOGNITION“ festgelegt ist.
tagRecognitionConfig Objekt Optional. Überschreibungen für die Tagerkennung pro Anfrage. Sie ist nur wirksam, wenn „type“ 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 Pflichtangabe. 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 auf einer RetailEndpoint mit RetailTagRecognitionConfig verwendet werden.

RetailProductIoFormat

JSON-Darstellung

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

Fields

retailProduct Objekt Pflichtangabe. RetailProduct zu importieren
retailProductImages[ ] Objekt Optional. RetailProductImages der zu importierenden RetailProduct.

RetailResourceState

ENUM-Werte

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