Comprensione dell'API di rilevamento dei dispositivi di protezione individuale - Amazon Rekognition

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Comprensione dell'API di rilevamento dei dispositivi di protezione individuale

Le seguenti informazioni descrivono l'API. DetectProtectiveEquipment Per il codice di esempio, consulta Rilevamento dei dispositivi di protezione individuale in un immagine.

Fornire un'immagine

Puoi fornire un'immagine di input (formato JPG o PNG) sia come byte di immagine sia facendo riferimento a un'immagine archiviata in un bucket S3.

Si consiglia di utilizzare immagini in cui il viso della persona è rivolto verso la fotocamera.

Se l'immagine in ingresso non è ruotata di 0 gradi, consigliamo di ruotarla di 0 gradi prima di inviarla a DetectProtectiveEquipment. Le immagini in formato JPG potrebbero contenere informazioni di orientamento nei metadati Exif (Exchangeable Image File Format). È possibile utilizzare queste informazioni per scrivere un codice che ruoti l'immagine. Per ulteriori informazioni, consulta Exif versione 2.32. Le immagini in formato PNG non contengono informazioni sull'orientamento dell'immagine.

Per trasferire un'immagine da un bucket Amazon S3, usa un utente con almeno i privilegi AmazonS3. ReadOnlyAccess Usa un utente con privilegi AmazonRekognitionFullAccess per chiamare DetectProtectiveEquipment.

Nell'esempio seguente input JSON, l'immagine viene passata in un bucket Amazon S3. Per ulteriori informazioni, consulta Lavorare con le immagini. L'esempio richiede un riepilogo di tutti i tipi di DPI (copricapo, protezione per i guanti e protezione per il volto) con una confidenza di rilevamento minima (MinConfidence) dell'80%. È necessario specificare un valore MinConfidence compreso tra il 50 e il 100%, in quanto DetectProtectiveEquipment restituisce previsioni solo quando la confidenza del rilevamento è compresa tra il 50% e il 100%. Se si specifica un valore inferiore al 50%, i risultati sono gli stessi specificando un valore del 50%. Per ulteriori informazioni, consulta Specificazione dei requisiti di riepilogo.

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

Se disponi di un'ampia raccolta di immagini da elaborare, considera la possibilità di utilizzare Batch AWS per elaborare le chiamate a DetectProtectiveEquipment in batch in background.

Specificazione dei requisiti di riepilogo

Facoltativamente, puoi utilizzare il parametro di input SummarizationAttributes (ProtectiveEquipmentSummarizationAttributes) per richiedere informazioni di riepilogo sui tipi di DPI rilevati in un'immagine.

Per specificare i tipi di DPI da riepilogare, utilizzate il campo array RequiredEquipmentTypes. Nell'array, includete uno o più di FACE_COVER, HAND_COVER o HEAD_COVER.

Utilizzate il campo MinConfidence per specificare una confidenza minima di rilevamento (50-100). Il riepilogo non include persone, parti del corpo, parti del corpo coperte e articoli di DPI rilevati con un grado di confidenza inferiore a MinConfidence.

Per informazioni sulla risposta di riepilogo da DetectProtectiveEquipment, consulta Comprendere la risposta DetectProtectiveEquipment .

Comprendere la risposta DetectProtectiveEquipment

DetectProtectiveEquipment restituisce un array di persone rilevate nell'immagine di input. Per ogni persona, vengono restituite informazioni sulle parti del corpo rilevate e sugli articoli di DPI rilevati. Il codice JSON per l'immagine seguente di un lavoratore che indossa un copricapo, una protezione per le mani e una protezione per il volto è il seguente.

Operaio edile che indossa camicia a quadretti, elmetto e mascherina con in mano un utensile elettrico. Le caselle verdi evidenziano viso, elmetto, mano guantata e strumento.

