Amazon Rekognition事前準備

1:Amazon Rekognitionとは
公式サイトはこちら
1)高精度な顔分析および顔認識が可能。
2)イメージ分析用 「Amazon Rekognition Image」 と、ビデオ分析用 「Amazon Rekognition Video」の2つのAPIがある。

2:事前準備
Rekognitionを使うために、まずは事前準備が必要。
今回やりたいこと=画像がアップロードされたら、その人物がS3バケット内に保存されている画像と一致するかどうか?を返して欲しい。(顔比較)
ざっくりとした流れは、
「PC→S3→Lambda→Rekognition→Lambda→API→PC」
また、顔比較を行うためにはCreateCollection(データベース作成)して、IndexFaces(顔登録)をする必要がある。

3:AWS CLI と AWS SDK
①AWSアカウント作成し、 IAMユーザーを登録する。(詳細
※※登録時のアクセスキー、SECRETアクセスキーは控えておく。
②ターミナルで使用するディレクトリに入り、

//AWS CLI と AWS SDK をセットアップする。
//Python がインストール済であること。

$ pip install awscli --upgrade --user
$ aws --version
 //ここで もし aws command not foundになった場合は下記
$ export PATH=~/.local/bin:$PATH
$ source ~/.bash_profile
$ aws --version 

AWS SDKについては、いくつか言語があるので選択する。
(例:javascriptはこちら

4:CreateCollection
下記コマンドでコレクションを作成。
collection-idは自由に記述。

$ aws rekognition create-collection --collection-id 'test-rekognition'

ここでエラーになる場合は、AWS IAMのポリシーをFullAccessにする必要がある。

5:IndexFaces
下記コマンドで顔登録を行う。
collection-id、Bucket、Name、image-idは自由に記述。

$ aws rekognition index-faces --collection-id 'test-rekognition' --image '{"S3Object":{"Bucket":"hogehoge","Name":"hoge.jpeg"}}' --external-image-id 'piyo'

下記コマンドで顔登録が出来ているか確認。

$ aws rekognition list-faces --collection-id 'test-rekognition'

//下記が出ればOK
{
    "Faces": [
        {
            "FaceId": "hogehogehoge",
            "BoundingBox": {
                "Width": 0.2849839925765991,
                "Height": 0.34144899249076843,
                "Left": 0.3587239980697632,
                "Top": 0.36457398533821106
            },
            "ImageId": "hogehogehogehoge",
            "ExternalImageId": "piyo",
            "Confidence": 100.0
        }
    ],
    "FaceModelVersion": "4.0"
}

登録した顔の削除はこちら。

$ aws rekognition delete-faces --collection-id 'test-rekognition' --face-id 'hogehogehoge'


いいなと思ったら応援しよう!