

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 個人用保護具検出 API を理解する
<a name="ppe-request-response"></a>

以下の情報は [DetectProtectiveEquipment](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectProtectiveEquipment.html) API について説明しています。サンプルコードについては、「[画像から個人用保護具を検出します。](ppe-procedure-image.md)」を参照してください。

## 画像を供給する
<a name="detect-protective-equipment-request"></a>

入力画像（JPG または PNG 形式）は、画像バイトとして提供するか、Amazon S3 バケットに保存されている画像を参照することができます。

人物の顔がカメラの方を向いている画像を使用することを推奨します。

入力画像が 0 度回転しない場合は、`DetectProtectiveEquipment` に送信する前に 0 度回転することをお勧めします。JPG 形式の画像は、Exif（Exchangeable Image File Format）のメタデータに方向情報が含まれている場合があります。この情報を使用して、画像を回転させるコードを記述できます。詳細については、「[Exif バージョン 2.32](http://cipa.jp/std/documents/download_e.html?DC-008-Translation-2019-E)」を参照してください。PNG 形式の画像には、画像の向きに関する情報は含まれていません。

 Amazon S3 バケットからイメージを渡すには、少なくとも ``AmazonS3ReadOnlyAccess 権限を持つユーザーを使用します。`AmazonRekognitionFullAccess` 権限を持つユーザーを使用して、`DetectProtectiveEquipment.` を呼び出します。

以下の入力例の JSON では、画像は Amazon S3 バケットで渡されています。詳細については、「[イメージの操作](images.md)」を参照してください。この例では、すべてのPPEタイプ（ヘッドカバー、ハンドカバー、およびフェイスカバー）の概要を最低限の検出信頼度（`MinConfidence`) の 80% で要求しています。`MinConfidence` の値は 50 ～ 100 ％ の間で指定する必要があり、`DetectProtectiveEquipment` は検出信頼度が 50 ％ ～ 100 ％ の場合のみ予測を返します。50 % 未満の値を指定すると、50 % の値を指定した結果は同じになります。詳細については、「[要約の要件を指定する](#ppe-summarization-input-parameters)」を参照してください。

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

処理する画像のコレクションが大きい場合、[AWS Batch](https://docs.aws.amazon.com/batch/latest/userguide/) を使用してバックグラウンドで `DetectProtectiveEquipment` への呼び出しをバッチ処理することを検討してください。

### 要約の要件を指定する
<a name="ppe-summarization-input-parameters"></a>

オプションで `SummarizationAttributes` ([ProtectiveEquipmentSummarizationAttributes](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProtectiveEquipmentSummarizationAttributes.html)) 入力パラメータを使用すると、イメージ内で検出された PPE のタイプの要約情報をリクエストできます。

要約する PPE の種類を指定するには、`RequiredEquipmentTypes` 配列フィールドを使用します。配列には、1 つ以上のものを含めます。`FACE_COVER`、`HAND_COVER` または `HEAD_COVER` です。

`MinConfidence` フィールドを使用して、検出の最小信頼度 (50-100) を指定します。要約には、`MinConfidence` より低い信頼度で検出された、人物、身体部位、身体部位範囲、および PPE の項目は含まれません。

`DetectProtectiveEquipment` のサマリーレスポンスについては、「[保護装置の検出レスポンスの概要](#detect-protective-equipment-response)」を参照してください。



## 保護装置の検出レスポンスの概要
<a name="detect-protective-equipment-response"></a>

`DetectProtectiveEquipment` は、入力画像から検出された人物の配列を返します。各人について、検出された身体部位、および PPE の検出されたアイテムに関する情報が返されます。ヘッドカバー、ハンドカバー、フェイスカバーを着用した作業員の次の画像の JSON は以下の通りです。

![\[チェック柄のシャツ、ヘルメット、フェイスマスクを着用し、電動工具を持っている建設作業員。緑色のボックスで顔、ヘルメット、手袋をはめた手、工具が強調されている。\]](http://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/images/worker-with-bb.png)


JSON では、以下の点に注意してください。
+ **検出された人物** – `Persons` は、画像上で検出された人物（PPE を着用していない人物も含む）の配列です。`DetectProtectiveEquipment` は、画像から検出された最大 15 人の PPE を検出することができます。配列内の各 [ProtectiveEquipmentPerson](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProtectiveEquipmentPerson.html) オブジェクトには、人物 ID、人物の境界ボックス、検出された体の部位、検出された PPE のアイテムが含まれます。`Confidence` の `ProtectiveEquipmentPerson` の値は、Amazon Rekognition がバウンディングボックスに人が含まれていることを確信する割合を示します。
+ **体の部位** – `BodyParts` は、人物から検出された体の部位 ([ProtectiveEquipmentBodyPart](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProtectiveEquipmentBodyPart.html)) の配列 (PPE でカバーされていない体の部位を含む) です。各 `ProtectiveEquipmentBodyPart` には、検出された身体部位の名称（`Name`）が含まれています。`DetectProtectEquipment` は、顔、頭、左手、右手の体の一部を検出することができます。`Confidence` の `ProtectiveEquipmentBodyPart` フィールドは、Amazon Rekognition が身体部分の検出精度に持つ信頼度のパーセンテージを示します。
+ **PPE アイテム**— 配列 `EquipmentDetections` で `ProtectiveEquipmentBodyPart` オブジェクトには、検出された PPE アイテムの配列が含まれています。各 [EquipmentDetection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_EquipmentDetection.html) オブジェクトには以下のフィールドが含まれています。
  +  `Type` - 検出された PPE のタイプです。
  + `BoundingBox` - 検出された PPE の周囲のバウンディングボックスです。
  + `Confidence` - Amazon Rekognition はバウンディングボックスが検出された PPE を含むと確信しています。
  + `CoversBodyPart` - 検出された PPE が対応する身体部位上にあるかどうかを示します。

  [CoversBodyPart](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CoversBodyPart.html) フィールド `Value` は、検出された PPE が対応する体の部位にあるかどうかを示すブーリアン値です。フィールド `Confidence` 予測の信頼度を示します。`CoversBodyPart` を使用すると、検出された PPE が画像内にあるが、実際には人物の上にない場合を除外することができます。
**注記**  
`CoversBodyPart` は、その人が保護具によって十分に保護されていること、または保護具自体が適切に装着されていることを示すものでも、示唆するものでもありません。
+ **概要情報** – `Summary` には、`SummarizationAttributes` の入力パラメータで指定された概要情報が含まれます。詳細については、「[要約の要件を指定する](#ppe-summarization-input-parameters)」を参照してください。

  `Summary` は、以下の情報を含むタイプ [ProtectiveEquipmentSummary](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProtectiveEquipmentSummary.html) のオブジェクトです。
  + `PersonsWithRequiredEquipment` - 各人物が以下の条件を満たす人物の ID の配列です。
    + その人は、`SummarizationAttributes` 入力パラメータで指定された PPE をすべて着用しています。
    + `Confidence` の人物（`ProtectiveEquipmentPerson`）、身体部位（`ProtectiveEquipmentBodyPart`）、保護具（`EquipmentDetection`）が、指定された最小信頼度（`MinConfidence`）と等しいかそれ以上です。
    + PPE の全項目について `CoversBodyPart` の値が真です。
  + `PersonsWithoutRequiredEquipment` - 以下の条件のいずれかを満たす人物の ID の配列です。
    + `Confidence` の値の人物（`ProtectiveEquipmentPerson`）身体部位（`ProtectiveEquipmentBodyPart`）、身体部位カバー率（`CoversBodyPart`）は、指定された最小信頼しきい値（`MinConfidence`）よりも大きいが、人物は1つ以上の指定 PPE（`SummarizationAttributes`）が欠けています。
    + `CoversBodyPart` の値は、指定された PPE（`SummarizationAttributes`）のうち、`Confidence` の値が指定された最小信頼しきい値（`MinConfidence`）より大きいものに対して偽となります。また、指定された PPE（`SummarizationAttributes`）をすべて持ち、人物（`Confidence`）、身体部位（`ProtectiveEquipmentPerson`）、保護具（`ProtectiveEquipmentBodyPart`）の `EquipmentDetection` 値が最小信頼しきい値（`MinConfidence`）以上であることです。
  + `PersonsIndeterminate` - 人物（`Confidence`）、身体部位 （`ProtectiveEquipmentPerson`）、保護具（`ProtectiveEquipmentBodyPart`）または `EquipmentDetection` ブーリアン値の `CoversBodyPart` 値が、指定された最小信頼しきい値（`MinConfidence`）より低い場合に検出される人物の ID の配列です。

  配列サイズを使用して、特定の要約の数を取得します。例えば、`PersonsWithRequiredEquipment` のサイズは、指定されたタイプの PPE を着用していると検出された人の数を示します。

  人物 ID を使用して、人物のバウンディングボックスの位置など、人物についてのさらなる情報を調べることができます。人物 ID は、`ProtectiveEquipmentPerson`（の配列 `Persons`）で返される `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": []
    }
}
```