Vertex AI Vision è una piattaforma basata sull'AI che puoi utilizzare per importare, analizzare e archiviare i dati video . Vertex AI Vision ti consente di creare ed eseguire il deployment di applicazioni di AI. Puoi creare soluzioni Vertex AI Vision end-to-end sfruttando l'integrazione di Vertex AI Vision con altri componenti del prodotto.
Per iniziare a implementare soluzioni utilizzando la piattaforma Vertex AI Vision, esamina i seguenti concetti e componenti di Vertex AI Vision:
Stream: rappresentano un livello di streaming video della tua soluzione. La sorgente dello stream può essere un video live (ad esempio, una videocamera IP) o un file video (ad esempio, un file MP4).
Applicazioni: consente la connessione tra uno stream e un processore AI per eseguire un'operazione di machine learning sul video. Ad esempio, puoi collegare un flusso della videocamera a un modello di AI che conta le persone che passano davanti.
Warehouse multimediali: archiviano il video importato dai flussi in Google Cloud . L'archiviazione dei dati in questa destinazione ti consente di interrogare l'output e i metadati dell'analisi dai processori di AI utilizzati sui dati dei flussi importati.
Obiettivi
Questo tutorial mostra come:
- Crea una risorsa stream di input dei dati.
- Inizia a trasmettere in streaming i dati video in questa risorsa di stream.
- Crea un'applicazione vuota.
- Aggiungi nodi all'applicazione per trasmettere, modificare e archiviare i dati.
- Esegui il deployment dell'app per utilizzarla.
- Visualizza l'output dei dati elaborati nella console Google Cloud .
Prima di iniziare questo tutorial, devi disporre di una risorsa video in streaming per inviare dati alla tua app Vertex AI Vision. Questa risorsa può essere un video locale o un feed RTSP. Questi dati video devono contenere volti umani che l'app di esempio può poi sfocare.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
- Vertex AI Vision (Streams - Data ingested, Streams - Data consumed, Models - Person / face blur, Warehouse - Video storage)
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per ulteriori informazioni, vedi Pulizia.
Prima di iniziare
- Recupera la posizione dell'origine del video in streaming, in locale
(ad esempio,
./sample_video.mp4
) o l'indirizzo IP del feed RTSP live (ad esempio,rtsp://192.168.1.180:540
). Ti servono queste informazioni per iniziare a importare i dati in uno stream dopo aver creato la risorsa stream. - 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vision AI API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
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.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
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. -
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vision AI API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
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.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
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. -
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
- Installazione dello strumento
vaictl
per l'importazione dei dati in uno stream (sistema operativo: Debian GNU/Linux, architettura CPU: x86_64):- Scarica il pacchetto richiesto:
wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
- Dopo aver scaricato il pacchetto, esegui questo comando nella directory
in cui hai scaricato il file:
sudo apt install ./visionai_0.0-5_amd64.deb
- Verifica l'installazione:
vaictl --help
- Scarica il pacchetto richiesto:
Apri la scheda Stream della dashboard di Vertex AI Vision.
Fai clic su
Registrati.Inserisci
input-stream
come nome del flusso e seleziona la regione in cui vuoi creare il flusso.Fai clic su Registra per creare uno o più flussi.
- PROJECT_ID: il tuo ID progetto Google Cloud .
- LOCATION_ID: il tuo ID sede. Ad esempio,
us-central1
. Per maggiori informazioni, consulta la pagina Località cloud. - RTSP_ADDRESS: L'indirizzo del tuo feed Real Time Streaming
Protocol (RTSP). Ad esempio,
rtsp://192.168.1.180:540
. - PROJECT_ID: il tuo ID progetto Google Cloud .
- LOCATION_ID: il tuo ID sede. Ad esempio,
us-central1
. Ulteriori informazioni. - LOCAL_FILE.EXT: il nome file di un file video locale.
Ad esempio,
my-video.mp4
. - Flag
--loop
: facoltativo. Esegue il loop dei dati dei file per simulare lo streaming. - Importazione dei dati: un feed video viene importato in uno stream.
- Analisi dei dati: dopo l'importazione è possibile aggiungere un modello di AI. Qualsiasi operazione di computer vision può essere eseguita sulle informazioni video inserite.
- Archiviazione dei dati: le due versioni del feed video (lo stream originale e lo stream elaborato dal modello di AI) possono essere archiviate in un warehouse multimediale.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Fai clic sul pulsante
Crea.Inserisci
person-blur-app
come nome dell'app e scegli la tua regione.Fai clic su Crea.
- Nodo di importazione: la risorsa stream che sta già importando dati.
- Nodo di elaborazione: il modello di sfocatura della persona che agisce sui dati importati.
- Nodo di archiviazione: il warehouse multimediale che archivia i video elaborati e funge anche da archivio dei metadati. Il warehouse consente di generare informazioni analitiche sui dati video importati, nonché di archiviare le informazioni dedotte sui dati dai modelli di AI.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Nella riga
person-blur-app
, seleziona Visualizza grafico. Viene visualizzata la visualizzazione del grafico della pipeline di elaborazione.Per aggiungere il nodo del flusso di input, seleziona l'opzione Flussi nella sezione Connettori del menu laterale.
Nella sezione Origine del menu Stream che si apre, seleziona
Aggiungi stream.Nel menu Aggiungi stream, scegli
Seleziona da stream esistenti e selezionaperson-blur-app
dall'elenco delle risorse di stream.Per aggiungere lo stream al grafico dell'app, fai clic su Aggiungi stream.
Per aggiungere il nodo del modello di sfocatura delle persone, seleziona l'opzione Sfocatura delle persone nella sezione Processori generali del menu laterale.
Nel menu delle opzioni "Offuscamento persone" che si apre, lascia
Occlusione completa selezionata e attiva l'opzione Offusca solo i volti.Per aggiungere il nodo di destinazione di output (spazio di archiviazione), seleziona l'opzione Media Warehouse di Vertex AI Vision nella sezione Connettori del menu laterale.
Nel menu Media Warehouse di Vertex AI Vision, fai clic su Connetti warehouse.
Nel menu Connetti warehouse, seleziona
Crea nuovo warehouse. Assegna al warehouse il nomeperson-blur-app
e lascia la durata TTL a 14 giorni.Per aggiungere il warehouse, fai clic su Crea.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza grafico accanto all'app
person-blur-app
nell'elenco.Nella pagina del builder del grafico delle applicazioni, fai clic sul pulsante
Deploy (Implementa).Nella finestra di dialogo di conferma successiva, seleziona Esegui il deployment.
Il completamento dell'operazione di deployment potrebbe richiedere diversi minuti. Al termine del deployment, accanto ai nodi vengono visualizzati segni di spunta verdi.
Apri la scheda Magazzini della dashboard di Vertex AI Vision.
Trova il magazzino
person-blur-output-storage
nell'elenco e fai clic su Visualizza asset.- 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.
- In the Google Cloud console, go to the Warehouses page.
-
Locate
your
person-blur-output-storage
warehouse. - To delete the warehouse, click Actions, click Delete warehouse, and then follow the instructions.
- In the Google Cloud console, go to the Streams page.
-
Locate
your
input-stream
stream. - To delete the stream, click Actions, click Delete stream, and then follow the instructions.
- In the Google Cloud console, go to the Applications page.
-
Locate
your
person-blur-app
app. - To delete the app, click Actions, click Delete application, and then follow the instructions.
- Scopri di più sulle pratiche di AI responsabile.
- Scopri gli altri componenti che puoi aggiungere a un'app in Creazione di un'app.
- Per saperne di più sulle opzioni di archiviazione ed elaborazione degli output, consulta Collegare l'output dell'app a una destinazione di dati.
- Scopri come cercare i dati di Search Warehouse nella console.
- Esplora architetture, diagrammi e best practice di riferimento su Google Cloud. Consulta il nostro Cloud Architecture Center.
Crea uno stream
Per creare un'app di analisi dei flussi video, devi prima creare e registrare una risorsa di stream. In quanto risorsa che riceve i dati video dagli utenti, lo stream è necessario in qualsiasi scenario che crei utilizzando Vertex AI Vision.Console
Per creare un nuovo stream nella console Google Cloud , segui questi passaggi.
Importare video nello stream
Dopo aver creato una risorsa di stream, puoi utilizzare lo strumento a riga di comando vaictl
per inviare i dati video allo stream.
Videocamera IP
Se esegui il test utilizzando una videocamera IP live, devi ottenere l'indirizzo IP della videocamera. Devi fornire queste informazioni con la richiesta, insieme ad altre sostituzioni di variabili:
Questo comando invia un feed RTSP nel flusso. Devi eseguire questo comando nella rete che ha accesso diretto al feed RTSP.
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
Se il comando viene eseguito correttamente, viene visualizzato il seguente output:
[...] 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
File video locale
Puoi anche inviare i dati dei file video a uno stream anziché a un feed video live. Questa opzione può essere utile se non hai accesso a una videocamera IP.
L'unica differenza in questa opzione sono i parametri del comando vaictl
. Anziché trasmettere le informazioni della videocamera IP, trasmetti
il percorso del file video locale. Effettua le seguenti sostituzioni
delle variabili:
Questo comando trasmette in streaming un file video a uno stream. Se utilizzi il
flag --loop
, il video viene riprodotto in loop nello stream finché non
interrompi il comando:
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
Potrebbero essere necessari circa 100 secondi tra l'avvio dell'operazione di caricamento di vaictl
e
la visualizzazione del video nella dashboard.
Una volta disponibile l'importazione dello stream,
puoi visualizzare il feed video nella scheda Stream della dashboard di Vertex AI Vision
selezionando lo stream input-stream
.

