Die Vision API kann mit jedem beliebigen Feature-Typ von Vision asynchrone Offline-Erkennungsdienste und Annotationen für große Batches von Bilddateien ausführen. Sie können beispielsweise ein oder mehrere Vision API-Features für einen einzelnen Batch von Bildern angeben, zum Beispiel TEXT_DETECTION
, LABEL_DETECTION
und LANDMARK_DETECTION
.
Die Ausgabedaten einer Offline-Batchanfrage werden in eine JSON-Datei geschrieben, die im angegebenen Cloud Storage-Bucket erstellt wird.
Beschränkungen
Die Vision API akzeptiert bis zu 2.000 Bilddateien. Bei einem größeren Batch von Bilddateien wird ein Fehler zurückgegeben.
Derzeit unterstützte Featuretypen
Featuretyp | |
---|---|
CROP_HINTS |
Ermittelt Vorschläge für Eckpunkte für einen Bildausschnitt. |
DOCUMENT_TEXT_DETECTION |
Führt in Bildern mit hohem Textanteil eine OCR durch, zum Beispiel Dokumente (PDF/TIFF) und Bilder mit Handschrift.
TEXT_DETECTION kann für Bilder mit wenig Text verwendet werden.
Hat Vorrang, wenn DOCUMENT_TEXT_DETECTION und TEXT_DETECTION vorhanden sind.
|
FACE_DETECTION |
Erkennt Gesichter im Bild. |
IMAGE_PROPERTIES |
Berechnet eine Reihe von Bildeigenschaften, zum Beispiel die dominanten Farben des Bildes. |
LABEL_DETECTION |
Fügt Labels ausgehend vom Bildinhalt hinzu. |
LANDMARK_DETECTION |
Erkennt geografische Sehenswürdigkeiten im Bild. |
LOGO_DETECTION |
Erkennt Firmenlogos im Bild. |
OBJECT_LOCALIZATION |
Erkennt und extrahiert mehrere Objekte in einem Bild. |
SAFE_SEARCH_DETECTION |
Führt SafeSearch aus, um potenziell unsichere oder unerwünschte Inhalte zu erkennen. |
TEXT_DETECTION |
Führt eine OCR für Text im Bild durch.
Die Texterkennung ist für Bereiche mit wenig Text innerhalb eines größeren Bildes optimiert.
Verwenden Sie DOCUMENT_TEXT_DETECTION , wenn das Bild ein Dokument ist (PDF/TIFF), viel Text oder Handschrift enthält.
|
WEB_DETECTION |
Mit der Google Bildersuche lassen sich thematische Entitäten wie Nachrichten, Veranstaltungen oder Prominente im Bild erkennen und nach ähnlichen Bildern im Web suchen. |
Beispielcode
Verwenden Sie die folgenden Codebeispiele, um Offline-Annotationsdienste für einen Batch von Bilddateien in Cloud Storage auszuführen.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie der Anleitung für die Einrichtung von Java in der Vision API-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Java-Referenzdokumentation zur Vision API.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Node.js-Einrichtungsanleitung in der Vision-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Node.js-Referenzdokumentation zur Vision API.
Richten Sie zur Authentifizierung bei Vision die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der Vision-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Python-Referenzdokumentation zur Vision API.
Richten Sie zur Authentifizierung bei Vision die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Antwort
Eine erfolgreiche Anfrage gibt JSON-Antwortdateien in dem Cloud Storage-Bucket zurück, den Sie im Codebeispiel angegeben haben. Die Anzahl der Antworten pro JSON-Datei wird durch den Wert für batch_size
im Codebeispiel bestimmt.
Die zurückgegebene Antwort ähnelt den regulären Antworten der Vision API-Features, je nachdem, welche Features Sie für ein Bild anfordern.
Die folgenden Antworten enthalten LABEL_DETECTION
- und TEXT_DETECTION
-Anmerkungen für image1.png
, IMAGE_PROPERTIES
-Anmerkungen für image2.jpg
und OBJECT_LOCALIZATION
-Anmerkungen für image3.jpg
.
Die Antwort enthält außerdem ein context
-Feld mit dem URI der Datei.
offline_batch_output/output-1-to-2.json
{ "responses": [ { "labelAnnotations": [ { "mid": "/m/07s6nbt", "description": "Text", "score": 0.93413997, "topicality": 0.93413997 }, { "mid": "/m/0dwx7", "description": "Logo", "score": 0.8733531, "topicality": 0.8733531 }, ... { "mid": "/m/03bxgrp", "description": "Company", "score": 0.5682425, "topicality": 0.5682425 } ], "textAnnotations": [ { "locale": "en", "description": "Google\n", "boundingPoly": { "vertices": [ { "x": 72, "y": 40 }, { "x": 613, "y": 40 }, { "x": 613, "y": 233 }, { "x": 72, "y": 233 } ] } }, ... ], "blockType": "TEXT" } ] } ], "text": "Google\n" }, "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image1.png" } }, { "imagePropertiesAnnotation": { "dominantColors": { "colors": [ { "color": { "red": 229, "green": 230, "blue": 238 }, "score": 0.2744754, "pixelFraction": 0.075339235 }, ... { "color": { "red": 86, "green": 87, "blue": 95 }, "score": 0.025770646, "pixelFraction": 0.13109145 } ] } }, "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ {}, { "x": 1599 }, { "x": 1599, "y": 1199 }, { "y": 1199 } ] }, "confidence": 0.79999995, "importanceFraction": 1 } ] }, "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image2.jpg" } } ] }
offline_batch_output/output-3-to-3.json
{ "responses": [ { "context": { "uri": "gs://cloud-samples-data/vision/document_understanding/image3.jpg" }, "localizedObjectAnnotations": [ { "mid": "/m/0bt9lr", "name": "Dog", "score": 0.9669734, "boundingPoly": { "normalizedVertices": [ { "x": 0.6035543, "y": 0.1357359 }, { "x": 0.98546547, "y": 0.1357359 }, { "x": 0.98546547, "y": 0.98426414 }, { "x": 0.6035543, "y": 0.98426414 } ] } }, ... { "mid": "/m/0jbk", "name": "Animal", "score": 0.58003056, "boundingPoly": { "normalizedVertices": [ { "x": 0.014534635, "y": 0.1357359 }, { "x": 0.37197515, "y": 0.1357359 }, { "x": 0.37197515, "y": 0.98426414 }, { "x": 0.014534635, "y": 0.98426414 } ] } } ] } ] }