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'analisi output e i metadati dei processori di AI utilizzati sui dati dei flussi importati.
Obiettivi
Questo tutorial mostra come:
- Crea una risorsa di stream di input dei dati.
- Inizia a trasmettere i dati video in questa risorsa 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, utilizzi 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.
-
Make sure 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.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure 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.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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:
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.
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.
Importare video nello stream
Dopo aver creato una risorsa 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:
- PROJECT_ID: il tuo ID progetto Google Cloud .
- LOCATION_ID: il tuo ID posizione. 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
.
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:
- PROJECT_ID: il tuo ID progetto Google Cloud .
- LOCATION_ID: il tuo ID posizione. 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.
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 importazione 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
.

Crea un'applicazione di sfocatura dei volti
Dopo aver creato uno stream e importato i dati, è 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:
- 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.
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.
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.
Aggiungi nodi dei componenti dell'app
Dopo aver creato l'applicazione vuota, puoi aggiungere i tre nodi al grafico dell'app:
- Nodo di importazione: la risorsa stream che sta già importando dati.
- Nodo di elaborazione: il modello di sfocatura delle persone che agisce sui dati importati.
- Nodo di archiviazione: il warehouse multimediale che archivia i video elaborati e funge anche da archivio dei metadati. Il magazzino consente di generare informazioni di analisi sui dati video inseriti, nonché di memorizzare le informazioni dedotte sui dati dai modelli di AI.
Console
Aggiungi nodi dei componenti all'app nella console.
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.
Aggiungere un nodo di importazione dati
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 dagli 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.
Aggiungere un nodo di elaborazione dei dati
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.
Aggiungere un nodo di archiviazione dei dati
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 Warehouse multimediale 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.
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
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 (Esegui il deployment).Nella finestra di dialogo di conferma successiva, seleziona Implementa.
Il completamento dell'operazione di deployment potrebbe richiedere diversi minuti. Al termine del deployment, accanto ai nodi vengono visualizzati segni di spunta verdi.
Visualizzare i dati di output elaborati
Console
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.
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.
Elimina il progetto
- 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.
Elimina singole risorse
Eliminare un warehouse
- 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.
Eliminazione di un flusso
- 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.
Eliminare un'app
- 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.
Passaggi successivi
- 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 di riferimento, diagrammi e best practice su Google Cloud. Consulta il nostro Cloud Architecture Center.