Nel JSON, tenere presente quanto segue.

  • Persone rilevate: Persons è un array di persone rilevate nell'immagine (comprese le persone che non indossano DPI). DetectProtectiveEquipment è in grado di rilevare i DPI su un massimo di 15 persone rilevate in un'immagine. Ogni ProtectiveEquipmentPersonoggetto dell'array contiene un ID personale, un riquadro di delimitazione per la persona, le parti del corpo rilevate e gli elementi di DPI rilevati. Il valore di Confidence in ProtectiveEquipmentPerson indica la percentuale di fiducia di Amazon Rekognition che il riquadro di delimitazione contenga una persona.

  • Parti del corpo: BodyParts è una serie di parti del corpo (ProtectiveEquipmentBodyPart) rilevate su una persona (comprese le parti del corpo non coperte dai DPI). Ciascuna ProtectiveEquipmentBodyPart include il nome (Name) della parte del corpo rilevata. DetectProtectEquipment è in grado di rilevare parti del corpo del volto, della testa, della mano sinistra e della mano destra. Il campo Confidence in ProtectiveEquipmentBodyPart indica la percentuale di confidenza di Amazon Rekognition nella precisione di rilevamento della parte del corpo.

  • Elementi DPI: l'array EquipmentDetections di un oggetto ProtectiveEquipmentBodyPart contiene una serie di elementi DPI rilevati. Ogni EquipmentDetectionoggetto contiene i seguenti campi.

    • Type— Il tipo di DPI rilevato.

    • BoundingBox— un riquadro di delimitazione attorno al DPI rilevato.

    • Confidence— La fiducia di Amazon Rekognition che il riquadro di delimitazione contenga i DPI rilevati.

    • CoversBodyPart— Indica se il DPI rilevato si trova sulla parte del corpo corrispondente.

    Il CoversBodyPartcampo Value è un valore booleano che indica se il DPI rilevato si trova sulla parte del corpo corrispondente. Il campo Confidence indica la fiducia nella previsione. È possibile usare CoversBodyPart per filtrare i casi in cui il DPI rilevato è presente nell'immagine, ma non effettivamente sulla persona.

    Nota

    CoversBodyPart non indica o implica che la persona sia adeguatamente protetta dall'equipaggiamento protettivo o che l'equipaggiamento protettivo stesso sia indossato correttamente.

  • Informazioni di riepilogoSummary contiene le informazioni di riepilogo specificate nel parametro SummarizationAttributes di input. Per ulteriori informazioni, consulta Specificazione dei requisiti di riepilogo.

    Summaryè un oggetto di tipo ProtectiveEquipmentSummaryche contiene le seguenti informazioni.

    • PersonsWithRequiredEquipment— Una serie di ID di persone in cui ogni persona soddisfa i seguenti criteri.

      • La persona indossa tutti i DPI specificati nel parametro SummarizationAttributes di input.

      • La Confidence per la persona (ProtectiveEquipmentPerson), parte del corpo (ProtectiveEquipmentBodyPart), equipaggiamento protettivo (EquipmentDetection) è uguale o superiore alla soglia minima di confidenza specificata (MinConfidence).

      • Il valore di CoversBodyPart per tutti gli articoli di DPI è vero.

    • PersonsWithoutRequiredEquipment— Un array di ID di persone che soddisfa uno dei seguenti criteri.

      • Il valore Confidence per la persona (ProtectiveEquipmentPerson), parte del corpo (ProtectiveEquipmentBodyPart) e copertura delle parti del corpo (CoversBodyPart) sono superiori alla soglia minima di confidenza specificata (MinConfidence), ma alla persona mancano uno o più DPI specificati (SummarizationAttributes).

      • Il valore di CoversBodyPart è false per ogni DPI specificato (SummarizationAttributes) con un valore Confidence superiore alla soglia di confidenza minima specificata (MinConfidence). La persona dispone inoltre di tutti i DPI specificati (SummarizationAttributes), e i valori Confidence per persona (ProtectiveEquipmentPerson), parte del corpo (ProtectiveEquipmentBodyPart) e equipaggiamento protettivo (EquipmentDetection) sono superiori o uguali alla soglia minima di confidenza (MinConfidence).

    • PersonsIndeterminate— Un array di ID di persone rilevate in cui il valore Confidence per la persona (ProtectiveEquipmentPerson), la parte del corpo (ProtectiveEquipmentBodyPart), l'equipaggiamento protettivo (EquipmentDetection) o il valore booleano CoversBodyPart è inferiore alla soglia di confidenza minima specificata (MinConfidence).

    Utilizzate la dimensione dell'array per ottenere un conteggio per un particolare riepilogo. Ad esempio, la taglia di PersonsWithRequiredEquipment indica il numero di persone rilevate che indossano il tipo di DPI specificato.

    Puoi utilizzare l'ID della persona per scoprire ulteriori informazioni su una persona, come la posizione del riquadro di delimitazione della persona. L'ID della persona viene mappato al campo ID di un oggetto restituito (ProtectiveEquipmentPerson) in Persons (array diProtectiveEquipmentPerson). È quindi possibile ottenere il riquadro di delimitazione e altre informazioni dall'oggetto ProtectiveEquipmentPerson corrispondente.

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