L'API Vision può eseguire servizi di rilevamento e
annotazione offline (asincroni) di un batch di file di immagini di grandi dimensioni utilizzando qualsiasi tipo di funzionalità Vision
funzionalità. Ad esempio, puoi
specificare una o più funzionalità dell'API Vision (come
TEXT_DETECTION, LABEL_DETECTION,
e LANDMARK_DETECTION) per un singolo batch di immagini.
L'output di una richiesta batch offline viene scritto in un file JSON creato nel bucket Cloud Storage specificato.
Limitazioni
L'API Vision accetta fino a 2000 file di immagini. Un batch di file di immagini più grande restituirà un errore.
Tipi di funzionalità attualmente supportati
| Tipo di caratteristica | |
|---|---|
CROP_HINTS |
Determina i vertici suggeriti per un'area di ritaglio su un'immagine. |
DOCUMENT_TEXT_DETECTION |
Esegui l'OCR sulle immagini ad alta densità di testo, ad esempio documenti (PDF/TIFF) e immagini con scrittura a mano libera.
TEXT_DETECTION può essere utilizzato per immagini con testo sparso.
Ha la precedenza quando sono presenti sia DOCUMENT_TEXT_DETECTION che TEXT_DETECTION.
|
FACE_DETECTION |
Rileva i volti all'interno dell'immagine. |
IMAGE_PROPERTIES |
Calcola un insieme di proprietà relative all'immagine, come i colori predominanti dell'immagine. |
LABEL_DETECTION |
Aggiungi etichette in base al contenuto dell'immagine. |
LANDMARK_DETECTION |
Rileva i punti di riferimento geografici nell'immagine. |
LOGO_DETECTION |
Rileva i loghi aziendali nell'immagine. |
OBJECT_LOCALIZATION |
Rileva ed estrai più oggetti in un'immagine. |
SAFE_SEARCH_DETECTION |
Esegui SafeSearch per rilevare contenuti potenzialmente non sicuri o indesiderati. |
TEXT_DETECTION |
Esegui il riconoscimento ottico dei caratteri (OCR) per il testo all'interno dell'immagine.
Il rilevamento del testo è ottimizzato per aree di testo sparso all'interno di un'immagine più grande.
Se l'immagine è un documento (PDF/TIFF), contiene testo ad alta densità o con scrittura a mano libera, utilizza invece DOCUMENT_TEXT_DETECTION.
|
WEB_DETECTION |
Rileva entità suddivise per argomento, ad esempio notizie, eventi o celebrità all'interno dell'immagine, e trova immagini simili sul Web grazie alla potenza della ricerca di immagini di Google. |
Codice campione
Utilizza i seguenti esempi di codice per eseguire i servizi di annotazione offline su un batch di file di immagini in Cloud Storage.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida all'utilizzo delle librerie client dell'API Vision. Per saperne di più, consulta la documentazione di riferimento dell'API Vision per Java.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida all'utilizzo delle librerie client di Vision. Per saperne di più, consulta la documentazione di riferimento dell'Node.jsAPI Vision.
Per eseguire l'autenticazione in Vision, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione Python nella guida rapida all'utilizzo delle librerie client di Vision. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Python.
Per eseguire l'autenticazione in Vision, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Risposta
Una richiesta riuscita restituisce file JSON di risposta nel bucket Cloud Storage indicato nell'esempio di codice. Il numero di risposte per file JSON è determinato da batch_size nell'esempio di codice.
La risposta restituita è simile alle risposte delle funzionalità dell'API Vision standard, a seconda delle funzionalità richieste per un'immagine.
Le seguenti risposte mostrano le annotazioni LABEL_DETECTION e TEXT_DETECTION per image1.png, le annotazioni IMAGE_PROPERTIES per image2.jpg e le annotazioni OBJECT_LOCALIZATION per image3.jpg.
La risposta contiene anche un campo context che mostra l'URI del file.
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 } ] } } ] } ] }