Guida al rilevatore di oggetti

Icona che raffigura la scheda del modello Rilevatore di oggetti.

Il modello di rilevamento di oggetti può identificare e localizzare più di 500 tipi di oggetti in un video. Il modello accetta uno stream 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 degli oggetti, devi indirizzare l'output del modello a un connettore BigQuery per visualizzare l'output della previsione.

Specifiche dell'app modello di rilevamento di oggetti

Utilizza le seguenti istruzioni per creare un modello di rilevamento di oggetti nella consoleGoogle Cloud .

Console

Crea un'app nella console Google Cloud

  1. Per creare un'app di rilevamento di oggetti, segui le istruzioni riportate in Creare un'applicazione.

    Vai alla scheda Applicazioni

Aggiungere un modello di rilevatore di oggetti

  1. Quando aggiungi nodi del modello, seleziona Rilevamento di oggetti dall'elenco dei modelli preaddestrati.

Aggiungere un connettore BigQuery

  1. Per utilizzare l'output, collega l'app a un connettore BigQuery.

    Per informazioni sull'utilizzo del connettore BigQuery, consulta Connetti e archivia i dati in BigQuery. Per informazioni sui prezzi di BigQuery, consulta la pagina Prezzi di BigQuery.

Visualizzare i risultati dell'output in BigQuery

Dopo che il modello ha inviato i dati a BigQuery, visualizza le annotazioni dell'output nella dashboard BigQuery.

Se non hai specificato un percorso BigQuery, puoi visualizzare il percorso creato dal sistema nella pagina Agent Platform Vision Studio.

  1. Nella console Google Cloud , apri la pagina BigQuery.

    Vai a BigQuery

  2. Seleziona Espandi accanto al progetto di destinazione, al nome del set di dati e al nome dell'applicazione.

    Seleziona la tabella dell'app in BigQuery.

  3. Nella visualizzazione dei dettagli della tabella, fai clic su Anteprima. Visualizza i risultati nella colonna annotazione. Per una descrizione del formato di output, vedi output del modello.

L'applicazione memorizza i risultati in ordine cronologico. I risultati meno recenti si trovano all'inizio della tabella, mentre quelli più recenti vengono aggiunti alla fine della tabella. Per controllare i risultati più recenti, fai clic sul numero di pagina per andare all'ultima pagina della tabella.

Output del modello

Il modello genera i riquadri di delimitazione, le etichette degli oggetti e i punteggi di affidabilità per ogni frame video. L'output contiene anche un timestamp. La velocità del flusso di output è di un frame al secondo.

Nell'esempio di output del buffer di protocollo riportato di seguito, nota quanto segue:

  • Timestamp: il timestamp corrisponde all'ora di questo risultato dell'inferenza.
  • Caselle identificate: il risultato principale del rilevamento che include l'identità della casella, informazioni sul riquadro di delimitazione, punteggio di confidenza e 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 i risultati migliori quando utilizzi il rilevatore 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 nitidi e non siano coperti o oscurati in gran parte da altri oggetti.

Dati di esempio dell'immagine che il rilevatore di oggetti è in grado di elaborare correttamente:

Oggetti del soggiorno chiaramente visibili.
Fonte immagine: Spacejoy su Unsplash.

L'invio di questi dati dell'immagine al modello restituisce le seguenti informazioni sul rilevamento degli oggetti*:

* 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 qualsiasi Google Cloud strumento della console.

Oggetti del soggiorno con annotazioni di riquadri di delimitazione, etichette e punteggio di affidabilità.
Origine immagine: Spacejoy su Unsplash (annotazioni aggiunte manualmente).

Sconsigliato:evita i dati delle immagini in cui gli elementi chiave dell'oggetto sono troppo piccoli nell'inquadratura.

Dati di immagini di esempio che il rilevatore di oggetti non è in grado di elaborare correttamente:

Elementi dell'oggetto troppo piccoli nell'inquadratura per essere rilevati.
Fonte dell'immagine: Bernard Hermant su Unsplash (immagine ritagliata).

Azione non consigliata: evita dati immagine che mostrano gli elementi chiave dell'oggetto parzialmente o completamente coperti da altri oggetti.

Dati di immagini di esempio che il rilevatore di oggetti non è in grado di elaborare correttamente:

Elementi dell'oggetto parzialmente coperti da altri oggetti in primo piano.
Fonte immagine: Şahin Sezer Dinçer su Unsplash.

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. L'eccessiva luminosità o oscurità potrebbe comportare una qualità di rilevamento inferiore.
  • Dimensioni dell'oggetto: il rilevatore di oggetti ha una dimensione minima rilevabile dell'oggetto. Assicurati che gli oggetti target siano sufficientemente grandi e visibili nei dati del video.