Vertex AI Vision ist eine KI-gestützte Plattform, mit der Sie Videodaten aufnehmen, analysieren und speichern können. Mit Vertex AI Vision können Sie KI-Anwendungen erstellen und bereitstellen. Sie können End-to-End-Lösungen für Vertex AI Vision erstellen, indem Sie die Integration von Vertex AI Vision in andere Produktkomponenten nutzen.
Bevor Sie mit der Implementierung von Lösungen mit der Vertex AI Vision-Plattform beginnen, sollten Sie sich mit den folgenden Konzepten und Komponenten von Vertex AI Vision vertraut machen:
Streams: Stellen eine Videostreaming-Ebene Ihrer Lösung dar. Die Streamquelle kann ein Live-Video (z. B. eine IP-Kamera) oder eine Videodatei (z. B. eine MP4-Datei) sein.
Anwendungen: Ermöglichen die Verbindung zwischen einem Stream und einem KI-Prozessor, um einen Vorgang für maschinelles Lernen auf das Video anzuwenden. Sie können beispielsweise einen Kamerastream mit einem KI-Modell verbinden, das Personen zählt, die daran vorbeigehen.
Media Warehouses: Hier werden die von Streams aufgenommenen Videos inGoogle Cloud gespeichert. Wenn Sie Daten in diesem Ziel speichern, können Sie Analyseergebnisse und Metadaten der KI-Prozessoren abfragen, die für Daten aus den aufgenommenen Streams verwendet werden.
Stream erstellen
Wenn Sie eine App zur Analyse von Streamingvideos erstellen möchten, müssen Sie zuerst eine Streamressource erstellen und registrieren. Da der Stream die Ressource ist, die die Videodaten von den Nutzern empfängt, ist er in jedem Szenario erforderlich, das Sie mit Vertex AI Vision erstellen.Console
So erstellen Sie einen neuen Stream in der Google Cloud Konsole:
Öffnen Sie den Tab Streams des Vertex AI Vision-Dashboards.
Klicken Sie auf
Registrieren.Geben Sie
input-stream
als Streamname ein und wählen Sie die Region aus, in der Sie den Stream erstellen möchten.Klicken Sie auf Registrieren, um einen oder mehrere Streams zu erstellen.
Video in den Stream aufnehmen
Nachdem Sie eine Streamressource erstellt haben, können Sie mit dem vaictl
-Befehlszeilentool Videodaten an den Stream senden.
IP-Kamera
Wenn Sie eine IP-Kamera verwenden, müssen Sie die IP-Adresse der Kamera ermitteln. Sie müssen diese Informationen zusammen mit anderen Variablenersetzungen in der Anfrage angeben:
- PROJECT_ID: Ihre Google Cloud Projekt-ID
- LOCATION_ID: Ihre Standort-ID. Beispiel:
us-central1
. Weitere Informationen finden Sie unter Cloud-Standorte. - RTSP_ADDRESS: Die Adresse Ihres RTSP-Feeds (Real Time Streaming Protocol). Beispiel:
rtsp://192.168.1.180:540
.
Mit diesem Befehl wird ein RTSP-Feed in den Stream gesendet. Sie müssen diesen Befehl in dem Netzwerk ausführen, das direkten Zugriff auf den RTSP-Feed hat.
vaictl -p PROJECT_ID \ -l LOCATION_ID \ -c application-cluster-0 \ --service-endpoint visionai.googleapis.com \ send rtsp to streams input-stream --rtsp-uri RTSP_ADDRESS
Wenn der Befehl erfolgreich ausgeführt wird, erhalten Sie die folgende Ausgabe:
[...] Waiting for long running operation projects/your-project/locations/us-central1/operations/operation-1651364156981-5dde82db7e4a9-dfb17ca5-1051eb20 ⠙ I20220430 21:16:28.024988 211449 gstvaisink.cc:417] cluster-id=application-cluster-0 I20220430 21:16:28.025032 211449 gstvaisink.cc:418] cluster-endpoint=c8khq35ftg78mn61ef50.us-central1.visionai.goog I20220430 21:16:28.025040 211449 gstvaisink.cc:419] event-id=ev-1651364114183255223 I20220430 21:16:28.025048 211449 gstvaisink.cc:420] stream-id=input-stream I20220430 21:16:28.025053 211449 gstvaisink.cc:421] series-id=ev-1651364114183255223--input-stream I20220430 21:16:28.025060 211449 gstvaisink.cc:422] Sending data
Lokale Videodatei
Sie können auch Videodateidaten an einen Stream senden, anstatt einen Live-Videofeed zu verwenden. Diese Option kann nützlich sein, wenn Sie keinen Zugriff auf eine IP-Kamera haben.
Der einzige Unterschied bei dieser Option sind die Parameter des vaictl
-Befehls. Übergeben Sie anstelle der IP-Kamerainformationen den Pfad für die lokale Videodatei. Ersetzen Sie die folgenden Variablen:
- PROJECT_ID: Ihre Google Cloud Projekt-ID
- LOCATION_ID: Ihre Standort-ID. Beispiel:
us-central1
. Weitere Informationen - LOCAL_FILE.EXT: Der Dateiname einer lokalen Videodatei.
Beispiel:
my-video.mp4
. - Flag
--loop
: Optional. Wiederholt Dateidaten, um Streaming zu simulieren.
Mit diesem Befehl wird eine Videodatei in einen Stream übertragen. Wenn Sie das Flag --loop
verwenden, wird das Video in den Stream eingebunden, bis Sie den Befehl beenden:
vaictl -p PROJECT_ID \ -l LOCATION_ID \ -c application-cluster-0 \ --service-endpoint visionai.googleapis.com \ send video-file to streams 'input-stream' --file-path LOCAL_FILE.EXT --loop
Es kann etwa 100 Sekunden dauern, bis das Video im Dashboard angezeigt wird, nachdem der vaictl
-Aufnahmevorgang gestartet wurde.
Sobald die Streamaufnahme verfügbar ist, können Sie den Videofeed auf dem Tab Streams des Vertex AI Vision-Dashboards sehen, indem Sie den input-stream
-Stream auswählen.
Anwendung zum Unkenntlichmachen von Gesichtern erstellen
Nachdem Sie einen Stream erstellt und Daten in den Stream aufgenommen haben, können Sie eine Vertex AI Vision-Anwendung erstellen, um die Daten zu verarbeiten. Eine App kann als automatisierte Pipeline betrachtet werden, die Folgendes verbindet:
- Datenaufnahme: Ein Videofeed wird in einen Stream aufgenommen.
- Datenanalyse: Nach der Aufnahme kann ein KI-Modell hinzugefügt werden. Alle Computer-Vision-Vorgänge können für die aufgenommenen Videoinformationen ausgeführt werden.
- Datenspeicher: Die beiden Versionen des Videofeeds (der Originalstream und der vom KI-Modell verarbeitete Stream) können in einem Media-Warehouse gespeichert werden.
In der Google Cloud Console wird eine App als Diagramm dargestellt. Außerdem muss ein App-Diagramm in Vertex AI Vision mindestens zwei Knoten haben: einen Videobronnenknoten (Stream) und mindestens einen weiteren Knoten (ein Verarbeitungsmodell oder ein Ausgabeziel).
Leere Anwendung erstellen
Bevor Sie den App-Graphen mit Daten füllen können, müssen Sie zuerst eine leere App erstellen.Console
Erstellen Sie eine App in der Google Cloud Console.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Klicken Sie auf die Schaltfläche
Erstellen.Geben Sie
person-blur-app
als App-Namen ein und wählen Sie Ihre Region aus.Klicken Sie auf Erstellen.
Knoten für Anwendungskomponenten hinzufügen
Nachdem Sie die leere Anwendung erstellt haben, können Sie dem App-Diagramm die drei Knoten hinzufügen:
- Aufnahmeknoten: Die Stream-Ressource, in die bereits Daten aufgenommen werden.
- Verarbeitungsknoten: Das Modell zum Unkenntlichmachen von Personen, das auf erfasste Daten angewendet wird.
- Speicherknoten: Das Media Warehouse, in dem verarbeitete Videos gespeichert werden und das auch als Metadatenspeicher dient. Im Data Warehouse können Analysedaten zu aufgenommenen Videodaten generiert werden. Außerdem werden dort Informationen gespeichert, die von den KI-Modellen aus den Daten abgeleitet wurden.
Console
Fügen Sie Ihrer App in der Konsole Knoten für Komponenten hinzu.
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Zeile
person-blur-app
die Option Diagramm ansehen aus. Sie gelangen dann zur grafischen Darstellung der Verarbeitungspipeline.
Knoten für die Datenaufnahme hinzufügen
Wenn Sie den Knoten für den Eingabestream hinzufügen möchten, wählen Sie im seitlichen Menü im Abschnitt Connectors die Option Streams aus.
Wählen Sie im Abschnitt Quelle des sich öffnenden Menüs Stream die Option
Streams hinzufügen aus.Wählen Sie im Menü Streams hinzufügen die Option
Aus vorhandenen Streams auswählen aus und wählen Sieperson-blur-app
aus der Liste der Streamressourcen aus.Klicken Sie auf Streams hinzufügen, um den Stream dem App-Diagramm hinzuzufügen.
Knoten zur Datenverarbeitung hinzufügen
Wenn Sie den Modellknoten zum Unkenntlichmachen von Personen hinzufügen möchten, wählen Sie im seitlichen Menü im Abschnitt Allgemeine Prozessoren die Option Personen unkenntlich machen aus.
Lassen Sie im Optionsmenü „Personen unkenntlich machen“, das sich öffnet,
Vollständige Unkenntlichmachung ausgewählt und aktivieren Sie die Option Nur Gesichter unkenntlich machen.
Datenspeicherknoten hinzufügen
Wählen Sie im Abschnitt Connectors des seitlichen Menüs die Option Media Warehouse von Vertex AI Vision aus, um den Knoten für den Ausgabespeicherort (Speicher) hinzuzufügen.
Klicken Sie im Menü Media Warehouse von Vertex AI Vision auf Warehouse verbinden.
Wählen Sie im Menü Warehouse verbinden die Option
Neues Warehouse erstellen aus. Geben Sie dem Warehouse den Namenperson-blur-app
und belassen Sie die TTL-Dauer bei 14 Tagen.Klicken Sie auf Erstellen, um das Warehouse hinzuzufügen.
Anwendung bereitstellen
Nachdem Sie Ihre End-to-End-App mit allen erforderlichen Komponenten erstellt haben, müssen Sie sie nur noch bereitstellen, um sie verwenden zu können.Console
Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.
Wählen Sie in der Liste neben der
person-blur-app
App Grafik ansehen aus.Klicken Sie auf der Seite „Application Graph Builder“ (Tool zum Erstellen von Anwendungsdiagrammen) auf die Schaltfläche
Deploy (Bereitstellen).Wählen Sie im Bestätigungsdialogfeld Bereitstellen aus.
Die Bereitstellung kann mehrere Minuten dauern. Nach Abschluss der Bereitstellung werden neben den Knoten grüne Häkchen angezeigt.
Verarbeitete Ausgabedaten ansehen
Console
Öffnen Sie den Tab Warehouses (Speicherorte) des Vertex AI Vision-Dashboards.
Suchen Sie in der Liste nach dem
person-blur-output-storage
-Lager und klicken Sie auf Assets ansehen.