メニュー
Amazon Rekognition
開発者ガイド

ステップ 4: API の使用開始

このセクションでは、Amazon Rekognition API オペレーションを使用して画像のラベルと顔を検出します。また、CompareFaces API オペレーションを試します。これらは非ストレージ型の API オペレーションであり、検出された情報は Amazon Rekognition に保持されません。Amazon Rekognition はラベルと顔のみを検出し、レスポンスで情報を返します。詳細については、「Amazon Rekognition: 仕組み」を参照してください。他のすべての Amazon Rekognition API オペレーションと同様に、非ストレージ型の API オペレーションでは入力画像のバイトが保持されません。

AWS SDK または HTTP による Amazon Rekognition API オペレーションの呼び出し

AWS SDK を使用するか、直接 HTTP を使用して Amazon Rekognition API オペレーションを呼び出すことができます。正当な理由がない限り、常に AWS SDK を使用してください。このセクションの Java の例では、AWS SDK を使用しています。Java プロジェクトファイルは提供されていませんが、Java を使用する AWS アプリケーションは AWS Toolkit for Eclipse で開発できます。

このガイドの「API リファレンス」には、HTTP を使用した Amazon Rekognition オペレーションの呼び出しの説明があります。Java で Amazon Rekognition API を呼び出すための AWS SDK for Java の詳細については、「AWS SDK for Java」を参照してください。

以下のサンプルでは、us-east-1 エンドポイントを使用します。他の利用可能なエンドポイントについては、「AWS のリージョンとエンドポイント」に記載されています。

HTTP で Amazon Rekognition を呼び出す場合は、POST HTTP オペレーションを使用します。

AWS CLI のサンプルのフォーマット

AWS CLI のサンプルは、Linux オペレーティングシステム用にフォーマットされています。Microsoft Windows でサンプルを使用するには、--image パラメータの JSON 形式を変更して、改行をバックスラッシュ (\) からキャレット (^) に変える必要があります。JSON 形式の詳細については、「AWS Command Line Interface のパラメータ値の指定」を参照してください。次に示すのは、Microsoft Windows 用にフォーマットされた AWS CLI コマンドの例です。

Copy
aws rekognition detect-labels ^ --image "{\"S3Object\":{\"Bucket\":\"photo-collection\",\"Name\":\"photo.jpg\"}}" ^ --region us-west-2

Microsoft Windows と Linux の両方で動作する短縮バージョンの JSON を提供することもできます。

Copy
aws rekognition detect-labels --image "S3Object={Bucket=photo-collection,Name=photo.jpg}" --region us-west-2

詳細については、「AWS Command Line Interface を使用した短縮構文の使用」を参照してください。

画像の操作

Amazon Rekognition オペレーションに入力として渡すことができるサンプル画像 (JPEG または PNG) が必要です。

画像のバイトを呼び出しの一部として Amazon Rekognition オペレーションに渡すか、既存の S3 オブジェクトを参照します。HTTP を使用して Amazon Rekognition オペレーションの一部として渡す場合の画像のバイトは、Base64 でエンコードされた文字列であることが必要です。AWS SDK を使用して API オペレーションの呼び出しの一部として画像のバイトを渡す場合、画像のバイトを Base64 でエンコードする必要があるかどうかは使用言語によって異なります。詳細については、「例 4: Amazon Rekognition オペレーションに対する画像のバイトの提供」を参照してください。

AWS CLI を使用して Amazon Rekognition オペレーションを呼び出す場合、呼び出しの一部として画像のバイトを渡すことはサポートされていません。最初に Amazon S3 バケットに画像をアップロードし、次にアップロードした画像を参照するオペレーションを呼び出します。

レイテンシーをできる限り低く抑えるには、画像が含まれている S3 バケットのリージョンと Amazon Rekognition API オペレーションで使用するリージョンが一致している必要があります。

顔認識用の入力画像に関する推奨事項

Amazon Rekognition はさまざまな画像の条件とサイズに対応していますが、顔認識用の参照写真を選択する場合は以下のガイドラインに従うことをお勧めします。

  • 顔が正面を向いていること。

  • 影などの陰影がなく、照明が顔に均一に当たっていること。

  • 背景とのコントラストが十分であること。高コントラストのモノクロの背景が最適です。

  • 十分な大きさであること。顔サイズは 200 ピクセル以上が適切です。縦横とも 50 ピクセル未満の顔サイズはお勧めしません。

  • 明るくシャープであること。明るさとシャープネスは、DetectFaces で判断できます。

  • ヘッドバンドやマスクなどで顔の一部が隠されていないこと。