Leitfaden für Objektdetektoren

Symbol für die Modellkarte für den Objekterkennungsdienst.

Mit dem Objektdetektormodell lassen sich mehr als 500 Objekttypen in einem Video identifizieren und verorten. Das Modell akzeptiert einen Videostream als Eingabe und gibt einen Protocol Buffer mit den Erkennungsergebnissen an BigQuery aus. Das Modell wird mit einer Bildrate von 1 FPS ausgeführt. Wenn Sie eine App erstellen, die das Objekterkennungsmodell verwendet, müssen Sie die Modellausgabe an einen BigQuery-Connector weiterleiten, um die Vorhersageausgabe zu sehen.

Spezifikationen für Apps mit Modellen zur Objekterkennung

Gehen Sie nach der folgenden Anleitung vor, um ein Objekterkennungsmodell in derGoogle Cloud -Konsole zu erstellen.

Console

App in der Google Cloud Console erstellen

  1. Folgen Sie der Anleitung unter Anwendung erstellen, um eine Anwendung zur Objekterkennung zu erstellen.

    Zum Tab „Anwendungen“

Objektdetektormodell hinzufügen

  1. Wenn Sie Modellknoten hinzufügen, wählen Sie in der Liste der vortrainierten Modelle den Objektdetektor aus.

BigQuery-Connector hinzufügen

  1. Um die Ausgabe zu verwenden, müssen Sie die App mit einem BigQuery-Connector verbinden.

    Informationen zur Verwendung des BigQuery-Connectors finden Sie unter Verbinden und Daten in BigQuery speichern. Informationen zu den Preisen für BigQuery finden Sie auf der Seite BigQuery-Preise.

Ausgabeergebnisse in BigQuery ansehen

Nachdem das Modell Daten in BigQuery ausgegeben hat, können Sie sich die Ausgabekommentare im BigQuery-Dashboard ansehen.

Wenn Sie keinen BigQuery-Pfad angegeben haben, können Sie den vom System erstellten Pfad auf der Seite „Agent Platform Vision“ Studio ansehen.

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    BigQuery aufrufen

  2. Wählen Sie neben dem Zielprojekt, dem Dataset-Namen und dem Anwendungsnamen Maximieren aus.

    Wählen Sie die App-Tabelle in BigQuery aus.

  3. Klicken Sie in der Tabellendetailansicht auf Vorschau. Die Ergebnisse werden in der Spalte Annotation angezeigt. Eine Beschreibung des Ausgabeformats finden Sie unter Modellausgabe.

Die Anwendung speichert die Ergebnisse in chronologischer Reihenfolge. Die ältesten Ergebnisse befinden sich am Anfang der Tabelle, die neuesten werden am Ende hinzugefügt. Wenn Sie die neuesten Ergebnisse sehen möchten, klicken Sie auf die Seitenzahl, um zur letzten Tabellenseite zu gelangen.

Modellausgabe

Das Modell gibt für jeden Videoframes Begrenzungsrahmen, die zugehörigen Objektlabels und Konfidenzwerte aus. Die Ausgabe enthält auch einen Zeitstempel. Die Rate des Ausgabestreams beträgt ein Frame pro Sekunde.

Beachten Sie im folgenden Beispiel für die Ausgabe des Protobuf Folgendes:

  • Zeitstempel: Der Zeitstempel entspricht der Zeit für dieses Inferenz-Ergebnis.
  • Erkannte Felder: Das Haupterkennungsergebnis, das die Feldidentität, Informationen zum umgebenden Rechteck, den Konfidenzwert und die Objektvorhersage enthält.

Beispiel für ein JSON-Objekt für die Anmerkungsausgabe

{
  "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"
      }
    }
  ]
}

Protokollpufferdefinition

// 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 Practices und Einschränkungen

Wenn Sie den Objekterkennungsdienst verwenden, sollten Sie bei der Beschaffung von Daten und der Nutzung des Modells Folgendes beachten, um optimale Ergebnisse zu erzielen.

Empfehlungen für Quelldaten

Empfohlen:Die Objekte im Bild sollten deutlich zu sehen und nicht durch andere Objekte verdeckt oder größtenteils verdeckt sein.

Beispielbilddaten, die der Objektdetektor korrekt verarbeiten kann:

Deutlich sichtbare Objekte im Wohnzimmer.
Bildquelle: Spacejoy auf Unsplash.

Wenn Sie dem Modell diese Bilddaten senden, werden die folgenden Informationen zur Objekterkennung* zurückgegeben:

* Die Anmerkungen im folgenden Bild dienen nur zur Veranschaulichung. Die Begrenzungsrahmen, Labels und Konfidenzwerte werden manuell gezeichnet und nicht vom Modell oder einem Google Cloud -Konsolentool hinzugefügt.

Wohnzimmerobjekte mit Annotationen für Begrenzungsrahmen, Labels und Konfidenzwert.
Bildquelle: Spacejoy auf Unsplash (Anmerkungen manuell hinzugefügt).

Nicht empfohlen:Vermeiden Sie Bilddaten, bei denen die wichtigsten Objekte im Bild zu klein sind.

Beispiel für Bilddaten, die vom Objekterkennungsmodell nicht richtig verarbeitet werden können:

Objekte, die im Bild zu klein sind, um erkannt zu werden.
Bildquelle: Bernard Hermant auf Unsplash (Bild zugeschnitten).

Nicht empfohlen:Vermeiden Sie Bilddaten, auf denen die wichtigsten Objektelemente teilweise oder vollständig von anderen Objekten verdeckt werden.

Beispiel für Bilddaten, die vom Objekterkennungsmodell nicht richtig verarbeitet werden können:

Objekte, die teilweise von anderen Objekten im Vordergrund verdeckt werden.
Bildquelle: Şahin Sezer Dinçer auf Unsplash.

Beschränkungen

  • Videoauflösung: Die empfohlene maximale Videoauflösung für die Eingabe ist 1920 × 1080 und die empfohlene Mindestauflösung 160 × 120.
  • Beleuchtung: Die Modellleistung hängt von den Lichtverhältnissen ab. Extreme Helligkeit oder Dunkelheit kann die Erkennungsqualität beeinträchtigen.
  • Objektgröße: Der Objektdetektor hat eine minimal erkennbare Objektgröße. Die Zielobjekte müssen in Ihren Videodaten ausreichend groß und sichtbar sein.