Creare un'applicazione di sfocatura dei volti
Dopo aver creato uno stream e importato i dati nello stream, è il momento di creare un'app Vertex AI Vision per elaborare i dati. Un'app può essere considerata una pipeline automatizzata che collega quanto segue:
Nella console Google Cloud , un'app è rappresentata come un grafico. Inoltre, in Vertex AI Vision un grafico dell'app deve avere almeno due nodi: un nodo di origine video (stream) e almeno un altro nodo (un modello di elaborazione o una destinazione di output).
Crea un'applicazione vuota
Prima di poter compilare il grafico dell'app, devi creare un'app vuota.Console
Crea un'app nella Google Cloud console.
Aggiungi nodi dei componenti dell'app
Dopo aver creato l'applicazione vuota, puoi aggiungere i tre nodi al grafico dell'app:
Console
Aggiungi nodi dei componenti all'app nella console.
Aggiungere un nodo di importazione dati
Aggiungere un nodo di elaborazione dei dati
Aggiungere un nodo di archiviazione dei dati
Esegui il deployment dell'applicazione
Dopo aver creato l'app end-to-end con tutti i componenti necessari, l'ultimo passaggio per utilizzarla è il deployment.Console
Visualizzare i dati di output elaborati
Console
Esegui la pulizia
Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.