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.

Lernziele

In dieser Anleitung wird Folgendes beschrieben:

  • Erstellen Sie eine Daten-Input-Stream-Ressource.
  • Beginnen Sie mit dem Streamen von Videodaten in diese Streamressource.
  • Erstellen Sie eine leere Anwendung.
  • Fügen Sie Ihrer Anwendung Knoten hinzu, um Daten zu streamen, zu ändern und zu speichern.
  • Stellen Sie Ihre App zur Verwendung bereit.
  • Die Ausgabe der verarbeiteten Daten in der Google Cloud -Konsole ansehen

Bevor Sie mit dieser Anleitung beginnen, benötigen Sie eine Streamingvideo-Ressource, an die Sie Daten für Ihre Vertex AI Vision-App senden können. Diese Ressource kann entweder ein lokales Video oder ein RTSP-Feed sein. Diese Videodaten müssen menschliche Gesichter enthalten, die von der Beispiel-App unkenntlich gemacht werden können.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

  • Vertex AI Vision (Streams - Data ingested, Streams - Data consumed, Models - Person / face blur, Warehouse - Video storage)

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Neuen Google Cloud Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweise

  1. Rufen Sie den Speicherort Ihrer Streaming-Videoquelle ab, entweder lokal (z. B. ./sample_video.mp4) oder die IP-Adresse des Live-RTSP-Feeds (z. B. rtsp://192.168.1.180:540). Sie benötigen diese Informationen, um mit der Aufnahme von Daten in einen Stream zu beginnen, nachdem Sie die Streamressource erstellt haben.
  2. 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.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Vision AI API.

    Enable the API

  6. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Vision AI > Vision AI Editor role to the service account.

      To grant the role, find the Select a role list, then select Vision AI > Vision AI Editor.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  7. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  8. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  9. Install the Google Cloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  13. Make sure that billing is enabled for your Google Cloud project.

  14. Enable the Vision AI API.

    Enable the API

  15. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Vision AI > Vision AI Editor role to the service account.

      To grant the role, find the Select a role list, then select Vision AI > Vision AI Editor.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  16. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  17. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  18. Install the Google Cloud CLI.

  19. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  20. To initialize the gcloud CLI, run the following command:

    gcloud init
  21. vaictl-Tool zum Aufnehmen von Daten in einen Stream installieren (Betriebssystem: Debian GNU/Linux, CPU-Architektur: x86_64):
    1. Laden Sie das erforderliche Paket herunter:
      wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
    2. Führen Sie nach dem Herunterladen des Pakets den folgenden Befehl in dem Verzeichnis aus, in das Sie die Datei heruntergeladen haben:
      sudo apt install ./visionai_0.0-5_amd64.deb
    3. Installation prüfen:
      vaictl --help

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 Console:

  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 Live-IP-Kamera verwenden, müssen Sie die IP-Adresse der Kamera ermitteln. Sie müssen diese Informationen zusammen mit anderen Variablensubstitutionen 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 nach dem Starten des vaictl-Aufnahmevorgangs im Dashboard angezeigt wird.

Nachdem die Streamaufnahme verfügbar ist, können Sie den Videofeed auf dem Tab Streams des Vertex AI Vision-Dashboards aufrufen, 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 -Konsole 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 erstellen können, müssen Sie zuerst eine leere App erstellen.

Console

Erstellen Sie eine App in der Google Cloud -Konsole.

  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 aufgenommene 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 Knoten für das Modell 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.

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 Lager person-blur-output-storage und klicken Sie auf Assets ansehen.

    App-Ausgabe in der Benutzeroberfläche ansehen

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Projekt löschen

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Einzelne Ressourcen löschen

Warehouse löschen

  1. In the Google Cloud console, go to the Warehouses page.

    Go to the Warehouses tab

  2. Locate your person-blur-output-storage warehouse.
  3. To delete the warehouse, click Actions, click Delete warehouse, and then follow the instructions.

Stream löschen

  1. In the Google Cloud console, go to the Streams page.

    Go to the Streams tab

  2. Locate your input-stream stream.
  3. To delete the stream, click Actions, click Delete stream, and then follow the instructions.

Apps löschen

  1. In the Google Cloud console, go to the Applications page.

    Go to the Applications tab

  2. Locate your person-blur-app app.
  3. To delete the app, click Actions, click Delete application, and then follow the instructions.

Nächste Schritte