

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

# Amazon Rekognition Face Liveness API のプログラミング
<a name="face-liveness-programming-api"></a>

Amazon Rekognition Face Liveness API を使用するには、以下のステップを実行するバックエンドを作成する必要があります。

1. [CreateFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateFaceLivenessSession.html) を呼び出して、Face Liveness セッションを開始します。`CreateFaceLivenessSession` オペレーションが完了すると、UI はユーザーに自撮りビデオの送信を求めるプロンプトを表示します。次に、AWS Amplify の FaceLivenessDetector コンポーネントが [StartFaceLivenessSession](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_rekognitionstreaming_StartFaceLivenessSession.html) を呼び出してライブネス検出を実行します。

1. [GetFaceLivenessSessionResults](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetFaceLivenessSessionResults.html) を呼び出して、Face Liveness セッションに関連する検出結果を返します。

1. [Amplify Liveness ガイド](https://ui.docs.amplify.aws/react/connected-components/liveness)に記載されているステップに従って、FaceLivenessDetector コンポーネントを使用するように React アプリケーションを設定します。

Face Liveness を使用する前に、AWS アカウントを作成し、AWS CLI と AWS SDK 、および AWS Amplify をセットアップしていることを確認してください。また、バックエンド API の IAM ポリシーに、`GetFaceLivenessSessionResults` と `CreateFaceLivenessSession` を実行できる権限があることを確認する必要があります。詳細については、「[前提条件](face-liveness-prerequisites.md)」セクションを参照してください。

## ステップ 1: CreateFaceLivenessSession
<a name="face-liveness-programming-api-create-session"></a>

CreateFaceLivenessSession API オペレーションは、Face Liveness セッションを作成し、固有の `SessionId` を返します。

このオペレーションに対する入力の一部として、Amazon S3 バケットの場所を指定することもできます。これにより、Face Liveness セッション中に生成されたリファレンスイメージと監査イメージを保存できます。Amazon S3 バケットは、発信元の AWS アカウント内にあり、かつ Face Liveness エンドポイントと同じリージョンにある必要があります。また、S3 オブジェクトキーは Face Liveness システムによって生成されます。

0～4 の数字の範囲で `AuditImagesLimit` を指定することもできます。デフォルトでは、0 に設定されています。返されるイメージ数はベストエフォートであり、自撮りビデオの再生時間に基づいています。

最後に、セッションでデフォルトとして使用するチャレンジのタイプとバージョンを含む、ChallengePreference を設定できます。デフォルトでは FaceLivenessMovementAndLightChallenge を使用しますが、FaceMovementChallenge にも設定できます。

**リクエストの例**

```
{
   "ClientRequestToken": "string",
   "KmsKeyId": "string",
   "Settings": { 
      "AuditImagesLimit": number,
      "ChallengePreferences": [ 
         { 
            "Type": "string",
            "Versions": { 
               "Maximum": "string",
               "Minimum": "string"
            }
         }
      ],
      "OutputConfig": { 
         "S3Bucket": "string",
         "S3KeyPrefix": "string"
      }
   }
}
```

**レスポンスの例**

```
{
    {"SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8"}
}
```

## ステップ 2: StartFaceLivenessSession
<a name="face-liveness-programming-api-start-session"></a>

CreateFaceLivenessSession API オペレーションが完了すると、AWS Amplify コンポーネントは StartFaceLivenessSession API オペレーションを実行します。ユーザーは自撮りビデオをキャプチャするように求められます。チェックを正常に行うには、ユーザーは適切な照明を保ちながら、顔を画面上の楕円形の中に配置する必要があります。詳細については、「[Face Liveness の使用に関する推奨事項](recommendations-liveness.md)」を参照してください。

この API オペレーションには、Face Liveness セッション中にキャプチャされたビデオ、CreateFaceLivenessSession API オペレーションから取得した sessionId、`onAnalysisComplete` コールバックが必要です。このコールバックを使用して、GetFaceLivenessSessionResults API オペレーションを呼び出すようにバックエンドに通知できます。これにより、信頼スコア、リファレンス、監査イメージが返されます。

このステップは、クライアントアプリケーションの AWS Amplify FaceLivenessDetector コンポーネントによって実行されることに注意してください。`StartFaceLivenessSession` を呼び出すための追加のセットアップは必要ありません。

## ステップ 3: GetFaceLivenessSessionResults
<a name="face-liveness-programming-api-get-session-results"></a>

GetFaceLivenessSessionResults API オペレーションは、特定の Face Liveness セッションの結果を取得します。sessionId を入力として必要とし、対応する Face Liveness の信頼スコアを返します。また、顔の境界ボックスを含むリファレンスイメージと、顔の境界ボックスを含む監査イメージも提供されます。Face Liveness の信頼スコアの範囲は 0～100 です。

**リクエストの例**

```
{"SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8"}
```

**レスポンスの例**

```
{
    "SessionId": "0f959dbb-37cc-45d8-a08d-dc42cce85fa8",
    "Confidence": 98.9735,
    "ReferenceImage": {
        "S3Object": { 
            "Bucket": "s3-bucket-name",
            "Name": "file-name",
        },
        "BoundingBox": { 
           "Height": 0.4943420886993408, 
            "Left": 0.8435328006744385, 
            "Top": 0.8435328006744385, 
            "Width": 0.9521094560623169}
    },
    "AuditImages": [{
        "S3Object": { 
            "Bucket": "s3-bucket-name",
            "Name": "audit-image-name",
        },
        "BoundingBox": { 
           "Width": 0.6399999856948853,
           "Height": 0.47999998927116394,
           "Left": 0.1644444465637207,
           "Top": 0.17666666209697723}
    }],
    "Status": "SUCCEEDED"
}
```

## ステップ 4: 結果への対応
<a name="face-liveness-programming-api-respond-results"></a>

Face Liveness セッションの後、チェックの信頼スコアと指定されたしきい値を比較します。スコアがしきい値よりも高い場合、ユーザーは次の画面またはタスクに進めます。チェックに失敗すると、ユーザーに通知され、再試行するよう求められます。