ストリームプロセッサの作成

このステップでは、 Amazon Rekognition Video のストリームプロセッサを作成し、 Amazon Kinesis Video Streams からの映像を Amazon Rekognition Video で分析し、 分析結果を Amazon Kinesis Data Stream へ流せるようにします。

Amazon Kinesis Data Streams のストリーム作成

Amazon Rekognition Video の分析結果を受け取るための、Amazon Kinesis Data Streams のストリームを作成します。

  • Amazon Kinesis Data Streams のコンソールを開きます
  • 左側のメニューより データストリーム を選択し、右側の データストリームの作成 をクリックします
  • 以下の設定を入力し、データストリームの作成 をクリックします
    • データストリーム名: kvs-workshop-data-stream
    • 開いているシャードの数: 1

ストリームのステータスが 作成中 から アクティブ に変わるのを待ちましょう。

作成が完了したら、ストリームの詳細の ARN の値をコピーしておきます。

以下のコマンドを実行し、コピーしたARNを環境変数に設定しておきます。

export DATA_ARN=コピーしたARN (例: arn:aws:kinesis:your-region:012345678901:stream/kvs-workshop-data-stream)

IAM ロールの作成

ストリームプロセッサを実行するための IAM ロールを作成します。

  • IAM ロールのコンソールを開きます
  • 左側のメニューより ロール を選択、上側の ロールの作成 をクリックします
  • 以下を選択して、次のステップ: アクセス権限 をクリックします
    • 信頼されたエンティティの種類を選択: AWS サービス
    • ユースケースの選択: Rekognition
  • 次のステップ: タグ をクリックします
  • 次のステップ: 確認 をクリックします
  • 以下を入力して ロールの作成 をクリックします
    • ロール名: kvs-workshop-rekognition-role

作成が完了したら、ロールの一覧から作成された kvs-workshop-rekognition-role をクリックします。

概要のロール ARN をコピーして、以下のコマンドを実行し、コピーしたARNを環境変数に設定しておきます。

export ROLE_ARN=コピーしたARN (例: arn:aws:iam::012345678901:role/kvs-workshop-rekognition-role)

作成した IAM ロールにポリシーをアタッチします。

  • アクセス制限のタブの ポリシーをアタッチします をクリックします
  • ポリシーのフィルタで kinesis を検索し、AmazonKinesisFullAccess の左側のチェックボックスにチェックを入れます
  • 画面下部の ポリシーのアタッチ をクリックします

ストリームプロセッサの作成

コレクションと Amazon Kinesis Data Streams のストリーム、IAM ロールが作成できたら、 このコレクションに対してストリームプロセッサを作成します。

まず、Amazon Kinesis Video Streams のストリームの ARN を控えます。

  • Amazon Kinesis Video Streamsのコンソールを開きます
  • 左側のメニューの ビデオストリーム をクリック > ストリームの一覧から kvs-workshop-stream をクリックします
  • ページ下部のビデオストリーム ARN の値をコピーしておきます

操作用 PC のターミナルから以下のコマンドを実行し、コピーしたARNを環境変数に設定しておきます。

export VIDEO_ARN=コピーしたARN (例: arn:aws:kinesisvideo:your-region:012345678901:stream/kvs-workshop-stream/1587989123456)

そして、以下のコマンドを実行してストリームプロセッサを作成します。

aws rekognition create-stream-processor \
  --input "KinesisVideoStream={Arn=$VIDEO_ARN}" \
  --name kvs-workshop-processor \
  --settings "FaceSearch={CollectionId=$COLLECTION_ID,FaceMatchThreshold=50.0}" \
  --role-arn $ROLE_ARN \
  --stream-processor-output "KinesisDataStream={Arn=$DATA_ARN}"

以下のような結果が返ってきたら、ストリームプロセッサの作成は完了です。

{
    "StreamProcessorArn": "arn:aws:rekognition:your-region:012345678901:streamprocessor/kvs-workshop-processor"
}

最後に作成したストリームプロセッサを開始します、以下のコマンドを実行しましょう。

aws rekognition start-stream-processor --name kvs-workshop-processor

動作の確認

作成したストリームプロセッサが動作していることを確認しましょう。

まずは Amazon Rekognition Video の認識が行われていることを確認します。

  • Amazon Rekognition のコンソール を開きます
  • 左側の メトリクス をクリックします
  • 上部の 過去4時間 を選択し、下図のように呼び出しが成功し、顔が検出されていることを確認します

Amazon Rekognition のメトリクス

次に、認識結果が Amazon Kinesis Data Streams へ送信されていることを確認します。

  • Amazon Kinesis Data Streams のコンソールを開きます
  • 左側のメニューより データストリーム を選択し、kvs-workshop-data-stream をクリックします
  • モニタリング のタブを開き、下図のようにデータを受信していることを確認します。

Amazon Kinesis Data Streams のメトリクス

以上でストリームプロセッサのセットアップは完了です。 続いて、顔認識の結果を分析してみましょう。