Entendendo a API de detecção de equipamentos de proteção individual - Amazon Rekognition

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Entendendo a API de detecção de equipamentos de proteção individual

As informações a seguir descrevem a DetectProtectiveEquipmentAPI. Para ver um código demonstrativo, consulte Detectando equipamento de proteção individual em uma imagem.

Fornecer uma imagem

Você pode fornecer a imagem de entrada (formato JPG ou PNG) como bytes de imagem ou fazer referência a uma imagem armazenada em um bucket do Amazon S3.

Recomendamos usar imagens em que a face da pessoa esteja voltado para a câmera.

Se sua imagem de entrada não estiver girada para a orientação de 0 grau, recomendamos girá-la para a orientação de 0 grau antes de enviá-la para DetectProtectiveEquipment. As imagens no formato JPG podem conter informações de orientação nos metadados do formato de arquivo de imagem intercambiável (Exif). Você pode usar essas informações para escrever um código que gira sua imagem. Para obter mais informações, consulte Exif versão 2.32. As imagens no formato PNG não contêm informações de orientação da imagem.

Para passar uma imagem de um bucket do Amazon S3, use um usuário com pelo menos privilégios do ReadOnlyAccess AmazonS3. Use um usuário com privilégios AmazonRekognitionFullAccess para fazer chamadas DetectProtectiveEquipment.

No exemplo de JSON de entrada a seguir, a imagem é passada em um bucket do Amazon S3. Para ter mais informações, consulte Como trabalhar com imagens. O exemplo solicita um resumo de todos os tipos de EPI (cobertura de cabeça, capa de mão e cobertura facial) com uma confiança de detecção mínima (MinConfidence) de 80%. Você deve especificar um valor de MinConfidence entre 50 e 100%, pois DetectProtectiveEquipment retorna previsões somente quando a confiança da detecção está entre 50% e 100%. Se você especificar um valor menor que 50%, os resultados serão os mesmos especificando um valor de 50%. Para ter mais informações, consulte Especificando os requisitos do resumo.

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

Se você tiver uma grande coleção de imagens a serem processadas para reconhecimento, considere usar o AWS Batch para processar as chamadas de DetectProtectiveEquipment em lotes em segundo plano.

Especificando os requisitos do resumo

Opcionalmente, você pode usar o parâmetro de entrada SummarizationAttributes (ProtectiveEquipmentSummarizationAttributes) para solicitar informações resumidas sobre os tipos de PPE detectados em uma imagem.

Para especificar os tipos de PPE a serem resumidos, use o campo de matriz RequiredEquipmentTypes. Na matriz, inclua um ou mais de FACE_COVER, HAND_COVER ou HEAD_COVER.

Use o campo MinConfidence para especificar uma confiança mínima de detecção (50-100). O resumo não inclui pessoas, partes do corpo, cobertura de partes do corpo e itens de EPI, detectados com uma confiança inferiora MinConfidence.

Para obter informações sobre a resposta resumida de DetectProtectiveEquipment, consulte Entendendo a DetectProtectiveEquipment resposta.

Entendendo a DetectProtectiveEquipment resposta

DetectProtectiveEquipment retorna uma matriz de pessoas detectadas na imagem de entrada. Para cada pessoa, as informações sobre partes do corpo detectadas e itens de EPI detectados são devolvidas. O JSON da imagem a seguir de um trabalhador usando uma cobertura para a cabeça, para as mãos e para a face é o seguinte.

Trabalhador da construção civil vestindo camisa quadriculada, capacete e máscara facial segurando uma ferramenta elétrica. As caixas verdes destacam o rosto, o capacete, a mão enluvada e a ferramenta.

