Vertex AI Vision è una piattaforma basata sull'AI che puoi utilizzare per importare, analizzare e archiviare 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 in diretta (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 uno stream 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 storage. 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 gli aspetti seguenti:
- Crea un'app per il conteggio del numero di persone.
- 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 tuo spazio di archiviazione di Media Warehouse di Vertex AI Vision.
Costi
In questo documento vengono utilizzati 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 saperne di più, consulta Esegui la pulizia.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine and Vision AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
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.
-
Ensure that you have the Create Service Accounts IAM role
(
-
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.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine and Vision AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
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.
-
Ensure that you have the Create Service Accounts IAM role
(
-
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.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
† Ruolo necessario solo se copi un file video di esempio da un bucket Cloud Storage.
Creare 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:
- 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 media warehouse.
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 prima creare un'app vuota.
Console
Crea un'app nella console Google Cloud .
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Fai clic sul pulsante Crea.
Inserisci
occupancy-count-appcome 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é informazioni sui negozi 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 aggiungi
occupancy-count-streamcome 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 nome
occupancy-count-warehousee 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-appnell'elenco.Nella pagina del generatore di grafici delle applicazioni, fai clic sul pulsante Esegui il deployment.
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.
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 è 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 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.debInstalla lo strumento a riga di comando eseguendo il seguente comando:
sudo apt install ./visionai_0.0-5_amd64.debPuoi 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: l'ID progetto Google Cloud .
- LOCATION_ID: il tuo ID località. Ad esempio,
us-central1. Per maggiori informazioni, consulta Località cloud. - LOCAL_FILE.EXT: il nome 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 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 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-warehousenell'elenco e fai clic su Visualizza asset.Nella sezione Conteggio persone o Conteggio veicoli, imposta il valore Min su
1e 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
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona quello che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Elimina singole risorse
Elimina l'istanza VM di Compute Engine
- Nella console Google Cloud , vai alla pagina Istanze VM.
- Seleziona la casella di controllo per l'istanza da eliminare.
- Per eliminare l'istanza, fai clic su Altre azioni, fai clic su Elimina, quindi segui le istruzioni.
Eliminare un magazzino
- Nella console Google Cloud , vai alla pagina Warehouse.
-
Individua
il tuo magazzino
occupancy-count-warehouse. - Per eliminare il magazzino, fai clic su Azioni, fai clic su Elimina magazzino, quindi segui le istruzioni.
Eliminazione di un flusso
- Nella console Google Cloud , vai alla pagina Stream.
-
Individua
il tuo stream
occupancy-count-stream. - Per eliminare lo stream, fai clic su Azioni, fai clic su Elimina stream, quindi segui le istruzioni.
Eliminare un'app
- Nella console Google Cloud , vai alla pagina Applicazioni.
-
Individua
l'app
occupancy-count-app. - Per eliminare l'app, fai clic su Azioni, fai clic su Elimina applicazione, quindi segui le istruzioni.
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, diagrammi e best practice di riferimento su Google Cloud. Consulta il nostro Cloud Architecture Center.