Comprensión de la API de detección de equipos de protección individual - Amazon Rekognition

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comprensión de la API de detección de equipos de protección individual

La siguiente información describe la DetectProtectiveEquipmentAPI. Para ver el código de ejemplo, consulte Detección de equipos de protección individual en una imagen.

Suministrar una imagen

Puede proporcionar una imagen de entrada (formato JPG o PNG) como bytes de imagen o referencia a una imagen almacenada en un bucket de Amazon S3.

Recomendamos utilizar imágenes en las que el rostro de la persona mire hacia la cámara.

Si la imagen de entrada no está girada en una orientación de 0 grados, le recomendamos girarla a una orientación de 0 grados antes de enviarla a DetectProtectiveEquipment. Las imágenes en formato JPG pueden contener información de orientación en los metadatos del formato de archivo de imagen intercambiable (Exif). Puede utilizar esta información para escribir código que haga una rotación. Para obtener más información, consulte Exif Version 2.32. Las imágenes en formato PNG no contienen información sobre la orientación de la imagen.

Para transferir una imagen desde un bucket de Amazon S3, utilice un usuario con al menos los ReadOnlyAccess privilegios de Amazon S3. Utilice un usuario con privilegios de AmazonRekognitionFullAccess para llamar a DetectProtectiveEquipment.

En el siguiente ejemplo, si introduce JSON, la imagen se pasa a un bucket de Amazon S3. Para obtener más información, consulte Trabajar con imágenes. En el ejemplo se solicita un resumen de todos los tipos de EPI (cubierta para la cabeza, cubierta para las manos y cubierta para la cara) con una confianza de detección mínima (MinConfidence) del 80 %. Debe especificar un valor de MinConfidence que esté entre el 50 y el 100 %, ya que DetectProtectiveEquipment solo devuelve predicciones cuando la confianza de detección está entre el 50 y el 100 %. Si especifica un valor inferior al 50 %, los resultados son los mismos, especificando un valor del 50 %. Para obtener más información, consulte Especificar los requisitos de resumen.

{ "Image": { "S3Object": { "Bucket": "bucket", "Name": "worker.jpg" } }, "SummarizationAttributes": { "MinConfidence": 80, "RequiredEquipmentTypes": [ "FACE_COVER", "HAND_COVER", "HEAD_COVER" ] } }

Si tiene una amplia gama de imágenes para procesar, considere la posibilidad de utilizar AWS Batch para procesar las llamadas a DetectProtectiveEquipment en lotes en segundo plano.

Especificar los requisitos de resumen

Si lo desea, puede utilizar el parámetro de entrada SummarizationAttributes (ProtectiveEquipmentSummarizationAttributes) para solicitar información resumida sobre los tipos de PPE detectados en una imagen.

Para especificar los tipos de EPI que se van a resumir, utilice el campo de matriz de RequiredEquipmentTypes. En la matriz, incluya uno o más FACE_COVER, HAND_COVER o HEAD_COVER.

Utilice el campo MinConfidence para especificar una confianza de detección mínima (50-100). El resumen no incluye las personas, las partes del cuerpo, la cobertura de partes del cuerpo ni los elementos de EPI detectados con una confianza inferior a MinConfidence.

Para obtener información sobre la respuesta de resumen de DetectProtectiveEquipment, consulte Entender la DetectProtectiveEquipment respuesta.

Entender la DetectProtectiveEquipment respuesta

DetectProtectiveEquipment devuelve una matriz de personas detectadas en la imagen de entrada. Para cada persona, se devuelve información sobre las partes del cuerpo detectadas y los elementos de EPI. El código JSON de la siguiente imagen de un trabajador con la cabeza, las manos y la cara cubiertas es el siguiente.

Trabajador de la construcción con camisa a cuadros, casco y máscara facial que sostiene una herramienta eléctrica. Los recuadros verdes resaltan la cara, el casco, la mano enguantada y la herramienta.

