Guía del detector de equipos de protección individual (EPI)

tarjeta de modelo de desenfoque de persona en la consola

El modelo Detector de equipo de protección individual (EPI) te ayuda a verificar la presencia de equipos que limitan la exposición a peligros en un entorno de trabajo o comunitario.

El modelo detecta a las personas y los elementos de EPI (guantes, mascarillas y cascos) de una persona concreta. El modelo detecta los elementos de EPI y si estos cubren las partes del cuerpo correspondientes. El modelo informa de esta información de cobertura como una puntuación que va de 0 a 1. El modelo acepta una emisión de vídeo como entrada. El modelo genera los 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 EPIs tiene tres parámetros de control que puedes definir:

  • Coberturas para la cabeza: el operador genera información sobre los elementos del EPP relacionados con la cobertura de la cabeza. Defina este valor en la consola Google Cloud o asigne el valor true a enableHeadCoverageDetection en PersonalProtectiveEquipmentDetectionConfig.
  • Cubiertas faciales: el operador genera información sobre los elementos del EPI relacionados con la cobertura facial. Defina este valor en la consola Google Cloud o asigne el valor true a enableFaceCoverageDetection en PersonalProtectiveEquipmentDetectionConfig.
  • Guantes: el operador muestra información sobre los elementos del EPP relacionados con la cobertura de las manos. Defina este valor en la consola Google Cloud o defina enableHandsCoverageDetection como true en PersonalProtectiveEquipmentDetectionConfig.

Especificaciones de la aplicación del modelo de detector de EPIs

Sigue estas instrucciones para crear un modelo de detector de EPIs en la consola deGoogle Cloud .

Consola

Crear una aplicación en la Google Cloud consola

  1. Para crear una aplicación de detección de EPIs, sigue las instrucciones que se indican en Crear una aplicación.

    Ve a la pestaña Aplicaciones.

Añadir un modelo de detector de EPP

  1. Cuando añadas nodos de modelo, selecciona Detector de PPE en la lista de modelos preentrenados.

  2. En el menú de opciones, define los tipos de EPI que quieras detectar.

Añadir un conector de BigQuery

  1. Para usar la salida, conecta la aplicación a un conector de BigQuery.

    Para obtener información sobre cómo usar el conector BigQuery, consulta el artículo Conectar y almacenar datos con BigQuery. Para obtener información sobre los precios de BigQuery, consulta la página Precios de BigQuery.

Ver los resultados en BigQuery

Una vez que el modelo haya enviado los datos a BigQuery, consulta las anotaciones de salida en el panel de control de BigQuery.

Si no has especificado una ruta de BigQuery, puedes ver la ruta creada por el sistema en la página Studio de Vertex AI Vision.

  1. En la Google Cloud consola, abre la página de BigQuery.

    Ir a BigQuery

  2. Selecciona Expand (Ampliar) junto al proyecto de destino, el nombre del conjunto de datos y el nombre de la aplicación.

    Seleccionar la tabla de la aplicación en BigQuery

  3. En la vista de detalles de la tabla, haga clic en Vista previa. Consulte los resultados en la columna Anotación. Para ver una descripción del formato de salida, consulta Salida 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 añaden 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

La salida 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 del flujo de salida es de un fotograma por segundo.

El resultado del modelo es un formato de búfer de protocolo que incluye información sobre el fotograma del vídeo y el resultado de la predicción de detección de EPIs. El objetivo del modelo es comprobar si las personas llevan el equipo de protección correctamente. Por lo tanto, el modelo se centra en detectar personas y el EPI que llevan. La salida del modelo se centra en la detección de personas. Por cada persona detectada, el modelo muestra el EPI que lleva y la puntuación de cobertura de cada pieza del equipo.

En el ejemplo de protocolo de búfer que se muestra a continuación, ten en cuenta lo siguiente.

  • Hora actual: la marca de tiempo indica la hora en la que se obtiene el resultado de la inferencia.
  • Personas detectadas: el resultado principal de la detección, que incluye un cuadro de persona identificada, varios cuadros de EPI identificados y una puntuación de cobertura de cada parte del cuerpo.
  • Cuadro de la persona identificada: el cuadro delimitador, la puntuación de confianza y la entidad de persona.
  • Cuadro delimitador de EPP: el cuadro delimitador, la puntuación de confianza y la entidad de EPP.

Objeto JSON de salida de anotación de muestra

{
  "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 de 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 al usar el detector de EPIs, tenga en cuenta lo siguiente al obtener datos y usar el modelo.

Recomendaciones de datos de origen

Recomendación: Si es posible, pide a las personas que se queden quietas y miren a la cámara.

Datos de imagen de muestra que el detector de EPIs puede procesar correctamente:

Imagen de muestra de una persona mirando a la cámara con la cara cubierta
Fuente de la imagen: Ani Kolleshi en Unsplash.
Imagen de muestra de una persona mirando a la cámara con la cara cubierta
Fuente de la imagen: Ahsanization en Unsplash.
Imagen de muestra de una persona mirando a la cámara con la cara cubierta
Fuente de la imagen: Anastasiia Chepinska en Unsplash.

No recomendado: evita que los elementos clave del EPP sean demasiado pequeños en el encuadre.

Datos de imagen de muestra que el detector de EPIs no puede procesar correctamente:

Imagen de muestra de elementos de EPP que son demasiado pequeños para detectarse
Fuente de la imagen: Josue Isai Ramos Figueroa en Unsplash.

No se recomienda: evite los datos de imagen que muestren los elementos clave del EPI desde un punto de vista poco habitual o con ángulos irregulares.

Datos de imagen de muestra que el detector de EPIs no puede procesar correctamente:

Imagen de muestra de un EPI que se muestra en un ángulo demasiado poco común para detectarse
Fuente de la imagen: Niclas Moser en Unsplash.

Limitaciones

  • Resolución: la resolución máxima de vídeo de entrada recomendada es 1920x1080 y la mínima recomendada es 160x120.
  • Tamaño mínimo detectable de los objetos: el modelo ignora cualquier objeto de la escena que ocupe menos del 5% del tamaño del fotograma.
  • Iluminación: la iluminación del vídeo debe ser normal. Un brillo o una oscuridad extremos en los datos de vídeo pueden reducir el rendimiento del detector.
  • Colocación de EPIs: el modelo de EPIs se centra en analizar si los usuarios utilizan correctamente los EPIs. Por lo tanto, si una persona no lleva un EPI, el modelo lo ignora.
  • Tipo de EPI: el modelo se centra en los equipos de protección para la construcción y no en los EPIs médicos. Por lo tanto, es posible que el detector no funcione correctamente en centros médicos u hospitales.
  • Tipos de EPIs personalizados: el modelo de EPIs no admite elementos de EPIs definidos por el cliente. El modelo admite la detección de cascos, mascarillas y guantes.

Esta lista no es exhaustiva y estas limitaciones y funciones están sujetas a futuras modificaciones del producto.