Die Vision API kann mit jedem beliebigen Feature-Typ von Vision asynchrone Offline-Erkennungsdienste und -Anmerkungen 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, z. B. 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, z. B. 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 |
Eine Reihe von Bildeigenschaften berechnen, z. B. 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 |
Mehrere Objekte in einem Bild erkennen und extrahieren. |
SAFE_SEARCH_DETECTION |
Führen Sie SafeSearch aus, um potenziell unsichere oder unerwünschte Inhalte zu erkennen. |
TEXT_DETECTION |
Führen Sie die optische Zeichenerkennung (Optical Character Recognition, OCR) für Text im Bild durch.
Die Texterkennung ist für Bereiche mit wenig Text innerhalb eines größeren Bildes optimiert.
Verwenden Sie bitte 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 Vision-Referenzdokumentation zur Node.js API.
Richten Sie zur Authentifizierung bei Vision die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung 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 Vision-Referenzdokumentation zur Python API.
Richten Sie zur Authentifizierung bei Vision die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung 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 } ] } } ] } ] }