Leitfaden für Objektdetektoren

Modellkarte zum Unkenntlichmachen von Personen in der Console

Mit dem Objektdetektormodell können mehr als 500 Arten von Objekten in einem Video identifiziert und lokalisiert werden. Das Modell akzeptiert einen Videostream als Eingabe und gibt einen Protokollpuffer mit den Erkennungsergebnissen an BigQuery aus. Das Modell wird mit einer Framerate von 1 FPS ausgeführt. Wenn Sie eine App erstellen, die das Objektdetektormodell verwendet, müssen Sie die Modellausgabe an einen BigQuery-Connector weiterleiten, um die Vorhersageausgabe zu sehen.

Spezifikationen der Objektdetektor-Modell-App

Folgen Sie der Anleitung unten, um in der Google Cloud Console ein Objektdetektormodell zu erstellen.

Console

App in der Google Cloud Console erstellen

  1. Folgen Sie der Anleitung unter Anwendung erstellen, um eine Objektdetektor-App zu erstellen.

    Zum Tab „Anwendungen“

Objektdetektormodell hinzufügen

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

BigQuery-Connector hinzufügen

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

    Informationen zur Verwendung des BigQuery-Connectors finden Sie unter Daten mit BigQuery verbinden und in BigQuery speichern. Informationen zu den BigQuery-Preisen finden Sie auf der Seite BigQuery-Preise.

Ausgabeergebnisse in BigQuery ansehen

Nachdem das Modell Daten an BigQuery ausgegeben hat, können Sie 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.

    App-Tabelle in BigQuery auswählen

  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, während die neuesten Ergebnisse am Ende der Tabelle hinzugefügt werden. Wenn Sie die neuesten Ergebnisse sehen möchten, klicken Sie auf die Seitenzahl, um zur letzten Tabellenseite zu wechseln.

Modellausgabe

Das Modell gibt für jeden Videoframe Begrenzungsrahmen, die 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 Protokollpuffer-Ausgabe Folgendes:

  • Zeitstempel: Der Zeitstempel entspricht der Zeit für dieses Inferenzergebnis.
  • Identifizierte Rahmen: Das Haupterkennungsergebnis, das die Rahmenidentität, Informationen zum Begrenzungsrahmen, den Konfidenzwert und die Objektvorhersage enthält.

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

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

Um mit dem Objektdetektor die besten Ergebnisse zu erzielen, sollten Sie bei der Beschaffung von Daten und der Verwendung des Modells Folgendes beachten.

Empfehlungen für Quelldaten

Empfohlen: Die Objekte im Bild müssen klar zu sehen sein und dürfen nicht von anderen Objekten verdeckt oder weitgehend verdeckt sein.

Beispiel für Bilddaten, die der Objektdetektor korrekt verarbeiten kann:

Beispielbild mit deutlich sichtbaren Objekten
Bildquelle: Spacejoy auf Unsplash.

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

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

Beispielbild mit deutlich sichtbaren Objekten
Bildquelle: Spacejoy auf Unsplash (Kommentare manuell hinzugefügt)

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

Beispiel für Bilddaten, die der Objektdetektor nicht korrekt verarbeiten kann:

Beispielbild von Objekten, die zu klein sind, um erkannt zu werden
Bildquelle: Bernard Hermant auf Unsplash (Bild zugeschnitten)

Nicht empfohlen: Vermeiden Sie Bilddaten, bei denen die wichtigsten Objekte teilweise oder vollständig von anderen Objekten verdeckt sind.

Beispiel für Bilddaten, die der Objektdetektor nicht korrekt verarbeiten kann:

Beispielbild von Objekt-Elementen, die teilweise von anderen Objekten verdeckt werden
Bildquelle: Şahin Sezer Dinçer auf Unsplash.

Beschränkungen

  • Videoauflösung: Die empfohlene maximale Auflösung für Eingabevideos beträgt 1920 × 1080 und die empfohlene Mindestauflösung 160 × 120.
  • Beleuchtung: Die Modellleistung ist von den Lichtverhältnissen abhängig. Extreme Helligkeit oder Dunkelheit kann zu einer geringeren Erkennungsqualität führen.
  • Objektgröße: Der Objektdetektor hat eine minimale erkennbare Objektgröße. Die Zielobjekte müssen in Ihren Videodaten ausreichend groß und sichtbar sein.