個人用保護具検出 API を理解する - Amazon Rekognition

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

個人用保護具検出 API を理解する

以下の情報は DetectProtectiveEquipment API について説明しています。サンプルコードについては、「画像から個人用保護具を検出します。」を参照してください。

画像を供給する

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

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

入力画像が 0 度回転しない場合は、DetectProtectiveEquipment に送信する前に 0 度回転することをお勧めします。JPG 形式の画像は、Exif(Exchangeable Image File Format)のメタデータに方向情報が含まれている場合があります。この情報を使用して、画像を回転させるコードを記述できます。詳細については、「Exif バージョン 2.32」を参照してください。PNG 形式の画像には、画像の向きに関する情報は含まれていません。

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

以下の入力例の JSON では、画像は Amazon S3 バケットで渡されています。詳細については、「イメージの操作」を参照してください。この例では、すべてのPPEタイプ(ヘッドカバー、ハンドカバー、およびフェイスカバー)の概要を最低限の検出信頼度(MinConfidence) の 80% で要求しています。MinConfidence の値は 50 ~ 100 % の間で指定する必要があり、DetectProtectiveEquipment は検出信頼度が 50 % ~ 100 % の場合のみ予測を返します。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 のタイプの概要情報をリクエストできます。

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

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

DetectProtectiveEquipment のサマリーレスポンスについては、「 DetectProtectiveEquipment レスポンスについて」を参照してください。

DetectProtectiveEquipment レスポンスについて

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

チェッカーされた家具、ハード帽子、パワーツールを保持するフェイスマスクを着用している建設ワーカー。緑色のボックスは、顔、ハードキャップ、手、ツールをハイライトします。

JSON では、以下の点に注意してください。

  • 検出された人物Persons は、画像上で検出された人物(PPE を着用していない人物も含む)の配列です。DetectProtectiveEquipment は、画像から検出された最大 15 人の PPE を検出することができます。配列内の各ProtectiveEquipmentPersonオブジェクトには、人物 ID、人物の境界ボックス、検出された身体部位、PPE の検出項目が含まれます。ConfidenceProtectiveEquipmentPerson の値は、Amazon Rekognition がバウンディングボックスに人が含まれていることを確信する割合を示します。

  • 身体部位 – は、人 (PPE でカバーされていない身体部位を含むProtectiveEquipmentBodyPart) で検出された身体部位 () の配列BodyPartsです。各 ProtectiveEquipmentBodyPart には、検出された身体部位の名称(Name)が含まれています。DetectProtectEquipment は、顔、頭、左手、右手の体の一部を検出することができます。ConfidenceProtectiveEquipmentBodyPart フィールドは、Amazon Rekognition が身体部分の検出精度に持つ信頼度のパーセンテージを示します。

  • PPE アイテム— 配列 EquipmentDetectionsProtectiveEquipmentBodyPart オブジェクトには、検出された PPE アイテムの配列が含まれています。各EquipmentDetectionオブジェクトには、次のフィールドが含まれます。

    • Type - 検出された PPE のタイプです。

    • BoundingBox - 検出された PPE の周囲のバウンディングボックスです。

    • Confidence - Amazon Rekognition はバウンディングボックスが検出された PPE を含むと確信しています。

    • CoversBodyPart - 検出された PPE が対応する身体部位上にあるかどうかを示します。

    CoversBodyPart フィールドValueは、検出された PPE が対応する身体部位にあるかどうかを示すブール値です。フィールド Confidence 予測の信頼度を示します。CoversBodyPart を使用すると、検出された PPE が画像内にあるが、実際には人物の上にない場合を除外することができます。

    注記

    CoversBodyPart は、その人が保護具によって十分に保護されていること、または保護具自体が適切に装着されていることを示すものでも、示唆するものでもありません。

  • 概要情報Summary には、SummarizationAttributes の入力パラメータで指定された概要情報が含まれます。詳細については、「要約の要件を指定する」を参照してください。

    Summary は、以下の情報ProtectiveEquipmentSummaryを含む 型のオブジェクトです。

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