1. Übersicht
Mit der Google Cloud Vision API können Entwickler leicht Funktionen zur visuellen Erkennung in Anwendungen einbinden. Hierzu zählen die Erkennung von Bildlabels, Gesichtern und Sehenswürdigkeiten, die optische Zeichenerkennung (Optical Character Recognition, OCR) sowie die Kennzeichnung expliziter Inhalte.
In diesem Codelab konzentrieren Sie sich auf die Verwendung der Vision API mit C#. Sie erfahren, wie Sie Texterkennung, Sehenswürdigkeiten- und Gesichtserkennung durchführen.
Aufgaben in diesem Lab
- Cloud Shell verwenden
- Google Cloud Vision API aktivieren
- API-Anfragen authentifizieren
- Vision API-Clientbibliothek für C# installieren
- Labelerkennung durchführen
- Texterkennung durchführen
- Erkennung von Sehenswürdigkeiten durchführen
- So führen Sie eine Gesichtserkennung durch
Voraussetzungen
Umfrage
Wie möchten Sie diese Anleitung nutzen?
<ph type="x-smartling-placeholder">Wie würden Sie Ihre Erfahrung mit C# bewerten?
<ph type="x-smartling-placeholder">Wie würden Sie Ihre Erfahrungen im Umgang mit Google Cloud Platform-Diensten bewerten?
<ph type="x-smartling-placeholder">2. Einrichtung und Anforderungen
Umgebung für das selbstbestimmte Lernen einrichten
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.
- Der Projektname ist der Anzeigename für die Projektteilnehmer. Es handelt sich um eine Zeichenfolge, die von Google APIs nicht verwendet wird. Sie können sie jederzeit aktualisieren.
- Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich. Sie kann nach dem Festlegen nicht mehr geändert werden. Die Cloud Console generiert automatisch einen eindeutigen String. ist Ihnen meist egal, was es ist. In den meisten Codelabs musst du auf deine Projekt-ID verweisen, die üblicherweise als
PROJECT_ID
bezeichnet wird. Wenn Ihnen die generierte ID nicht gefällt, können Sie eine weitere zufällige ID generieren. Alternativ können Sie einen eigenen verwenden und nachsehen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts erhalten. - Zur Information gibt es noch einen dritten Wert, die Projektnummer, die von manchen APIs verwendet wird. Weitere Informationen zu allen drei Werten finden Sie in der Dokumentation.
- Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Cloud-Ressourcen/APIs verwenden zu können. Dieses Codelab ist kostengünstig. Sie können die von Ihnen erstellten Ressourcen oder das Projekt löschen, um Ressourcen herunterzufahren, um zu vermeiden, dass über diese Anleitung hinaus Kosten anfallen. Neue Google Cloud-Nutzer haben Anspruch auf das kostenlose Testprogramm mit 300$Guthaben.
Cloud Shell starten
Sie können Google Cloud zwar von Ihrem Laptop aus der Ferne bedienen, in diesem Codelab verwenden Sie jedoch Google Cloud Shell, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Cloud Shell aktivieren
- Klicken Sie in der Cloud Console auf Cloud Shell aktivieren .
Wenn Sie Cloud Shell zum ersten Mal starten, wird ein Zwischenbildschirm mit einer Beschreibung der Funktion angezeigt. Wenn ein Zwischenbildschirm angezeigt wird, klicken Sie auf Weiter.
Die Bereitstellung und Verbindung mit Cloud Shell dauert nur einen Moment.
Diese virtuelle Maschine verfügt über alle erforderlichen Entwicklertools. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und wird in Google Cloud ausgeführt. Dadurch werden die Netzwerkleistung und die Authentifizierung erheblich verbessert. Viele, wenn nicht sogar alle Arbeiten in diesem Codelab können mit einem Browser erledigt werden.
Sobald Sie mit Cloud Shell verbunden sind, sollten Sie sehen, dass Sie authentifiziert sind und das Projekt auf Ihre Projekt-ID eingestellt ist.
- Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob Sie authentifiziert sind:
gcloud auth list
Befehlsausgabe
Credentialed Accounts ACTIVE ACCOUNT * <my_account>@<my_domain.com> To set the active account, run: $ gcloud config set account `ACCOUNT`
- Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob der gcloud-Befehl Ihr Projekt kennt:
gcloud config list project
Befehlsausgabe
[core] project = <PROJECT_ID>
Ist dies nicht der Fall, können Sie die Einstellung mit diesem Befehl vornehmen:
gcloud config set project <PROJECT_ID>
Befehlsausgabe
Updated property [core/project].
3. Vision API aktivieren
Bevor Sie die Vision API verwenden können, müssen Sie sie aktivieren. In Cloud Shell können Sie die API mit dem folgenden Befehl aktivieren:
gcloud services enable vision.googleapis.com
4. Google Cloud Vision API-Clientbibliothek für C# installieren
Erstellen Sie zuerst eine einfache C#-Konsolenanwendung, mit der Sie Vision API-Beispiele ausführen:
dotnet new console -n VisionApiDemo
Die erstellte Anwendung und die Abhängigkeiten sollten aufgelöst werden:
The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.
Gehen Sie dann zum Ordner VisionApiDemo
:
cd VisionApiDemo/
Fügen Sie dem Projekt außerdem das NuGet-Paket Google.Cloud.Vision.V1
hinzu:
dotnet add package Google.Cloud.Vision.V1
info : Adding PackageReference for package 'Google.Cloud.Vision.V1' into project '/home/atameldev/VisionApiDemo/VisionApiDemo.csproj'.
log : Restoring packages for /home/atameldev/VisionApiDemo/VisionApiDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Vision.V1' version '1.2.0' added to file '/home/atameldev/VisionApiDemo/VisionApiDemo.csproj'.
Jetzt können Sie die Vision API verwenden.
5. Labelerkennung durchführen
Eine der grundlegenden Funktionen der Vision API besteht darin, Objekte oder Entitäten in einem Bild zu identifizieren. Diese wird als Labelannotation bezeichnet. Die Labelerkennung erkennt allgemeine Objekte, Orte, Aktivitäten, Tierarten, Produkte und mehr. Die Vision API nimmt ein Eingabebild und gibt die Labels zurück, die am ehesten auf dieses Bild zutreffen. Sie gibt die Labels mit der besten Übereinstimmung zusammen mit dem Konfidenzwert einer Übereinstimmung mit dem Bild zurück.
In diesem Beispiel führen Sie eine Labelerkennung auf einem Bild einer Straßenszene in Shanghai durch. Öffnen Sie oben rechts in Cloud Shell den Code-Editor:
Gehen Sie zur Datei Program.cs
im Ordner VisionApiDemo
und ersetzen Sie den Code durch folgenden Code:
using Google.Cloud.Vision.V1;
using System;
namespace VisionApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = ImageAnnotatorClient.Create();
var image = Image.FromUri("gs://cloud-samples-data/vision/using_curl/shanghai.jpeg");
var labels = client.DetectLabels(image);
Console.WriteLine("Labels (and confidence score):");
Console.WriteLine(new String('=', 30));
foreach (var label in labels)
{
Console.WriteLine($"{label.Description} ({(int)(label.Score * 100)}%)");
}
}
}
}
Nehmen Sie sich ein bis zwei Minuten Zeit, um den Code zu untersuchen und zu sehen, wie die C#-Bibliothek der Vision API zur Labelerkennung verwendet wird.
Führen Sie die Anwendung in Cloud Shell aus:
dotnet run
Es sollte folgende Ausgabe angezeigt werden:
Labels (and confidence score):
==============================
Wheel (97%)
Tire (97%)
Photograph (94%)
Bicycle (94%)
Motor vehicle (89%)
Infrastructure (89%)
Vehicle (86%)
Mode of transport (84%)
Bicycle wheel (83%)
Asphalt (81%)
Zusammenfassung
In diesem Schritt konnten Sie eine Labelerkennung auf einem Bild einer Straßenszene in China durchführen und die wahrscheinlichsten Labels anzeigen, die diesem Bild zugeordnet sind. Weitere Informationen zur Labelerkennung
6. Texterkennung durchführen
Die Texterkennung der Vision API führt eine optische Zeichenerkennung aus. Sie kann Text in einem Bild erkennen und extrahieren und dabei eine Vielzahl von Sprachen unterstützen. Die Funktion beinhaltet auch eine automatische Spracherkennung.
In diesem Beispiel führen Sie die Texterkennung in einem Bild eines Bildschirms zum Aktualisieren der Systemsoftware durch.
Gehen Sie zur Datei Program.cs
im Ordner VisionApiDemo
und ersetzen Sie den Code durch folgenden Code:
using Google.Cloud.Vision.V1;
using System;
namespace VisionApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = ImageAnnotatorClient.Create();
var image = Image.FromUri("gs://cloud-samples-data/vision/text/screen.jpg");
var response = client.DetectText(image);
foreach (var annotation in response)
{
if (annotation.Description != null)
{
Console.WriteLine(annotation.Description);
}
}
}
}
}
Nehmen Sie sich ein bis zwei Minuten Zeit, um den Code zu untersuchen und zu sehen, wie die C#-Bibliothek der Vision API zur Texterkennung verwendet wird.
Führen Sie die Anwendung in Cloud Shell aus:
dotnet run
Es sollte folgende Ausgabe angezeigt werden:
System Software Update
Back
Preparing to install...
After preparation is complete, the PS4 will automatically restart and the update file will be
installed.
37%
gus class
System
Software
Update
Back
Preparing
to
install
...
After
preparation
is
complete
,
the
PS4
will
automatically
restart
and
the
update
file
will
be
installed
.
37
%
gus
class
Zusammenfassung
In diesem Schritt konnten Sie eine Texterkennung auf einem Bild eines Otter Crossing durchführen und erkannten Text aus dem Bild drucken. Weitere Informationen zur Texterkennung
7. Erkennung von Sehenswürdigkeiten durchführen
Mit der Erkennung von Sehenswürdigkeiten der Vision API können Sie beliebte natürliche und von Menschen erschaffene Strukturen in einem Bild erkennen.
In diesem Beispiel führen Sie eine Erkennung von Sehenswürdigkeiten auf einem Bild des Eiffelturms durch.
Gehen Sie zur Datei Program.cs
im Ordner VisionApiDemo
und ersetzen Sie den Code durch folgenden Code:
using Google.Cloud.Vision.V1;
using System;
namespace VisionApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = ImageAnnotatorClient.Create();
var image = Image.FromUri("gs://cloud-samples-data/vision/eiffel_tower.jpg");
var response = client.DetectLandmarks(image);
foreach (var annotation in response)
{
if (annotation.Description != null)
{
Console.WriteLine(annotation.Description);
}
}
}
}
}
Nehmen Sie sich ein oder zwei Minuten Zeit, um den Code zu untersuchen und zu sehen, wie die C#-Bibliothek der Vision API zur Erkennung von Sehenswürdigkeiten verwendet wird.
Führen Sie die Anwendung in Cloud Shell aus:
dotnet run
Es sollte folgende Ausgabe angezeigt werden:
Eiffel Tower
Zusammenfassung
In diesem Schritt war es möglich, Sehenswürdigkeiten auf dem Bild des Eiffelturms zu erkennen. Weitere Informationen zur Erkennung von Sehenswürdigkeiten
8. Emotionale Gesichtserkennung durchführen
Mit der Gesichtserkennung können Sie in einem Bild mehrere Gesichter und die damit verbundenen wichtigen Gesichtsmerkmale wie den emotionalen Zustand oder das Tragen von Kopfbedeckungen erkennen.
In diesem Beispiel wird die Wahrscheinlichkeit eines emotionalen Zustands aus vier verschiedenen emotionalen Wahrscheinlichkeiten ermittelt, darunter Freude, Wut, Trauer und Überraschung.
Gehen Sie zur Datei Program.cs
im Ordner VisionApiDemo
und ersetzen Sie den Code durch folgenden Code:
using Google.Cloud.Vision.V1;
using System;
namespace VisionApiDemo
{
class Program
{
static void Main(string[] args)
{
var client = ImageAnnotatorClient.Create();
var image = Image.FromUri("gs://cloud-samples-data/vision/face/face_no_surprise.jpg");
var response = client.DetectFaces(image);
foreach (var annotation in response)
{
Console.WriteLine($"Picture: {image}");
Console.WriteLine($" Surprise: {annotation.SurpriseLikelihood}");
}
}
}
}
Nehmen Sie sich ein bis zwei Minuten Zeit, um den Code zu untersuchen und zu sehen, wie die C#-Bibliothek der Vision API für die emotionale Gesichtserkennung verwendet wird.
Führen Sie die App aus.
dotnet run
Für unser face_no_surprise-Beispiel sollte die folgende Ausgabe angezeigt werden:
Picture: { "source": { "imageUri": "gs://cloud-samples-data/vision/face/face_no_surprise.jpg" } }
Surprise: Likely
Zusammenfassung
In diesem Schritt konnten Sie die emotionale Gesichtserkennung durchführen. Weitere Informationen zur Gesichtserkennung
9. Glückwunsch!
Sie haben gelernt, wie Sie die Vision API mit C# verwenden, um verschiedene Erkennungen in Bildern durchzuführen.
Bereinigen
So vermeiden Sie, dass Ihr Google Cloud Platform-Konto für die in diesem Schnellstart verwendeten Ressourcen belastet wird:
- Rufen Sie die Cloud Platform Console auf.
- Wählen Sie das Projekt aus, das Sie beenden möchten, und klicken Sie auf „Löschen“. oben: Dadurch wird das Projekt zum Löschen vorgemerkt.
Weitere Informationen
- Google Cloud Vision API: https://cloud.google.com/vision/docs/
- C#/.NET auf der Google Cloud Platform: https://cloud.google.com/dotnet/
- Google Cloud-.NET-Client: https://googlecloudplatform.github.io/google-cloud-dotnet
Lizenz
Dieser Text ist mit einer Creative Commons Attribution 2.0 Generic License lizenziert.