Kinesis Video Streams を使用した Rekognition の結果をローカルに表示する - Amazon Rekognition

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

Kinesis Video Streams を使用した Rekognition の結果をローカルに表示する

Amazon Kinesis Video Streams からフィードに表示される Amazon Rekognition Video の結果は、Amazon Kinesis Video Streams Parser Library のテスト例 KinesisVideo - Rekognition Examples で確認できます。 Amazon Kinesis Video Streams KinesisVideoRekognitionIntegrationExample は、検出されたフェースに境界ボックスを表示し、JFrame を介してローカルにビデオをレンダリングします。このプロセスは、デバイスカメラからのメディア入力を Kinesis ビデオストリームに正常に接続し、Amazon Rekognition ストリームプロセッサを開始したことを前提としています。詳細については、「GStreamer プラグインを使用したストリーミング」を参照してください。

ステップ 1: Kinesis Video Streams パーサーライブラリのインストール

ディレクトリを作成し、GitHub リポジトリをダウンロードするには、次のコマンドを実行します。

$ git clone https://github.com/aws/amazon-kinesis-video-streams-parser-library.git

ライブラリディレクトリに移動し、次の Maven コマンドを実行して、クリーンインストールを実行します。

$ mvn clean install

ステップ 2: Kinesis Video Streams と Rekognition の統合サンプルテストの設定

KinesisVideoRekognitionIntegrationExampleTest.java ファイルを開きます。クラスヘッダーの直後の @Ignore を削除する。Amazon Kinesis および Amazon Rekognition リソースからの情報をデータフィールドに入力します。詳細については、「Amazon Rekognition Video と Amazon Kinesis のリソースを設定する」を参照してください。Kinesis ビデオストリームにビデオをストリーミングする場合は、inputStream パラメータを削除してください。

次のコード例を参照してください:

RekognitionInput rekognitionInput = RekognitionInput.builder() .kinesisVideoStreamArn("arn:aws:kinesisvideo:us-east-1:123456789012:stream/rekognition-test-video-stream") .kinesisDataStreamArn("arn:aws:kinesis:us-east-1:123456789012:stream/AmazonRekognition-rekognition-test-data-stream") .streamingProcessorName("rekognition-test-stream-processor") // Refer how to add face collection : // https://docs.aws.amazon.com/rekognition/latest/dg/add-faces-to-collection-procedure.html .faceCollectionId("rekognition-test-face-collection") .iamRoleArn("rekognition-test-IAM-role") .matchThreshold(0.95f) .build(); KinesisVideoRekognitionIntegrationExample example = KinesisVideoRekognitionIntegrationExample.builder() .region(Regions.US_EAST_1) .kvsStreamName("rekognition-test-video-stream") .kdsStreamName("AmazonRekognition-rekognition-test-data-stream") .rekognitionInput(rekognitionInput) .credentialsProvider(new ProfileCredentialsProvider()) // NOTE: Comment out or delete the inputStream parameter if you are streaming video, otherwise // the test will use a sample video. //.inputStream(TestResourceUtil.getTestInputStream("bezos_vogels.mkv")) .build();

ステップ 3: Kinesis Video Streams と Rekognition の統合サンプルテストの実行

Kinesis Video Streams にストリーミングしている場合、メディア入力を受信していることを確認し、Amazon Rekognition Video Stream プロセッサを実行している状態でストリームの分析を開始します。詳細については、「Amazon Rekognition Video ストリームプロセッサオペレーションの概要」を参照してください。JUnit テストとして KinesisVideoRekognitionIntegrationExampleTest クラスを実行します。しばらくすると、新しいウィンドウが開き、検出されたフェースの上に境界ボックスが描画された Kinesis ビデオストリームからのビデオフィードが表示されます。

注記

この例で使用されるコレクションの顔には、境界ボックスラベルに意味のあるテキスト: PersonName1-Trusted 、2-Intruder PersonName2-Intruder、 PersonName3-Neutral などを表示するために、この形式で外部イメージ ID (ファイル名) を指定する必要があります。ラベルは色分けすることもでき、 FaceType.java ファイルでカスタマイズできます。