App zum Unkenntlichmachen von Gesichtern mit Speicher im Warehouse erstellen

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:

  1. Öffnen Sie den Tab Streams des Vertex AI Vision-Dashboards.

    Zum Tab „Streams“

  2. Klicken Sie auf Registrieren.

  3. Geben Sie input-stream als Streamname ein und wählen Sie die Region aus, in der Sie den Stream erstellen möchten.

  4. Klicken Sie auf Registrieren, um einen oder mehrere Streams zu erstellen.

    Optionen zum Registrieren von Streams in der Benutzeroberfläche

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.

Zum Tab „Streams“

Live-Videostream in der Benutzeroberfläche
Live-Ansicht des Videos, das in der Google Cloud -Konsole in den Stream aufgenommen wird. Videoquelle: Tima Miroshnichenko auf Pexels (Verpixelung hinzugefügt).

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.

  1. Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.

    Zum Tab „Anwendungen“

  2. Klicken Sie auf die Schaltfläche Erstellen.

  3. Geben Sie person-blur-app als App-Namen ein und wählen Sie Ihre Region aus.

  4. Klicken Sie auf Erstellen.

    Dialogfeld „Neue App erstellen“ in der Benutzeroberfläche

Knoten für Anwendungskomponenten hinzufügen

Nachdem Sie die leere Anwendung erstellt haben, können Sie dem App-Diagramm die drei Knoten hinzufügen:

  1. Aufnahmeknoten: Die Stream-Ressource, in die bereits Daten aufgenommen werden.
  2. Verarbeitungsknoten: Das Modell zum Unkenntlichmachen von Personen, das auf erfasste Daten angewendet wird.
  3. 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.

  1. Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.

    Zum Tab „Anwendungen“

  2. 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

  1. 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.

  2. Wählen Sie im Abschnitt Quelle des sich öffnenden Menüs Stream die Option Streams hinzufügen aus.

  3. Wählen Sie im Menü Streams hinzufügen die Option Aus vorhandenen Streams auswählen aus und wählen Sie person-blur-app aus der Liste der Streamressourcen aus.

    Menü „Streams“ in der Benutzeroberfläche hinzufügen

  4. Klicken Sie auf Streams hinzufügen, um den Stream dem App-Diagramm hinzuzufügen.

Knoten zur Datenverarbeitung hinzufügen

  1. 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.

  2. Lassen Sie im Optionsmenü „Personen unkenntlich machen“, das sich öffnet, Vollständige Unkenntlichmachung ausgewählt und aktivieren Sie die Option Nur Gesichter unkenntlich machen.

    Gesichtsverpixelungsmodell in der Benutzeroberfläche hinzufügen

Datenspeicherknoten hinzufügen

  1. 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.

  2. Klicken Sie im Menü Media Warehouse von Vertex AI Vision auf Warehouse verbinden.

  3. Wählen Sie im Menü Warehouse verbinden die Option Neues Warehouse erstellen aus. Geben Sie dem Warehouse den Namen person-blur-app und belassen Sie die TTL-Dauer bei 14 Tagen.

  4. Klicken Sie auf Erstellen, um das Warehouse hinzuzufügen.

    Warehouse-Knoten in der Benutzeroberfläche hinzufü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

  1. Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben der person-blur-app App Grafik ansehen aus.

  3. Klicken Sie auf der Seite „Application Graph Builder“ (Tool zum Erstellen von Anwendungsdiagrammen) auf die Schaltfläche Deploy (Bereitstellen).

  4. 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.

    Bereitgestellte App in der Benutzeroberfläche

Verarbeitete Ausgabedaten ansehen

Console

  1. Öffnen Sie den Tab Warehouses (Speicherorte) des Vertex AI Vision-Dashboards.

    Zum Tab „Warehouses“ (Lager)

  2. Suchen Sie in der Liste nach dem person-blur-output-storage-Lager und klicken Sie auf Assets ansehen.

    App-Ausgabe in der Benutzeroberfläche ansehen