Monitoraggio degli oggetti nei video
Dopo aver creato (addestrato) un modello, puoi richiedere una previsione per
uno o più video utilizzando batchPredict
. Devi fornire un file CSV con un elenco di video per il metodo batchPredict
.
Il metodo batchPredict
annota i video tramite rilevamento e monitoraggio
per gli oggetti previsti dal modello.
La durata massima di un modello è di due anni. Dopo due anni, devi creare e addestrare un nuovo modello per continuare ad annotare il tuo video.
Esempio di previsione
Per richiedere un batch di previsioni da AutoML Video Object Tracking, crea un file CSV che elenca i percorsi Cloud Storage dei video a cui vuoi annotare. Puoi anche specificare un'ora di inizio e di fine per indicare ad AutoML Video Object Tracking solo per annotare un segmento del video. L'ora di inizio deve essere pari o superiore a zero e deve precedere l'ora di fine. L'ora di fine deve essere successiva all'ora di inizio. e inferiore o uguale alla durata del video.
L'esempio seguente mostra come aggiungere annotazioni a un intero video
che specifica un'ora di inizio e di fine come 0,inf
.
gs://my-videos-vcm/cow_video.mp4,0,inf gs://my-videos-vcm/bird_video.mp4,10.00000,15.50000
Devi anche specificare un percorso del file di output in cui AutoML Video Object Tracking deve e scrivere i risultati delle previsioni dal modello. Questo percorso deve essere un Bucket e oggetto Cloud Storage di cui disponi delle autorizzazioni di scrittura.
Ogni video può avere una durata massima di 3 ore e una dimensione file massima di 50 GB. AutoML Video Object Tracking può generare previsioni per circa 100 ore. di video in 12 ore di tempo di elaborazione.
UI web
- Apri l'interfaccia utente per il monitoraggio degli oggetti video AutoML.
- Fai clic sul modello che vuoi utilizzare
dall'elenco di lettura.
- Nella scheda Test e Usa Tab per il modello, segui questi passaggi:
- In Testa il modello, seleziona un file CSV da utilizzare per la previsione. Il file CSV deve fornire un elenco dei video a cui vuoi aggiungere un'annotazione.
Sempre nella sezione Testa il modello, seleziona una directory all'interno del bucket Cloud Storage per ricevere i risultati dell'annotazione.
Magari vuoi creare dei "risultati" specifici cartella del bucket Cloud Storage per conservare i risultati dell'annotazione.
- Fai clic su Ottieni previsioni.
Il processo per ottenere previsioni può richiedere del tempo, a seconda sul numero di video a cui vuoi che vengano annotate.
Al termine del processo, i risultati vengono visualizzati nella pagina per il modello in Previsioni recenti. Per visualizzare segui questi passaggi:
- Nella sezione Previsioni recenti della Nella colonna Previsioni, fai clic su Visualizza. per la previsione che vuoi esaminare.
- In Video, seleziona il nome del video di cui vuoi visualizzare l'anteprima. risultati pertinenti.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- model-id: sostituisci con l'ID del tuo modello. L'ID è l'ultimo elemento della
del modello. Ad esempio, se il nome del modello è
projects/project-number/locations/location-id/models/VOT6312181905852727296
, l'ID del modello èVOT6312181905852727296
. - request-id: assegna un valore digitale a questo campo.
- bucket-name: sostituisci con il nome di Cloud Storage
di sincronizzare la directory di una VM
con un bucket. Ad esempio:
my-project-vcm
. - input-file: sostituisci con il nome del tuo file CSV che identifica i video da annotare.
- output-storage-path: sostituisci con il percorso della
Bucket Cloud Storage in cui deve essere archiviato l'output delle previsioni.
AutoML Video Object Tracking crea una sottocartella per i risultati
in questo percorso e denominato nel seguente formato:
prediction-model_name-timestamp
. La sottocartella contiene un file di previsione per ogni video in la richiesta batch. Devi disporre delle autorizzazioni di scrittura per questo percorso. - Nota:
- project-number: il numero del progetto
- location-id: la regione Cloud in cui l'annotazione
deve avvenire. Le regioni cloud supportate sono:
us-east1
,us-west1
,europe-west1
,asia-east1
. Se non viene specificata alcuna regione, viene verrà determinato in base alla posizione del file video.
Metodo HTTP e URL:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models/model-id:batchPredict
Corpo JSON della richiesta:
{ "request_id": "request-id", "inputConfig": { "gcsSource": { "inputUris": ["gs://bucket-name/input-file.csv"] } }, "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://output-storage-path" } }, "params": { "score_threshold": "0.0" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models/model-id:batchPredict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models/model-id:batchPredict" | Select-Object -Expand Content
VOT1741767155885539328
.
Java
Per eseguire l'autenticazione ad AutoML Video Object Tracking, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione ad AutoML Video Object Tracking, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione ad AutoML Video Object Tracking, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ottieni lo stato dell'operazione di previsione
Puoi eseguire query sullo stato dell'operazione di previsione batch utilizzando:
curl
o PowerShell.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-number: il numero del tuo progetto
- location-id: la regione Cloud in cui deve essere eseguita l'annotazione
posto. Le regioni cloud supportate sono:
us-east1
,us-west1
,europe-west1
,asia-east1
. Se nessuna regione è specificata, verrà determinata una regione in base alla posizione del file video. - operation-id: l'ID dell'operazione a lunga esecuzione creata
della richiesta e fornito nella risposta quando hai avviato
operativa, ad esempio
VOT12345....
Metodo HTTP e URL:
GET https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id" | Select-Object -Expand Content
projects/project-number/locations/location-id/operations/operation-id
Quando l'attività di previsione batch è completata, l'output della previsione viene archiviato nel bucket Cloud Storage specificato nel comando. Là è un file JSON per ogni segmento video. I file JSON hanno un formato simile in my-video-01.avi.json, dove l'estensione del file .json viene aggiunta all'originale nome del file.
{ "inputUris": ["automl-video-demo-data/sample_video.avi"], "object_annotations": [ { "annotation_spec": { "display_name": "Cat", "description": "Cat" }, "confidence": 0.43253016 "frames": [ { "frame": { "time_offset": { "seconds": 4, "nanos": 960000000 }, "normalized_bounding_box": { "x_min": 0.1, "y_min": 0.1, "x_max": 0.8, "y_max": 0.8 } } }, { "frame": { "time_offset": { "seconds": 5, "nanos": 960000000 }, "normalized_bounding_box": { "x_min": 0.2, "y_min": 0.2, "x_max": 0.9, "y_max": 0.9 } } } ], "segment": { "start_time_offset": { "seconds": 4, "nanos": 960000000 }, "end_time_offset": { "seconds": 5, "nanos": 960000000 } } } ], "error": { "details": [ ] } }