Guida al rilevatore di oggetti

scheda del modello di sfocatura delle persone nella console

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

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

    Vai alla scheda Applicazioni

Aggiungi un modello di rilevamento di oggetti

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

Aggiungi un connettore BigQuery

  1. 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.

  1. Nella Google Cloud console, 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, 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:

immagine di esempio di oggetti chiaramente visibili
Fonte dell'immagine: Spacejoy su Unsplash.

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.

immagine di esempio di oggetti chiaramente visibili
Fonte dell'immagine: Spacejoy su Unsplash (annotazioni aggiunte manualmente).

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:

immagine di esempio di elementi oggetto troppo piccoli per essere rilevati
Fonte dell'immagine: Bernard Hermant su Unsplash (immagine ritagliata).

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:

immagine di esempio di elementi di un oggetto parzialmente coperti da altri oggetti
Fonte dell'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. 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.