raspberry piを利用した顔の表情分析と感情を認識するシステム構築
TRANSCRIPT
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Hyunmin Kim
AWSKRUG リーダー / Megazone SA
Raspberry Piを利用した顔の表情分析と感情を認識するシステム構築
自己紹介Hyunmin Kim (金鉉敏 , キム・ヒョンミン , 34 )MEGAZONEAWS Solutions ArchitectAWSKRUG カンバム支部 リーダーiOS デベロッパ、 Node.js 開発AWS 大好き!好きなサービス : EC2, S3, Route53, Lambda
日本旅行が大好き
会社紹介
会社紹介2012 韓国内初 AWSパートナーとしてサービス開始
韓国内初 & 最大 AWS Premier Consulting Partner
400 +お客様にサービスを提供
20+ グローバル No.1 ソリューション提供
韓国内唯一 AWS 認定 韓国語 サポートセンター運用韓国内初 AWS Enterprise Support 提供24 / 7 / 365 サポートサービス提供
このプロジェクトを始めたきっかけAWSKRUG Gangnam 支部の オ・フェグンさんがこの楽しい内容でプレゼンテーションをしてもらいました。
オ・フェグン (harry Oh)YOGIYO 韓国2位配達 APPBackend DeveloperCloud BI Solution, Network Camera,Standalone DVR, Web based Surveillance System
システムの構成
オさんのラズパイ( 手持ち可能 )
開発中のラズパイカメラ
開発手順• 写真を定期的にとって S3 へアップロード• 性別、年齢、感情(スマイル)統計• AWS の Serverless サービス利用• CLI 利用• カメラは安いもの(笑)• セキュリティは後で。。。(ㅠㅠ)
構成• AWS サービスは S3, Lambda,
StepFunctions, RDS 利用• 顔分析は
Amazon Rekognition,MS Face APIFace Plus Plus API 利用
• Ploy.ly を利用したリャート生成
開発環境• Python 2.7 (virutalenv)• pip• emulambda (lambda Simumator)• AWS CLI• statelint (StepFunctions JSON validator)• ラズパイと WIFI 接続
S3 Bucket作成• US-WEST-2 OREGON region
jawsdaysfaces bucket 生成• Lifecycle を 1 日に設定• すべての利用者が接続できるように設定注意!サービスで利用する場合
signed url などを利用する
ラズパイ• 事前準備• WiFi 接続• USB WebCam 接続• fswebcam インストール、設定• AWS CLI インストール、設定• イメージを S3 へ転送確認
IAM 設定• Lambda 実行権限を持つ
jawsdaysfaces-role 追加• Jawsdaysfaces bucket に policy 追加• 該当 policy を jawsdaysfaces-role に追加• Rekognition, StepFunction policy も追加
AmazonRekognitionFullAccessAWSStepFunctionsFullAccess
RDS 構築• RDS インスタンス構築• Security Group から Inbound をすべてを許可• RDS の Public アクセスは危険!
Lambda が RDS へ接続するためには同じ VPC を利用する。でも、Lambda が外部と通信するためNAT Gateway が必要
• 開発用のみ利用する• 構築が完了したら endpoint を確認
TABLE 作成
Amazon Rekognition
• SDK サポート• IAM Policy で設定• Free Tier 利用可能• EU (Ireland)
US East (N. Virginia)US West (Oregon)
MICROSOFT FACE API
• Microsoft face api からAPI Key を作成
• 作成した API Key を別途保存• 30,000/ 月 無料
FACE Plus Plus
• Face Plus Plus console から API Key 作成• 作成した API Key を別途保存• 無料ですが制限がある
Step Functions
Step Functions JSON
テンプレート参照
Statelint
顔イメージではない場合
顔イメージの場合
Detect Labels (写真分析 )
• Amazon Rekognition に detect_labels API 呼び出し
• Label 名が Human, People, Person と Confidence 値が95 以上の場合顔写真で判別
JAWS-UG LOGOテスト
写真テスト
isFacePhoto
• isFaces の結果による分岐• 顔写真ではない場合
NoFacesPhoto へ• 顔写真の場合 API を並列処理
顔分析 APIを並列処理Amazon Rekognition, MS Face API, Face Plus Plus の顔分析 API を呼びたし , 分析結果を保存
サービスごとの結果の違い
Face Data Process
• Face API から収集した結果からデータを加工する。
Update Database
• 加工したデータを RDS に保存
Database確認
統計 SQL作成年齢と Smile平均
年齢別統計
性別統計
でも、結果は下記のように。。。
Plot.lyを利用し、チャートを作成
作成されたチャート
*^^*
ㅜㅜ
年齢別統計チャート
性別チャート
性別チャート
誰 ?
性別チャート最近人気ドラマ主人公
結論- カンナム支部のみんなでラズパイハンズするのは楽しい!- Amazon Rekognition, MS Face API, Face Plus PlusAPI を利用すると低費用でイメージ分析が可能!- StepFunctions と Lambda はよく動作する!- 改善すること ( セキュリティーなど。。。 )
- カンナム支部で改善し、 AWS Summit Seoul 2017 で発表予定
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ありがとうございます!発表資料:
http://bit.ly/hyunmin-jawsdays2017