No JSON, observe o seguinte.

  • Pessoas detectadasPersons é uma variedade de pessoas detectadas na imagem (incluindo pessoas que não usam EPI). DetectProtectiveEquipment pode detectar EPI em até 15 pessoas detectadas em uma imagem. Cada ProtectiveEquipmentPersonobjeto na matriz contém uma identificação pessoal, uma caixa delimitadora para a pessoa, partes do corpo detectadas e itens detectados de EPI. O valor de Confidence in ProtectiveEquipmentPerson indica a porcentagem de confiança que o Amazon Rekognition tem de que a caixa delimitadora contém uma pessoa.

  • Partes do corpoBodyParts é uma série de partes do corpo (ProtectiveEquipmentBodyPart) detectadas em uma pessoa (incluindo partes do corpo não cobertas pelo EPI). Cada ProtectiveEquipmentBodyPart inclui o nome (Name) da parte do corpo detectada. DetectProtectEquipment pode detectar partes da face, cabeça, mão esquerda e direita do corpo. O campo Confidence em ProtectiveEquipmentBodyPart indica a porcentagem de confiança que o Amazon Rekognition tem na precisão de detecção da parte do corpo.

  • Itens PPE: a matriz EquipmentDetections em um objeto ProtectiveEquipmentBodyPart contém uma matriz de itens EPI detectados. Cada EquipmentDetectionobjeto contém os seguintes campos.

    • Type: o tipo do EPI detectado.

    • BoundingBox: uma caixa delimitadora ao redor do EPI detectado.

    • Confidence: a confiança que o Amazon Rekognition tem de que a caixa delimitadora contém o EPI detectado.

    • CoversBodyPart: indica se o EPI detectado está na parte do corpo correspondente.

    O CoversBodyPartcampo Value é um valor booleano que indica se o PPE detectado está na parte correspondente do corpo. O campo Confidence indica a confiança na previsão. Você pode usar CoversBodyPart para filtrar os casos em que o EPI detectado está na imagem, mas não na verdade na pessoa.

    nota

    CoversBodyPart não indica, nem implica, que a pessoa está adequadamente protegida pelo equipamento de proteção ou que o equipamento de proteção em si está usado adequadamente.

  • Informações resumidasSummary contém as informações resumidas especificadas no parâmetro de entrada SummarizationAttributes. Para ter mais informações, consulte Especificando os requisitos do resumo.

    Summaryé um objeto do tipo ProtectiveEquipmentSummaryque contém as seguintes informações.

    • PersonsWithRequiredEquipment — Uma matriz de IDs de pessoas em que cada pessoa atende aos seguintes critérios.

      • A pessoa está usando todos os EPI especificados no parâmetro de entrada SummarizationAttributes.

      • O Confidence para a pessoa (ProtectiveEquipmentPerson), parte do corpo (ProtectiveEquipmentBodyPart), equipamento de proteção (EquipmentDetection) é igual ou maior que o limite mínimo de confiança especificado (MinConfidence).

      • O valor de CoversBodyPart para todos os itens do EPI é verdadeiro.

    • PersonsWithoutRequiredEquipment — Uma matriz de IDs de pessoas que atendem a um dos seguintes critérios.

      • O valor Confidence da pessoa (ProtectiveEquipmentPerson), parte do corpo (ProtectiveEquipmentBodyPart) e cobertura da parte do corpo (CoversBodyPart) é maior do que o limite mínimo de confiança especificado (MinConfidence), mas falta um ou mais EPI especificados (SummarizationAttributes) à pessoa.

      • O valor de CoversBodyPart é falso para qualquer EPI (SummarizationAttributes) especificado que tenha um valor Confidence maior que o limite mínimo de confiança especificado (MinConfidence). A pessoa também tem todos os EPI especificados (SummarizationAttributes) e os Confidence valores para pessoa (ProtectiveEquipmentPerson), parte do corpo (ProtectiveEquipmentBodyPart) e equipamento de proteção (EquipmentDetection) são maiores ou iguais ao limite mínimo de confiança (MinConfidence.

    • PersonsIndeterminate: uma matriz de IDs de pessoas detectadas quando o valor Confidence da pessoa (ProtectiveEquipmentPerson), parte do corpo (ProtectiveEquipmentBodyPart), equipamento de proteção (EquipmentDetection) ou CoversBodyPart booleano é inferior ao limite mínimo de confiança especificado (MinConfidence).

    Use o tamanho da matriz para obter uma contagem de um resumo específico. Por exemplo, o tamanho de PersonsWithRequiredEquipment indica o número de pessoas detectadas usando o tipo especificado de EPI.

    Você pode usar o ID pessoal para descobrir mais informações sobre uma pessoa, como a localização da caixa delimitadora da pessoa. O ID da pessoa é mapeado para o campo ID de um objeto ProtectiveEquipmentPerson) retornado em Persons (matriz de ProtectiveEquipmentPerson). Você pode então obter a caixa delimitadora e outras informações do objeto correspondente ProtectiveEquipmentPerson.

{ "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": [] } }