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:
- Alle sichtbaren (nicht stark verdeckten) Produktboxen im Bild erkennen und lokalisieren und die Produktidentität der einzelnen Produktboxen auf GTIN-/UPC-Ebene erkennen.
- 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:
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 Product
s 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
- Erstellen Sie einen Katalog.
- Importieren Sie Produkte und (optional)
ProductImages
in dieCatalog
. - Sie können die
Product
undProductImages
aufrufen und ändern. Optional können Sie eineProductSet
erstellen, um die Produktliste detaillierter zu organisieren. - Erstellen Sie ein
Index
, entweder aus dem gesamtenCatalog
oder aus einemProductSet
. - Erstellt einen
Endpoint
mit der gewünschten Konfiguration für die Produkterkennung und stellt eineIndex
darauf bereit. - Führen Sie
BatchAnalyze
mit der FunktionProductRecognition
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. RetailProductImage s 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. |