Ziele
In diesem Beispiel verwenden Sie die Google Vision API für die Gesichtserkennung in einem Bild. Zur Bestätigung, dass die Gesichter richtig erkannt wurden, zeichnen Sie anschließend mithilfe der zurückgegebenen Daten um jedes Gesicht einen Rahmen.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Cloud Vision
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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
(
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 Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. 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
(
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 Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - Richten Sie Ihre Umgebung für die Verwendung von Standardanmeldedaten für Anwendungen ein.
-
Richten Sie sprachspezifische Aufgaben und Tools ein:
C#
- Installieren Sie die Google-Clientbibliothek.
- Installieren Sie Visual Studio 2012/2015.
Java
- Installieren Sie Java.
- API-Referenz
Laden Sie das Apache Maven-Build-System herunter und installieren Sie es. Maven sorgt dafür, dass die Google API-Clientbibliothek und die Vision API-Clientbibliotheken beim Erstellen des Projekts installiert werden, da sie der Datei
pom.xmlhinzugefügt wurden....
Node.js
- Installieren Sie die Google-Clientbibliothek.
- Installieren Sie Node.js.
- API-Referenz
Installieren Sie npm und node-canvas. Der Beispielcode enthält die Datei
package.jsonfür die Installation aller Abhängigkeiten mit dem Befehlnpm install. Für „node-canvas“ müssen Sie gegebenenfalls zusätzliche Abhängigkeiten installieren. Weitere Informationen erhalten Sie in der Installationsdokumentation für node-canvas.
PHP
- Installieren Sie die Google-Clientbibliothek.
- Installieren Sie PHP und Composer.
- API-Referenz
- Installieren und aktivieren Sie GD für PHP.
Python
Ruby
- Installieren Sie die Google-Clientbibliothek.
- Installieren Sie Ruby und Bundler.
- API-Referenz
- Installieren Sie ImageMagick.
Dienstobjekt erstellen
Für den Zugriff auf Google APIs mithilfe der offiziellen Client-SDKs erstellen Sie ein Dienstobjekt, das auf dem Discovery-Dokument der API basiert. Dieses Dokument enthält eine API-Beschreibung für das SDK. Sie müssen es unter Angabe Ihrer Anmeldedaten vom Discovery-Dienst der Vision API abrufen:
Java
Node.js
Python
Gesichtserkennungsanfrage senden
Lesen Sie vor dem Erstellen einer Anfrage an die Vision API die API-Dokumentation. In diesem Beispiel fordern Sie die Ressource images auf, Ihr Bild zu annotieren (annotate). Die Anfrage an diese API erfolgt in Form eines Objekts mit der Liste requests. Jedes Element der Liste enthält zwei Informationen:
- Die Bilddaten mit Base64-Codierung
- Eine Liste der Elemente, die Sie zu diesem Bild annotieren möchten
Für dieses Beispiel fordern Sie einfach die Annotation FACE_DETECTION für ein Bild an und geben den relevanten Teil der Antwort zurück:
Java
Node.js
Python
Antwort verarbeiten
Herzlichen Glückwunsch, Sie haben die Gesichter im Bild erkannt. Die Antwort auf unsere Anfrage zum Annotieren von Gesichtern umfasst eine Reihe von Metadaten zu den erkannten Gesichtern. Hierzu zählen unter anderem die Koordinaten eines Polygons um jedes Gesicht. Aktuell liegt jedoch nur eine Liste mit Zahlen vor. Bestätigen Sie damit, dass Sie die Gesichter im Bild erkannt haben. Zeichnen Sie mit den von der Vision API zurückgegebenen Koordinaten Polygone auf eine Kopie des Bildes:
Zusammenfassung
Java
...
Erstellen und führen Sie das Beispiel mit dem folgenden Befehl aus dem Verzeichnis mit dem Beispielcode aus:
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
Führen Sie das Beispiel mit dem folgenden Befehl aus dem Verzeichnis mit dem Beispielcode aus:
node faceDetection resources/face.png
Python
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, können Sie entweder das Projekt löschen, das die Ressourcen enthält, oder das Projekt beibehalten und die einzelnen Ressourcen löschen.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.