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'