
Le modèle Détecteur d'équipement de protection individuelle (EPI) vous aide à vérifier la présence d'équipements qui limitent l'exposition aux dangers dans un environnement professionnel ou communautaire.
Le modèle détecte les personnes et les EPI (gants, masques et casques) sur une personne spécifique. Le modèle détecte les EPI et si les EPI couvrent les parties du corps humain correspondantes. Le modèle indique ces informations de couverture sous la forme d'un score de couverture compris entre [0, 1]. Le modèle accepte un flux vidéo en entrée. Le modèle produit les résultats de détection sous la forme d'un tampon de protocole que vous pouvez afficher dans BigQuery. Le modèle s'exécute à un FPS.
L'opérateur de détection d'EPI comporte trois paramètres de contrôle que vous pouvez définir:
enableHeadCoverageDetection
sur "true" dansPersonalProtectiveEquipmentDetectionConfig
.
Protections pour la tête: l'opérateur affiche les informations sur les articles d'EPI liés à la protection de la tête. Définissez cette valeur dans la console Google Cloud ou définissez enableFaceCoverageDetection
sur "true" dansPersonalProtectiveEquipmentDetectionConfig
.
Protections pour le visage: l'opérateur affiche des informations sur les articles d'EPI liés à la protection du visage. Définissez cette valeur dans la console Google Cloud ou définissez enableHandsCoverageDetection
sur "true" dansPersonalProtectiveEquipmentDetectionConfig
.
Protection des mains: l'opérateur affiche des informations sur les EPI liés à la protection des mains. Définissez cette valeur dans la console Google Cloud ou définissez
Spécifications de l'application du modèle de détecteur d'EPI
Suivez les instructions ci-dessous pour créer un modèle de détecteur de EPI dans la consoleGoogle Cloud .
Console
Créer une application dans la Google Cloud console
Pour créer une application de détection d'EPI, suivez les instructions de la section Créer une application.
Ajouter un modèle de détecteur d'EPI
Lorsque vous ajoutez des nœuds de modèle, sélectionnez le détecteur de PPE dans la liste des modèles pré-entraînés.
Définissez les types d'EPI que vous souhaitez détecter dans le menu d'options.
Ajouter un connecteur BigQuery
Pour utiliser la sortie, connectez l'application à un connecteur BigQuery.
Pour en savoir plus sur l'utilisation du connecteur BigQuery, consultez Connecter et stocker des données dans BigQuery. Pour en savoir plus sur les tarifs de BigQuery, consultez la page Tarifs de BigQuery.
Afficher les résultats de sortie dans BigQuery
Une fois que le modèle a généré des données dans BigQuery, affichez les annotations de sortie dans le tableau de bord BigQuery.
Si vous n'avez pas spécifié de chemin BigQuery, vous pouvez afficher le chemin créé par le système sur la page
Studio de Vertex AI Vision.Dans la console Google Cloud , ouvrez la page BigQuery.
Sélectionnez
Développer à côté du projet cible, du nom de l'ensemble de données et du nom de l'application.Dans la vue d'informations de la table, cliquez sur Aperçu. Consultez les résultats dans la colonne annotation. Pour obtenir une description du format de sortie, consultez la section Sortie du modèle.
L'application stocke les résultats dans l'ordre chronologique. Les résultats les plus anciens se trouvent au début du tableau, tandis que les résultats les plus récents sont ajoutés à la fin. Pour consulter les derniers résultats, cliquez sur le numéro de page pour accéder à la dernière page de la table.
Sortie du modèle
La sortie du modèle inclut un code temporel, les cadres de détection, les libellés d'objets correspondant aux cadres et les scores de confiance de cet objet. La fréquence du flux de sortie est d'une image par seconde.
La sortie du modèle est un format de tampon de protocole qui inclut des informations sur le frame vidéo et le résultat de la prédiction de détection des EPI. L'objectif du modèle est de vérifier si les personnes portent correctement leur équipement de protection. Par conséquent, le modèle se concentre sur la détection des personnes et des EPI qu'elles portent. La sortie du modèle est axée sur la détection de personnes. Pour chaque personne détectée, le modèle liste les EPI autour de la personne et le score de couverture de chaque équipement.
Dans l'exemple de protocole de tampon qui suit, notez les points suivants.
- Heure actuelle : l'horodatage indique l'heure à laquelle le résultat d'inférence est obtenu.
- Personnes détectées : résultat de détection principal qui inclut un cadre identifié comme une personne, plusieurs cadres identifiés comme des EPI et un score de couverture pour chaque partie du corps.
- Cadre de la personne identifiée : cadre de délimitation, score de confiance et entité de personne.
- Cadre identifié comme EPI : cadre de délimitation, score de confiance et entité EPI.
Exemple d'objet JSON de sortie d'annotation
{ "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" } } } ] }
Définition du tampon de protocole
// 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;
}
Bonnes pratiques et limites
Pour obtenir les meilleurs résultats lorsque vous utilisez le détecteur d'EPI, tenez compte des points suivants lorsque vous collectez des données et utilisez le modèle.
Recommandations concernant les données sources
Recommandation:Dans la mesure du possible, demandez aux sujets à détecter de rester immobiles et de faire face à la caméra.
Exemples de données d'image que le détecteur d'EPI peut traiter correctement:
![]() |
![]() |
![]() |
Non recommandé:évitez les données d'image dans lesquelles les principaux EPI sont trop petits dans le cadre.
Exemples de données d'image que le détecteur d'EPI ne peut pas traiter correctement:
![]() |
Non recommandé:évitez les données d'image qui montrent les principaux EPI à partir d'un point de vue inhabituel ou d'angles irréguliers.
Exemples de données d'image que le détecteur d'EPI ne peut pas traiter correctement:
![]() |
Limites
- Résolution: la résolution vidéo d'entrée maximale recommandée est de 1 920 x 1 080, et la résolution minimale recommandée est de 160 x 120.
- Taille minimale de l'objet détectable: le modèle ignore tout objet de la scène qui occupe moins de 5% de la taille du cadre.
- Éclairage: l'éclairage de la vidéo doit être normal. Une luminosité ou une obscurité extrême dans les données vidéo peut entraîner une baisse des performances du détecteur.
- Emplacement des EPI: le modèle EPI se concentre sur l'analyse de l'utilisation correcte des EPI. Par conséquent, si une personne ne porte pas d'EPI, le modèle l'ignore.
- Type d'EPI: le modèle se concentre sur les équipements de protection pour le secteur de la construction et non sur les EPI médicaux. Par conséquent, le détecteur risque de ne pas fonctionner correctement dans les centres médicaux ou les hôpitaux.
- Types d'EPI personnalisés: le modèle d'EPI n'est pas compatible avec les articles d'EPI définis par le client. Le modèle permet de détecter les casques, les masques et les gants.
Cette liste n'a pas vocation à être exhaustive. Ces limites et fonctionnalités sont susceptibles d'être modifiées à l'avenir.