本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解个人防护设备检测 API
以下信息描述了 DetectProtectiveEquipment API。有关代码示例,请参阅 检测图像中的个人防护设备。
提供图片
您可以以图像字节的形式提供输入图像(JPG 或 PNG 格式),也可以引用存储在 Amazon S3 存储桶中的图像。
我们建议使用人物脸部朝向摄像头的图像。
如果您的输入图像未旋转至 0 度,我们建议在提交至 DetectProtectiveEquipment
之前将其旋转至 0 度。JPG 格式的图像可能包含可交换图像文件格式 (Exif) 元数据中的方向信息。您可以使用这些信息编写代码来旋转图像。有关更多信息,请参阅 Exif 版本 2.32
要传递来自 Amazon S3 存储桶的图像,请使用至少具有 AmazonS3ReadOnlyAccess 权限的用户。使用具有
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) 输入参数来请求图像中检测到的个人防护设备类型的摘要信息。
指定要汇总的个人防护设备类型,请使用 RequiredEquipmentTypes
数组字段。在数组中,包含 FACE_COVER
、HAND_COVER
或 HEAD_COVER
中的一个或多个。
使用 MinConfidence
字段指定最低检测置信度 (50-100)。摘要不包括人物、身体部位、身体部位覆盖范围和个人防护设备物品,检测到的置信度低于 MinConfidence
。
有关来自 DetectProtectiveEquipment
的摘要响应的更多信息,请参阅了解 DetectProtectiveEquipment 的响应。
了解 DetectProtectiveEquipment 的响应
DetectProtectiveEquipment
返回输入图像中检测到的人的数组。对于每个人,都会返回有关检测到的身体部位和检测到的个人防护设备物品的信息。以下工作人员戴着头罩、手套和口罩的照片的 JSON 如下所示。
在 JSON 中,请注意以下事项。
-
被检测到的人 -
Persons
是在图像上检测到的一系列人员(包括未佩戴个人防护设备的人)。DetectProtectiveEquipment
可以在图像中检测到的多达 15 个人身上检测到个人防护设备。数组中的每个 ProtectiveEquipmentPerson 对象都包含一个人员 ID、一个人的边界框、检测到的身体部位和检测到的个人防护设备。ProtectiveEquipmentPerson
中Confidence
的值表示 Amazon Rekognition 对边界框包含一个人的置信度百分比。 -
身体部位 -
BodyParts
是在人员身上检测到的一系列身体部位 (ProtectiveEquipmentBodyPart)(包括个人防护设备未覆盖的身体部位)。每个ProtectiveEquipmentBodyPart
包含检测到的身体部位的名称(Name
)。DetectProtectEquipment
可以检测脸部、头部、左手和右手这些身体部位。ProtectiveEquipmentBodyPart
中的Confidence
字段表示 Amazon Rekognition 对身体部位检测精确度的置信度百分比。 个人防护设备物品 -
ProtectiveEquipmentBodyPart
对象中的数组EquipmentDetections
包含一组检测到的个人防护设备物品。每个 EquipmentDetection 对象包含以下字段。Type
– 检测到的个人防护设备的类型。BoundingBox
– 检测到的个人防护设备周围的边界框。Confidence
– Amazon Rekognition 对边界框中包含检测到的个人防护设备的置信度。CoversBodyPart
– 表示检测到的个人防护设备是否在相应的身体部位。
CoversBodyPart 字段
Value
是一个布尔值,用于指示检测到的个人防护设备是否在相应的身体部位。字段Confidence
表示对预测的置信度。您可以使用CoversBodyPart
筛选图像中检测到个人防护设备,但实际上没有出现在人身上的情况。注意
CoversBodyPart
并不表示或暗示该人已受到防护设备的充分保护,也不表示该人已正确佩戴防护设备。-
摘要信息 –
Summary
包含SummarizationAttributes
输入参数中指定的摘要信息。有关更多信息,请参阅 指定汇总要求。Summary
是 ProtectiveEquipmentSummary 类型的对象,其中包含以下信息。PersonsWithRequiredEquipment
– 每个人都符合以下条件的人员的 ID 数组。该人穿着
SummarizationAttributes
输入参数中指定的所有个人防护设备。人员(
ProtectiveEquipmentPerson
)的Confidence
、身体部位(ProtectiveEquipmentBodyPart
)、防护设备(EquipmentDetection
)等于或大于指定的最低置信度阈值(MinConfidence
)。所有个人防护设备物品
CoversBodyPart
的值均为真。
PersonsWithoutRequiredEquipment
– 符合以下条件之一的人员的 ID 数组。人员(
ProtectiveEquipmentPerson
)的Confidence
值、身体部位(ProtectiveEquipmentBodyPart
)和身体部位覆盖范围(CoversBodyPart
)大于指定的最低置信度阈值(MinConfidence
),但该人缺少一个或多个指定的个人防护设备(SummarizationAttributes
)。对于任何
Confidence
值大于指定的最小置信度阈值(MinConfidence
)的指定个人防护设备(SummarizationAttributes
),其CoversBodyPart
值均为 false。该人还拥有所有指定的个人防护设备(SummarizationAttributes
),并且人员(ProtectiveEquipmentPerson
)、身体部位(ProtectiveEquipmentBodyPart
)和防护设备(EquipmentDetection
)的Confidence
值大于或等于最低置信阈值(MinConfidence
)。
PersonsIndeterminate
– 检测到的人员 ID 数组,其中人员(ProtectiveEquipmentPerson
)、身体部位(ProtectiveEquipmentBodyPart
)、防护设备(EquipmentDetection
)或CoversBodyPart
布尔值的Confidence
值低于指定的最小置信阈值(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": [] } }