Il monitoraggio degli oggetti tiene traccia degli oggetti rilevati in un video di input. Per inviare
una richiesta di monitoraggio degli oggetti, chiama il
annotate
metodo e specifica OBJECT_TRACKING nel campo features.
Per le entità e le posizioni spaziali rilevate in un video o in segmenti di video, una richiesta di monitoraggio degli oggetti annota il video con le etichette appropriate per queste entità e posizioni spaziali. Ad esempio, un video di veicoli che attraversano un semaforo potrebbe generare etichette come "auto", "camion", "bicicletta", "pneumatici", "luci", "finestra" e così via. Ogni etichetta può includere una serie di riquadri di delimitazione, ognuno riquadro di delimitazione ha un segmento di tempo associato contenente un offset temporale che indica l'offset di durata dall'inizio del video. L'annotazione contiene anche informazioni aggiuntive sull'entità, incluso un ID entità che puoi utilizzare per trovare ulteriori informazioni sull'entità nell' API Google Knowledge Graph Search.
Monitoraggio degli oggetti rispetto al rilevamento delle etichette
Il monitoraggio degli oggetti è diverso dal rilevamento delle etichette. Il rilevamento delle etichette fornisce etichette senza riquadri di delimitazione, mentre il monitoraggio degli oggetti fornisce le etichette dei singoli oggetti presenti in un determinato video insieme al riquadro di delimitazione di ogni istanza dell'oggetto a ogni passo temporale.
Più istanze dello stesso tipo di oggetto vengono assegnate a istanze diverse del messaggio ObjectTrackingAnnotation, in cui tutte le occorrenze di una determinata traccia dell'oggetto vengono mantenute nella propria istanza di ObjectTrackingAnnotation. Ad esempio, se in un video appaiono un'auto rossa e un'auto blu per 5 secondi, la richiesta di monitoraggio deve restituire due istanze di ObjectTrackingAnnotation. La prima istanza conterrà le posizioni di una delle due auto, ad esempio l'auto rossa, mentre la seconda conterrà le posizioni dell'altra auto.
Richiedere il monitoraggio degli oggetti per un video su Cloud Storage
Gli esempi seguenti mostrano il monitoraggio degli oggetti su un file che si trova in Cloud Storage.
REST
Inviare la richiesta di elaborazione
Di seguito è riportato come inviare una richiesta POST al metodo
annotate.
L'esempio utilizza il token di accesso per un account di servizio configurato per il progetto utilizzando Google Cloud CLI. Per istruzioni sull'installazione di Google Cloud CLI,
sulla configurazione di un progetto con un account di
servizio e sul recupero di un token di accesso, consulta la
guida rapida di Video Intelligence.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- INPUT_URI: STORAGE_URI
Ad esempio:
"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- PROJECT_NUMBER: l'identificatore numerico del tuo Google Cloud progetto
Metodo HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON della richiesta:
{
"inputUri": "STORAGE_URI",
"features": ["OBJECT_TRACKING"]
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID"
}
Se la richiesta ha esito positivo, l'API Video Intelligence restituisce il name dell'operazione. L'esempio precedente mostra una risposta di questo tipo, in cui PROJECT_NUMBER è il numero del tuo progetto e OPERATION_ID è l'ID dell'operazione a lunga esecuzione creata per la richiesta.
Ottenere i risultati
Per ottenere i risultati della richiesta, invia una richiesta GET utilizzando il nome dell'operazione restituito dalla chiamata a videos:annotate, come mostrato nell'esempio seguente.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- OPERATION_NAME: il nome dell'operazione restituito dall'API Video Intelligence. Il nome dell'operazione ha il formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID - PROJECT_NUMBER: l'identificatore numerico del tuo Google Cloud progetto
Metodo HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Scaricare i risultati delle annotazioni
Copia l'annotazione dall'origine al bucket di destinazione: (vedi Copiare file e oggetti)
gcloud storage cp gcs_uri gs://my-bucket
Nota: se l'URI GCS di output viene fornito dall'utente, l'annotazione viene archiviata in quell'URI GCS.
Go
Java
Node.js
Per eseguire l'autenticazione in Video Intelligence, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Video Intelligence per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Video Intelligence per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Video Intelligence per Ruby.
Richiedere il monitoraggio degli oggetti per un video da un file locale
Gli esempi seguenti mostrano il monitoraggio degli oggetti su un file archiviato localmente.
REST
Inviare la richiesta di elaborazione
Per eseguire l'annotazione su un file video locale, codifica in base64 i contenuti del file video.
Includi i contenuti codificati in base64 nel campo inputContent della richiesta.
Per informazioni su come codificare in base64 i contenuti di un file video, consulta
Codifica in base64.
Di seguito è riportato come inviare una richiesta POST al
videos:annotate
metodo. L'esempio utilizza il token di accesso per un account di servizio configurato per il progetto utilizzando Google Cloud CLI. Per
istruzioni sull'installazione di Google Cloud CLI, sulla configurazione di un progetto con un account di
servizio e sul recupero di un token di accesso, consulta la
guida rapida di Video Intelligence.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- inputContent: BASE64_ENCODED_CONTENT
Ad esempio:"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- PROJECT_NUMBER: l'identificatore numerico del tuo Google Cloud progetto
Metodo HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON della richiesta:
{
"inputContent": "BASE64_ENCODED_CONTENT",
"features": ["OBJECT_TRACKING"]
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Se la richiesta ha esito positivo, Video Intelligence restituisce il name dell'operazione. L'esempio seguente mostra una risposta di questo tipo, in cui PROJECT_NUMBER è il numero del tuo progetto e OPERATION_ID è l'ID dell'operazione a lunga esecuzione creata per la richiesta.
Ottenere i risultati
Per ottenere i risultati della richiesta, devi inviare una richiesta GET utilizzando il nome dell'operazione restituito dalla chiamata a videos:annotate, come mostrato nell'esempio seguente.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- OPERATION_NAME: il nome dell'operazione restituito dall'API Video Intelligence. Il nome dell'operazione ha il formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID - PROJECT_NUMBER: l'identificatore numerico del tuo Google Cloud progetto
Metodo HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
Go
Java
Node.js
Per eseguire l'autenticazione in Video Intelligence, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Video Intelligence per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Video Intelligence per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Video Intelligence per Ruby.