Questa pagina mostra come creare un'app e combinare componenti come flussi di input, modelli per l'analisi e warehouse per l'archiviazione da utilizzare sulla piattaforma dell'app Vertex AI Vision.
Per creare un'app, devi considerare le origini dati, l'analisi che vuoi eseguire e come vuoi archiviare i risultati. Un'app end-to-end può avere forme diverse a seconda del caso d'uso. Di conseguenza, la modalità di creazione di un'app dipenderà dal tuo scopo.
Prima di iniziare, valuta il tuo caso d'uso e il tuo scopo dal punto di vista dell'IA responsabile e considera l'impatto che i tuoi modelli e le tue applicazioni potrebbero avere sugli utenti finali in caso di errore. Scopri di più sui primi passaggi per valutare il tuo caso d'uso in termini di equità. Inoltre, assicurati che il tuo utilizzo di Vertex AI Vision sia conforme ai Termini di servizio di Google Cloudo a una variante offline e ai Termini URL incorporati, come le Norme relative all'utilizzo accettabile di Google Cloud.
Durante la creazione dell'applicazione, tieni presente che le tecnologie di visione AI hanno il potenziale di rafforzare o introdurre pregiudizi ingiusti e di incidere su diritti umani fondamentali. Lo sviluppo dell'applicazione dovrebbe comportare una riflessione etica basata sui valori della tua azienda e una due diligence legale per il tuo caso d'uso specifico, inclusi i casi d'uso ad alto rischio. Come per tutte le tecnologie, devi prendere in considerazione tutte le leggi e normative vigenti che regolano l'utilizzo delle tecnologie di AI/ML nella regione in cui implementi la tecnologia. È responsabilità dei clienti eseguire la due diligence necessaria per implementare casi d'uso considerati ad alto rischio in una determinata regione.
Crea una nuova applicazione
Prima di poter aggiungere componenti come uno stream o modelli a un'app, devi creare l'app stessa. Per essere implementate, tutte le app devono contenere quanto segue:
- Un nodo di input dello stream (origine dati).
- Almeno un altro nodo del componente, ad esempio un modello o un magazzino.
Creare una nuova applicazione personalizzata
Console
Crea un'app nella console Google Cloud.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Fai clic sul pulsante
Crea.Inserisci il nome di un'app e scegli la tua regione. Regioni supportate.
Fai clic su Crea.
Creare un'applicazione con un modello
Console
Crea un'app nella console Google Cloud.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Fai clic sul pulsante
Crea.Inserisci il nome di un'app e scegli la tua regione. Regioni supportate.
Fai clic su Crea.
Nella pagina del generatore di applicazioni, fai clic sul nodo Modello di applicazione.
Nel riquadro delle impostazioni laterali, fai clic sul pulsante Seleziona modello.
Seleziona un modello dal menu a discesa.
Aggiungere l'input stream
Un'applicazione deve contenere un nodo stream video. Non puoi eseguire il deployment dell'applicazione se non aggiungi un nodo Streams.
Se l'applicazione non è dipiattaforma, l'aggiornamento dell'input stream verrà applicato automaticamente all'applicazione. Se l'app è già stata dispiattata, devi annullarne il dispiegamento e aggiornarla affinché le modifiche vengano applicate. Per ulteriori dettagli, consulta la sezione Aggiornare un'app.
Console
Aggiungi uno stream a un'app nella console Google Cloud.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Fai clic su Visualizza app per la tua app.
Nell'elenco laterale dei componenti, scegli Stream video dall'elenco dei Connettori. Il nodo stream viene aggiunto al grafo dell'app e si apre un menu laterale per gli stream video.
Seleziona Aggiungi flussi video.
Se scegli
Seleziona da flussi esistenti, seleziona lo stream esistente e Aggiungi stream.Se scegli di
registrare nuovi flussi, aggiungi un nome al nuovo flusso e seleziona Aggiungi flussi.
REST
Per aggiungere uno stream a un'app, invia una richiesta POST utilizzando il metodo projects.locations.applications.addStreamInput.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT: il tuo Google Cloud ID progetto o numero di progetto.
- LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Consulta le regioni disponibili. - APPLICATION_ID: l'ID dell'applicazione di destinazione.
- STREAM_ID: l'ID dello stream di destinazione.
Metodo HTTP e URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput
Corpo JSON della richiesta:
{ "applicationStreamInputs": [ { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } }, { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
Aggiungere input stream con annotazioni dei nodi
Quando crei uno stream di input dell'applicazione, puoi aggiungere annotazioni allo stream utilizzando l'API Vertex AI Vision. Puoi anche aggiungere annotazioni a un nodo nella console Google Cloud.
Console
L'esempio seguente aggiunge le annotazioni disponibili (STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
e STREAM_ANNOTATION_TYPE_CROSSING_LINE
) a un modello di conteggio delle persone.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Nella pagina di creazione dell'applicazione, seleziona il modello con l'input stream a cui vuoi aggiungere le annotazioni.
Nel riquadro delle impostazioni del modello laterale, espandi la sezione "Impostazioni avanzate". Dopo aver espanso la sezione, fai clic sul pulsante Crea linee/zone attive.
Nella visualizzazione della galleria di stream, seleziona uno stream di input per disegnare linee o zone attive.
Nella visualizzazione dell'editor, scegli Aggiungi linee con più punti o Aggiungi poligono semplice per aggiungere annotazioni. Utilizza il riquadro laterale per rinominare il nome della zona o della linea, eliminare zone/linee esistenti o cambiare la direzione della linea.
REST e riga di comando
Il codice seguente aggiunge annotazioni allo stream.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT: il tuo Google Cloud ID progetto o numero di progetto.
- LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Consulta le regioni disponibili. - APPLICATION_ID: l'ID dell'applicazione di destinazione.
- STREAM_ID: l'ID dello stream di destinazione.
- NODE_NAME: il nome del nodo target dal grafo dell'app. Ad esempio,
builtin-occupancy-count
. - ANNOTATION_ID: l'ID dell'annotazione target.
- ANNOTATION_DISPLAYNAME: il nome visualizzato specificato dall'utente dell'annotazione target.
- ANNOTATION_TYPE: uno dei valori enum disponibili. Questo tipo deve corrispondere all'
annotation_payload
oggettoactiveZone
ocrossingLine
. I valori disponibili sono:STREAM_ANNOTATION_TYPE_UNSPECIFIED
STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
STREAM_ANNOTATION_TYPE_CROSSING_LINE
normalizedVertices
: ogni vertice è specificato dai valori delle coordinate x e y. I valori delle coordinate sono valori float normalizzati [0,1] rispetto all'immagine originale; 0,0 è X_MIN o Y_MIN, 1,0 è X_MAX o Y_MAX.
Metodo HTTP e URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput
Corpo JSON della richiesta:
{ "applicationStreamInputs": [ { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "nodeAnnotations": [ { "node": "NODE_NAME", "annotations": [ { "id": "ANNOTATION_ID", "displayName": "ANNOTATION_DISPLAYNAME", "sourceStream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "type": ANNOTATION_TYPE, "activeZone": { "normalizedVertices": { "x": 0.07434944, "y": 0.18061674 }, "normalizedVertices": { "x": 0.64684016, "y": 0.16079295 }, "normalizedVertices": { "x": 0.6047088, "y": 0.92070484 }, "normalizedVertices": { "x": 0.1251549, "y": 0.76651984 } } } ] } ] } } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
Rimuovere l'input stream
REST
Per rimuovere uno stream da un'app, invia una richiesta POST utilizzando il metodo projects.locations.applications.removeStreamInput.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT: il tuo Google Cloud ID progetto o numero di progetto.
- LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Consulta le regioni disponibili. - APPLICATION_ID: l'ID dell'applicazione di destinazione.
- STREAM_ID: l'ID dello stream di destinazione.
Metodo HTTP e URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput
Corpo JSON della richiesta:
{ "targetStreamInputs": [ { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" }, { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput" | Select-Object -Expand Content
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
Aggiungere un modello Vertex AI Vision preaddestrato
Dopo aver creato un'app, puoi aggiungere un modello e collegarlo a stream, altri modelli o a un media warehouse.
Esistono due tipi di modelli: modelli preaddestrati o modelli addestrati dall'utente. Analogamente, i modelli addestrati dall'utente possono essere di due tipi: AutoML o con addestramento personalizzato:
- I modelli pre-addestrati hanno uno scopo specifico, vengono addestrati su dati generalizzati e sono pronti per l'uso.
- I modelli AutoML o con addestramento personalizzato addestrati dall'utente richiedono di identificare e fornire dati di esempio, quindi di addestrare modelli più adatti al tuo caso d'uso specifico. Addestra questi modelli utilizzando Vertex AI, un prodotto che offre due opzioni di addestramento: modelli addestrati con AutoML e modelli con addestramento personalizzato. Per ulteriori informazioni, consulta Scegliere un metodo di addestramento.
Segui le istruzioni riportate di seguito per aggiungere un modello Vertex AI Vision preaddestrato al grafo dell'app.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Nella pagina di creazione dell'applicazione, seleziona il modello da aggiungere dall'elenco Modelli di IA. Ogni modello ha impostazioni di configurazione individuali.
Per collegare questo modello a un nodo di origine di input, seleziona il nodo di origine e
Aggiungi output.Seleziona il nodo del modello AI appena creato dall'elenco di Nodi disponibili.
Aggiungi un modello Vertex AI addestrato dall'utente
Dopo aver creato un'app, puoi aggiungere un modello e collegarlo a stream, altri modelli o a un media warehouse.
Esistono due tipi di modelli: modelli preaddestrati o modelli addestrati dall'utente. Analogamente, i modelli addestrati dall'utente possono essere di due tipi: AutoML o con addestramento personalizzato:
- I modelli pre-addestrati hanno uno scopo specifico, vengono addestrati su dati generalizzati e sono pronti per l'uso.
- I modelli AutoML o con addestramento personalizzato addestrati dall'utente richiedono di identificare e fornire dati di esempio, quindi di addestrare modelli più adatti al tuo caso d'uso specifico. Addestra questi modelli utilizzando Vertex AI, un prodotto che offre due opzioni di addestramento: modelli addestrati con AutoML e modelli con addestramento personalizzato. Per ulteriori informazioni, consulta Scegliere un metodo di addestramento.
Aggiungi un modello di flusso di rilevamento di oggetti AutoML di Vertex AI
Segui le istruzioni riportate di seguito per aggiungere al grafo dell'app un modello di flusso di rilevamento di oggetti AutoML di Vertex AI che hai addestrato.
Prima di poter addestrare un modello AutoML di Vertex AI, devi preparare i dati di rilevamento degli oggetti e creare un set di dati.
Addestra un modello da utilizzare in Vertex AI Vision
Dopo aver creato un set di dati con una raccolta rappresentativa di dati in Vertex AI, puoi addestrare un modello da utilizzare in Vertex AI Vision.
Console
Nella console Google Cloud, nella dashboard di Vertex AI, vai alla pagina Set di dati.
Fai clic sul nome del set di dati che vuoi utilizzare per addestrare il modello per aprire la relativa pagina dei dettagli.
Se il tipo di dati utilizza set di annotazioni, seleziona il set di annotazioni da utilizzare per questo modello.
Fai clic su Addestra nuovo modello.
Nella pagina Addestra nuovo modello, completa i seguenti passaggi per il modello di rilevamento di oggetti nelle immagini AutoML:
Nella sezione Metodo di addestramento del modello, scegli
AutoML.Nella sezione Scegli dove utilizzare il modello, seleziona
Vertex AI Vision.Fai clic su Continua.
Inserisci i valori per le sezioni Dettagli del modello, Opzioni di addestramento e Computing e prezzi. Per informazioni più dettagliate, consulta Addestramento di un modello AutoML (console Google Cloud).
Fai clic su Inizia addestramento.
L'addestramento del modello può richiedere molte ore, a seconda delle dimensioni e della complessità dei dati e del budget di addestramento, se ne hai specificato uno. Puoi chiudere questa scheda e tornarci in un secondo momento. Riceverai un'email al completamento dell'addestramento del modello.
Aggiungi il modello addestrato all'app
Al termine dell'addestramento del modello, puoi aggiungerlo all'app Vertex AI Vision.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Nella pagina di creazione dell'applicazione, seleziona Aggiungi modello Vertex AI dall'elenco dei componenti secondari. Se selezioni questa opzione, si apre un menu laterale.
Nel menu Aggiungi modello Vertex AI, lascia selezionata l'opzione
Importa un modello addestrato da Vertex AI, quindi scegli il modello dall'elenco dei modelli AutoML di Vertex AI esistenti.Dopo aver scelto il modello da importare, seleziona Aggiungi modello.
Dopo aver fatto clic sul pulsante Aggiungi modello, sul lato della pagina del generatore di grafici verrà visualizzato un modello in attesa. Dopo alcuni secondi, il modello è pronto per l'uso.
Aggiungere un modello personalizzato Vertex AI
Puoi anche importare i modelli addestrati personalizzati di Vertex AI in Vertex AI Vision per utilizzarli per l'analisi dei dati. Questi modelli con addestramento personalizzato devono avere le seguenti proprietà:
- Il modello deve essere stateless, poiché l'input del modello sono le immagini che provengono da istanze di applicazioni (stream) diverse e potrebbero non essere in ordine. Se hai bisogno di un'elaborazione in streaming con stato, potresti dover mantenere gli stati all'interno del tuo contenitore.
- Le dimensioni dell'input del modello sono limitate a 1,5 MB. Di conseguenza, Vertex AI Vision deve comprimere l'immagine RGB originale in un formato con perdita di dati, come JPG.
Segui le istruzioni riportate di seguito per aggiungere un modello di video addestrato personalizzato di Vertex AI esistente che hai addestrato al grafo dell'app.
Per informazioni su come creare un modello con addestramento personalizzato Vertex AI con un container personalizzato, consulta Utilizzare un container personalizzato per le previsioni.
Specifica un file YAML delle istanze
Quando aggiungi un modello addestrato in base alle tue esigenze con Vertex AI, devi specificare un
file YAML delle istanze (instances.yaml
) archiviato in Cloud Storage. Questo
file specifica l'input previsto per il contenitore del modello.
Vertex AI invia la richiesta di previsione in un formato:
{
"instances": [
<value>|<simple/nested list>|<object>,
...
]
}
Qui, instances.yaml
definisce lo schema del payload. Per ulteriori informazioni, consulta Generare previsioni online da modelli con addestramento personalizzato.
Vertex AI Vision supporta solo i modelli con addestramento personalizzato con esattamente un input di previsione denominato. Questo tipo di input deve essere una stringa JPEG codificata. Lo schema dell'input della previsione deve essere specificato con il file YAML dello schema delle istanze. Questo file YAML dello schema deve avere il formato di un oggetto schema OpenAPI.
Ad esempio, lo schema seguente riceverà la richiesta con l'immagine codificata in un campo chiamato image_bytes
:
properties:
image_bytes:
type: string
Il modello personalizzato riceve l'input di previsione nel seguente formato:
{
"instances": [
{
"image_bytes" : {
"b64": "BASE64_ENCODED_IMAGE_BYTES"
}
}
]
}
Prima di importare il modello in Vertex AI Vision, verifica che funzioni correttamente con questo input.
Specifica un file YAML di previsioni
Quando aggiungi un modello addestrato in base alle esigenze di Vertex AI, puoi specificare un
file YAML di previsione (predictions.yaml
) archiviato in Cloud Storage. Questo
file specifica l'output del contenitore del modello.
Questo file è facoltativo, ma consigliato per indicare a Vertex AI Vision la struttura di output del modello. Ad esempio, il seguente
classification_1.0.0.yaml
file descrive le informazioni sull'output del modello per un modello di classificazione delle immagini:
title: Classification
type: object
description: >
The predicted AnnotationSpecs.
properties:
ids:
type: array
description: >
The resource IDs of the AnnotationSpecs that had been identified.
items:
type: integer
format: int64
enum: [0] # As values of this enum all AnnotationSpec IDs the Model
# was trained on will be populated.
displayNames:
type: array
description: >
The display names of the AnnotationSpecs that had been identified,
order matches the IDs.
items:
type: string
enum: [""] # As values of this enum all AnnotationSpec display_names
# the Model was trained on will be populated.
confidences:
type: array
description: >
The Model's confidences in correctness of the predicted IDs, higher
value means higher confidence. Order matches the Ids.
items:
type: number
format: float
minimum: 0.0
maximum: 1.0
Aggiungi il modello con addestramento personalizzato
Utilizza il seguente esempio per aggiungere il modello addestrato personalizzato di Vertex AI alla tua app.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Nella pagina di creazione dell'applicazione, seleziona Aggiungi modello Vertex AI dall'elenco dei componenti secondari. Se selezioni questa opzione, si apre un menu laterale.
Nel menu Aggiungi modello Vertex AI, lascia selezionata l'opzione
Importa un modello addestrato da Vertex AI, quindi scegli il modello dall'elenco dei modelli AutoML di Vertex AI esistenti.Specifica un nome per il modello.
Specifica il file YAML delle istanze in Cloud Storage che definisce il formato di una singola istanza utilizzata nelle richieste di previsione e spiegazione.
(Facoltativo) Specifica il file YAML dello schema delle previsioni in Cloud Storage che definisce il formato di una singola previsione o spiegazione.
Dopo aver fornito il nome del modello, le istanze e le informazioni sulle previsioni, selezionate Aggiungi modello.
Dopo aver fatto clic sul pulsante Aggiungi modello, sul lato della pagina del generatore di grafici verrà visualizzato un modello in attesa. Dopo alcuni secondi, il modello è pronto per l'uso.
Facoltativo. Allega i metadati dell'applicazione
Oltre ai byte delle immagini, hai la possibilità di impostare
attach_application_metadata
per chiedere alla piattaforma per app Vertex AI Vision
di includere i metadati dell'applicazione da inviare al
container personalizzato.
I metadati hanno il seguente schema:
'appPlatformMetadata': {
'application': STRING;
'instanceId': STRING;
'node': STRING;
'processor': STRING;
}
Facoltativo. Aggiungi argomento Pub/Sub di configurazione dinamica
Per controllare dinamicamente la frequenza dei fotogrammi con cui l'operatore personalizzato Vertex invia i fotogrammi video ai contenitori personalizzati di Vertex, puoi creare un argomento Pub/Sub. Aggiungilo alla sezione Dynamic Configuration
delle impostazioni del nodo.
Se l'argomento Pub/Sub è configurato, la frequenza fotogrammi iniziale è 0. Durante l'elaborazione del video, puoi inviare messaggi Pub/Sub all'argomento Pub/Sub nel seguente formato in tempo reale per modificare la frequenza frame:
{
"stream_id": "input-stream-id",
"fps": 5,
}
Il campo stream_id
deve corrispondere all'ID dello stream di input dell'applicazione.
Account di servizio e autorizzazioni
La credenziale di servizio predefinita del contenitore personalizzato è stata configurata per il service account di proprietà di Google della piattaforma di app Vertex AI Vision.
Per accedere ad altri Google Cloud
servizi dal contenitore, concedi l'autorizzazione appropriata a:
service-<var>PROJECT_NUMBER</var>@gcp-sa-visionai.iam.gserviceaccount.com
Facoltativo. Modella la notifica di eventi con le funzioni Cloud Run e Pub/Sub
In Vertex AI Vision, i modelli ricevono dati multimediali da dispositivi come le videocamere, eseguono previsioni di IA sui dati e producono annotazioni in modo continuo. Spesso invii i dati elaborati a una destinazione dati ("data sink"), come un data warehouse multimediale o BigQuery, per ulteriori job di analisi. Tuttavia, potresti trovarti in una situazione in cui alcune annotazioni devono essere gestite in modo diverso o le esigenze di annotazione sono urgenti. Le integrazioni con Cloud Run e Pub/Sub ti aiutano a soddisfare queste esigenze.
Modelli supportati
I seguenti modelli offrono la generazione di eventi delle funzioni Cloud Run e le integrazioni di notifiche di eventi Pub/Sub:
- Modello di analisi delle presenze
- Modelli addestrati personalizzati di Vertex AI
Configura le funzioni Cloud Run per elaborare l'output del modello
Per attivare le notifiche basate su eventi, devi prima configurare le funzioni Cloud Run per elaborare l'output del modello e generare eventi.
La funzione Cloud Run si connette al modello e ne ascolta l'output come azione di post-elaborazione. La funzione Cloud Run deve restituire un AppPlatformCloudFunctionResponse
. Gli eventi
(appplatformeventbody
) vengono
inviati all'argomento Pub/Sub che configuri nel passaggio successivo.
Per visualizzare una funzione Cloud Run di esempio, consulta Abilitare la notifica degli eventi del modello con Cloud Functions e Pub/Sub.
Segui le istruzioni riportate di seguito per inviare lo stream di output del modello alla funzione Cloud Run:
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona
Visualizza app accanto al nome della tua applicazione nell'elenco.Fai clic sul modello supportato per aprire il riquadro laterale dei dettagli del modello.
Nell'elenco Post-elaborazione della sezione Notifica evento, seleziona la funzione Cloud Run esistente o creane una nuova.
Attivare la notifica degli eventi del modello con Pub/Sub
Dopo aver configurato le funzioni Cloud Run per elaborare l'output del modello e generare eventi, puoi configurare la notifica degli eventi con Pub/Sub. Per leggere i messaggi da un argomento, devi anche scegliere e creare una sottoscrizione Pub/Sub.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona
Visualizza app accanto al nome della tua applicazione nell'elenco.Fai clic sul modello supportato per aprire il riquadro laterale dei dettagli del modello.
Nella sezione Notifica evento, seleziona Configura la notifica evento.
Nella finestra delle opzioni Configura Pub/Sub per le notifiche degli eventi che si apre, scegli l'argomento Pub/Sub esistente o creane uno nuovo.
Nel campo Frequenza, imposta un valore intero per la frequenza in secondi per cui è possibile inviare una notifica per lo stesso tipo di evento.
Fai clic su Configura.
Collega l'output del modello a un nodo a valle
Dopo aver creato un nodo modello, puoi collegarne l'output a un altro nodo.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Fai clic su un nodo del modello che genera dati nel generatore di grafici dell'applicazione (ad esempio il nodo del modello Conteggio persone).
Nel riquadro delle impostazioni laterali, fai clic sul pulsante Aggiungi output.
Aggiungi un nuovo output e scegli un nuovo nodo di output da aggiungere oppure seleziona un Nodo disponibile esistente a cui inviare l'output.
Collega l'output a una destinazione dati
Dopo aver creato lo stream di importazione dei dati e aver aggiunto i nodi di elaborazione alla tua app, devi scegliere dove inviare i dati elaborati. Questa destinazione dati è l'endpoint del grafo dell'app che accetta dati in streaming senza produrne. La destinazione che scegli dipende da come utilizzi i dati di output dell'app.

Puoi collegare i dati di output dell'app alle seguenti destinazioni dati:
Vision Warehouse: archivia i dati video originali o analizzati che puoi visualizzare e consultare.
Per ulteriori informazioni sull'invio dei dati di output dell'app a un data warehouse Vision, consulta Collegare e archiviare i dati in un data warehouse.
BigQuery: archivia i dati in BigQuery per utilizzare le sue funzionalità di analisi offline.
Per ulteriori informazioni sull'invio dei dati di output dell'app a BigQuery, consulta Collegare e archiviare i dati in BigQuery.
Dati dei live streaming: se vuoi un controllo più granulare per intervenire in base agli analisi in tempo reale, puoi ricevere l'output in tempo reale dalla tua app.
Per saperne di più su come trasmettere in streaming direttamente i dati di output dell'app, consulta Attivare l'output in live streaming.
Aggiornare un'app
App non di cui non è stato eseguito il deployment
Apporta le modifiche necessarie all'app (ad esempio aggiungendo o rimuovendo i nodi dei componenti). Vertex AI Vision memorizzerà automaticamente le modifiche.
Passaggi successivi
- Scopri come eseguire il deployment dell'app per importare e analizzare i dati in Eseguire il deployment di un'applicazione.
- Leggi le istruzioni su come iniziare l'importazione dei dati dallo stream di input di un'app in Creare e gestire gli stream.
- Scopri come elencare le app e visualizzare le istanze di un'app di cui è stato eseguito il deployment in Gestione delle applicazioni.
- Scopri come leggere i dati di input dell'app da uno stream di importazione o i dati di output del modello analizzato in Leggere i dati dello stream.