En el JSON, tenga en cuenta lo siguiente.

  • Personas detectadas: Persons es un conjunto de personas detectadas en la imagen (incluidas las personas que no llevan EPI). DetectProtectiveEquipment puede detectar el EPI en hasta 15 personas detectadas en una imagen. Cada ProtectiveEquipmentPersonobjeto de la matriz contiene una identificación personal, un recuadro delimitador para la persona, las partes del cuerpo detectadas y los elementos de protección personal detectados. El valor Confidence en ProtectiveEquipmentPerson indica el porcentaje de confianza que Amazon Rekognition tiene en que el recuadro delimitador contiene una persona.

  • Partes del cuerpo: BodyParts es un conjunto de partes del cuerpo (ProtectiveEquipmentBodyPart) detectadas en una persona (incluidas las partes del cuerpo que no están cubiertas por el EPP). Cada ProtectiveEquipmentBodyPart incluye el nombre (Name) de la parte del cuerpo detectada. DetectProtectEquipment puede detectar partes del cuerpo de la cara, la cabeza y las manos. El campo Confidence en ProtectiveEquipmentBodyPart indica el porcentaje de confianza que Amazon Rekognition tiene en la precisión de detección de la parte del cuerpo.

  • Elementos de EPI: la matriz de EquipmentDetections en un objeto ProtectiveEquipmentBodyPart contiene una serie de elementos de EPI detectados. Cada EquipmentDetectionobjeto contiene los siguientes campos.

    • Type: el tipo de EPI detectado.

    • BoundingBox: un recuadro delimitador alrededor del EPI detectado.

    • Confidence: la confianza que Amazon Rekognition tiene de que el recuadro delimitador contiene el EPI detectado.

    • CoversBodyPart: indica si el EPI detectado se encuentra en la parte del cuerpo correspondiente.

    El CoversBodyPartcampo Value es un valor booleano que indica si el EPP detectado se encuentra en la parte del cuerpo correspondiente. El campo Confidence indica la confianza en la predicción. Se puede utilizar CoversBodyPart para filtrar los casos en los que el EPI detectado aparezca en la imagen, pero no en la persona.

    nota

    CoversBodyPart no indica ni implica que la persona esté adecuadamente protegida por el EPI o que el equipo de protección en sí esté debidamente colocado.

  • Información resumida: Summary contiene la información resumida especificada en el parámetro de entrada SummarizationAttributes. Para obtener más información, consulte Especificar los requisitos de resumen.

    Summaryes un objeto de tipo ProtectiveEquipmentSummaryque contiene la siguiente información.

    • PersonsWithRequiredEquipment: un conjunto de ID de personas en las que cada persona cumple los siguientes criterios.

      • La persona lleva puesto todo el EPI especificado en el parámetro de entrada SummarizationAttributes.

      • El Confidence para la persona (ProtectiveEquipmentPerson), la parte del cuerpo (ProtectiveEquipmentBodyPart) y el equipo de protección (EquipmentDetection) es igual o superior al umbral de confianza mínimo especificado (MinConfidence).

      • El valor de CoversBodyPart para todos los elementos del EPI es true.

    • PersonsWithoutRequiredEquipment: una matriz de ID de personas que cumplen uno de los siguientes criterios.

      • El valor Confidence de la persona (ProtectiveEquipmentPerson), la parte del cuerpo (ProtectiveEquipmentBodyPart) y la cobertura de la parte del cuerpo (CoversBodyPart) superan el umbral de confianza mínimo especificado (MinConfidence), pero a la persona le faltan uno o más EPI específicos (SummarizationAttributes).

      • El valor de CoversBodyPart es falso para cualquier EPI (SummarizationAttributes) especificado que tenga un valor de Confidence superior al umbral de confianza mínimo especificado (MinConfidence). La persona también tiene todo el EPI especificado (SummarizationAttributes) y los valores Confidence de persona (ProtectiveEquipmentPerson), parte del cuerpo (ProtectiveEquipmentBodyPart) y equipo de protección (EquipmentDetection) son superiores o iguales al umbral mínimo de confianza (MinConfidence).

    • PersonsIndeterminate: conjunto de documentos de identidad de las personas detectadas en los que el valor Confidence de la persona (ProtectiveEquipmentPerson), la parte del cuerpo (ProtectiveEquipmentBodyPart), el equipo de protección (EquipmentDetection) o el valor booleano CoversBodyPart es inferior al umbral de confianza mínimo especificado (MinConfidence).

    Utilice el tamaño de la matriz para obtener el recuento de un resumen concreto. Por ejemplo, el valor de PersonsWithRequiredEquipment indica el número de personas detectadas que llevan el tipo de EPI especificado.

    Puede usar el ID de la persona para obtener más información sobre una persona, como la ubicación del recuadro delimitador de la persona. El ID de la persona se asigna al campo de ID de un objeto ProtectiveEquipmentPerson devuelto en Persons (matriz de ProtectiveEquipmentPerson). A continuación, puede obtener el cuadro delimitador y otra información del objeto ProtectiveEquipmentPerson correspondiente.

{ "ProtectiveEquipmentModelVersion": "1.0", "Persons": [ { "BodyParts": [ { "Name": "FACE", "Confidence": 99.99861145019531, "EquipmentDetections": [ { "BoundingBox": { "Width": 0.14528800547122955, "Height": 0.14956723153591156, "Left": 0.4363413453102112, "Top": 0.34203192591667175 }, "Confidence": 99.90001678466797, "Type": "FACE_COVER", "CoversBodyPart": { "Confidence": 98.0676498413086, "Value": true } } ] }, { "Name": "LEFT_HAND", "Confidence": 96.9786376953125, "EquipmentDetections": [ { "BoundingBox": { "Width": 0.14495663344860077, "Height": 0.12936046719551086, "Left": 0.5114737153053284, "Top": 0.5744519829750061 }, "Confidence": 83.72270965576172, "Type": "HAND_COVER", "CoversBodyPart": { "Confidence": 96.9288558959961, "Value": true } } ] }, { "Name": "RIGHT_HAND", "Confidence": 99.82939147949219, "EquipmentDetections": [ { "BoundingBox": { "Width": 0.20971858501434326, "Height": 0.20528452098369598, "Left": 0.2711356580257416, "Top": 0.6750612258911133 }, "Confidence": 95.70789337158203, "Type": "HAND_COVER", "CoversBodyPart": { "Confidence": 99.85433197021484, "Value": true } } ] }, { "Name": "HEAD", "Confidence": 99.9999008178711, "EquipmentDetections": [ { "BoundingBox": { "Width": 0.24350935220718384, "Height": 0.34623199701309204, "Left": 0.43011072278022766, "Top": 0.01103297434747219 }, "Confidence": 83.88762664794922, "Type": "HEAD_COVER", "CoversBodyPart": { "Confidence": 99.96485900878906, "Value": true } } ] } ], "BoundingBox": { "Width": 0.7403100728988647, "Height": 0.9412225484848022, "Left": 0.02214839495718479, "Top": 0.03134796395897865 }, "Confidence": 99.98855590820312, "Id": 0 } ], "Summary": { "PersonsWithRequiredEquipment": [ 0 ], "PersonsWithoutRequiredEquipment": [], "PersonsIndeterminate": [] } }