了解個人防護裝備偵測 API - Amazon Rekognition

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

了解個人防護裝備偵測 API

下列資訊說明 DetectProtectiveEquipmentAPI。如需範例程式碼,請參閱 偵測映像中的個人防護裝備

提供映像

您可以將輸入映像 (JPG 或 PNG 格式) 作為映像位元組,或透過參考存放在 Amazon S3 儲存貯體中的映像來提供。

我們建議使用人臉朝向相機的映像。

如果您的輸入映像沒有旋轉至 0 度方向,建議您先將其旋轉至 0 度方向,然後再將其提交給 DetectProtectiveEquipment。JPG 格式的映像可能包含可交換映像檔案格式 (Exif) 中繼資料中的方向資訊。您可以使用此資訊來撰寫可輪換映像的程式碼。如需詳細資訊,請參閱可交換映像檔案格式版本 2.32。PNG 格式的映像不包含映像方向資訊。

要從 Amazon S3 存儲桶傳遞圖像,請使用至少具有 AmazonS3 ReadOnlyAccess 權限的用戶。使用擁有 AmazonRekognitionFullAccess 權限的使用者呼叫 DetectProtectiveEquipment.

在以下範例輸入 JSON 中,映像傳入 Amazon S3 儲存貯體中。如需詳細資訊,請參閱 使用映像。此範例要求所有個人防護裝備類型 (頭蓋、手套和面罩) 的摘要,偵測可信度 (MinConfidence) 為 80%。您應該指定介於 50% - 100% 之間的 MinConfidence 值,作為僅在偵測可信度介於 50% - 100% 之間的 DetectProtectiveEquipment 傳回的預測。如果您指定的值小於 50%,則結果會相同,指定 50% 的值。如需詳細資訊,請參閱 指定彙總需求

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

如果您要處理大型映像集合,請考慮使用 AWS Batch 在背景批次處理 DetectProtectiveEquipment 的呼叫。

指定彙總需求

您可以選擇性地使用 SummarizationAttributes (ProtectiveEquipmentSummarizationAttributes) 輸入參數來要求影像中偵測到的 PPE 類型的摘要資訊。

若要指定要摘要的個人防護裝備類型,請使用 RequiredEquipmentTypes 陣列欄位。在陣列中,包含一或多個 FACE_COVERHAND_COVERHEAD_COVER

使用此 MinConfidence 欄位可指定最小偵測可信度 (50 - 100)。摘要不包括人員、身體部分、身體部分覆蓋以及個人防護裝備物品,偵測可信度低於 MinConfidence

如需 DetectProtectiveEquipment 回應格式的相關資訊,請參閱 了解回 DetectProtectiveEquipment 應

了解回 DetectProtectiveEquipment 應

DetectProtectiveEquipment 傳回在輸入映像中偵測的一群人。對於每個人,傳回有關偵測到的身體部分和偵測到的個人防護裝備物品的資訊。戴著頭套、手套和面罩的工作人員的以下映像的 JSON 如下。

建設工人, 穿, 交替變換, 襯衫, 安全帽, 以及, 面罩, 藏品, a, 力量, tool. 綠色框突出顯示臉,安全帽,戴手套的手和工具。

