El modelo Detector de equipo de protección personal (EPP) te ayuda a verificar la presencia de equipos que limitan la exposición a peligros en un entorno laboral o comunitario.
El modelo detecta personas y elementos de EPP (guantes, mascarillas y cascos) en una persona específica. El modelo detecta los elementos de EPP y si estos cubren las partes del cuerpo humano correspondientes. El modelo informa esta información de cobertura como una puntuación que varía de [0, 1]. El modelo acepta una transmisión de video por Internet como entrada. El modelo genera resultados de detección como un búfer de protocolo que puedes ver en BigQuery. El modelo se ejecuta a un FPS.
El operador de detección de EPP tiene tres parámetros de control que puedes configurar:
- Protectores para la cabeza: El operador genera información sobre elementos de EPP relacionados con la protección de la cabeza. Establece este valor en la consola de Google Cloud o establece
enableHeadCoverageDetectioncomo verdadero enPersonalProtectiveEquipmentDetectionConfig. - Protectores para el rostro: El operador genera información sobre elementos de EPI relacionados con la cobertura del rostro. Establece este valor en la consola de Google Cloud o establece
enableFaceCoverageDetectioncomo verdadero enPersonalProtectiveEquipmentDetectionConfig. - Protectores de manos: El operador genera información sobre elementos de EPP relacionados con la cobertura de las manos. Establece este valor en la consola de Google Cloud o establece
enableHandsCoverageDetectioncomo verdadero enPersonalProtectiveEquipmentDetectionConfig.
Especificaciones de la app del modelo de detector de EPP
Sigue estas instrucciones para crear un modelo de detector de EPP en la consola deGoogle Cloud .
Console
Crea una app en la consola de Google Cloud
Para crear una app de detección de EPP, sigue las instrucciones en Cómo compilar una aplicación.
Cómo agregar un modelo de detector de EPP
Cuando agregues nodos de modelos, selecciona el detector de EPP de la lista de modelos previamente entrenados.
Establece los tipos de EPP que deseas detectar en el menú de opciones.
Agrega un conector de BigQuery
Para usar el resultado, conecta la app a un conector de BigQuery.
Para obtener información sobre cómo usar el conector de BigQuery, consulta Conectar y almacenar datos en BigQuery. Para obtener información sobre los precios de BigQuery, consulta la página Precios de BigQuery.
Cómo ver los resultados de salida en BigQuery
Después de que el modelo genera datos en BigQuery, consulta las anotaciones de salida en el panel de BigQuery.
Si no especificaste una ruta de acceso de BigQuery, puedes ver la ruta de acceso creada por el sistema en la página Studio de Agent Platform Vision.
En la consola de Google Cloud , abre la página de BigQuery.
Selecciona Expand junto al proyecto de destino, el nombre del conjunto de datos y el nombre de la aplicación.
En la vista de detalles de la tabla, haz clic en Vista previa. Consulta los resultados en la columna anotación. Para obtener una descripción del formato de salida, consulta resultado del modelo.
La aplicación almacena los resultados en orden cronológico. Los resultados más antiguos se encuentran al principio de la tabla, mientras que los más recientes se agregan al final. Para consultar los resultados más recientes, haz clic en el número de página para ir a la última página de la tabla.
Salida del modelo
El resultado del modelo incluye una marca de tiempo, los cuadros de detección, las etiquetas de los objetos que corresponden a los cuadros y las puntuaciones de confianza de ese objeto. La velocidad de la transmisión de salida es de un fotograma por segundo.
El resultado del modelo se presenta en formato de búfer de protocolo, que incluye información sobre el fotograma del video y el resultado de la predicción de detección de EPP. El objetivo del modelo es verificar si las personas usan correctamente el equipo de protección. Como resultado, el modelo se enfoca en detectar personas y el EPP que usan. El resultado del modelo se centra en la detección de personas. Para cada persona que se detecta, el modelo enumera el EPP que usa y la puntuación de cobertura de cada elemento del equipo.
En el siguiente ejemplo de búfer de protocolo, ten en cuenta lo siguiente:
- Hora actual: La marca de tiempo indica la hora en la que se generó el resultado de la inferencia.
- Personas detectadas: Es el resultado principal de la detección que incluye un cuadro de persona identificada, varios cuadros de EPP identificados y una puntuación de cobertura para cada parte del cuerpo.
- Cuadro de persona identificada: El cuadro delimitador, la puntuación de confianza y la entidad de persona.
- Caja de EPP identificado: Es el cuadro delimitador, la puntuación de confianza y la entidad de EPP.
Ejemplo de objeto JSON de salida de anotación
{
"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"
}
}
}
]
}Definición del búfer de protocolo
// 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;
}
Prácticas recomendadas y limitaciones
Para obtener los mejores resultados cuando uses el detector de EPP, ten en cuenta lo siguiente cuando obtengas datos y uses el modelo.
Recomendaciones de datos de origen
Recomendación: Cuando sea posible, haz que los sujetos de detección se queden quietos y miren a la cámara.
Datos de imagen de muestra que el detector de EPP puede procesar correctamente:
|
|
|
No se recomienda: Evita los datos de imágenes en los que los elementos clave del EPP sean demasiado pequeños en el encuadre.
Datos de imagen de ejemplo que el detector de PPE no puede procesar correctamente:
|
No se recomienda: Evita los datos de imágenes que muestren los elementos clave del EPP desde un punto de vista poco común o ángulos irregulares.
Datos de imagen de ejemplo que el detector de PPE no puede procesar correctamente:
|
Limitaciones
- Resolución: La resolución máxima recomendada para el video de entrada es de 1920 x 1080, y la resolución mínima recomendada es de 160 x 120.
- Tamaño mínimo del objeto detectable: El modelo ignora cualquier objeto de la escena que ocupe menos del 5% del tamaño del fotograma.
- Iluminación: La iluminación del video debe ser normal. El brillo o la oscuridad extremos en los datos de video pueden reducir el rendimiento del detector.
- Colocación de elementos de EPP: El modelo de EPP se enfoca en analizar si las personas usan correctamente los elementos de EPP. Como resultado, si alguien no usa un elemento de EPP, el modelo lo ignora.
- Tipo de artículo de EPP: El modelo se enfoca en el equipo de protección para la construcción y no en los elementos de EPP médicos. Por lo tanto, es posible que el detector no funcione bien en centros médicos u hospitales.
- Tipos de EPP personalizados: El modelo de EPP no admite elementos de EPP definidos por el cliente. El modelo admite la detección de cascos, máscaras y guantes.
Esta lista no es exhaustiva, y estas limitaciones y funcionalidades están sujetas a modificaciones futuras del producto.