L'API Vision è in grado di rilevare ed estrarre informazioni sulle entità in un'immagine, in un ampio gruppo di categorie.
Le etichette possono identificare oggetti generici, località, attività, specie animali, prodotti e altro ancora. Se hai bisogno di etichette personalizzate scelte come target, Cloud AutoML Vision ti consente di addestrare un modello di machine learning personalizzato per classificare le immagini.
Le etichette vengono restituite solo in inglese. L'API Cloud Translation può tradurre le etichette in inglese in una serie di altre lingue.
![Immagine di una strada di Setagaya](https://cloud.google.com/static/vision/docs/images/setagaya_small.jpeg?authuser=19&hl=it)
Ad esempio, l'immagine sopra potrebbe restituire il seguente elenco di etichette:
Descrizione | Punteggio |
---|---|
Via | 0,872 |
Snapshot | 0,852 |
Città | 0,848 |
Notte | 0,804 |
Stradina | 0,713 |
Richieste di rilevamento etichette
Configurare il progetto GCP e l'autenticazione
Rilevamento di etichette in un'immagine locale
L'API Vision può eseguire il rilevamento delle caratteristiche in un file immagine locale inviando il contenuto del file immagine come una stringa codificata in base64 nel corpo della richiesta.
REST &CMD LINE
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: la rappresentazione base64 (stringa ASCII) dei dati immagine binari. Questa stringa deve essere simile alla
seguente stringa:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- (Facoltativo) RESULTS_INT: un valore intero dei risultati da restituire. Se ometti il campo
"maxResults"
e il relativo valore, l'API restituisce il valore predefinito di 10 risultati. Questo campo non si applica ai seguenti tipi di funzionalità:TEXT_DETECTION
,DOCUMENT_TEXT_DETECTION
oCROP_HINTS
.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON richiesta:
{ "requests": [ { "image": { "content": "BASE64_ENCODED_IMAGE" }, "features": [ { "maxResults": RESULTS_INT, "type": "LABEL_DETECTION" } ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Una risposta LABEL_DETECTION
include le etichette rilevate, il punteggio, l'adeguatezza e un ID etichetta opaca, in cui:
mid
: se presente, contiene un identificatore MID (generato a macchina) corrispondente alla voce Google Knowledge Graph dell'entità. Tieni presente che i valorimid
rimangono univoci nelle diverse lingue, pertanto puoi utilizzarli per collegare entità tra lingue diverse. Per esaminare i valori MID, consulta la documentazione dell'API Google Knowledge Graph.description
: la descrizione dell'etichetta.score
: il punteggio di affidabilità, che va da 0 (nessuna confidenza) a 1 (affidabilità molto alta).topicality
: la pertinenza dell'etichetta ICA (Image Content Annotation) all'immagine. Misura quanto è importante/centrale un'etichetta rispetto al contesto complessivo di una pagina.
{ "responses": [ { "labelAnnotations": [ { "mid": "/m/01c8br", "description": "Street", "score": 0.87294734, "topicality": 0.87294734 }, { "mid": "/m/06pg22", "description": "Snapshot", "score": 0.8523099, "topicality": 0.8523099 }, { "mid": "/m/0dx1j", "description": "Town", "score": 0.8481104, "topicality": 0.8481104 }, { "mid": "/m/01d74z", "description": "Night", "score": 0.80408716, "topicality": 0.80408716 }, { "mid": "/m/01lwf0", "description": "Alley", "score": 0.7133322, "topicality": 0.7133322 } ] } ] }
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella Guida rapida all'API Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
Lingue aggiuntive
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per Ruby.
Rilevamento di etichette in un'immagine remota
Per comodità, l'API Vision può eseguire il rilevamento delle funzionalità direttamente in un file immagine situato in Google Cloud Storage o sul Web, senza dover inviare i contenuti del file immagine nel corpo della richiesta.
REST &CMD LINE
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- CLOUD_STORAGE_IMAGE_URI: il percorso di un file immagine
valido in un bucket Cloud Storage. Devi disporre almeno di privilegi di lettura per il file.
Esempio:
gs://cloud-samples-data/vision/label/setagaya.jpeg
- (Facoltativo) RESULTS_INT: un valore intero dei risultati da restituire. Se ometti il campo
"maxResults"
e il relativo valore, l'API restituisce il valore predefinito di 10 risultati. Questo campo non si applica ai seguenti tipi di funzionalità:TEXT_DETECTION
,DOCUMENT_TEXT_DETECTION
oCROP_HINTS
.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON richiesta:
{ "requests": [ { "image": { "source": { "gcsImageUri": "CLOUD_STORAGE_IMAGE_URI" } }, "features": [ { "maxResults": RESULTS_INT, "type": "LABEL_DETECTION" }, ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Una risposta LABEL_DETECTION
include le etichette rilevate, il punteggio, l'adeguatezza e un ID etichetta opaca, in cui:
mid
: se presente, contiene un identificatore MID (generato a macchina) corrispondente alla voce Google Knowledge Graph dell'entità. Tieni presente che i valorimid
rimangono univoci nelle diverse lingue, pertanto puoi utilizzarli per collegare entità tra lingue diverse. Per esaminare i valori MID, consulta la documentazione dell'API Google Knowledge Graph.description
: la descrizione dell'etichetta.score
: il punteggio di affidabilità, che va da 0 (nessuna confidenza) a 1 (affidabilità molto alta).topicality
: la pertinenza dell'etichetta ICA (Image Content Antation) all'immagine. Misura quanto è importante/centrale un'etichetta rispetto al contesto complessivo di una pagina.
{ "responses": [ { "labelAnnotations": [ { "mid": "/m/01c8br", "description": "Street", "score": 0.87294734, "topicality": 0.87294734 }, { "mid": "/m/06pg22", "description": "Snapshot", "score": 0.8523099, "topicality": 0.8523099 }, { "mid": "/m/0dx1j", "description": "Town", "score": 0.8481104, "topicality": 0.8481104 }, { "mid": "/m/01d74z", "description": "Night", "score": 0.80408716, "topicality": 0.80408716 }, { "mid": "/m/01lwf0", "description": "Alley", "score": 0.7133322, "topicality": 0.7133322 } ] } ] }
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella Guida rapida all'API Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
gcloud
Per rilevare le etichette in un'immagine, utilizza il comando
gcloud ml vision detect-labels
come mostrato nell'esempio seguente:
gcloud ml vision detect-labels gs://cloud-samples-data/vision/label/setagaya.jpeg
Lingue aggiuntive
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per Ruby.
Prova
Prova il rilevamento etichette qui sotto. Puoi utilizzare l'immagine già specificata (gs://cloud-samples-data/vision/label/setagaya.jpeg
) o specificarne una personalizzata in sostituzione. Invia la richiesta selezionando Esegui.
![Immagine di una strada di Setagaya](https://cloud.google.com/static/vision/docs/images/setagaya_small.jpeg?authuser=19&hl=it)
Corpo della richiesta:
{ "requests": [ { "features": [ { "maxResults": 5, "type": "LABEL_DETECTION" } ], "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/label/setagaya.jpeg" } } } ] }