L'API Vision può 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 mirate, Cloud AutoML Vision 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.
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 |
Alley | 0,713 |
Richieste di rilevamento etichette
Configura il progetto Google Cloud e l'autenticazione
Rilevamento delle etichette in un'immagine locale
Puoi utilizzare l'API Vision per eseguire il rilevamento delle funzionalità su un file immagine locale.
Per le richieste REST, invia i contenuti del file immagine come stringa codificata in base64 nel corpo della richiesta.
Per le richieste gcloud
e della libreria client, specifica il percorso di un'immagine locale nella richiesta.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: la rappresentazione base64 (stringa ASCII) dei dati immagine binari. Questa stringa dovrebbe essere simile alla
stringa riportata di seguito:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- RESULTS_INT: (facoltativo) 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 elementi:TEXT_DETECTION
,DOCUMENT_TEXT_DETECTION
oCROP_HINTS
. - PROJECT_ID: l'ID del tuo progetto Google Cloud.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della richiesta:
{ "requests": [ { "image": { "content": "BASE64_ENCODED_IMAGE" }, "features": [ { "maxResults": RESULTS_INT, "type": "LABEL_DETECTION" } ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-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
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
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 riesce, 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 relativo punteggio, la pertinenza e un ID etichetta opaco, dove:
mid
: se presente, contiene un MID (MID) generato automaticamente corrispondente alla voce della scheda Knowledge Graph di Google dell'entità. Tieni presente che i valorimid
rimangono univoci in lingue diverse, quindi puoi utilizzarli per collegare entità di lingue diverse. Per ispezionare i valori MID, consulta la documentazione dell'API Knowledge Graph di Google.description
: la descrizione dell'etichetta.score
: il punteggio di confidenza, che va da 0 (nessuna affidabilità) a 1 (molto alta affidabilità).topicality
: la pertinenza dell'etichetta ICA (annotazione dei contenuti delle immagini) all'immagine. Misura l'importanza/la centralità di un'etichetta per il 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 di configurazione di Go riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Go.
Per autenticarti a Vision, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida dell'API Vision sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Per autenticarti a Vision, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
Per autenticarti a Vision, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione per C# riportate nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision per Ruby.
Rilevare le etichette in un'immagine remota
Puoi utilizzare l'API Vision per eseguire il rilevamento delle funzionalità su un file immagine remoto che si trova su Cloud Storage o sul web. Per inviare una richiesta di file remoto, specifica l'URL web o l'URI Cloud Storage del file nel corpo della richiesta.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- CLOUD_STORAGE_IMAGE_URI: il percorso di un file immagine valido in un bucket Cloud Storage. Devi disporre almeno dei privilegi di lettura per il file.
Esempio:
gs://cloud-samples-data/vision/label/setagaya.jpeg
- RESULTS_INT: (facoltativo) 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 elementi:TEXT_DETECTION
,DOCUMENT_TEXT_DETECTION
oCROP_HINTS
. - PROJECT_ID: l'ID del tuo progetto Google Cloud.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della 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:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-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
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
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 riesce, 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 relativo punteggio, la pertinenza e un ID etichetta opaco, dove:
mid
: se presente, contiene un MID (MID) generato automaticamente corrispondente alla voce della scheda Knowledge Graph di Google dell'entità. Tieni presente che i valorimid
rimangono univoci in lingue diverse, quindi puoi utilizzarli per collegare entità di lingue diverse. Per ispezionare i valori MID, consulta la documentazione dell'API Knowledge Graph di Google.description
: la descrizione dell'etichetta.score
: il punteggio di confidenza, che va da 0 (nessuna affidabilità) a 1 (molto alta affidabilità).topicality
: la pertinenza dell'etichetta di annotazione dei contenuti delle immagini (ICA) all'immagine. Misura l'importanza/la centralità di un'etichetta per il 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 di configurazione di Go riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Go.
Per autenticarti a Vision, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida dell'API Vision sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Per autenticarti a Vision, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
Per autenticarti a Vision, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
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
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione per C# riportate nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision per Ruby.
Prova
Prova il rilevamento delle etichette di seguito. Puoi utilizzare l'immagine già specificata (gs://cloud-samples-data/vision/label/setagaya.jpeg
) o specificare la tua immagine al suo posto. Invia la richiesta selezionando
Esegui.
Corpo della richiesta:
{ "requests": [ { "features": [ { "maxResults": 5, "type": "LABEL_DETECTION" } ], "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/label/setagaya.jpeg" } } } ] }