Il monitoraggio degli oggetti tiene traccia degli oggetti rilevati in un video di input. Per effettuare una richiesta di monitoraggio degli oggetti, chiama il metodo annotate
e specifica OBJECT_TRACKING
nel campo features
.
Per le entità e le posizioni spaziali rilevate in un segmento video o video, una richiesta di monitoraggio degli oggetti annota il video con le etichette appropriate per tali entità e posizioni spaziali. Ad esempio, un video di veicoli che attraversano un segnale stradale potrebbe produrre etichette come "auto", "camion", "bici", "pneumatici", "luci", "finestra" e così via. Ogni etichetta può includere una serie di riquadri di delimitazione, ognuno riquadro di delimitazione è associato a un segmento di tempo contenente un offset temporale che indica l'offset di durata dall'inizio del video. L'annotazione contiene anche informazioni aggiuntive sull'entità, tra cui un ID entità, che puoi utilizzare per trovare ulteriori informazioni sull'entità nell' API Google Knowledge Graph Search.
Confronto tra monitoraggio degli oggetti e rilevamento 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 passaggio temporale.
Più istanze dello stesso tipo di oggetto vengono assegnate a diverse istanze
del messaggio ObjectTrackingAnnotation
, in cui tutte le occorrenze di una determinata
traccia oggetto vengono conservate nella propria istanza di ObjectTrackingAnnotation
. Ad esempio, se in un video sono presenti un'auto rossa e un'auto blu per 5 secondi, la richiesta di monitoraggio dovrebbe 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.
Richiedi il monitoraggio degli oggetti per un video su Cloud Storage
I seguenti esempi mostrano il monitoraggio degli oggetti su un file situato in Cloud Storage.
REST
Invia la richiesta di processo
Di seguito viene mostrato 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 sull'ottenimento di un token di accesso, consulta la guida rapida di Video Intelligence.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- INPUT_URI: STORAGE_URI
Ad esempio:
"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- PROJECT_NUMBER: l'identificatore numerico del tuo progetto Google Cloud
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 valore name
della tua
operazione. Quanto riportato sopra mostra un esempio di questa risposta, dove PROJECT_NUMBER
è il numero del progetto e OPERATION_ID
è l'ID dell'operazione a lunga esecuzione creata per la richiesta.
Ottieni i risultati
Per ottenere i risultati della richiesta, invia un GET
utilizzando il nome dell'operazione restituito dalla chiamata a videos:annotate
, come mostrato nell'esempio seguente.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- 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 progetto Google Cloud
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:
Scarica risultati annotazioni
Copia l'annotazione dall'origine al bucket di destinazione: (vedi Copiare file e oggetti)
gsutil cp gcs_uri gs://my-bucket
Nota: se l'URI GCS di output viene fornito dall'utente, l'annotazione viene archiviata in quell'URI.
Go
Java
Node.js
Per eseguire l'autenticazione a Video Intelligence, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Video Intelligence per .NET.
PHP: segui le istruzioni per la configurazione dei file PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Video Intelligence per PHP.
Ruby: segui le istruzioni per la configurazione di Ruby nella pagina delle librerie client e visita la documentazione di riferimento di Video Intelligence per Ruby.
Richiedi il monitoraggio degli oggetti per i video da un file locale
I seguenti esempi dimostrano il monitoraggio degli oggetti su un file archiviato localmente.
REST
Invia la richiesta di processo
Per eseguire l'annotazione su un file video locale, applica la codifica base64 ai contenuti del file video.
Includi i contenuti con codifica Base64 nel campo inputContent
della richiesta.
Per informazioni su come codificare in base64 i contenuti di un file video, consulta la pagina relativa alla codifica Base64.
Di seguito viene mostrato come inviare una richiesta POST
al metodo videos: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 sull'ottenimento di un token di accesso, consulta la guida rapida di Video Intelligence.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- inputContent: BASE64_ENCODED_CONTENT
Ad esempio:"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- PROJECT_NUMBER: l'identificatore numerico del tuo progetto Google Cloud
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 invierà name
per la tua operazione. Di seguito è riportato un esempio di questa risposta, dove PROJECT_NUMBER
è il numero del progetto e OPERATION_ID
è l'ID dell'operazione a lunga esecuzione creata per la richiesta.
Ottieni i risultati
Per ottenere i risultati della richiesta, devi inviare un codice GET
utilizzando il nome dell'operazione restituito dalla chiamata a videos:annotate
, come mostrato nell'esempio seguente.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- 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 progetto Google Cloud
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 a Video Intelligence, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Video Intelligence per .NET.
PHP: segui le istruzioni per la configurazione dei file PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Video Intelligence per PHP.
Ruby: segui le istruzioni per la configurazione di Ruby nella pagina delle librerie client e visita la documentazione di riferimento di Video Intelligence per Ruby.