在 JSON 中,請注意下列事項。

  • 偵測人員Persons 是在映像上偵測到的一系列人員 (包括未佩戴個人防護裝備的人員)。DetectProtectiveEquipment 可以在映像中偵測到的最多 15 個人身上偵測到個人防護裝備。陣列中的每個ProtectiveEquipmentPerson物件都包含人員 ID、人員的邊界框、偵測到的身體部位,以及偵測到的 PPE 項目。ProtectiveEquipmentPerson 中的 Confidence 值表示 Amazon Rekognition 對邊界邊框包含人員的百分比可信度。

  • 身體部位 — BodyParts 是在一個人身上檢測到的一系列身體部位(包括 PPE 未涵蓋的身體部位)。ProtectiveEquipmentBodyPart每個 ProtectiveEquipmentBodyPart 都包括偵測到的本體零件的名稱 (Name)。DetectProtectEquipment 可以偵測人臉、頭部、左側和右側身體部分。ProtectiveEquipmentBodyPart 中的 Confidence 欄位表示 Amazon Rekognition 對身體部分偵測準確度的百分比可信度。

  • 個人防護裝備專案ProtectiveEquipmentBodyPart 物件内的陣列 EquipmentDetections 包含偵測到的多个個人防護裝備專案。每個EquipmentDetection物件都包含下列欄位。

    • Type:偵測到的個人防護裝備類型。

    • BoundingBox:圍繞偵測到的個人防護裝備的邊界邊框。

    • Confidence:Amazon Rekognition 邊界邊框包含偵測到的個人防護裝備的受信度。

    • CoversBodyPart:指示偵測到的個人防護裝備是否在相應的身體部分。

    CoversBodyPart欄位Value為布林值,指出偵測到的 PPE 是否在對應的主體部位上。該欄位 Confidence 表明預測的可信度。您可以使用 CoversBodyPart 過濾掉偵測到的個人防護裝備在映像中但實際上不是在個人身上的案例。

    注意

    CoversBodyPart 表明且該人沒有受到防護裝備的充分保護,或者未正確佩戴防護裝備。

  • 摘要資訊Summary 包含 SummarizationAttributes 輸入參數中指定的摘要資訊。如需詳細資訊,請參閱 指定彙總需求

    Summary是一個包含以下信息ProtectiveEquipmentSummary的類型的對象。

    • PersonsWithRequiredEquipment:符合以下條件的每個人的 ID。

      • 該人員穿著 SummarizationAttributes 輸入參數中指定的所有個人防護裝備。

      • 用於人員 (ProtectiveEquipmentPerson)、身體部分 (ProtectiveEquipmentBodyPart)、防護裝備 (EquipmentDetection)的 Confidence 等於或大於指定的最小置信閾值 (MinConfidence)。

      • 個人防護裝備的所有項目的 CoversBodyPart 值為真。

    • PersonsWithoutRequiredEquipment:符合下列條件之一的人員的 ID。

      • 人員(ProtectiveEquipmentPerson)、身體部分 (ProtectiveEquipmentBodyPart)和身體部分覆蓋率 (CoversBodyPart)的 Confidence 值大於指定的最小受信度閾值 (MinConfidence),但該人員缺少一個或多個指定的個人防護裝備 (SummarizationAttributes)。

      • 如果用于任何指定個人防護裝備 (SummarizationAttributes) 的 Confidence 值大於指定的最小可信度閾值 (MinConfidence),則 CoversBodyPart 值為假。此人還具有所有指定的個人防護裝備 (SummarizationAttributes)、且針對人員 (ProtectiveEquipmentPerson)、身體部分 (ProtectiveEquipmentBodyPart) 和防護裝置 (EquipmentDetection) 的 Confidence 值大於或等於最小可信度閾值 (MinConfidence

    • PersonsIndeterminate:人員 (ProtectiveEquipmentPerson)、身體部分 (ProtectiveEquipmentBodyPart)、防護裝備 (EquipmentDetection) 的 Confidence 值所在位置偵測到的人員 ID 陣列或 CoversBodyPart 布林值低於指定的最小受信度閾值 (MinConfidence)。

    使用數組大小來獲取特定摘要的計數。例如,PersonsWithRequiredEquipment 值大小表明偵測到佩戴指定類型個人防護裝備的人數。

    您可以使用人員 ID 來尋找有關人員的進一步資訊,例如人物的邊界邊框位置。人員 ID 映射至 Persons (ProtectiveEquipmentPerson 的陣列) 中傳回的 ProtectiveEquipmentPerson 物件 ID 欄位。然後,您可以從相應的 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": [] } }