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 un'app per il conteggio del numero di partecipanti.
- Esegui il deployment dell'app per utilizzarla.
- Configura un computer remoto per lo streaming video.
- Importa il video in streaming in un nodo di stream nella tua app.
- Cerca video nel warehouse multimediale di Vertex AI Vision.
Costi
In questo documento, utilizzi i seguenti componenti fatturabili di Google Cloud:
- Vertex AI Vision (Streams - Data ingested, Streams - Data consumed, Models - Occupancy analytics suite, Warehouse - Video storage)
- Compute Engine
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
- 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 Compute Engine and Vision AI APIs.
-
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 following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer†.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - 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.
-
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 Compute Engine and Vision AI APIs.
-
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 following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer†.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - 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.
-
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
† Ruolo necessario solo se copi un file video di esempio da un bucket Cloud Storage.
Crea un'applicazione di conteggio dell'occupazione
Dopo aver configurato l'ambiente, il primo passaggio consiste nel creare l'app che elabora 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'app 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
occupancy-count-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 di flusso che importa i dati inviati da un'istanza VM di Compute Engine che crei.
- Nodo di elaborazione: il modello di analisi dell'occupazione 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 di analisi sui dati video importati, nonché di archiviare le informazioni che i modelli di AI deducono dai dati.
Console
Aggiungi nodi dei componenti all'app nella console.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Nella riga
occupancy-count-app
, seleziona Visualizza grafico. Viene visualizzata la visualizzazione del grafico della pipeline di elaborazione.
Aggiungere un nodo di importazione dati
Per aggiungere un nodo di 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 flussi, scegli
Registra nuovi flussi e aggiungioccupancy-count-stream
come nome del flusso.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 conteggio dell'occupazione, seleziona l'opzione Analisi dell'occupazione nella sezione Modelli specializzati del menu laterale.
Lascia selezionate le opzioni predefinite
Persone e Veicoli.
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 nomeoccupancy-count-warehouse
e lascia la durata TTL a 14 giorni.Fai clic sul pulsante Crea per aggiungere il warehouse.
Esegui il deployment dell'app per utilizzarla
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
occupancy-count-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.
Configurare una macchina remota per lo streaming video
Ora che hai un'app per il conteggio dell'occupazione di cui è stato eseguito il deployment pronta a ricevere, elaborare e archiviare i dati in streaming, devi effettivamente trasmettere i dati video nell'app.
In questo tutorial creerai un'istanza VM di Compute Engine che ospita un video e invierai i dati di streaming video dalla VM.
Crea una VM Linux
Il primo passaggio per inviare video da un'istanza VM di Compute Engine consiste nel creare l'istanza VM.
Console
Nella console, vai alla pagina Istanze VM.
Seleziona il progetto e fai clic su Continua.
Fai clic su Crea istanza.
Specifica un Nome per la VM. Per ulteriori informazioni, consulta le convenzioni per la denominazione delle risorse.
(Facoltativo) Modifica la zona per questa VM. Compute Engine randomizza l'elenco delle zone all'interno di ogni regione per incoraggiare l'utilizzo in più zone.
Accetta le opzioni predefinite rimanenti. Per saperne di più su queste opzioni, consulta Crea e avvia una VM.
Per creare e avviare la VM, fai clic su Crea.
Configura l'ambiente VM
Dopo l'avvio della VM, puoi utilizzare la console per stabilire una connessione SSH nel browser. Dopo aver stabilito questa connessione, puoi scaricare
lo strumento a riga di comando vaictl
per importare video nella tua app.
Console
Stabilisci una connessione SSH alla tua VM
Nella console, vai alla pagina Istanze VM.
Nella sezione Connetti della riga dell'istanza che hai creato, fai clic su SSH. Viene aperta una connessione SSH in una nuova finestra del browser.
Scaricare lo strumento a riga di comando vaictl
Nella finestra SSH nel browser, scarica lo strumento a riga di comando Vertex AI Vision (
vaictl
) utilizzando il seguente comando:wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
Installa lo strumento a riga di comando eseguendo il seguente comando:
sudo apt install ./visionai_0.0-5_amd64.deb
Puoi testare l'installazione eseguendo questo comando:
vaictl --help
Importare un file video nell'app
Dopo aver configurato l'ambiente VM, puoi copiare un file video di esempio e poi
utilizzare vaictl
per trasmettere in streaming i dati video all'app di conteggio dell'occupazione.
SSH nel browser
Copia un video di esempio nella VM
- Nella finestra SSH nel browser per la tua VM, copia un video di esempio con il seguente comando
gcloud storage cp
. Sostituisci la seguente variabile:- SOURCE: la posizione di un file video da utilizzare. Puoi
utilizzare la tua origine file video (ad esempio,
gs://BUCKET_NAME/FILENAME.mp4
) o uno dei video di esempio:
gcloud storage cp SOURCE .
- SOURCE: la posizione di un file video da utilizzare. Puoi
utilizzare la tua origine file video (ad esempio,
Trasmettere in streaming video dalla VM e importare i dati nell'app
- Per inviare questo file video locale al flusso di input dell'app, utilizza il
comando seguente. Devi effettuare le seguenti 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. - 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 'occupancy-count-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 occupancy-count-stream
.

Cercare contenuti video nel warehouse di archiviazione
Dopo aver importato i dati video nell'app di elaborazione, puoi visualizzare i dati video analizzati e cercarli in base alle informazioni di analisi dell'occupazione.
Console
Apri la scheda Magazzini della dashboard di Vertex AI Vision.
Trova il magazzino
occupancy-count-warehouse
nell'elenco e fai clic su Visualizza asset.Nella sezione Conteggio persone o Conteggio veicoli, imposta il valore Min su
1
e il valore Max su5
.Per filtrare i dati video elaborati archiviati in Media Warehouse di Vertex AI Vision, fai clic su Cerca.
Una visualizzazione dei dati video archiviati che corrispondono ai criteri di ricerca nella console Google Cloud . Crediti video: Elizabeth Mavor su Pixabay (criteri di ricerca applicati).
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
Elimina l'istanza VM di Compute Engine
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Eliminare un warehouse
- In the Google Cloud console, go to the Warehouses page.
-
Locate
your
occupancy-count-warehouse
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
occupancy-count-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
occupancy-count-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.