Obiettivi
In questo esempio, utilizzerai l'API Vision di Google per rilevare i volti in un'immagine. Per dimostrare che i volti sono stati rilevati correttamente, utilizzerai questi dati per disegnare un riquadro attorno a ogni volto.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
- Cloud Vision
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Cloud Vision API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Cloud Vision API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Configura l'ambiente per l'utilizzo delle Credenziali predefinite dell'applicazione.
-
Configura attività e strumenti specifici per la lingua:
C#
- Installa la libreria client di Google
- Installa Visual Studio 2012/2015.
Java
- Installa Java.
- Riferimento API.
Scarica e installa il sistema di compilazione Apache Maven. Maven si assicurerà che la libreria client dell'API di Google e le librerie client dell'API Vision siano installate durante la compilazione del progetto, perché le abbiamo incluse in
pom.xml....
Node.js
- Installa la libreria client di Google
- Installa node.js.
- Riferimento API.
Installa npm e node-canvas. Il codice campione include un
package.jsonper installare tutte le dipendenze utilizzando il comando:npm install. Tieni presente che node-canvas ha dipendenze aggiuntive che potresti dover installare. Per maggiori informazioni, consulta la documentazione di installazione di node-canvas.
PHP
- Installa la libreria client di Google
- Installa PHP e Composer.
- Riferimento API.
- Installa e attiva GD per PHP.
Python
- Installa la libreria client di Google
- Installa Python.
- Riferimento API.
- Installa pillow.
Ruby
- Installa la libreria client di Google
- Installa Ruby e Bundler.
- Riferimento API.
- Installa ImageMagick.
Crea l'oggetto servizio
Per accedere alle API di Google utilizzando gli SDK client ufficiali, devi creare un oggetto servizio basato sul documento di rilevamento dell'API, che descrive l'API all'SDK. Dovrai recuperarlo dal servizio di rilevamento dell'API Vision utilizzando le tue credenziali:
Java
Node.js
Python
Invia una richiesta di rilevamento dei volti
Per creare una richiesta all'API Vision, consulta innanzitutto la documentazione
API. In questo caso, chiederai alla risorsa images di annotate l'immagine. Una richiesta a questa API assume la forma di un oggetto con un elenco requests. Ogni elemento di questo elenco contiene due informazioni:
- I dati dell'immagine con codifica Base64
- Un elenco di funzionalità che vuoi annotare sull'immagine.
Per questo esempio, richiederai semplicemente l'annotazione FACE_DETECTION su un'immagine e restituirai la parte pertinente della risposta:
Java
Node.js
Python
Elabora la risposta
Congratulazioni, hai rilevato i volti nella tua immagine. La risposta alla nostra richiesta di annotazione dei volti include una serie di metadati sui volti rilevati, tra cui le coordinate di un poligono che racchiude il volto. A questo punto, però, si tratta solo di un elenco di numeri. Utilizziamoli per verificare di aver effettivamente trovato i volti nell'immagine. Disegneremo i poligoni su una copia dell'immagine utilizzando le coordinate restituite dall'API Vision:
Java
Node.js
Utilizziamo la libreria node-canvas per disegnare sulle immagini.
Python
Metti insieme tutti i pezzi
Java
...
Per compilare ed eseguire il codice campione, esegui i seguenti comandi dalla directory del codice campione:
mvn clean compile assembly:single
java -cp target/vision-face-detection-1.0-SNAPSHOT-jar-with-dependencies.jar \
com.google.cloud.vision.samples.facedetect.FaceDetectApp \
data/face.jpg \
output.jpg
Node.js
Per eseguire il codice campione, esegui il seguente comando dalla directory del codice campione:
node faceDetection resources/face.png
Python
Libera spazio
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
- Nella Google Cloud console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.