ヤマムギ

growing hard days.

*

Amazon Rekognitionでイベント参加者の顔写真を解析して似ている人ランキングをその場で作る

      2017/10/19

2017/9/21に開催されたAWS Cloud Roadshow 2017 大阪のナイトイベント「JAWS-UG in AWS Cloud Roadshow 2017 大阪」の一部の企画として、当日お越しいただいた参加者の顔写真と、事前に設定している6人の有名人の写真との顔比較を行って、一番似ている人に豪華景品、という催し物をしました。

前日までに準備しておけばよかったのですが、前日まで夜な夜なパーティーが続いていたため、当日の朝に1時間半で準備しました。

結論は、Amazon Rekognitionを使えば、こんなことも1時間半で実現出来てしまうんだと、感動とそしてかなりほっとしました。

構成はこちらです。

Amazon AthenaとQuickSightは15分程度で出来ました。

Lambda Function

ソースコードはこちらです。

ランタイムはPython 3.6です。

Rekognitionクライアントをboto3.clientで作ります。

compare_facesで比較します。

SourceImageとTargetImageを比較します。

両方ともS3にJPGとPNG形式で画像があるので、バケット名とキーを指定します。

SimilarityThresholdで最低の敷居値を指定します。
今回は類似値0.1%とかも全部拾って欲しいので0を指定しました。

responseのFaceMatchesにSimilarityという値があるので、それ拾って別のS3バケットへJSONで格納します。

S3に格納した後はAthenaでクエリー発行してテーブル構造にしてQuickSihtで可視化します。

Athenaでテーブルを作ったときのQuery

GUIから設定してクエリーを生成することが出来ます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , , , ,

  関連記事

EC2とRDSのMySQLを他のAWSアカウントへ移設する

他のAWSアカウントへシステムごと移設した場合の手順です。 構成はEC2とRDS …

AWS Database Migration Service(DMS)チュートリアル

公式ユーザーガイドのAWS Database Migration Service …

Lambda関数で自分自身の環境変数を更新する

Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …

AWS CloudShellでboto3(SDK for Python)使うならpython3

本の執筆をしていて、ちょっとAWS CLIやSDKのふるまいを確認したいことがあ …

JAWS FESTA 2017 Reverse X re:Birth

JAWS FESTA 2017 中四国 今年はブログタイトル「JAWS FEST …

Amazon Q Developer for CLIをmacOSにインストールしました

2025/3/26のAWS Expert Online for JAWSの「Am …

CloudTrailイベントのコストしか発生していないリージョンのコスト発生源を調査しました

調査のきっかけ ふと検証用AWSアカウントのCostExplorerを見てました …

AWS認定ソリューションアーキテクトアソシエイトのサンプル問題

AWS認定ソリューションアーキテクトアソシエイトのサンプル問題の解説を会社のブロ …

S3 Intelligent-Tieringのオブジェクトの階層移動をCloudWatchメトリクスで確認

CloudWatchメトリクスの保存期間は現時点で15ヶ月(455日)なのでそろ …

AWS LambdaのSQSへの自前ポーリングをやめてSQSイベントソーストリガーに変更した

以前は、LambdaがSQSからメッセージを受信するには、キューをポーリングして …