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
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": "amzn-s3-demo-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.
En el JSON, tenga en cuenta lo siguiente.
-
Personas detectadas:
Personses un conjunto de personas detectadas en la imagen (incluidas las personas que no llevan EPI).DetectProtectiveEquipmentpuede detectar el EPI en hasta 15 personas detectadas en una imagen. Cada ProtectiveEquipmentPersonobjeto de la matriz contiene un carné de identidad, un recuadro delimitador para la persona, las partes del cuerpo detectadas y los elementos de protección personal detectados. El valorConfidenceenProtectiveEquipmentPersonindica el porcentaje de confianza que Amazon Rekognition tiene en que el recuadro delimitador contiene una persona. -
Partes del cuerpo:
BodyPartses un conjunto de partes del cuerpo (ProtectiveEquipmentBodyPart) detectadas en una persona (incluidas las partes del cuerpo que no están cubiertas por el EPP). CadaProtectiveEquipmentBodyPartincluye el nombre (Name) de la parte del cuerpo detectada.DetectProtectEquipmentpuede detectar partes del cuerpo de la cara, la cabeza y las manos. El campoConfidenceenProtectiveEquipmentBodyPartindica 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
EquipmentDetectionsen un objetoProtectiveEquipmentBodyPartcontiene 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
Valuees un valor booleano que indica si el EPP detectado se encuentra en la parte del cuerpo correspondiente. El campoConfidenceindica la confianza en la predicción. Se puede utilizarCoversBodyPartpara filtrar los casos en los que el EPI detectado aparezca en la imagen, pero no en la persona.nota
CoversBodyPartno 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:
Summarycontiene la información resumida especificada en el parámetro de entradaSummarizationAttributes. 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 IDs de personas en el que cada persona cumple los siguientes criterios.La persona lleva puesto todo el EPI especificado en el parámetro de entrada
SummarizationAttributes.El
Confidencepara 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
CoversBodyPartpara todos los elementos del EPI es true.
PersonsWithoutRequiredEquipment— Un conjunto IDs de personas que cumplen uno de los siguientes criterios.El valor
Confidencede 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
CoversBodyPartes falso para cualquier EPI (SummarizationAttributes) especificado que tenga un valor deConfidencesuperior al umbral de confianza mínimo especificado (MinConfidence). La persona también tiene todo el EPI especificado (SummarizationAttributes) y los valoresConfidencede persona (ProtectiveEquipmentPerson), parte del cuerpo (ProtectiveEquipmentBodyPart) y equipo de protección (EquipmentDetection) son superiores o iguales al umbral mínimo de confianza (MinConfidence).
PersonsIndeterminate— Un conjunto IDs de personas detectadas en el que elConfidencevalor correspondiente a la persona (ProtectiveEquipmentPerson), la parte del cuerpo (ProtectiveEquipmentBodyPart), el equipo de protección (EquipmentDetection) o el valorCoversBodyPartbooleano es inferior al umbral mínimo de confianza especificado (MinConfidence).
Utilice el tamaño de la matriz para obtener el recuento de un resumen concreto. Por ejemplo, el valor de
PersonsWithRequiredEquipmentindica 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
ProtectiveEquipmentPersondevuelto enPersons(matriz deProtectiveEquipmentPerson). A continuación, puede obtener el cuadro delimitador y otra información del objetoProtectiveEquipmentPersoncorrespondiente.
{ "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": [] } }