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
Folgen Sie der Anleitung unter Anwendung erstellen, um eine Objektdetektor-App zu erstellen.
Objektdetektormodell hinzufügen
- Wenn Sie Modellknoten hinzufügen, wählen Sie in der Liste der vortrainierten Modelle Objektdetektor aus.
BigQuery-Connector hinzufügen
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.
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Wählen Sie neben dem Zielprojekt, dem Dataset-Namen und dem Anwendungsnamen Maximieren aus.
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:
|
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.
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:
|
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:
|
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.