Il modello di rilevamento di oggetti può identificare e localizzare più di 500 tipi di oggetti in un video. Il modello accetta un flusso video come input e restituisce un buffer di protocollo con i risultati del rilevamento a BigQuery. Il modello viene eseguito a 1 FPS. Quando crei un'app che utilizza il modello di rilevamento di oggetti, devi indirizzare l'output del modello a un connettore BigQuery per visualizzare l'output della previsione.
Specifiche dell'app del modello di rilevamento di oggetti
Segui queste istruzioni per creare un modello di rilevamento di oggetti nella Google Cloud console.
Console
Crea un'app nella Google Cloud console
Per creare un'app di rilevamento di oggetti, segui le istruzioni riportate in Creare un'applicazione.
Aggiungi un modello di rilevamento di oggetti
- Quando aggiungi nodi modello, seleziona Rilevamento di oggetti dall'elenco dei modelli preaddestrati.
Aggiungi un connettore BigQuery
Per utilizzare l'output, collega l'app a un connettore BigQuery.
Per informazioni sull'utilizzo del connettore BigQuery, consulta Connettere e archiviare i dati in BigQuery. Per informazioni sui prezzi di BigQuery, consulta la pagina Prezzi di BigQuery.
Visualizza i risultati dell'output in BigQuery
Dopo che il modello ha generato l'output dei dati in BigQuery, visualizza le annotazioni di output nella dashboard di BigQuery.
Se non hai specificato un percorso BigQuery, puoi visualizzare il percorso creato dal sistema nella pagina Studio dello schema di Vision della piattaforma dell'agente.
Nella Google Cloud console, apri la pagina BigQuery.
Seleziona Espandi accanto al progetto di destinazione, al nome del set di dati e al nome dell'applicazione.
Nella visualizzazione dei dettagli della tabella, fai clic su Anteprima. Visualizza i risultati nella colonna annotazione. Per una descrizione del formato di output, consulta Output del modello.
L'applicazione archivia i risultati in ordine cronologico. I risultati più vecchi sono all'inizio della tabella, mentre i risultati più recenti vengono aggiunti alla fine della tabella. Per controllare gli ultimi risultati, fai clic sul numero di pagina per andare all'ultima pagina della tabella.
Output del modello
Il modello restituisce i riquadri di delimitazione, le etichette degli oggetti e i punteggi di affidabilità per ogni frame video. L'output contiene anche un timestamp. La frequenza del flusso di output è di un frame al secondo.
Nell'esempio di output del buffer di protocollo riportato di seguito, tieni presente quanto segue:
- Timestamp: il timestamp corrisponde all'ora di questo risultato dell'inferenza.
- Riquadri identificati: il risultato di rilevamento principale che include l'identità del riquadro, le informazioni del riquadro di delimitazione, il punteggio di affidabilità e la previsione dell'oggetto.
Oggetto JSON di output dell'annotazione di esempio
{
"currentTime": "2022-11-09T02:18:54.777154048Z",
"identifiedBoxes": [
{
"boxId":"0",
"normalizedBoundingBox": {
"xmin": 0.6963465,
"ymin": 0.23144785,
"width": 0.23944569,
"height": 0.3544306
},
"confidenceScore": 0.49874997,
"entity": {
"labelId": "0",
"labelString": "Houseplant"
}
}
]
}
Definizione del buffer di protocollo
// The prediction result protocol buffer for object detection
message ObjectDetectionPredictionResult {
// Current timestamp
protobuf.Timestamp timestamp = 1;
// The entity information for annotations from object detection prediction
// results
message Entity {
// Label id
int64 label_id = 1;
// The human-readable label string
string label_string = 2;
}
// The identified box contains the location and the entity of the object
message IdentifiedBox {
// An unique id for this box
int64 box_id = 1;
// Bounding Box in normalized coordinates [0,1]
message NormalizedBoundingBox {
// Min in x coordinate
float xmin = 1;
// Min in y coordinate
float ymin = 2;
// Width of the bounding box
float width = 3;
// Height of the bounding box
float height = 4;
}
// Bounding Box in the normalized coordinates
NormalizedBoundingBox normalized_bounding_box = 2;
// Confidence score associated with this bounding box
float confidence_score = 3;
// Entity of this box
Entity entity = 4;
}
// A list of identified boxes
repeated IdentifiedBox identified_boxes = 2;
}
Best practice e limitazioni
Per ottenere risultati ottimali quando utilizzi il rilevamento di oggetti, tieni presente quanto segue quando acquisisci i dati e utilizzi il modello.
Suggerimenti sui dati di origine
Consigliato: assicurati che gli oggetti nell' immagine siano chiari e non siano coperti o oscurati in gran parte da altri oggetti.
Dati immagine di esempio che il rilevamento di oggetti è in grado di elaborare correttamente:
|
L'invio di questi dati immagine al modello restituisce le seguenti informazioni sul rilevamento di oggetti informazioni*:
* Le annotazioni nell'immagine seguente sono solo a scopo illustrativo. I riquadri di delimitazione, le etichette e i punteggi di affidabilità vengono disegnati manualmente e non vengono aggiunti dal modello o da alcuno Google Cloud strumento della console.
Non consigliato: evita i dati immagine in cui gli elementi chiave dell'oggetto sono troppo piccoli nel frame.
Dati immagine di esempio che il rilevamento di oggetti non è in grado di elaborare correttamente:
|
Non consigliato: evita i dati immagine che mostrano gli elementi chiave dell'oggetto coperti parzialmente o completamente da altri oggetti.
Dati immagine di esempio che il rilevamento di oggetti non è in grado di elaborare correttamente:
|
Limitazioni
- Risoluzione video: la risoluzione video di input massima consigliata è 1920 x 1080 e la risoluzione minima consigliata è 160 x 120.
- Illuminazione: le prestazioni del modello sono sensibili alle condizioni di illuminazione. Una luminosità o un'oscurità estreme potrebbero ridurre la qualità del rilevamento.
- Dimensioni dell'oggetto: il rilevamento di oggetti ha una dimensione minima dell'oggetto rilevabile. Assicurati che gli oggetti target siano sufficientemente grandi e visibili nei dati video.