この記事の目次
Amazon Rekognition(AWS Rekognition)とは

Amazon Rekognitionの機能
Amazon Rekognition(AWS Rekognition)では、物体の特定、シーン認識、顔検出、テキスト検出、有名人の認識、PPEの検出といった機能があります。ビデオと静止画に対してこれらの処理を行うことができます。 物体の特定 画像内の物体(自転車、人、岩など)を検出します。 シーン認識 画像のシーン(駐車場、都市、室内など)を判定します。 カスタムラベル 物体やシーン認識では、AWSがすでに準備した学習データセットを使います。これに対して、カスタムラベルはユーザーが画像データを準備して学習させることができます。これによって、特定の商品やロゴなど、AWSに準備されていない画像を認識させることができます。 顔検出 画像内の人の顔を検出します。さらに性別、年齢、メガネをかけているかなどの情報を取得することもできます。 テキスト検出 標識や、商品のパッケージ等、画像内に含まれるテキストを検出します。曲がっていたりゆがんでいても読み取ることができます。 有名人の認識 特定の有名人を判定します。 PPEの検出 PPEとはPersonal Protective Equipmentのことで、防護具の意味です。 フェイスマスク、手袋、ヘルメットをつけているかどうかを判定することができます。Amazon Rekognitionの料金
Amazon Rekognition では Image(静止画)、Video(ビデオ)、カスタムラベルの機能によって、料金体系が決まっています。 それでは以下で解説します。 ・Amazon Rekognition Image Amazon Rekognition Image では、以下2種類の料金があります。 まず画像分析の場合、API を使用して1枚画像を分析するたびに料金が発生します。 さらに顔検索を使う場合、Amazon Rekognitionが一致を検索するために顔メタデータのレポジトリを保存する必要があり、このストレージ料金が月ごとに課金されます。 ・Amazon Rekognition Video Amazon Rekognition Video では 以下2種類の料金があります。 まずビデオ分析について、API で実行されたビデオ分析に対して、1分ごとに料金が発生します。さらに顔検索を使う場合、Amazon Rekognition が一致を検索するために顔メタデータのレポジトリを保存する必要があり、このストレージ料金が月ごとに課金されます。 ・Amazon Rekognition カスタムラベル Rekognition カスタムラベルを使用する場合は、トレーニングが必要です。トレーニングと認識処理のそれぞれについて課金されます。 まず、Amazon Rekognition カスタムラベルでモデルを構築する場合は、トレーニングの時間あたりの料金が発生します。トレーニング時間は、データセットの画像枚数やラベル数などの要素によって変わります。 さらに、カスタムモデルを使って、認識処理を実行する場合にこれらの処理に必要なリソースのコストが実行時間ごとにかかります。Amazon Rekognitionの手順
顔画像の分析を例に、Amazon Rekognitonの簡単な使用手順を以下に示します。 ・AWS マネジメントコンソールを開き、Rekognitionを検索します。 ・Amazon Rekognitionコンソールが検索結果に出ますので、これを開きます。 ・左側にあるナビゲーションパネルで Facial analysis (顔の分析)を選びます。これが、顔分析の機能です。 ・Uploadボタンをクリックして、何か人の顔が映った画像をアップロードします。 なお、すでに準備されているサンプル画像を使うボタンがありますが、こちらでもかまいません。 するとすぐに検出結果が確認できます。 さらに性別や推定年齢、笑顔度といった詳細な解析結果も表示されます。 また、Resultボタン、Responseボタンをクリックすると、リクエストおよび結果がJSONフォーマットで表示されます。これらは、APIからAmazon Rekognitionを使用する時に活用できます。 ここではシンプルな顔分析で例を示しましたが、他の機能についても動作可能なサンプルが用意されています。 また、API経由でAmazon Rekognitionを実行することも、もちろん可能です。 基本的には処理対象の画像をS3にあらかじめ上げておき、APIからコマンドを送るとレスポンスが帰ってくる手順となります。以下に顔比較を行う場合のサンプルを示します。aws --region ap-northeast-1 rekognition compare-faces\ --source-image '{"S3Object" : {"Bucket": "rekognitiontest","Name":"InImage.jpg"}}'\ --target-image '{"S3Object":{"Bucket":"rekognitiontest","Name":"AnotherAngle.jpg"}}'