
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
Folgen Sie der Anleitung unter Anwendung erstellen, um eine Anwendung zur Objekterkennung zu erstellen.
Objektdetektormodell hinzufügen
- Wenn Sie Modellknoten hinzufügen, wählen Sie in der Liste der vortrainierten Modelle den Objektdetektor aus.
BigQuery-Connector hinzufügen
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.
Ö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, 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:
|
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.
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:
|
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:
|
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.