Mit dem Modell Personal Protective Equipment (PPE) Detector (PSA-Erkennung) können Sie überprüfen, ob Ausrüstung vorhanden ist, die die Exposition gegenüber Gefahren am Arbeitsplatz oder im lokalen Umfeld einschränkt.
Das Modell erkennt Personen und die PSA-Artikel (Handschuhe, Masken und Helme) einer bestimmten Person. Das Modell erkennt die PSA-Artikel und ob sie die entsprechenden Körperteile bedecken. Das Modell gibt diese Informationen als Abdeckungs-Score im Bereich [0, 1] an. Das Modell akzeptiert einen Videostream als Eingabe. Die Modellausgabe enthält Erkennungsergebnisse als Protokollpuffer, die Sie in BigQuery ansehen können. Das Modell wird mit einer Bildrate von 1 FPS ausgeführt.
Der Operator zur PSA-Erkennung hat drei Steuerparameter, die Sie festlegen können:
- Kopfbedeckungen: Der Operator gibt Informationen zu PSA-Artikeln aus, die den Kopf bedecken. Legen Sie diesen Wert in der Google Cloud -Konsole fest oder setzen Sie
enableHeadCoverageDetectionin derPersonalProtectiveEquipmentDetectionConfigauf „true“. - Gesichtsbedeckungen: Der Operator gibt Informationen zu PSA-Artikeln aus, die mit der Gesichtsbedeckung zusammenhängen. Legen Sie diesen Wert in der Google Cloud -Konsole fest oder setzen Sie
enableFaceCoverageDetectionin derPersonalProtectiveEquipmentDetectionConfigauf „true“. - Handschutz: Der Bediener gibt Informationen zu PSA-Artikeln aus, die sich auf die Abdeckung der Hände beziehen. Legen Sie diesen Wert in der Google Cloud -Konsole fest oder setzen Sie
enableHandsCoverageDetectionin derPersonalProtectiveEquipmentDetectionConfigauf „true“.
Spezifikationen für PSA-Detektor-Modell-Apps
Gehen Sie nach der folgenden Anleitung vor, um ein Modell für die Erkennung von PSA in derGoogle Cloud -Konsole zu erstellen.
Console
App in der Google Cloud Console erstellen
Folgen Sie der Anleitung unter Anwendung erstellen, um eine App zur Erkennung von PSA zu erstellen.
PSA-Detektormodell hinzufügen
Wenn Sie Modellknoten hinzufügen, wählen Sie in der Liste der vortrainierten Modelle den PSA-Detektor aus.
Legen Sie im Optionsmenü fest, welche Arten von PSA erkannt werden sollen.
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 Verbinden und Daten in BigQuery speichern. Informationen zu den Preisen von 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 finden Sie in der Spalte annotation (Annotation). 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
Die Modellausgabe enthält einen Zeitstempel, die Erkennungsfelder, Objektlabels, die den Feldern entsprechen, und Konfidenzwerte für das Objekt. Die Rate des Ausgabestreams beträgt ein Frame pro Sekunde.
Die Modellausgabe ist ein Protocol Buffer-Format, das Informationen zum Videobild und zum Vorhersageergebnis der PSA-Erkennung enthält. Das Ziel des Modells ist es, zu prüfen, ob Personen Schutzausrüstung richtig tragen. Daher konzentriert sich das Modell auf die Erkennung von Personen und der von ihnen getragenen PSA. Die Modellausgabe konzentriert sich auf die Personenerkennung. Für jede erkannte Person listet das Modell die PSA in der Nähe der Person und den Abdeckungs-Score für jedes Ausrüstungsteil auf.
Beachten Sie im folgenden Protocol Buffer-Beispiel Folgendes:
- Aktuelle Zeit: Der Zeitstempel gibt an, wann das Inferenz-Ergebnis erstellt wurde.
- Erkannte Personen: Das Haupterkennungsergebnis, das einen Rahmen für die identifizierte Person, mehrere Rahmen für die identifizierte PSA und einen Abdeckungs-Score für jedes Körperteil enthält.
- Feld „Identifizierte Person“: Der Begrenzungsrahmen, der Konfidenzwert und die Personenidentität.
- Erkannte PSA-Box: Der Begrenzungsrahmen, der Konfidenzwert und die PSA-Einheit.
Beispiel für ein JSON-Objekt für die Anmerkungsausgabe
{
"currentTime": "2022-11-10T21:02:13.499255040Z",
"detectedPersons": [
{
"personId": "0",
"detectedPersonIdentifiedBox": {
"boxId": "0",
"normalizedBoundingBox": {
"xmin": 0.486749,
"ymin": 0.35927793,
"width": 0.048630536,
"height": 0.21746585
},
"confidenceScore": 0.31775203,
"personEntity":{
"personEntityId":"0"
}
},
"detected_ppe_identified_boxes": {
"normalized_bounding_box": {
"xmin": 0.07268746,
"ymin": 0.80575824,
"width": 0.22973709,
"height": 0.18754286
},
"confidence_score": 0.45171335,
"ppe_entity": {
"ppe_label_string": "Glove",
"ppe_supercategory_label_string": "Hand Coverage"
}
},
"detected_ppe_identified_boxes":{
"normalized_bounding_box":{
"xmin": 0.35457548,
"ymin": 0.016402662,
"width": 0.31828704,
"height": 0.18849815
},
"confidence_score": 0.44129524,
"ppe_entity":{
"ppe_label_string": "Helmet",
"ppe_supercategory_label_string": "Head Coverage"
}
}
}
]
}Definition des Protokollpuffers
// Output format for Personal Protective Equipment Detection Operator
message PersonalProtectiveEquipmentDetectionOutput {
// Current timestamp
protobuf.Timestamp current_time = 1;
// The entity info for annotations from person detection prediction result
message PersonEntity {
// Entity id
int64 person_entity_id = 1;
}
// The entity info for annotations from PPE detection prediction result
message PPEEntity {
// Label id
int64 ppe_label_id = 1;
// Human readable string of the label (Examples: helmet, glove, mask)
string ppe_label_string = 2;
// Human readable string of the super category label (Examples: head_cover,
// hands_cover, face_cover)
string ppe_supercategory_label_string = 3;
// Entity id
int64 ppe_entity_id = 4;
}
// Bounding Box in the normalized coordinates
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;
}
// PersonIdentified box contains the location and the entity info of the
// person
message PersonIdentifiedBox {
// An unique id for this box
int64 box_id = 1;
// Bounding Box in the normalized coordinates
NormalizedBoundingBox normalized_bounding_box = 2;
// Confidence score associated with this box
float confidence_score = 3;
// Person entity info
PersonEntity person_entity = 4;
}
// PPEIdentified box contains the location and the entity info of the PPE
message PPEIdentifiedBox {
// An unique id for this box
int64 box_id = 1;
// Bounding Box in the normalized coordinates
NormalizedBoundingBox normalized_bounding_box = 2;
// Confidence score associated with this box
float confidence_score = 3;
// PPE entity info
PPEEntity ppe_entity = 4;
}
// Detected Person contains the detected person and their associated
// PPE and their protecting information
message DetectedPerson {
// The id of detected person
int64 person_id = 1;
// The info of detected person identified box
PersonIdentifiedBox detected_person_identified_box = 2;
// The info of detected person associated ppe identified boxes
repeated PPEIdentifiedBox detected_ppe_identified_boxes = 3;
// Coverage score for each body part
// Coverage score for face
optional float face_coverage_score = 4;
// Coverage score for eyes
optional float eyes_coverage_score = 5;
// Coverage score for head
optional float head_coverage_score = 6;
// Coverage score for hands
optional float hands_coverage_score = 7;
// Coverage score for body
optional float body_coverage_score = 8;
// Coverage score for feet
optional float feet_coverage_score = 9;
}
// A list of DetectedPersons
repeated DetectedPerson detected_persons = 2;
}
Best Practices und Einschränkungen
Wenn Sie den PSA-Detektor verwenden, sollten Sie bei der Beschaffung von Daten und der Verwendung des Modells Folgendes beachten, um optimale Ergebnisse zu erzielen.
Empfehlungen für Quelldaten
Empfohlen:Wenn möglich, sollten die zu erkennenden Personen still stehen und in die Kamera schauen.
Beispielbilddaten, die der PSA-Detektor korrekt verarbeiten kann:
|
|
|
Nicht empfohlen:Vermeiden Sie Bilddaten, bei denen die wichtigsten PSA-Artikel im Frame zu klein sind.
Beispielbilddaten, die vom PSA-Detektor nicht richtig verarbeitet werden können:
|
Nicht empfohlen:Vermeiden Sie Bilddaten, auf denen die wichtigsten PSA-Artikel aus einer ungewöhnlichen Perspektive oder in unregelmäßigen Winkeln zu sehen sind.
Beispielbilddaten, die vom PSA-Detektor nicht richtig verarbeitet werden können:
|
Beschränkungen
- Auflösung: Die empfohlene maximale Auflösung für Eingabevideos ist 1920 × 1080 und die empfohlene Mindestauflösung ist 160 × 120.
- Mindestgröße für erkennbare Objekte: Das Modell ignoriert alle Objekte in der Szene, die weniger als 5% der Einzelbildgröße einnehmen.
- Beleuchtung: Die Beleuchtung im Video sollte normal sein. Extreme Helligkeit oder Dunkelheit in Videodaten kann die Leistung des Detektors beeinträchtigen.
- Platzierung von PSA-Artikeln: Das PSA-Modell konzentriert sich auf die Analyse, ob Personen PSA-Artikel richtig verwenden. Wenn jemand keine PSA trägt, wird das entsprechende Element vom Modell ignoriert.
- PSA-Artikeltyp: Das Modell konzentriert sich auf Schutzausrüstung für die Baubranche und nicht auf medizinische PSA-Artikel. Daher funktioniert der Detektor in medizinischen Zentren oder Krankenhäusern möglicherweise nicht gut.
- Benutzerdefinierte PSA-Typen: Das PSA-Modell unterstützt keine benutzerdefinierten PSA-Artikel. Das Modell unterstützt die Erkennung von Helmen, Masken und Handschuhen.
Diese Liste ist nicht vollständig und die Einschränkungen und Funktionen können sich durch zukünftige Produktänderungen ändern.